You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2021/10/28 20:54:27 UTC

[GitHub] [superset] martin-raymond commented on a change in pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

martin-raymond commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r738736690



##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."

Review comment:
       ```suggestion
   msgstr "Vous n'avez pas accès à ce tableau de bord."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"
 
-#: superset/connectors/sqla/views.py:65
+#: superset/connectors/sqla/views.py:67
 msgid "Add Column"
 msgstr "Ajouter une colonne"
 
-#: superset/connectors/sqla/views.py:66
+#: superset/connectors/sqla/views.py:68
 msgid "Edit Column"
 msgstr "Éditer une colonne"
 
-#: superset/connectors/sqla/views.py:93
+#: superset/connectors/sqla/views.py:95
 msgid ""
-"Whether to make this column available as a [Time Granularity] option, column "
-"has to be DATETIME or DATETIME-like"
+"Whether to make this column available as a [Time Granularity] option, "
+"column has to be DATETIME or DATETIME-like"
 msgstr ""
 "Faut-il que cette colonne soit accessible comme une option [Time "

Review comment:
       ```suggestion
   "S'il faut que cette colonne soit accessible comme une option [Time "
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"

Review comment:
       ```suggestion
   msgstr "Afficher la colonne"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""

Review comment:
       ```suggestion
   msgstr "Un moteur doit être fournit lorsque l'on passe des paramètres individuels à la base de données."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."

Review comment:
       ```suggestion
   " configuré. La clé %(key)s est invalide."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""

Review comment:
       ```suggestion
   msgstr "Le moteur \"%(engine)s\" n'est pas un moteur valide."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"
 
-#: superset/connectors/sqla/views.py:65
+#: superset/connectors/sqla/views.py:67
 msgid "Add Column"
 msgstr "Ajouter une colonne"
 
-#: superset/connectors/sqla/views.py:66
+#: superset/connectors/sqla/views.py:68
 msgid "Edit Column"
 msgstr "Éditer une colonne"
 
-#: superset/connectors/sqla/views.py:93
+#: superset/connectors/sqla/views.py:95
 msgid ""
-"Whether to make this column available as a [Time Granularity] option, column "
-"has to be DATETIME or DATETIME-like"
+"Whether to make this column available as a [Time Granularity] option, "
+"column has to be DATETIME or DATETIME-like"
 msgstr ""
 "Faut-il que cette colonne soit accessible comme une option [Time "
 "Granularity],  la colonne doit être DATETIME ou d'un format équivalent"
 
-#: superset/connectors/sqla/views.py:102
+#: superset/connectors/sqla/views.py:104
 msgid ""
 "The data type that was inferred by the database. It may be necessary to "
-"input a type manually for expression-defined columns in some cases. In most "
-"case users should not need to alter this."
+"input a type manually for expression-defined columns in some cases. In "
+"most case users should not need to alter this."
 msgstr ""
-"Le type de donnée inféré par la base de données. Il peut être nécessaire de "
-"le rentrer manuellement pour les colonnes définissant des expressions dans "
-"certains cas. Dans la plupart des cas il n'est pas nécessaire de le modifier"
+"Le type de donnée inféré par la base de données. Il peut être nécessaire "
+"de le rentrer manuellement pour les colonnes définissant des expressions "
+"dans certains cas. Dans la plupart des cas il n'est pas nécessaire de le "
+"modifier"
 
-#: superset-frontend/src/components/TableSelector.tsx:392
-#: superset/connectors/sqla/views.py:139 superset/connectors/sqla/views.py:241
-#: superset/connectors/sqla/views.py:450 superset/views/chart/mixin.py:87
+#: superset-frontend/src/components/TableSelector/index.tsx:403
+#: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:24
+#: superset/connectors/sqla/views.py:141 superset/connectors/sqla/views.py:255
+#: superset/connectors/sqla/views.py:485 superset/views/chart/mixin.py:87
 msgid "Table"
 msgstr "Table"
 
-#: superset/connectors/sqla/views.py:140
+#: superset/connectors/sqla/views.py:142
 msgid "Expression"
 msgstr "Expression"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:212
-#: superset/connectors/sqla/views.py:141
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:244
+#: superset/connectors/sqla/views.py:143
 msgid "Is temporal"
 msgstr "Est temporel"
 
-#: superset/connectors/sqla/views.py:142
+#: superset/connectors/sqla/views.py:144
 msgid "Datetime Format"
 msgstr "Format Datetime"
 
-#: superset/connectors/sqla/views.py:159 superset/datasets/schemas.py:39
+#: superset/connectors/sqla/views.py:161 superset/datasets/schemas.py:39
 msgid "Invalid date/timestamp format"
 msgstr "Format Timestamp de la table"

Review comment:
       ```suggestion
   msgstr "Format date/timestamp invalide"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"
 
-#: superset/connectors/sqla/views.py:65
+#: superset/connectors/sqla/views.py:67
 msgid "Add Column"
 msgstr "Ajouter une colonne"
 
-#: superset/connectors/sqla/views.py:66
+#: superset/connectors/sqla/views.py:68
 msgid "Edit Column"
 msgstr "Éditer une colonne"
 
-#: superset/connectors/sqla/views.py:93
+#: superset/connectors/sqla/views.py:95
 msgid ""
-"Whether to make this column available as a [Time Granularity] option, column "
-"has to be DATETIME or DATETIME-like"
+"Whether to make this column available as a [Time Granularity] option, "
+"column has to be DATETIME or DATETIME-like"
 msgstr ""
 "Faut-il que cette colonne soit accessible comme une option [Time "
 "Granularity],  la colonne doit être DATETIME ou d'un format équivalent"

Review comment:
       ```suggestion
   "Granularity], elle doit être DATETIME ou d'un format équivalent"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."

Review comment:
       ```suggestion
   " configuré. La clé %(key)s est invalide."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "

Review comment:
       ```suggestion
   msgstr "Impossible de supprimer une base de données qui a des dataset "
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"

Review comment:
       ```suggestion
   msgstr "Le champ ne peut pas être décodé en JSON. %(msg)s"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"
 
-#: superset/connectors/sqla/views.py:65
+#: superset/connectors/sqla/views.py:67
 msgid "Add Column"
 msgstr "Ajouter une colonne"
 
-#: superset/connectors/sqla/views.py:66
+#: superset/connectors/sqla/views.py:68
 msgid "Edit Column"
 msgstr "Éditer une colonne"
 
-#: superset/connectors/sqla/views.py:93
+#: superset/connectors/sqla/views.py:95
 msgid ""
-"Whether to make this column available as a [Time Granularity] option, column "
-"has to be DATETIME or DATETIME-like"
+"Whether to make this column available as a [Time Granularity] option, "
+"column has to be DATETIME or DATETIME-like"
 msgstr ""
 "Faut-il que cette colonne soit accessible comme une option [Time "
 "Granularity],  la colonne doit être DATETIME ou d'un format équivalent"
 
-#: superset/connectors/sqla/views.py:102
+#: superset/connectors/sqla/views.py:104
 msgid ""
 "The data type that was inferred by the database. It may be necessary to "
-"input a type manually for expression-defined columns in some cases. In most "
-"case users should not need to alter this."
+"input a type manually for expression-defined columns in some cases. In "
+"most case users should not need to alter this."
 msgstr ""
-"Le type de donnée inféré par la base de données. Il peut être nécessaire de "
-"le rentrer manuellement pour les colonnes définissant des expressions dans "
-"certains cas. Dans la plupart des cas il n'est pas nécessaire de le modifier"
+"Le type de donnée inféré par la base de données. Il peut être nécessaire "
+"de le rentrer manuellement pour les colonnes définissant des expressions "
+"dans certains cas. Dans la plupart des cas il n'est pas nécessaire de le "
+"modifier"
 
-#: superset-frontend/src/components/TableSelector.tsx:392
-#: superset/connectors/sqla/views.py:139 superset/connectors/sqla/views.py:241
-#: superset/connectors/sqla/views.py:450 superset/views/chart/mixin.py:87
+#: superset-frontend/src/components/TableSelector/index.tsx:403
+#: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:24
+#: superset/connectors/sqla/views.py:141 superset/connectors/sqla/views.py:255
+#: superset/connectors/sqla/views.py:485 superset/views/chart/mixin.py:87
 msgid "Table"
 msgstr "Table"
 
-#: superset/connectors/sqla/views.py:140
+#: superset/connectors/sqla/views.py:142
 msgid "Expression"
 msgstr "Expression"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:212
-#: superset/connectors/sqla/views.py:141
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:244
+#: superset/connectors/sqla/views.py:143
 msgid "Is temporal"
 msgstr "Est temporel"
 
-#: superset/connectors/sqla/views.py:142
+#: superset/connectors/sqla/views.py:144
 msgid "Datetime Format"
 msgstr "Format Datetime"
 
-#: superset/connectors/sqla/views.py:159 superset/datasets/schemas.py:39
+#: superset/connectors/sqla/views.py:161 superset/datasets/schemas.py:39
 msgid "Invalid date/timestamp format"
 msgstr "Format Timestamp de la table"
 
-#: superset/connectors/sqla/views.py:194
+#: superset/connectors/sqla/views.py:208
 msgid "Show Metric"
-msgstr "Montrer les métriques"
+msgstr "Afficher la métrique"
 
-#: superset/connectors/sqla/views.py:195
+#: superset/connectors/sqla/views.py:209
 msgid "Add Metric"
 msgstr "Ajouter une métrique"
 
-#: superset/connectors/sqla/views.py:196
+#: superset/connectors/sqla/views.py:210
 msgid "Edit Metric"
 msgstr "Éditer la métrique"
 
-#: superset/connectors/sqla/views.py:240
+#: superset/connectors/sqla/views.py:254
 msgid "SQL Expression"
 msgstr "Expression SQL"
 
-#: superset/connectors/sqla/views.py:242
+#: superset/connectors/sqla/views.py:256
 msgid "D3 Format"
 msgstr "Format D3"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:554
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:599
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:637
-#: superset/connectors/sqla/views.py:243 superset/connectors/sqla/views.py:467
-#: superset/views/database/mixins.py:195
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:631
+#: superset/connectors/sqla/views.py:257 superset/connectors/sqla/views.py:502
+#: superset/views/database/mixins.py:196
 msgid "Extra"
 msgstr "Extra"
 
-#: superset/connectors/sqla/views.py:285
+#: superset/connectors/sqla/views.py:311
 msgid "Row level security filter"
-msgstr ""
+msgstr "Filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:286
+#: superset/connectors/sqla/views.py:312
 msgid "Show Row level security filter"
-msgstr ""
+msgstr "Afficher le filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:287
+#: superset/connectors/sqla/views.py:313
 msgid "Add Row level security filter"
-msgstr ""
+msgstr "Ajouter un filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:288
+#: superset/connectors/sqla/views.py:314
 msgid "Edit Row level security filter"
-msgstr ""
+msgstr "Editer le filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:306
+#: superset/connectors/sqla/views.py:332
 msgid ""
 "Regular filters add where clauses to queries if a user belongs to a role "
-"referenced in the filter. Base filters apply filters to all queries except "
-"the roles defined in the filter, and can be used to define what users can "
-"see if no RLS filters within a filter group apply to them."
-msgstr ""
-
-#: superset/connectors/sqla/views.py:312
+"referenced in the filter. Base filters apply filters to all queries "
+"except the roles defined in the filter, and can be used to define what "
+"users can see if no RLS filters within a filter group apply to them."
+msgstr ""
+"Les filtres réguliers ajoutent des clauses WHERE aux requêtes si un "
+"utilisateur appartient à un profil référencé dans le filtre. Les filtres "
+"de base appliquent les filtres à toutes les requêtes sauf pour les profils "
+"définis dans le filtre, et peuvent être utilisés pour définir ce que les "
+"utilisateurs peuvent voir si aucun filtre RLS au sein d'un groupe de filtres"
+" ne s'appliquent à eux."
+
+#: superset/connectors/sqla/views.py:338
 msgid "These are the tables this filter will be applied to."
-msgstr ""
+msgstr "Ce sont les tables sur lesquelles vont s'appliquer les filtres."
 
-#: superset/connectors/sqla/views.py:313
+#: superset/connectors/sqla/views.py:339
 msgid ""
-"For regular filters, these are the roles this filter will be applied to. For "
-"base filters, these are the roles that the filter DOES NOT apply to, e.g. "
-"Admin if admin should see all data."
+"For regular filters, these are the roles this filter will be applied to. "
+"For base filters, these are the roles that the filter DOES NOT apply to, "
+"e.g. Admin if admin should see all data."
 msgstr ""
+"Pour les filtres réguliers, ce sont les profils sur lesquels vont s'appliquer"
+" les filtres. Pour les filtres de base, ce sont les profis sur lesquels les "
+" filtres NE VONT PAS s'appliquer, par exemple Admin si l'admin devrait voir "
+"toutes les données."
 
-#: superset/connectors/sqla/views.py:319
+#: superset/connectors/sqla/views.py:345
 msgid ""
 "Filters with the same group key will be ORed together within the group, "
-"while different filter groups will be ANDed together. Undefined group keys "
-"are treated as unique groups, i.e. are not grouped together. For example, if "
-"a table has three filters, of which two are for departments Finance and "
-"Marketing (group key = 'department'), and one refers to the region Europe "
-"(group key = 'region'), the filter clause would apply the filter (department "
-"= 'Finance' OR department = 'Marketing') AND (region = 'Europe')."
-msgstr ""
-
-#: superset/connectors/sqla/views.py:329
-msgid ""
-"This is the condition that will be added to the WHERE clause. For example, "
-"to only return rows for a particular client, you might define a regular "
-"filter with the clause `client_id = 9`. To display no rows unless a user "
-"belongs to a RLS filter role, a base filter can be created with the clause "
-"`1 = 0` (always false)."
-msgstr ""
-
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:276
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:260
-#: superset/connectors/sqla/views.py:338 superset/connectors/sqla/views.py:357
+"while different filter groups will be ANDed together. Undefined group "
+"keys are treated as unique groups, i.e. are not grouped together. For "
+"example, if a table has three filters, of which two are for departments "
+"Finance and Marketing (group key = 'department'), and one refers to the "
+"region Europe (group key = 'region'), the filter clause would apply the "
+"filter (department = 'Finance' OR department = 'Marketing') AND (region ="
+" 'Europe')."
+msgstr ""
+"Les filtres d'un groupe qui ont la même clé vont se combiner avec des OU, "
+"alors que des filtres de groupes différents vont se combiner avec des ET. "
+"Les groupes qui ont une clé indéfinie sont traités comme des groupes uniques,"
+" c'est-à-dire qu'ils ne sont pas regroupés. Par exemple, si une table a 3 "
+"filtres dont 2 sont pour les départements Finance et Marketing (clé de "
+"groupe 'department', et 1 se réfère à la région Europe (clé de groupe "
+"= 'region'), la clause du filtre qui s'appliquerait serait (department = "
+"'Finance' OR department = 'Marketing') AND (region = 'Europe')."
+
+
+#: superset/connectors/sqla/views.py:355
+msgid ""
+"This is the condition that will be added to the WHERE clause. For "
+"example, to only return rows for a particular client, you might define a "
+"regular filter with the clause `client_id = 9`. To display no rows unless"
+" a user belongs to a RLS filter role, a base filter can be created with "
+"the clause `1 = 0` (always false)."
+msgstr ""
+"Ceci est la condition qui sera ajoutée à la clause WHERE. Par exemple, "
+" pour ne retourner que les lignes d'un client particulier, vous pouvez "
+"définir un filtre régulier avec la clause `client_id = 9`. Pour n'afficher "
+"aucune ligne sauf pour les utilisateurs qui appartiennent à un role de filtre"
+" RLS, un filtre de base peut être créé avec la  clause `1 = 0` (toujours "
+"faux)."
+
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:271
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:327
+#: superset/connectors/sqla/views.py:364 superset/connectors/sqla/views.py:392
 msgid "Tables"
 msgstr "Tables"
 
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:390
 #: superset-frontend/src/profile/components/Security.tsx:35
-#: superset/connectors/sqla/views.py:339
+#: superset/connectors/sqla/views.py:365 superset/views/dashboard/mixin.py:83
 msgid "Roles"
-msgstr "Rôles"
+msgstr "Profils"
 
-#: superset/connectors/sqla/views.py:340
+#: superset/connectors/sqla/views.py:366
 msgid "Clause"
 msgstr ""
 
-#: superset/connectors/sqla/views.py:341 superset/views/chart/mixin.py:78
-#: superset/views/dashboard/mixin.py:78 superset/views/dashboard/views.py:147
-#: superset/views/database/mixins.py:191
+#: superset/connectors/sqla/views.py:367 superset/views/chart/mixin.py:78
+#: superset/views/dashboard/mixin.py:85 superset/views/dashboard/views.py:147
+#: superset/views/database/mixins.py:192
 msgid "Creator"
 msgstr "Créateur"
 
-#: superset/connectors/sqla/views.py:358
+#: superset/connectors/sqla/views.py:393
 msgid "Show Table"
-msgstr "Montrer les tables"
+msgstr "Afficher les tables"
 
-#: superset/connectors/sqla/views.py:359
+#: superset/connectors/sqla/views.py:394
 msgid "Import a table definition"
-msgstr ""
+msgstr "Importer la définition d'une table"
 
-#: superset/connectors/sqla/views.py:360
+#: superset/connectors/sqla/views.py:395
 msgid "Edit Table"
 msgstr "Éditer la table"
 
-#: superset/connectors/sqla/views.py:401
+#: superset/connectors/sqla/views.py:436
 msgid "Name of the table that exists in the source database"
 msgstr "Nom de la table qui existe dans la base de données source"
 
-#: superset/connectors/sqla/views.py:402
+#: superset/connectors/sqla/views.py:437
 msgid "Schema, as used only in some databases like Postgres, Redshift and DB2"
 msgstr ""
-"Schéma, utilisé uniquement dans certaines bases de données comme Postgres, "
-"Redshift et DB2"
+"Schéma, utilisé uniquement dans certaines bases de données comme "
+"Postgres, Redshift et DB2"
 
-#: superset/connectors/sqla/views.py:409
+#: superset/connectors/sqla/views.py:444
 msgid ""
 "This fields acts a Superset view, meaning that Superset will run a query "
 "against this string as a subquery."
 msgstr ""
 "Ces champs agissent comme une vue Superset, i.e. Superset va lancer une "
 "requête pour cette expression comme une sous-requête"
 
-#: superset/connectors/sqla/views.py:413
+#: superset/connectors/sqla/views.py:448
 msgid ""
 "Predicate applied when fetching distinct value to populate the filter "
-"control component. Supports jinja template syntax. Applies only when `Enable "
-"Filter Select` is on."
+"control component. Supports jinja template syntax. Applies only when "
+"`Enable Filter Select` is on."
 msgstr ""
-"Prédicat appliqué à la récupération des valeurs distinctes pour remplir le "
-"filtre de contrôle des composants. Supporte la syntaxe Jinja. S'applique "
-"uniquement si `Activer le filtre` est coché."
+"Prédicat appliqué à la récupération des valeurs distinctes pour remplir "
+"le filtre de contrôle des composants. Supporte la syntaxe Jinja. "
+"S'applique uniquement si `Activer le filtre` est coché."
 
-#: superset/connectors/sqla/views.py:419
-msgid ""
-"Redirects to this endpoint when clicking on the table from the table list"
+#: superset/connectors/sqla/views.py:454
+msgid "Redirects to this endpoint when clicking on the table from the table list"
 msgstr ""
 "Redirige à cet endpoint quand on clique sur la table depuis la liste des "
 "tables"
 
-#: superset/connectors/sqla/views.py:428
+#: superset/connectors/sqla/views.py:463
 msgid "Whether the table was generated by the 'Visualize' flow in SQL Lab"
 msgstr "Si la table a été générée par le flow 'Visualiser' dans SQL Lab"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:617
-#: superset/connectors/sqla/views.py:431
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:697
+#: superset/connectors/sqla/views.py:466
 msgid ""
 "A set of parameters that become available in the query using Jinja "
 "templating syntax"
 msgstr ""
-"Un ensemble de paramètre qui seront disponible dans la requête utilisant la "
-"syntaxedu gabarit Jinja"
+"Un ensemble de paramètre qui seront disponible dans la requête utilisant "
+"la syntaxedu gabarit Jinja"
 
-#: superset/connectors/sqla/views.py:435
+#: superset/connectors/sqla/views.py:470
 msgid ""
-"Duration (in seconds) of the caching timeout for this table. A timeout of 0 "
-"indicates that the cache never expires. Note this defaults to the database "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this table. A timeout of"
+" 0 indicates that the cache never expires. Note this defaults to the "
+"database timeout if undefined."
 msgstr ""

Review comment:
       ```suggestion
   msgstr "Durée (en secondes) du timeout du cache pour cette table. Un timeout à 0 indique que le cache n'expire jamais. Notez que le timeout de la base de données par défaut est undefined"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "

Review comment:
       ```suggestion
   "La table [{}] n'a pu être trouvée, vérifiez à nouveau votre connexion "
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -723,787 +734,928 @@ msgstr ""
 #: superset/databases/commands/delete.py:65
 #, python-format
 msgid "There are associated alerts or reports: %s,"
+msgstr "Il y a des alertes ou des rapports : %s,"
+
+#: superset/charts/commands/exceptions.py:38
+#, python-format
+msgid ""
+"Time string is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
+msgstr ""
+"La chaîne de Temps est ambigüe. Veuillez spécifier [%(human_readable)s ago] ou "
+"[%(human_readable)s later]."
+
+#: superset/charts/commands/exceptions.py:51
+#, python-format
+msgid "Cannot parse time string [%(human_readable)s]"
+msgstr "Ne peut pas parser la chaîne de temps [%(human_readable)s]"
+
+#: superset/charts/commands/exceptions.py:66
+#, python-format
+msgid ""
+"Time delta is ambiguous. Please specify [%(human_readable)s ago] or "
+"[%(human_readable)s later]."
 msgstr ""
+"La chaîne Ecart Temps est ambigüe. Veuillez spécifier [%(human_readable)s"
+" ago] ou [%(human_readable)s later]."
 
-#: superset/charts/commands/exceptions.py:37
-#: superset/datasets/commands/exceptions.py:38
+#: superset/charts/commands/exceptions.py:82
+#: superset/datasets/commands/exceptions.py:41
 #: superset/reports/commands/exceptions.py:35
 msgid "Database does not exist"
-msgstr ""
+msgstr "La base de données n'existe pas"
 
-#: superset/charts/commands/exceptions.py:46
+#: superset/charts/commands/exceptions.py:91
 msgid "Dashboards do not exist"
-msgstr "Tableaux de bords"
+msgstr "Les tableaux de bord n'existent pas"
 
-#: superset/charts/commands/exceptions.py:56
+#: superset/charts/commands/exceptions.py:101
 msgid "Datasource type is required when datasource_id is given"
-msgstr ""
+msgstr "La type de source de données est requis quand datasource_id est "
+"spécifié"
 
-#: superset/charts/commands/exceptions.py:66
+#: superset/charts/commands/exceptions.py:111
 msgid "Chart parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du graphique sont invalides."
 
-#: superset/charts/commands/exceptions.py:70
+#: superset/charts/commands/exceptions.py:115
 msgid "Chart could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être créé."
 
-#: superset/charts/commands/exceptions.py:74
+#: superset/charts/commands/exceptions.py:119
 msgid "Chart could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le graphique n'a pas pu être mis à jour."
 
-#: superset/charts/commands/exceptions.py:78
+#: superset/charts/commands/exceptions.py:123
 msgid "Chart could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Le graphique n'a pas pu être supprimé."
 
-#: superset/charts/commands/exceptions.py:82
-#: superset/charts/commands/exceptions.py:102
+#: superset/charts/commands/exceptions.py:127
+#: superset/charts/commands/exceptions.py:147
 #: superset/dashboards/commands/exceptions.py:57
 #: superset/dashboards/commands/exceptions.py:69
-#: superset/databases/commands/exceptions.py:116
+#: superset/databases/commands/exceptions.py:117
 msgid "There are associated alerts or reports"
 msgstr ""
 
-#: superset/charts/commands/exceptions.py:86
+#: superset/charts/commands/exceptions.py:131
 msgid "Changing this chart is forbidden"
-msgstr ""
+msgstr "Modifier ce graphique est interdit"
 
-#: superset/charts/commands/exceptions.py:90
+#: superset/charts/commands/exceptions.py:135
 msgid "Charts could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+msgstr "Lse graphiques n'ont pas pu être supprimés."
 
-#: superset/charts/commands/exceptions.py:106
+#: superset/charts/commands/exceptions.py:151
 msgid "Import chart failed for an unknown reason"
-msgstr ""
+msgstr "L'import du graphique a échoué pour une raison inconnue"
 
 #: superset/commands/exceptions.py:85
-#: superset/datasets/commands/exceptions.py:141
+#: superset/datasets/commands/exceptions.py:144
 msgid "Owners are invalid"
-msgstr ""
+msgstr "Les propriétaires sont invalides"
 
 #: superset/commands/exceptions.py:92
+msgid "Some roles do not exist"
+msgstr "Des profils n'existent pas"
+
+#: superset/commands/exceptions.py:99
+#: superset/datasets/commands/exceptions.py:149
 msgid "Dataset does not exist"
-msgstr "La source de données %(name)s existe déjà"
+msgstr "Le jeu de données n'existe pas"
 
-#: superset/common/query_object.py:301
-msgid "`operation` property of post processing object undefined"
+#: superset/common/query_actions.py:187
+#, python-format
+msgid "Invalid result type: %(result_type)s"
+msgstr "Type de résultat invalide : %(result_type)s"
+
+#: superset/common/query_context.py:409
+msgid "The chart does not exist"
+msgstr "Le graphique n'exisite pas"
+
+#: superset/common/query_object.py:264
+#, python-format
+msgid ""
+"Duplicate column/metric labels: %(labels)s. Please make sure all columns "
+"and metrics have a unique label."
 msgstr ""
+"Doublons de libellés colomne/métrique : %(labels)s. Veuillez vous assurer"
+" que toutes les colonnes et métriques ont des libellés uniques."
+
+#: superset/common/query_object.py:360
+msgid "`operation` property of post processing object undefined"
+msgstr "La propriété `operation` de l'objet de post-traitement est indéfini"
 
-#: superset/common/query_object.py:305
+#: superset/common/query_object.py:364
 #, python-format
 msgid "Unsupported post processing operation: %(operation)s"
-msgstr ""
+msgstr "Opération de post-traitement non supportée : %(operation)s"
 
-#: superset/connectors/druid/models.py:240
+#: superset/connectors/connector_registry.py:100
+msgid "Datasource id not found: %(id)s"
+msgstr "Identifiant de source de données non trouvé : %(id)s"
+
+#: superset/connectors/druid/models.py:249
 msgid "Adding new datasource [{}]"
-msgstr "Ajouter une source de données Druid"
+msgstr "Ajouter une nouvelle source de données [{}]"
 
-#: superset/connectors/druid/models.py:243
+#: superset/connectors/druid/models.py:252
 msgid "Refreshing datasource [{}]"
-msgstr ""
+msgstr "Rafraîchir la source de données [{}]"
 
-#: superset/connectors/druid/models.py:1054
+#: superset/connectors/druid/models.py:1063
 msgid "Metric(s) {} must be aggregations."
 msgstr "La(les) métrique(s) {} doit (doivent) être des aggrégations"
 
-#: superset/connectors/druid/models.py:1476
+#: superset/connectors/druid/models.py:1481
 msgid "Unsupported extraction function: "
 msgstr "Fonction d'extration non supportée"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:994
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:231
-#: superset-frontend/src/explore/controls.jsx:251
-#: superset/connectors/druid/views.py:56 superset/connectors/sqla/views.py:63
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1102
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:270
+#: superset-frontend/src/explore/controls.jsx:246
+#: superset/connectors/druid/views.py:69 superset/connectors/sqla/views.py:65
 msgid "Columns"
-msgstr "Colonne"
+msgstr "Colonnes"
 
-#: superset/connectors/druid/views.py:57
+#: superset/connectors/druid/views.py:70
 msgid "Show Druid Column"
-msgstr "Montrer les colonnes Druid"
+msgstr "Afficher les colonnes Druid"
 
-#: superset/connectors/druid/views.py:58
+#: superset/connectors/druid/views.py:71
 msgid "Add Druid Column"
 msgstr "Ajouter une colonne Druid"
 
-#: superset/connectors/druid/views.py:59
+#: superset/connectors/druid/views.py:72
 msgid "Edit Druid Column"
 msgstr "Éditer une colonne Druid"
 
 #: superset-frontend/src/dashboard/components/gridComponents/new/NewColumn.jsx:31
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:209
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:137
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/getControlItemsMap.tsx:109
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:241
+#: superset-frontend/src/explore/components/controls/ConditionalFormattingControl/FormattingPopoverContent.tsx:200
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:137
 #: superset-frontend/src/explore/components/controls/SpatialControl.jsx:193
-#: superset/connectors/druid/views.py:77 superset/connectors/sqla/views.py:134
+#: superset/connectors/druid/views.py:90 superset/connectors/sqla/views.py:136
 msgid "Column"
 msgstr "Colonne"
 
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:261
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:439
-#: superset/connectors/druid/views.py:78 superset/connectors/druid/views.py:174
-#: superset/connectors/sqla/views.py:143 superset/connectors/sqla/views.py:239
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:208
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:267
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:445
+#: superset/connectors/druid/views.py:91 superset/connectors/druid/views.py:187
+#: superset/connectors/sqla/views.py:145 superset/connectors/sqla/views.py:253
 msgid "Type"
 msgstr "Type"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:148
-#: superset/connectors/druid/views.py:79 superset/views/access_requests.py:43
+#: superset/connectors/druid/views.py:92 superset/views/access_requests.py:46
 #: superset/views/chart/mixin.py:80
 msgid "Datasource"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:80 superset/connectors/sqla/views.py:137
+#: superset/connectors/druid/views.py:93 superset/connectors/sqla/views.py:139
 msgid "Groupable"
 msgstr "Groupable"
 
-#: superset/connectors/druid/views.py:81 superset/connectors/sqla/views.py:138
+#: superset/connectors/druid/views.py:94 superset/connectors/sqla/views.py:140
 msgid "Filterable"
 msgstr "Filtrable"
 
-#: superset/connectors/druid/views.py:84 superset/connectors/sqla/views.py:98
+#: superset/connectors/druid/views.py:97 superset/connectors/sqla/views.py:100
 msgid ""
-"Whether this column is exposed in the `Filters` section of the explore view."
+"Whether this column is exposed in the `Filters` section of the explore "
+"view."
 msgstr ""
 "Est-ce-que cette colonne doit apparaître dans la section `Filtres` de la "
 "page exploration"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:983
-#: superset-frontend/src/explore/components/DatasourcePanel.tsx:218
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:1091
+#: superset-frontend/src/explore/components/DatasourcePanel/index.tsx:239
 #: superset-frontend/src/explore/controls.jsx:153
-#: superset/connectors/druid/views.py:143 superset/connectors/sqla/views.py:193
+#: superset/connectors/druid/views.py:156 superset/connectors/sqla/views.py:207
 msgid "Metrics"
 msgstr "Métriques"
 
-#: superset/connectors/druid/views.py:144
+#: superset/connectors/druid/views.py:157
 msgid "Show Druid Metric"
-msgstr "Montrer une métrique Druid"
+msgstr "Afficher une métrique Druid"
 
-#: superset/connectors/druid/views.py:145
+#: superset/connectors/druid/views.py:158
 msgid "Add Druid Metric"
 msgstr "Ajouter une métrique Druid"
 
-#: superset/connectors/druid/views.py:146
+#: superset/connectors/druid/views.py:159
 msgid "Edit Druid Metric"
 msgstr "Éditer une métrique Druid"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:836
-#: superset-frontend/src/explore/controls.jsx:172
-#: superset-frontend/src/explore/controls.jsx:173
-#: superset/connectors/druid/views.py:171 superset/connectors/sqla/views.py:236
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:932
+#: superset-frontend/src/explore/controls.jsx:168
+#: superset-frontend/src/explore/controls.jsx:169
+#: superset/connectors/druid/views.py:184 superset/connectors/sqla/views.py:250
 msgid "Metric"
 msgstr "Métrique"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:128
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:161
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:156
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:160
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:518
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:850
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:854
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:214
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1094
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1100
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:153
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:158
-#: superset/connectors/druid/views.py:172
-#: superset/connectors/druid/views.py:325 superset/connectors/sqla/views.py:136
-#: superset/connectors/sqla/views.py:237 superset/connectors/sqla/views.py:464
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:131
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:158
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:188
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:192
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:588
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:946
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:950
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:203
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1079
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1085
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:152
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:161
+#: superset/connectors/druid/views.py:185
+#: superset/connectors/druid/views.py:342 superset/connectors/sqla/views.py:138
+#: superset/connectors/sqla/views.py:251 superset/connectors/sqla/views.py:499
 #: superset/views/annotations.py:80 superset/views/annotations.py:128
 #: superset/views/chart/mixin.py:81 superset/views/sql_lab.py:73
 msgid "Description"
 msgstr "Description"
 
-#: superset/connectors/druid/views.py:173
-#: superset/connectors/druid/views.py:220 superset/connectors/sqla/views.py:135
-#: superset/connectors/sqla/views.py:238
+#: superset/connectors/druid/views.py:186
+#: superset/connectors/druid/views.py:235 superset/connectors/sqla/views.py:137
+#: superset/connectors/sqla/views.py:252
 msgid "Verbose Name"
 msgstr "Nom explicite"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:740
-#: superset/connectors/druid/views.py:175 superset/views/log/__init__.py:33
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:820
+#: superset/connectors/druid/views.py:188 superset/views/log/__init__.py:33
 msgid "JSON"
 msgstr "JSON"
 
-#: superset/connectors/druid/views.py:176
+#: superset/connectors/druid/views.py:189
 msgid "Druid Datasource"
 msgstr "Données Druid"
 
-#: superset/connectors/druid/views.py:177 superset/connectors/sqla/views.py:244
+#: superset/connectors/druid/views.py:190 superset/connectors/sqla/views.py:258
 msgid "Warning Message"
 msgstr "Message d'avertissement"
 
-#: superset/connectors/druid/views.py:196
+#: superset/connectors/druid/views.py:210
+#: superset/initialization/__init__.py:496
+msgid "Druid Clusters"
+msgstr "Clusters Druid"
+
+#: superset/connectors/druid/views.py:211
 msgid "Show Druid Cluster"
-msgstr "Monter les cluster Druid"
+msgstr "Afficher les cluster Druid"
 
-#: superset/connectors/druid/views.py:197
+#: superset/connectors/druid/views.py:212
 msgid "Add Druid Cluster"
 msgstr "Ajouter un cluster Druid"
 
-#: superset/connectors/druid/views.py:198
+#: superset/connectors/druid/views.py:213
 msgid "Edit Druid Cluster"
 msgstr "Éditer une cluster Druid"
 
-#: superset/connectors/druid/views.py:214
+#: superset/connectors/druid/views.py:229
 msgid "Cluster Name"
-msgstr "Nom de pays"
+msgstr "Nom du cluster"
 
-#: superset/connectors/druid/views.py:215
+#: superset/connectors/druid/views.py:230
 msgid "Broker Host"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:216
+#: superset/connectors/druid/views.py:231
 msgid "Broker Port"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:217
+#: superset/connectors/druid/views.py:232
 msgid "Broker Username"
 msgstr "Hôte du Broker"
 
-#: superset/connectors/druid/views.py:218
+#: superset/connectors/druid/views.py:233
 msgid "Broker Password"
 msgstr "Port du Broker"
 
-#: superset/connectors/druid/views.py:219
+#: superset/connectors/druid/views.py:234
 msgid "Broker Endpoint"
 msgstr "Endpoint du Broker"
 
-#: superset/connectors/druid/views.py:221
-#: superset/connectors/druid/views.py:331 superset/connectors/sqla/views.py:459
+#: superset/connectors/druid/views.py:236
+#: superset/connectors/druid/views.py:348 superset/connectors/sqla/views.py:494
 #: superset/views/chart/mixin.py:77
 msgid "Cache Timeout"
 msgstr "Cache timeout"
 
-#: superset/connectors/druid/views.py:222
+#: superset/connectors/druid/views.py:237
 msgid "Metadata Last Refreshed"
-msgstr ""
+msgstr "Dernière modification des métadonnées"
 
-#: superset/connectors/druid/views.py:225
+#: superset/connectors/druid/views.py:240
 msgid ""
-"Duration (in seconds) of the caching timeout for this cluster. A timeout of "
-"0 indicates that the cache never expires. Note this defaults to the global "
-"timeout if undefined."
+"Duration (in seconds) of the caching timeout for this cluster. A timeout "
+"of 0 indicates that the cache never expires. Note this defaults to the "
+"global timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour ce cluster. Un timeout de 0"
+" indique que le cache n'expire jamais. Notez que s'il est indéfini, il "
+"prend comme valeur par défaut celui du timeout global."
 
-#: superset/connectors/druid/views.py:230
-#: superset/connectors/druid/views.py:235
+#: superset/connectors/druid/views.py:245
+#: superset/connectors/druid/views.py:250
 msgid ""
-"Druid supports basic authentication. See [auth](http://druid.io/docs/latest/"
-"design/auth.html) and druid-basic-security extension"
+"Druid supports basic authentication. See "
+"[auth](http://druid.io/docs/latest/design/auth.html) and druid-basic-"
+"security extension"
 msgstr ""
+"Druid supporte l'authentification basique. Voir "
+"[auth](http://druid.io/docs/latest/design/auth.html) et druid-basic-"
+"security extension"
+
+#: superset/connectors/druid/views.py:274
+#: superset/initialization/__init__.py:487
+msgid "Druid Datasources"
+msgstr "Sources de données Druid"
 
-#: superset/connectors/druid/views.py:258
+#: superset/connectors/druid/views.py:275
 msgid "Show Druid Datasource"
-msgstr "Montrer les sources de données Druid"
+msgstr "Afficher les sources de données Druid"
 
-#: superset/connectors/druid/views.py:259
+#: superset/connectors/druid/views.py:276
 msgid "Add Druid Datasource"
 msgstr "Ajouter une source de données Druid"
 
-#: superset/connectors/druid/views.py:260
+#: superset/connectors/druid/views.py:277
 msgid "Edit Druid Datasource"
 msgstr "Éditer une source de données Druid"
 
-#: superset/connectors/druid/views.py:283 superset/connectors/sqla/views.py:391
+#: superset/connectors/druid/views.py:300 superset/connectors/sqla/views.py:426
 msgid ""
-"The list of charts associated with this table. By altering this datasource, "
-"you may change how these associated charts behave. Also note that charts "
-"need to point to a datasource, so this form will fail at saving if removing "
-"charts from a datasource. If you want to change the datasource for a chart, "
-"overwrite the chart from the 'explore view'"
+"The list of charts associated with this table. By altering this "
+"datasource, you may change how these associated charts behave. Also note "
+"that charts need to point to a datasource, so this form will fail at "
+"saving if removing charts from a datasource. If you want to change the "
+"datasource for a chart, overwrite the chart from the 'explore view'"
 msgstr ""
-"La liste des graphiques associés à cette table. En alterant cette source de "
-"données, vous pouvez changer le comportement des graphiques associés. Aussi "
-"notez que les graphiques doivent pointer vers une source de données, alors "
-"ce formulaire ne pourra pas être enregistré si des graphiques sont retirés "
-"d'une source de données. Si vous voulez changer la source de données d'un "
-"graphique, écraser le graphique depuis la 'vue d'exploration'"
+"La liste des graphiques associés à cette table. En alterant cette source "
+"de données, vous pouvez changer le comportement des graphiques associés. "
+"Aussi notez que les graphiques doivent pointer vers une source de "
+"données, alors ce formulaire ne pourra pas être enregistré si des "
+"graphiques sont retirés d'une source de données. Si vous voulez changer "
+"la source de données d'un graphique, écraser le graphique depuis la 'vue "
+"d'exploration'"
 
-#: superset/connectors/druid/views.py:292 superset/connectors/sqla/views.py:400
+#: superset/connectors/druid/views.py:309 superset/connectors/sqla/views.py:435
 msgid "Timezone offset (in hours) for this datasource"
 msgstr "Timezone offset (en heure) de cette source de données"
 
-#: superset/connectors/druid/views.py:297
+#: superset/connectors/druid/views.py:314
 msgid ""
 "Time expression to use as a predicate when retrieving distinct values to "
-"populate the filter component. Only applies when `Enable Filter Select` is "
-"on. If you enter `7 days ago`, the distinct list of values in the filter "
-"will be populated based on the distinct value over the past week"
+"populate the filter component. Only applies when `Enable Filter Select` "
+"is on. If you enter `7 days ago`, the distinct list of values in the "
+"filter will be populated based on the distinct value over the past week"
 msgstr ""
 "Expression temporelle à utiliser comme un prédicat pour récupérer les "
 "valeurs distinctes pour remplir le filtre. S'applique uniquement quand "
-"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes de "
-"valeurs distinctes dans le filtre seront remplies en se basant sur les "
-"valeurs distinctes trouvées la semaine passée"
+"`Activier le filtre` est coché. Si vous entrez `7 days ago`, les listes "
+"de valeurs distinctes dans le filtre seront remplies en se basant sur les"
+" valeurs distinctes trouvées la semaine passée"
 
-#: superset/connectors/druid/views.py:305 superset/connectors/sqla/views.py:423
+#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:458
 msgid ""
 "Whether to populate the filter's dropdown in the explore view's filter "
-"section with a list of distinct values fetched from the backend on the fly"
+"section with a list of distinct values fetched from the backend on the "
+"fly"
 msgstr ""
-"Faut-il remplir à la volée les choix du filtre de la section filtre de la "
-"page d'exploration avec la liste des valeurs distinctes répérées depuis le "
-"backend"
+"Faut-il remplir à la volée les choix du filtre de la section filtre de la"
+" page d'exploration avec la liste des valeurs distinctes répérées depuis "
+"le backend"
 
-#: superset/connectors/druid/views.py:310
+#: superset/connectors/druid/views.py:327
 msgid ""
 "Redirects to this endpoint when clicking on the datasource from the "
 "datasource list"
 msgstr ""
-"Redirige à cet endpoint quand on clique sur la source de données depuis la "
-"liste des sources de données"
+"Redirige à cet endpoint quand on clique sur la source de données depuis "
+"la liste des sources de données"
 
-#: superset/connectors/druid/views.py:314
+#: superset/connectors/druid/views.py:331
 msgid ""
-"Duration (in seconds) of the caching timeout for this datasource. A timeout "
-"of 0 indicates that the cache never expires. Note this defaults to the "
-"cluster timeout if undefined."
+"Duration (in seconds) of the caching timeout for this datasource. A "
+"timeout of 0 indicates that the cache never expires. Note this defaults "
+"to the cluster timeout if undefined."
 msgstr ""
+"Durée (en secondes) du timeout du cache pour cette source de données. "
+"Un timeout de 0 indique que le cache n'expire jamais. Notez que s'il est "
+"indéfini, il prend comme valeur par défaut le timeout du cluster."
 
-#: superset/connectors/druid/views.py:322 superset/connectors/sqla/views.py:449
+#: superset/connectors/druid/views.py:339 superset/connectors/sqla/views.py:484
 msgid "Associated Charts"
 msgstr "Les graphiques associés"
 
-#: superset/connectors/druid/views.py:323
+#: superset/connectors/druid/views.py:340
 msgid "Data Source"
 msgstr "Source de données"
 
-#: superset/connectors/druid/views.py:324
+#: superset/connectors/druid/views.py:341
 msgid "Cluster"
 msgstr "Cluster"
 
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:358
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:572
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:260
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:261
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1078
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:262
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:307
-#: superset/connectors/druid/views.py:326 superset/connectors/sqla/views.py:462
-#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:76
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:328
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:370
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:227
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:649
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:239
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:266
+#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1063
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:309
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:313
+#: superset/connectors/druid/views.py:343 superset/connectors/sqla/views.py:497
+#: superset/views/chart/mixin.py:83 superset/views/dashboard/mixin.py:82
 msgid "Owners"
 msgstr "Propriétaires"
 
-#: superset/connectors/druid/views.py:327
+#: superset/connectors/druid/views.py:344
 msgid "Is Hidden"
 msgstr "Est caché"
 
-#: superset/connectors/druid/views.py:328 superset/connectors/sqla/views.py:455
+#: superset/connectors/druid/views.py:345 superset/connectors/sqla/views.py:490
 msgid "Enable Filter Select"
 msgstr "Activer le filtre de sélection"
 
-#: superset/connectors/druid/views.py:329 superset/connectors/sqla/views.py:457
+#: superset/connectors/druid/views.py:346 superset/connectors/sqla/views.py:492
 msgid "Default Endpoint"
 msgstr "Endpoint par défaut"
 
-#: superset/connectors/druid/views.py:330
+#: superset/connectors/druid/views.py:347
 msgid "Time Offset"
-msgstr "Décalage du temps"
+msgstr "Décalage du temps (offset)"
 
-#: superset/connectors/druid/views.py:332
+#: superset/connectors/druid/views.py:349
 msgid "Datasource Name"
 msgstr "Nom source de donnée"
 
-#: superset/connectors/druid/views.py:333
+#: superset/connectors/druid/views.py:350
 msgid "Fetch Values From"
 msgstr "Récupérer les valeurs des prédicats"
 
-#: superset/connectors/druid/views.py:334 superset/connectors/sqla/views.py:451
+#: superset/connectors/druid/views.py:351 superset/connectors/sqla/views.py:486
 msgid "Changed By"
 msgstr "Modifié par"
 
-#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:65
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:240
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:295
-#: superset/connectors/druid/views.py:335 superset/connectors/sqla/views.py:342
-#: superset/connectors/sqla/views.py:468 superset/views/dashboard/mixin.py:79
-#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:201
+#: superset-frontend/src/dashboard/components/AddSliceCard.jsx:128
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:287
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:288
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:362
+#: superset/connectors/druid/views.py:352 superset/connectors/sqla/views.py:368
+#: superset/connectors/sqla/views.py:503 superset/views/dashboard/mixin.py:86
+#: superset/views/dashboard/views.py:148 superset/views/database/mixins.py:202
 #: superset/views/sql_lab.py:74
 msgid "Modified"
 msgstr "Modifié"
 
-#: superset/connectors/druid/views.py:400
+#: superset/connectors/druid/views.py:417
 msgid "Refreshed metadata from cluster [{}]"
-msgstr ""
-
-#: superset/connectors/sqla/models.py:634
-msgid "Only `SELECT` statements are allowed"
-msgstr "Copier l'étape SELECT vers le clipboard"
-
-#: superset/connectors/sqla/models.py:643
-msgid "Only single queries supported"
-msgstr ""
+msgstr "Métadonnées du cluster [{}] rafraîchies"
 
-#: superset/connectors/sqla/models.py:739
+#: superset/connectors/sqla/models.py:720
 #, python-format
 msgid "Error in jinja expression in fetch values predicate: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja dans la réupération du prédicat "
+"des valeurs : %(msg)s"
 
-#: superset/connectors/sqla/models.py:797
-#, python-format
-msgid "Error in jinja expression in FROM clause: %(msg)s"
-msgstr ""
+#: superset/connectors/sqla/models.py:802
+msgid "Virtual dataset query must be read-only"
+msgstr "La requête du jeu de données virtuel doit être en lecture seule"
 
-#: superset/connectors/sqla/models.py:806
-msgid "Virtual dataset query cannot consist of multiple statements"
-msgstr ""
+#: superset/connectors/sqla/models.py:819
+msgid "Error while rendering virtual dataset query: %(msg)s"
+msgstr "Erreur durant le rendu  de la requête du jeu de données virtuel :"
+" %(msg)s"
 
-#: superset/connectors/sqla/models.py:815
-msgid "Virtual dataset query must be read-only"
-msgstr ""
+#: superset/connectors/sqla/models.py:826 superset/connectors/sqla/utils.py:72
+msgid "Virtual dataset query cannot be empty"
+msgstr "La requête du jeu de données virtuel ne peut pas être vide"
 
-#: superset/connectors/sqla/models.py:871
+#: superset/connectors/sqla/models.py:829
+msgid "Virtual dataset query cannot consist of multiple statements"
+msgstr "La requête du jeu de données virtuel ne peut pas comporter plusieurs "
+"instructions"
+
+#: superset/connectors/sqla/models.py:932
 #, python-format
 msgid "Error in jinja expression in RLS filters: %(msg)s"
-msgstr ""
+msgstr "Erreur dans l'expression jinja des filtres RLS : %(msg)s"
 
-#: superset/connectors/sqla/models.py:931
+#: superset/connectors/sqla/models.py:997
 msgid ""
-"Datetime column not provided as part table configuration and is required by "
-"this type of chart"
+"Datetime column not provided as part table configuration and is required "
+"by this type of chart"
 msgstr ""
-"Colonne Datetime non fournie dans la configuration alors qu'elle est requise "
-"pour ce type de graphique"
+"Colonne Datetime non fournie dans la configuration alors qu'elle est "
+"requise pour ce type de graphique"
 
-#: superset/connectors/sqla/models.py:941
+#: superset/connectors/sqla/models.py:1003
 msgid "Empty query?"
 msgstr "Requête vide ?"
 
-#: superset/connectors/sqla/models.py:951
-#: superset/connectors/sqla/models.py:1273
+#: superset/connectors/sqla/models.py:1014
+#: superset/connectors/sqla/models.py:1418
 #, python-format
 msgid "Metric '%(metric)s' does not exist"
-msgstr ""
+msgstr "La métrique '%(metric)s' n'existe pas"
 
-#: superset/connectors/sqla/models.py:1101
+#: superset/connectors/sqla/models.py:1056
+#, python-format
+msgid "Unknown column used in orderby: %(col)s"
+msgstr "Colonne inconnue utilisée dans le tri %(col)s"
+
+#: superset/connectors/sqla/models.py:1099
+#, python-format
+msgid "Time column \"%(col)s\" does not exist in dataset"
+msgstr "La colonne temporelle \"%(col)s\"  n'existe pas dans le jeu de données"
+
+#: superset/connectors/sqla/models.py:1193
+msgid "Filter value list cannot be empty"
+msgstr "La liste de valeurs du filtre ne peut pas être vide"
+
+#: superset/connectors/sqla/models.py:1218
+msgid "Must specify a value for filters with comparison operators"
+msgstr "Il faut spécifier une valeur pour les filtres avec opérateurs de "
+"comparaison"
+
+#: superset/connectors/sqla/models.py:1241
 #, python-format
 msgid "Invalid filter operation type: %(op)s"
-msgstr ""
+msgstr "Type d'opération de filtrage invalide : %(op)s"
 
-#: superset/connectors/sqla/models.py:1112
+#: superset/connectors/sqla/models.py:1252
 #, python-format
 msgid "Error in jinja expression in WHERE clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause WHERE : %(msg)s"
 
-#: superset/connectors/sqla/models.py:1124
+#: superset/connectors/sqla/models.py:1264
 #, python-format
 msgid "Error in jinja expression in HAVING clause: %(msg)s"
-msgstr ""
+msgstr "Erreur d'expression jinja dans la clause HAVING : %(msg)s"
+
+#: superset/connectors/sqla/models.py:1388
+msgid "Database does not support subqueries"
+msgstr "La base de données n'autorise pas les sous-requêtes"
+
+#: superset/connectors/sqla/models.py:1463
+msgid "Db engine did not return all queried columns"
+msgstr "La base de données n'a retourné toutes les colonnes demandées"
+
+#: superset/connectors/sqla/utils.py:85
+msgid "Only `SELECT` statements are allowed"
+msgstr "Seules les instructions `SELECT` sont autorisées"
+
+#: superset/connectors/sqla/utils.py:94
+msgid "Only single queries supported"
+msgstr "Seules les requêtes simples sont autorisées"
 
-#: superset/connectors/sqla/views.py:64
+#: superset/connectors/sqla/views.py:66
 msgid "Show Column"
-msgstr "Montrer les colonnes"
+msgstr "Afficher les colonnes"
 
-#: superset/connectors/sqla/views.py:65
+#: superset/connectors/sqla/views.py:67
 msgid "Add Column"
 msgstr "Ajouter une colonne"
 
-#: superset/connectors/sqla/views.py:66
+#: superset/connectors/sqla/views.py:68
 msgid "Edit Column"
 msgstr "Éditer une colonne"
 
-#: superset/connectors/sqla/views.py:93
+#: superset/connectors/sqla/views.py:95
 msgid ""
-"Whether to make this column available as a [Time Granularity] option, column "
-"has to be DATETIME or DATETIME-like"
+"Whether to make this column available as a [Time Granularity] option, "
+"column has to be DATETIME or DATETIME-like"
 msgstr ""
 "Faut-il que cette colonne soit accessible comme une option [Time "
 "Granularity],  la colonne doit être DATETIME ou d'un format équivalent"
 
-#: superset/connectors/sqla/views.py:102
+#: superset/connectors/sqla/views.py:104
 msgid ""
 "The data type that was inferred by the database. It may be necessary to "
-"input a type manually for expression-defined columns in some cases. In most "
-"case users should not need to alter this."
+"input a type manually for expression-defined columns in some cases. In "
+"most case users should not need to alter this."
 msgstr ""
-"Le type de donnée inféré par la base de données. Il peut être nécessaire de "
-"le rentrer manuellement pour les colonnes définissant des expressions dans "
-"certains cas. Dans la plupart des cas il n'est pas nécessaire de le modifier"
+"Le type de donnée inféré par la base de données. Il peut être nécessaire "
+"de le rentrer manuellement pour les colonnes définissant des expressions "
+"dans certains cas. Dans la plupart des cas il n'est pas nécessaire de le "
+"modifier"
 
-#: superset-frontend/src/components/TableSelector.tsx:392
-#: superset/connectors/sqla/views.py:139 superset/connectors/sqla/views.py:241
-#: superset/connectors/sqla/views.py:450 superset/views/chart/mixin.py:87
+#: superset-frontend/src/components/TableSelector/index.tsx:403
+#: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:24
+#: superset/connectors/sqla/views.py:141 superset/connectors/sqla/views.py:255
+#: superset/connectors/sqla/views.py:485 superset/views/chart/mixin.py:87
 msgid "Table"
 msgstr "Table"
 
-#: superset/connectors/sqla/views.py:140
+#: superset/connectors/sqla/views.py:142
 msgid "Expression"
 msgstr "Expression"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:212
-#: superset/connectors/sqla/views.py:141
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:244
+#: superset/connectors/sqla/views.py:143
 msgid "Is temporal"
 msgstr "Est temporel"
 
-#: superset/connectors/sqla/views.py:142
+#: superset/connectors/sqla/views.py:144
 msgid "Datetime Format"
 msgstr "Format Datetime"
 
-#: superset/connectors/sqla/views.py:159 superset/datasets/schemas.py:39
+#: superset/connectors/sqla/views.py:161 superset/datasets/schemas.py:39
 msgid "Invalid date/timestamp format"
 msgstr "Format Timestamp de la table"
 
-#: superset/connectors/sqla/views.py:194
+#: superset/connectors/sqla/views.py:208
 msgid "Show Metric"
-msgstr "Montrer les métriques"
+msgstr "Afficher la métrique"
 
-#: superset/connectors/sqla/views.py:195
+#: superset/connectors/sqla/views.py:209
 msgid "Add Metric"
 msgstr "Ajouter une métrique"
 
-#: superset/connectors/sqla/views.py:196
+#: superset/connectors/sqla/views.py:210
 msgid "Edit Metric"
 msgstr "Éditer la métrique"
 
-#: superset/connectors/sqla/views.py:240
+#: superset/connectors/sqla/views.py:254
 msgid "SQL Expression"
 msgstr "Expression SQL"
 
-#: superset/connectors/sqla/views.py:242
+#: superset/connectors/sqla/views.py:256
 msgid "D3 Format"
 msgstr "Format D3"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:554
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:599
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:637
-#: superset/connectors/sqla/views.py:243 superset/connectors/sqla/views.py:467
-#: superset/views/database/mixins.py:195
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:631
+#: superset/connectors/sqla/views.py:257 superset/connectors/sqla/views.py:502
+#: superset/views/database/mixins.py:196
 msgid "Extra"
 msgstr "Extra"
 
-#: superset/connectors/sqla/views.py:285
+#: superset/connectors/sqla/views.py:311
 msgid "Row level security filter"
-msgstr ""
+msgstr "Filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:286
+#: superset/connectors/sqla/views.py:312
 msgid "Show Row level security filter"
-msgstr ""
+msgstr "Afficher le filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:287
+#: superset/connectors/sqla/views.py:313
 msgid "Add Row level security filter"
-msgstr ""
+msgstr "Ajouter un filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:288
+#: superset/connectors/sqla/views.py:314
 msgid "Edit Row level security filter"
-msgstr ""
+msgstr "Editer le filtre de sécurité au niveau de la ligne"
 
-#: superset/connectors/sqla/views.py:306
+#: superset/connectors/sqla/views.py:332
 msgid ""
 "Regular filters add where clauses to queries if a user belongs to a role "
-"referenced in the filter. Base filters apply filters to all queries except "
-"the roles defined in the filter, and can be used to define what users can "
-"see if no RLS filters within a filter group apply to them."
-msgstr ""
-
-#: superset/connectors/sqla/views.py:312
+"referenced in the filter. Base filters apply filters to all queries "
+"except the roles defined in the filter, and can be used to define what "
+"users can see if no RLS filters within a filter group apply to them."
+msgstr ""
+"Les filtres réguliers ajoutent des clauses WHERE aux requêtes si un "
+"utilisateur appartient à un profil référencé dans le filtre. Les filtres "
+"de base appliquent les filtres à toutes les requêtes sauf pour les profils "
+"définis dans le filtre, et peuvent être utilisés pour définir ce que les "
+"utilisateurs peuvent voir si aucun filtre RLS au sein d'un groupe de filtres"
+" ne s'appliquent à eux."
+
+#: superset/connectors/sqla/views.py:338
 msgid "These are the tables this filter will be applied to."
-msgstr ""
+msgstr "Ce sont les tables sur lesquelles vont s'appliquer les filtres."
 
-#: superset/connectors/sqla/views.py:313
+#: superset/connectors/sqla/views.py:339
 msgid ""
-"For regular filters, these are the roles this filter will be applied to. For "
-"base filters, these are the roles that the filter DOES NOT apply to, e.g. "
-"Admin if admin should see all data."
+"For regular filters, these are the roles this filter will be applied to. "
+"For base filters, these are the roles that the filter DOES NOT apply to, "
+"e.g. Admin if admin should see all data."
 msgstr ""
+"Pour les filtres réguliers, ce sont les profils sur lesquels vont s'appliquer"
+" les filtres. Pour les filtres de base, ce sont les profis sur lesquels les "
+" filtres NE VONT PAS s'appliquer, par exemple Admin si l'admin devrait voir "
+"toutes les données."
 
-#: superset/connectors/sqla/views.py:319
+#: superset/connectors/sqla/views.py:345
 msgid ""
 "Filters with the same group key will be ORed together within the group, "
-"while different filter groups will be ANDed together. Undefined group keys "
-"are treated as unique groups, i.e. are not grouped together. For example, if "
-"a table has three filters, of which two are for departments Finance and "
-"Marketing (group key = 'department'), and one refers to the region Europe "
-"(group key = 'region'), the filter clause would apply the filter (department "
-"= 'Finance' OR department = 'Marketing') AND (region = 'Europe')."
-msgstr ""
-
-#: superset/connectors/sqla/views.py:329
-msgid ""
-"This is the condition that will be added to the WHERE clause. For example, "
-"to only return rows for a particular client, you might define a regular "
-"filter with the clause `client_id = 9`. To display no rows unless a user "
-"belongs to a RLS filter role, a base filter can be created with the clause "
-"`1 = 0` (always false)."
-msgstr ""
-
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:276
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:260
-#: superset/connectors/sqla/views.py:338 superset/connectors/sqla/views.py:357
+"while different filter groups will be ANDed together. Undefined group "
+"keys are treated as unique groups, i.e. are not grouped together. For "
+"example, if a table has three filters, of which two are for departments "
+"Finance and Marketing (group key = 'department'), and one refers to the "
+"region Europe (group key = 'region'), the filter clause would apply the "
+"filter (department = 'Finance' OR department = 'Marketing') AND (region ="
+" 'Europe')."
+msgstr ""
+"Les filtres d'un groupe qui ont la même clé vont se combiner avec des OU, "
+"alors que des filtres de groupes différents vont se combiner avec des ET. "
+"Les groupes qui ont une clé indéfinie sont traités comme des groupes uniques,"
+" c'est-à-dire qu'ils ne sont pas regroupés. Par exemple, si une table a 3 "
+"filtres dont 2 sont pour les départements Finance et Marketing (clé de "
+"groupe 'department', et 1 se réfère à la région Europe (clé de groupe "
+"= 'region'), la clause du filtre qui s'appliquerait serait (department = "
+"'Finance' OR department = 'Marketing') AND (region = 'Europe')."
+
+
+#: superset/connectors/sqla/views.py:355
+msgid ""
+"This is the condition that will be added to the WHERE clause. For "
+"example, to only return rows for a particular client, you might define a "
+"regular filter with the clause `client_id = 9`. To display no rows unless"
+" a user belongs to a RLS filter role, a base filter can be created with "
+"the clause `1 = 0` (always false)."
+msgstr ""
+"Ceci est la condition qui sera ajoutée à la clause WHERE. Par exemple, "
+" pour ne retourner que les lignes d'un client particulier, vous pouvez "
+"définir un filtre régulier avec la clause `client_id = 9`. Pour n'afficher "
+"aucune ligne sauf pour les utilisateurs qui appartiennent à un role de filtre"
+" RLS, un filtre de base peut être créé avec la  clause `1 = 0` (toujours "
+"faux)."
+
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:271
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:327
+#: superset/connectors/sqla/views.py:364 superset/connectors/sqla/views.py:392
 msgid "Tables"
 msgstr "Tables"
 
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:390
 #: superset-frontend/src/profile/components/Security.tsx:35
-#: superset/connectors/sqla/views.py:339
+#: superset/connectors/sqla/views.py:365 superset/views/dashboard/mixin.py:83
 msgid "Roles"
-msgstr "Rôles"
+msgstr "Profils"
 
-#: superset/connectors/sqla/views.py:340
+#: superset/connectors/sqla/views.py:366
 msgid "Clause"
 msgstr ""
 
-#: superset/connectors/sqla/views.py:341 superset/views/chart/mixin.py:78
-#: superset/views/dashboard/mixin.py:78 superset/views/dashboard/views.py:147
-#: superset/views/database/mixins.py:191
+#: superset/connectors/sqla/views.py:367 superset/views/chart/mixin.py:78
+#: superset/views/dashboard/mixin.py:85 superset/views/dashboard/views.py:147
+#: superset/views/database/mixins.py:192
 msgid "Creator"
 msgstr "Créateur"
 
-#: superset/connectors/sqla/views.py:358
+#: superset/connectors/sqla/views.py:393
 msgid "Show Table"
-msgstr "Montrer les tables"
+msgstr "Afficher les tables"
 
-#: superset/connectors/sqla/views.py:359
+#: superset/connectors/sqla/views.py:394
 msgid "Import a table definition"
-msgstr ""
+msgstr "Importer la définition d'une table"
 
-#: superset/connectors/sqla/views.py:360
+#: superset/connectors/sqla/views.py:395
 msgid "Edit Table"
 msgstr "Éditer la table"
 
-#: superset/connectors/sqla/views.py:401
+#: superset/connectors/sqla/views.py:436
 msgid "Name of the table that exists in the source database"
 msgstr "Nom de la table qui existe dans la base de données source"
 
-#: superset/connectors/sqla/views.py:402
+#: superset/connectors/sqla/views.py:437
 msgid "Schema, as used only in some databases like Postgres, Redshift and DB2"
 msgstr ""
-"Schéma, utilisé uniquement dans certaines bases de données comme Postgres, "
-"Redshift et DB2"
+"Schéma, utilisé uniquement dans certaines bases de données comme "
+"Postgres, Redshift et DB2"
 
-#: superset/connectors/sqla/views.py:409
+#: superset/connectors/sqla/views.py:444
 msgid ""
 "This fields acts a Superset view, meaning that Superset will run a query "
 "against this string as a subquery."
 msgstr ""
 "Ces champs agissent comme une vue Superset, i.e. Superset va lancer une "
 "requête pour cette expression comme une sous-requête"
 
-#: superset/connectors/sqla/views.py:413
+#: superset/connectors/sqla/views.py:448
 msgid ""
 "Predicate applied when fetching distinct value to populate the filter "
-"control component. Supports jinja template syntax. Applies only when `Enable "
-"Filter Select` is on."
+"control component. Supports jinja template syntax. Applies only when "
+"`Enable Filter Select` is on."
 msgstr ""
-"Prédicat appliqué à la récupération des valeurs distinctes pour remplir le "
-"filtre de contrôle des composants. Supporte la syntaxe Jinja. S'applique "
-"uniquement si `Activer le filtre` est coché."
+"Prédicat appliqué à la récupération des valeurs distinctes pour remplir "
+"le filtre de contrôle des composants. Supporte la syntaxe Jinja. "
+"S'applique uniquement si `Activer le filtre` est coché."
 
-#: superset/connectors/sqla/views.py:419
-msgid ""
-"Redirects to this endpoint when clicking on the table from the table list"
+#: superset/connectors/sqla/views.py:454
+msgid "Redirects to this endpoint when clicking on the table from the table list"
 msgstr ""
 "Redirige à cet endpoint quand on clique sur la table depuis la liste des "
 "tables"
 
-#: superset/connectors/sqla/views.py:428
+#: superset/connectors/sqla/views.py:463
 msgid "Whether the table was generated by the 'Visualize' flow in SQL Lab"
 msgstr "Si la table a été générée par le flow 'Visualiser' dans SQL Lab"
 
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:617
-#: superset/connectors/sqla/views.py:431
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:697
+#: superset/connectors/sqla/views.py:466
 msgid ""
 "A set of parameters that become available in the query using Jinja "
 "templating syntax"
 msgstr ""
-"Un ensemble de paramètre qui seront disponible dans la requête utilisant la "
-"syntaxedu gabarit Jinja"
+"Un ensemble de paramètre qui seront disponible dans la requête utilisant "
+"la syntaxedu gabarit Jinja"

Review comment:
       ```suggestion
   "la syntaxe du template Jinja"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"

Review comment:
       ```suggestion
   msgstr "Jour"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""

Review comment:
       ```suggestion
   msgstr "Le moteur \"%(engine)s\" ne peut pas être configuré via des paramètres."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"

Review comment:
       ```suggestion
   msgstr "5 secondes"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"

Review comment:
       ```suggestion
   msgstr "Minute"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"

Review comment:
       ```suggestion
   msgstr "Nom d'utilisateur"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"

Review comment:
       ```suggestion
   msgstr "Année"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"

Review comment:
       ```suggestion
   msgstr "Mois"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"

Review comment:
       ```suggestion
   msgstr "Heure"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."

Review comment:
       ```suggestion
   msgstr "Le nom d'hôte \"%(hostname)s\" ne peut pas être résolu."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"

Review comment:
       ```suggestion
   msgstr "Semaine"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"

Review comment:
       ```suggestion
   msgstr "Téléverser"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"

Review comment:
       ```suggestion
   msgstr "Nom de la base de données"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"

Review comment:
       ```suggestion
   msgstr "Utiliser une connexion cryptée vers la base de données"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"
 
 #: superset/templates/superset/request_access.html:20
 msgid "No Access!"
-msgstr "Pas l'accès !"
+msgstr "Pas d'accès !"
 
 #: superset/templates/superset/request_access.html:25
 #, python-format
 msgid "You do not have permissions to access the datasource(s): %(name)s."
-msgstr ""
-"Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
+msgstr "Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
 
 #: superset/templates/superset/request_access.html:31
 msgid "Request Permissions"
 msgstr "Besoin de permissions"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:176
-#: superset-frontend/src/common/components/Modal/Modal.tsx:145
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:305
-#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:142
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx:472
-#: superset-frontend/src/datasource/DatasourceModal.tsx:202
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:175
-#: superset-frontend/src/explore/components/SaveModal.tsx:174
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:749
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:173
+#: superset-frontend/src/components/Modal/Modal.tsx:155
+#: superset-frontend/src/components/ReportModal/index.tsx:247
+#: superset-frontend/src/dashboard/components/CrossFilterScopingModal/CrossFilterScopingModal.tsx:80
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:443
+#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:151
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/EditSection.tsx:142
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/Footer.tsx:76
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/Footer/Footer.tsx:60
+#: superset-frontend/src/datasource/DatasourceModal.tsx:207
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:169
+#: superset-frontend/src/explore/components/SaveModal.tsx:178
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:787
 #: superset/templates/superset/request_access.html:34
 msgid "Cancel"
 msgstr "Annuler"
 
 #: superset/templates/superset/fab_overrides/list_with_checkboxes.html:82
 msgid "Use the edit buttom to change this field"
-msgstr ""
+msgstr "Utilisez le bouton Editer pour changer ce champ"
 
 #: superset/templates/superset/models/database/macros.html:22
 msgid "Test Connection"
 msgstr "Test de connexion"
 
-#: superset/utils/core.py:794
+#: superset/utils/core.py:874
 #, python-format
 msgid "[Superset] Access to the datasource %(name)s was granted"
 msgstr "[Superset] Accès à la source de données %(name)s accordé"
 
-#: superset/utils/date_parser.py:378
-msgid "Unable to find such a holiday: [{}]"
-msgstr ""
+#: superset/utils/core.py:1058
+#, python-format
+msgid "Unsupported clause type: %(clause)s"
+msgstr "Type de clause non supportée: %(clause)s"
 
-#: superset/utils/pandas_postprocessing.py:136
+#: superset/utils/date_parser.py:385
+#, python-format
+msgid "Unable to find such a holiday: [%(holiday)s]"
+msgstr "Impossible de trouver un tel congé : [%(holiday)s]"
+
+#: superset/utils/pandas_postprocessing.py:140
 msgid "Referenced columns not available in DataFrame."
-msgstr ""
+msgstr "Les colonnes référencées sont indisponibles dans le dataframe"
 
-#: superset/utils/pandas_postprocessing.py:161
+#: superset/utils/pandas_postprocessing.py:165
 #, python-format
 msgid "Column referenced by aggregate is undefined: %(column)s"
-msgstr ""
+msgstr "La colonne référencée dans l'agrégat est indéfinie: %(column)s"
 
-#: superset/utils/pandas_postprocessing.py:168
+#: superset/utils/pandas_postprocessing.py:172
 #, python-format
 msgid "Operator undefined for aggregator: %(name)s"
-msgstr ""
+msgstr "Opérateur indéfini pour l'agrégat: %(name)s"
 
-#: superset/utils/pandas_postprocessing.py:177
+#: superset/utils/pandas_postprocessing.py:181
 #, python-format
 msgid "Invalid numpy function: %(operator)s"
-msgstr ""
+msgstr "Fonction numpy invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:245
+#: superset/utils/pandas_postprocessing.py:251
 msgid "Pivot operation requires at least one index"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un index"
 
-#: superset/utils/pandas_postprocessing.py:249
+#: superset/utils/pandas_postprocessing.py:255
 msgid "Pivot operation must include at least one aggregate"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un agrégat"
 
-#: superset/utils/pandas_postprocessing.py:357
+#: superset/utils/pandas_postprocessing.py:379
 msgid "Undefined window for rolling operation"
-msgstr ""
+msgstr "Fenêtre indéfinie pour l'opération de roulement"
+
+#: superset/utils/pandas_postprocessing.py:381
+msgid "Window must be > 0"
+msgstr "Fenêtre doit être >0"
 
-#: superset/utils/pandas_postprocessing.py:372
+#: superset/utils/pandas_postprocessing.py:396
 #, python-format
 msgid "Invalid rolling_type: %(type)s"
-msgstr ""
+msgstr "rolling_type invalide: %(type)s"
 
-#: superset/utils/pandas_postprocessing.py:378
+#: superset/utils/pandas_postprocessing.py:402
 #, python-format
 msgid "Invalid options for %(rolling_type)s: %(options)s"
-msgstr ""
+msgstr "Options invalides pour %(rolling_type)s: %(options)s"
+
+#: superset/utils/pandas_postprocessing.py:498
+msgid "`compare_columns` must have the same length as `source_columns`."
+msgstr "`compare_columns` doit être de même longueur que `source_columns`."
 
-#: superset/utils/pandas_postprocessing.py:463
+#: superset/utils/pandas_postprocessing.py:502
+msgid "`compare_type` must be `absolute`, `percentage` or `ratio`"
+msgstr "`compare_type` doit être `absolute`, `percentage` or `ratio`"
+
+#: superset/utils/pandas_postprocessing.py:547
 #, python-format
 msgid "Invalid cumulative operator: %(operator)s"
-msgstr ""
+msgstr "Operateur cumulatif invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:489
+#: superset/utils/pandas_postprocessing.py:573
 msgid "Invalid geohash string"
-msgstr ""
+msgstr "Chaine de geohash invalide"
 
-#: superset/utils/pandas_postprocessing.py:512
+#: superset/utils/pandas_postprocessing.py:596
 msgid "Invalid longitude/latitude"
-msgstr "Finir Longitude et Latitude"
+msgstr "Invalide Longitude/Latitude"
 
-#: superset/utils/pandas_postprocessing.py:554
+#: superset/utils/pandas_postprocessing.py:638
 msgid "Invalid geodetic string"
-msgstr ""
+msgstr "Chaine de géodésie invalide"
 
-#: superset/utils/pandas_postprocessing.py:616
-msgid "`fbprophet` package not installed"
+#: superset/utils/pandas_postprocessing.py:671
+#, python-format
+msgid ""
+"Column \"%(column)s\" is not numeric or does not exists in the query "
+"results."
 msgstr ""
+"La colonne \"%(column)s\" n'est pas numérique ou n'existe pas dans les"
+" résultats de requêtes"
 
-#: superset/utils/pandas_postprocessing.py:667
+#: superset/utils/pandas_postprocessing.py:681
+msgid "`rename_columns` must have the same length as `columns`."
+msgstr "`rename_columns` doit être de même longueur que `columns`."
+
+#: superset/utils/pandas_postprocessing.py:724
+msgid "`prophet` package not installed"
+msgstr "`prophet` package non installé"
+
+#: superset/utils/pandas_postprocessing.py:775
 msgid "Time grain missing"
-msgstr "Niveau de Temps"
+msgstr "Granularité de Temps manquante"
 
-#: superset/utils/pandas_postprocessing.py:670
+#: superset/utils/pandas_postprocessing.py:778
 #, python-format
 msgid "Unsupported time grain: %(time_grain)s"
-msgstr ""
+msgstr "Granularité de Temps non supportée : %(time_grain)s"
 
-#: superset/utils/pandas_postprocessing.py:676
+#: superset/utils/pandas_postprocessing.py:784
 msgid "Periods must be a positive integer value"
-msgstr ""
+msgstr "Les périodes doivent être des nombres entiers positifs"
 
-#: superset/utils/pandas_postprocessing.py:679
+#: superset/utils/pandas_postprocessing.py:787
 msgid "Confidence interval must be between 0 and 1 (exclusive)"
-msgstr ""
+msgstr "L'intervalle de confiance doit être entre 0 et 1 (exclusif)"
 
-#: superset/utils/pandas_postprocessing.py:682
+#: superset/utils/pandas_postprocessing.py:790
 msgid "DataFrame must include temporal column"
-msgstr ""
+msgstr "Dataframe doit inclure une colonne temporelle"
 
-#: superset/utils/pandas_postprocessing.py:684
+#: superset/utils/pandas_postprocessing.py:792
 msgid "DataFrame include at least one series"
-msgstr "Choississez au moins une métrique"
+msgstr "DataFrame doit comprendre au moins une série"
 
-#: superset/utils/pandas_postprocessing.py:773
+#: superset/utils/pandas_postprocessing.py:881
 msgid ""
-"percentiles must be a list or tuple with two numeric values, of which the "
-"first is lower than the second value"
-msgstr ""
+"percentiles must be a list or tuple with two numeric values, of which the"
+" first is lower than the second value"
+msgstr "percentiles doit être une liste ou un couple de 2 valeurs"
+" dont le premier est inférieur au second"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:208
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:282
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:372
-#: superset/views/access_requests.py:40 superset/views/log/__init__.py:30
-#: superset/views/schedules.py:226 superset/views/schedules.py:289
+#: superset-frontend/src/components/Menu/MenuRight.tsx:133
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:277
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:367
+#: superset/views/access_requests.py:43 superset/views/log/__init__.py:30
+#: superset/views/schedules.py:241 superset/views/schedules.py:321
 #: superset/views/sql_lab.py:71
 msgid "User"
 msgstr "Utilisateur"
 
-#: superset/views/access_requests.py:41
+#: superset/views/access_requests.py:44
 msgid "User Roles"
-msgstr "Rôles utilisateurs"
+msgstr "Profils utilisateurs"
 
-#: superset/views/access_requests.py:42
+#: superset/views/access_requests.py:45
 msgid "Database URL"
 msgstr "URL de la base de données"
 
-#: superset/views/access_requests.py:44
+#: superset/views/access_requests.py:47
 msgid "Roles to grant"
-msgstr "Rôles à donner"
+msgstr "Profils à donner"
 
-#: superset/views/access_requests.py:45 superset/views/schedules.py:224
-#: superset/views/schedules.py:287
+#: superset/views/access_requests.py:48 superset/views/schedules.py:239
+#: superset/views/schedules.py:319
 msgid "Created On"
 msgstr "Créé le"
 
-#: superset/views/alerts.py:59
+#: superset/views/alerts.py:75
 msgid "List Observations"
-msgstr "Lister les métriques"
+msgstr "Lister les observations"
 
-#: superset/views/alerts.py:60
+#: superset/views/alerts.py:76
 msgid "Show Observation"
-msgstr ""
+msgstr "Voir l'observation"
 
-#: superset/views/alerts.py:67
+#: superset/views/alerts.py:83
 msgid "Error Message"
-msgstr "Message d'avertissement"
+msgstr "Message d'erreur"
 
-#: superset/views/alerts.py:165
+#: superset/views/alerts.py:182
 msgid "Log Retentions (days)"
-msgstr ""
+msgstr "Durée de rétention des logs (en jours)"
 
-#: superset/views/alerts.py:174
+#: superset/views/alerts.py:191
 msgid "A semicolon ';' delimited list of email addresses"
-msgstr ""
+msgstr "Une liste d'e-mail séparée par un ';'"
 
-#: superset/views/alerts.py:175
+#: superset/views/alerts.py:192
 msgid "How long to keep the logs around for this alert"
-msgstr ""
+msgstr "Combien de temps garder les logs pour cette alerte"
 
-#: superset/views/alerts.py:176
+#: superset/views/alerts.py:193
 msgid ""
-"Once an alert is triggered, how long, in seconds, before Superset nags you "
-"again."
-msgstr ""
+"Once an alert is triggered, how long, in seconds, before Superset nags "
+"you again."
+msgstr "Quand une alerte est déclenchée, durée en seconde"

Review comment:
       ```suggestion
   msgstr "Quand une alerte est déclenchée, la durée en seconde"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"

Review comment:
       ```suggestion
   msgstr "Planification de rapport introuvable"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"
 
 #: superset/templates/superset/request_access.html:20
 msgid "No Access!"
-msgstr "Pas l'accès !"
+msgstr "Pas d'accès !"
 
 #: superset/templates/superset/request_access.html:25
 #, python-format
 msgid "You do not have permissions to access the datasource(s): %(name)s."
-msgstr ""
-"Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
+msgstr "Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
 
 #: superset/templates/superset/request_access.html:31
 msgid "Request Permissions"
 msgstr "Besoin de permissions"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:176
-#: superset-frontend/src/common/components/Modal/Modal.tsx:145
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:305
-#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:142
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx:472
-#: superset-frontend/src/datasource/DatasourceModal.tsx:202
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:175
-#: superset-frontend/src/explore/components/SaveModal.tsx:174
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:749
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:173
+#: superset-frontend/src/components/Modal/Modal.tsx:155
+#: superset-frontend/src/components/ReportModal/index.tsx:247
+#: superset-frontend/src/dashboard/components/CrossFilterScopingModal/CrossFilterScopingModal.tsx:80
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:443
+#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:151
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/EditSection.tsx:142
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/Footer.tsx:76
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/Footer/Footer.tsx:60
+#: superset-frontend/src/datasource/DatasourceModal.tsx:207
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:169
+#: superset-frontend/src/explore/components/SaveModal.tsx:178
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:787
 #: superset/templates/superset/request_access.html:34
 msgid "Cancel"
 msgstr "Annuler"
 
 #: superset/templates/superset/fab_overrides/list_with_checkboxes.html:82
 msgid "Use the edit buttom to change this field"
-msgstr ""
+msgstr "Utilisez le bouton Editer pour changer ce champ"
 
 #: superset/templates/superset/models/database/macros.html:22
 msgid "Test Connection"
 msgstr "Test de connexion"
 
-#: superset/utils/core.py:794
+#: superset/utils/core.py:874
 #, python-format
 msgid "[Superset] Access to the datasource %(name)s was granted"
 msgstr "[Superset] Accès à la source de données %(name)s accordé"
 
-#: superset/utils/date_parser.py:378
-msgid "Unable to find such a holiday: [{}]"
-msgstr ""
+#: superset/utils/core.py:1058
+#, python-format
+msgid "Unsupported clause type: %(clause)s"
+msgstr "Type de clause non supportée: %(clause)s"
 
-#: superset/utils/pandas_postprocessing.py:136
+#: superset/utils/date_parser.py:385
+#, python-format
+msgid "Unable to find such a holiday: [%(holiday)s]"
+msgstr "Impossible de trouver un tel congé : [%(holiday)s]"
+
+#: superset/utils/pandas_postprocessing.py:140
 msgid "Referenced columns not available in DataFrame."
-msgstr ""
+msgstr "Les colonnes référencées sont indisponibles dans le dataframe"
 
-#: superset/utils/pandas_postprocessing.py:161
+#: superset/utils/pandas_postprocessing.py:165
 #, python-format
 msgid "Column referenced by aggregate is undefined: %(column)s"
-msgstr ""
+msgstr "La colonne référencée dans l'agrégat est indéfinie: %(column)s"
 
-#: superset/utils/pandas_postprocessing.py:168
+#: superset/utils/pandas_postprocessing.py:172
 #, python-format
 msgid "Operator undefined for aggregator: %(name)s"
-msgstr ""
+msgstr "Opérateur indéfini pour l'agrégat: %(name)s"
 
-#: superset/utils/pandas_postprocessing.py:177
+#: superset/utils/pandas_postprocessing.py:181
 #, python-format
 msgid "Invalid numpy function: %(operator)s"
-msgstr ""
+msgstr "Fonction numpy invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:245
+#: superset/utils/pandas_postprocessing.py:251
 msgid "Pivot operation requires at least one index"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un index"
 
-#: superset/utils/pandas_postprocessing.py:249
+#: superset/utils/pandas_postprocessing.py:255
 msgid "Pivot operation must include at least one aggregate"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un agrégat"
 
-#: superset/utils/pandas_postprocessing.py:357
+#: superset/utils/pandas_postprocessing.py:379
 msgid "Undefined window for rolling operation"
-msgstr ""
+msgstr "Fenêtre indéfinie pour l'opération de roulement"
+
+#: superset/utils/pandas_postprocessing.py:381
+msgid "Window must be > 0"
+msgstr "Fenêtre doit être >0"
 
-#: superset/utils/pandas_postprocessing.py:372
+#: superset/utils/pandas_postprocessing.py:396
 #, python-format
 msgid "Invalid rolling_type: %(type)s"
-msgstr ""
+msgstr "rolling_type invalide: %(type)s"
 
-#: superset/utils/pandas_postprocessing.py:378
+#: superset/utils/pandas_postprocessing.py:402
 #, python-format
 msgid "Invalid options for %(rolling_type)s: %(options)s"
-msgstr ""
+msgstr "Options invalides pour %(rolling_type)s: %(options)s"
+
+#: superset/utils/pandas_postprocessing.py:498
+msgid "`compare_columns` must have the same length as `source_columns`."
+msgstr "`compare_columns` doit être de même longueur que `source_columns`."
 
-#: superset/utils/pandas_postprocessing.py:463
+#: superset/utils/pandas_postprocessing.py:502
+msgid "`compare_type` must be `absolute`, `percentage` or `ratio`"
+msgstr "`compare_type` doit être `absolute`, `percentage` or `ratio`"
+
+#: superset/utils/pandas_postprocessing.py:547
 #, python-format
 msgid "Invalid cumulative operator: %(operator)s"
-msgstr ""
+msgstr "Operateur cumulatif invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:489
+#: superset/utils/pandas_postprocessing.py:573
 msgid "Invalid geohash string"
-msgstr ""
+msgstr "Chaine de geohash invalide"
 
-#: superset/utils/pandas_postprocessing.py:512
+#: superset/utils/pandas_postprocessing.py:596
 msgid "Invalid longitude/latitude"
-msgstr "Finir Longitude et Latitude"
+msgstr "Invalide Longitude/Latitude"
 
-#: superset/utils/pandas_postprocessing.py:554
+#: superset/utils/pandas_postprocessing.py:638
 msgid "Invalid geodetic string"
-msgstr ""
+msgstr "Chaine de géodésie invalide"
 
-#: superset/utils/pandas_postprocessing.py:616
-msgid "`fbprophet` package not installed"
+#: superset/utils/pandas_postprocessing.py:671
+#, python-format
+msgid ""
+"Column \"%(column)s\" is not numeric or does not exists in the query "
+"results."
 msgstr ""
+"La colonne \"%(column)s\" n'est pas numérique ou n'existe pas dans les"
+" résultats de requêtes"
 
-#: superset/utils/pandas_postprocessing.py:667
+#: superset/utils/pandas_postprocessing.py:681
+msgid "`rename_columns` must have the same length as `columns`."
+msgstr "`rename_columns` doit être de même longueur que `columns`."
+
+#: superset/utils/pandas_postprocessing.py:724
+msgid "`prophet` package not installed"
+msgstr "`prophet` package non installé"
+
+#: superset/utils/pandas_postprocessing.py:775
 msgid "Time grain missing"
-msgstr "Niveau de Temps"
+msgstr "Granularité de Temps manquante"

Review comment:
       ```suggestion
   msgstr "Granularité de temps manquante"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"
 
 #: superset/templates/superset/request_access.html:20
 msgid "No Access!"
-msgstr "Pas l'accès !"
+msgstr "Pas d'accès !"
 
 #: superset/templates/superset/request_access.html:25
 #, python-format
 msgid "You do not have permissions to access the datasource(s): %(name)s."
-msgstr ""
-"Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
+msgstr "Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
 
 #: superset/templates/superset/request_access.html:31
 msgid "Request Permissions"
 msgstr "Besoin de permissions"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:176
-#: superset-frontend/src/common/components/Modal/Modal.tsx:145
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:305
-#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:142
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx:472
-#: superset-frontend/src/datasource/DatasourceModal.tsx:202
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:175
-#: superset-frontend/src/explore/components/SaveModal.tsx:174
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:749
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:173
+#: superset-frontend/src/components/Modal/Modal.tsx:155
+#: superset-frontend/src/components/ReportModal/index.tsx:247
+#: superset-frontend/src/dashboard/components/CrossFilterScopingModal/CrossFilterScopingModal.tsx:80
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:443
+#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:151
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/EditSection.tsx:142
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/Footer.tsx:76
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/Footer/Footer.tsx:60
+#: superset-frontend/src/datasource/DatasourceModal.tsx:207
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:169
+#: superset-frontend/src/explore/components/SaveModal.tsx:178
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:787
 #: superset/templates/superset/request_access.html:34
 msgid "Cancel"
 msgstr "Annuler"
 
 #: superset/templates/superset/fab_overrides/list_with_checkboxes.html:82
 msgid "Use the edit buttom to change this field"
-msgstr ""
+msgstr "Utilisez le bouton Editer pour changer ce champ"
 
 #: superset/templates/superset/models/database/macros.html:22
 msgid "Test Connection"
 msgstr "Test de connexion"
 
-#: superset/utils/core.py:794
+#: superset/utils/core.py:874
 #, python-format
 msgid "[Superset] Access to the datasource %(name)s was granted"
 msgstr "[Superset] Accès à la source de données %(name)s accordé"
 
-#: superset/utils/date_parser.py:378
-msgid "Unable to find such a holiday: [{}]"
-msgstr ""
+#: superset/utils/core.py:1058
+#, python-format
+msgid "Unsupported clause type: %(clause)s"
+msgstr "Type de clause non supportée: %(clause)s"
 
-#: superset/utils/pandas_postprocessing.py:136
+#: superset/utils/date_parser.py:385
+#, python-format
+msgid "Unable to find such a holiday: [%(holiday)s]"
+msgstr "Impossible de trouver un tel congé : [%(holiday)s]"
+
+#: superset/utils/pandas_postprocessing.py:140
 msgid "Referenced columns not available in DataFrame."
-msgstr ""
+msgstr "Les colonnes référencées sont indisponibles dans le dataframe"
 
-#: superset/utils/pandas_postprocessing.py:161
+#: superset/utils/pandas_postprocessing.py:165
 #, python-format
 msgid "Column referenced by aggregate is undefined: %(column)s"
-msgstr ""
+msgstr "La colonne référencée dans l'agrégat est indéfinie: %(column)s"
 
-#: superset/utils/pandas_postprocessing.py:168
+#: superset/utils/pandas_postprocessing.py:172
 #, python-format
 msgid "Operator undefined for aggregator: %(name)s"
-msgstr ""
+msgstr "Opérateur indéfini pour l'agrégat: %(name)s"
 
-#: superset/utils/pandas_postprocessing.py:177
+#: superset/utils/pandas_postprocessing.py:181
 #, python-format
 msgid "Invalid numpy function: %(operator)s"
-msgstr ""
+msgstr "Fonction numpy invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:245
+#: superset/utils/pandas_postprocessing.py:251
 msgid "Pivot operation requires at least one index"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un index"
 
-#: superset/utils/pandas_postprocessing.py:249
+#: superset/utils/pandas_postprocessing.py:255
 msgid "Pivot operation must include at least one aggregate"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un agrégat"
 
-#: superset/utils/pandas_postprocessing.py:357
+#: superset/utils/pandas_postprocessing.py:379
 msgid "Undefined window for rolling operation"
-msgstr ""
+msgstr "Fenêtre indéfinie pour l'opération de roulement"
+
+#: superset/utils/pandas_postprocessing.py:381
+msgid "Window must be > 0"
+msgstr "Fenêtre doit être >0"

Review comment:
       ```suggestion
   msgstr "La fenêtre doit être > 0"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:104
+msgid "Report Schedule delete failed."
+msgstr "La planification de rapport n'a pas être supprimée."
+
+#: superset/reports/commands/exceptions.py:108
+msgid "Report Schedule log prune failed."
+msgstr "Le log de la planification de rapport n'a pas pu être élagué."
+
+#: superset/reports/commands/exceptions.py:112
+msgid "Report Schedule execution failed when generating a screenshot."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"de la copie d'écran."
+
+#: superset/reports/commands/exceptions.py:116
+msgid "Report Schedule execution failed when generating a csv."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"d'un csv."
+
+#: superset/reports/commands/exceptions.py:120
+msgid "Report Schedule execution got an unexpected error."
+msgstr "L'exécution de la planification de rapport a rencontré un erreur "
+"inattendue."
+
+#: superset/reports/commands/exceptions.py:124
+msgid "Report Schedule is still working, refusing to re-compute."
+msgstr "La planification de rapport est toujours en cours d'exécution, "
+"refus de re-traiter."
+
+#: superset/reports/commands/exceptions.py:128
+msgid "Report Schedule reached a working timeout."
+msgstr "La planification de rapport a atteint un timeout d'exécution"
+
+#: superset/reports/commands/exceptions.py:142
+msgid "Alert query returned more then one row."
+msgstr "La requête a retourné plus d'une ligne."
+
+#: superset/reports/commands/exceptions.py:147
+msgid "Alert validator config error."
+msgstr "Erreur de configuration du validateur."
+
+#: superset/reports/commands/exceptions.py:151
+msgid "Alert query returned more then one column."
+msgstr "La requête a retourné plus d'une colonne."
+
+#: superset/reports/commands/exceptions.py:155
+msgid "Alert query returned a non-number value."
+msgstr "La requête a retourné un valeur non numérique."
+
+#: superset/reports/commands/exceptions.py:159
+msgid "Alert found an error while executing a query."
+msgstr "Une erreur a été rencontrée lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:163
+msgid "A timeout occurred while executing the query."
+msgstr "Un timeout s'est produit lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:167
+msgid "A timeout occurred while taking a screenshot."
+msgstr ""
+"Dépassement de délai lors d'une capture d'écran"
+
+#: superset/reports/commands/exceptions.py:171
+msgid "A timeout occurred while generating a csv."
+msgstr ""
+"Dépassement de délai lors de la génération d'un CSV"
+
+#: superset/reports/commands/exceptions.py:175
+msgid "Alert fired during grace period."
+msgstr "Alerte déclenchée pendant la période de grace"

Review comment:
       ```suggestion
   msgstr "Alerte déclenchée pendant la période de grâce"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""

Review comment:
       ```suggestion
   msgstr "Plugins"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:104
+msgid "Report Schedule delete failed."
+msgstr "La planification de rapport n'a pas être supprimée."
+
+#: superset/reports/commands/exceptions.py:108
+msgid "Report Schedule log prune failed."
+msgstr "Le log de la planification de rapport n'a pas pu être élagué."
+
+#: superset/reports/commands/exceptions.py:112
+msgid "Report Schedule execution failed when generating a screenshot."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"de la copie d'écran."
+
+#: superset/reports/commands/exceptions.py:116
+msgid "Report Schedule execution failed when generating a csv."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"d'un csv."
+
+#: superset/reports/commands/exceptions.py:120
+msgid "Report Schedule execution got an unexpected error."
+msgstr "L'exécution de la planification de rapport a rencontré un erreur "
+"inattendue."
+
+#: superset/reports/commands/exceptions.py:124
+msgid "Report Schedule is still working, refusing to re-compute."
+msgstr "La planification de rapport est toujours en cours d'exécution, "
+"refus de re-traiter."
+
+#: superset/reports/commands/exceptions.py:128
+msgid "Report Schedule reached a working timeout."
+msgstr "La planification de rapport a atteint un timeout d'exécution"
+
+#: superset/reports/commands/exceptions.py:142
+msgid "Alert query returned more then one row."
+msgstr "La requête a retourné plus d'une ligne."
+
+#: superset/reports/commands/exceptions.py:147
+msgid "Alert validator config error."
+msgstr "Erreur de configuration du validateur."
+
+#: superset/reports/commands/exceptions.py:151
+msgid "Alert query returned more then one column."
+msgstr "La requête a retourné plus d'une colonne."
+
+#: superset/reports/commands/exceptions.py:155
+msgid "Alert query returned a non-number value."
+msgstr "La requête a retourné un valeur non numérique."
+
+#: superset/reports/commands/exceptions.py:159
+msgid "Alert found an error while executing a query."
+msgstr "Une erreur a été rencontrée lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:163
+msgid "A timeout occurred while executing the query."
+msgstr "Un timeout s'est produit lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:167
+msgid "A timeout occurred while taking a screenshot."
+msgstr ""
+"Dépassement de délai lors d'une capture d'écran"
+
+#: superset/reports/commands/exceptions.py:171
+msgid "A timeout occurred while generating a csv."
+msgstr ""
+"Dépassement de délai lors de la génération d'un CSV"
+
+#: superset/reports/commands/exceptions.py:175
+msgid "Alert fired during grace period."
+msgstr "Alerte déclenchée pendant la période de grace"
+
+#: superset/reports/commands/exceptions.py:179
+msgid "Alert ended grace period."
+msgstr "Alerte terminée grace période"

Review comment:
       ```suggestion
   msgstr "Alerte terminée sur la période de grâce"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:104
+msgid "Report Schedule delete failed."
+msgstr "La planification de rapport n'a pas être supprimée."
+
+#: superset/reports/commands/exceptions.py:108
+msgid "Report Schedule log prune failed."
+msgstr "Le log de la planification de rapport n'a pas pu être élagué."
+
+#: superset/reports/commands/exceptions.py:112
+msgid "Report Schedule execution failed when generating a screenshot."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"de la copie d'écran."
+
+#: superset/reports/commands/exceptions.py:116
+msgid "Report Schedule execution failed when generating a csv."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"d'un csv."
+
+#: superset/reports/commands/exceptions.py:120
+msgid "Report Schedule execution got an unexpected error."
+msgstr "L'exécution de la planification de rapport a rencontré un erreur "

Review comment:
       ```suggestion
   msgstr "L'exécution de la planification de rapport a rencontré une erreur "
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:104
+msgid "Report Schedule delete failed."
+msgstr "La planification de rapport n'a pas être supprimée."
+
+#: superset/reports/commands/exceptions.py:108
+msgid "Report Schedule log prune failed."
+msgstr "Le log de la planification de rapport n'a pas pu être élagué."
+
+#: superset/reports/commands/exceptions.py:112
+msgid "Report Schedule execution failed when generating a screenshot."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"de la copie d'écran."
+
+#: superset/reports/commands/exceptions.py:116
+msgid "Report Schedule execution failed when generating a csv."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"d'un csv."
+
+#: superset/reports/commands/exceptions.py:120
+msgid "Report Schedule execution got an unexpected error."
+msgstr "L'exécution de la planification de rapport a rencontré un erreur "
+"inattendue."
+
+#: superset/reports/commands/exceptions.py:124
+msgid "Report Schedule is still working, refusing to re-compute."
+msgstr "La planification de rapport est toujours en cours d'exécution, "
+"refus de re-traiter."
+
+#: superset/reports/commands/exceptions.py:128
+msgid "Report Schedule reached a working timeout."
+msgstr "La planification de rapport a atteint un timeout d'exécution"
+
+#: superset/reports/commands/exceptions.py:142
+msgid "Alert query returned more then one row."
+msgstr "La requête a retourné plus d'une ligne."
+
+#: superset/reports/commands/exceptions.py:147
+msgid "Alert validator config error."
+msgstr "Erreur de configuration du validateur."
+
+#: superset/reports/commands/exceptions.py:151
+msgid "Alert query returned more then one column."
+msgstr "La requête a retourné plus d'une colonne."
+
+#: superset/reports/commands/exceptions.py:155
+msgid "Alert query returned a non-number value."
+msgstr "La requête a retourné un valeur non numérique."
+
+#: superset/reports/commands/exceptions.py:159
+msgid "Alert found an error while executing a query."
+msgstr "Une erreur a été rencontrée lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:163
+msgid "A timeout occurred while executing the query."
+msgstr "Un timeout s'est produit lors de l'exécution de la requête."
+
+#: superset/reports/commands/exceptions.py:167
+msgid "A timeout occurred while taking a screenshot."
+msgstr ""
+"Dépassement de délai lors d'une capture d'écran"
+
+#: superset/reports/commands/exceptions.py:171
+msgid "A timeout occurred while generating a csv."
+msgstr ""
+"Dépassement de délai lors de la génération d'un CSV"
+
+#: superset/reports/commands/exceptions.py:175
+msgid "Alert fired during grace period."
+msgstr "Alerte déclenchée pendant la période de grace"
+
+#: superset/reports/commands/exceptions.py:179
+msgid "Alert ended grace period."
+msgstr "Alerte terminée grace période"
+
+#: superset/reports/commands/exceptions.py:183
+msgid "Alert on grace period"
+msgstr "Alerte sur la période de grace"
+
+#: superset/reports/commands/exceptions.py:187
+msgid "Report Schedule sellenium user not found"
+msgstr "Utilisateur sellenium du programme de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:191
+msgid "Report Schedule state not found"
+msgstr "Etat du programme de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:195
+msgid "Report schedule unexpected error"
+msgstr "Erreur inattendu du programme de rapport"

Review comment:
       ```suggestion
   msgstr "Erreur inattendue du programme de rapport"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"
 
 #: superset/templates/superset/request_access.html:20
 msgid "No Access!"
-msgstr "Pas l'accès !"
+msgstr "Pas d'accès !"
 
 #: superset/templates/superset/request_access.html:25
 #, python-format
 msgid "You do not have permissions to access the datasource(s): %(name)s."
-msgstr ""
-"Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
+msgstr "Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
 
 #: superset/templates/superset/request_access.html:31
 msgid "Request Permissions"
 msgstr "Besoin de permissions"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:176
-#: superset-frontend/src/common/components/Modal/Modal.tsx:145
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:305
-#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:142
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx:472
-#: superset-frontend/src/datasource/DatasourceModal.tsx:202
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:175
-#: superset-frontend/src/explore/components/SaveModal.tsx:174
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:749
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:173
+#: superset-frontend/src/components/Modal/Modal.tsx:155
+#: superset-frontend/src/components/ReportModal/index.tsx:247
+#: superset-frontend/src/dashboard/components/CrossFilterScopingModal/CrossFilterScopingModal.tsx:80
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:443
+#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:151
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/EditSection.tsx:142
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/Footer.tsx:76
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/Footer/Footer.tsx:60
+#: superset-frontend/src/datasource/DatasourceModal.tsx:207
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:169
+#: superset-frontend/src/explore/components/SaveModal.tsx:178
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:787
 #: superset/templates/superset/request_access.html:34
 msgid "Cancel"
 msgstr "Annuler"
 
 #: superset/templates/superset/fab_overrides/list_with_checkboxes.html:82
 msgid "Use the edit buttom to change this field"
-msgstr ""
+msgstr "Utilisez le bouton Editer pour changer ce champ"
 
 #: superset/templates/superset/models/database/macros.html:22
 msgid "Test Connection"
 msgstr "Test de connexion"
 
-#: superset/utils/core.py:794
+#: superset/utils/core.py:874
 #, python-format
 msgid "[Superset] Access to the datasource %(name)s was granted"
 msgstr "[Superset] Accès à la source de données %(name)s accordé"
 
-#: superset/utils/date_parser.py:378
-msgid "Unable to find such a holiday: [{}]"
-msgstr ""
+#: superset/utils/core.py:1058
+#, python-format
+msgid "Unsupported clause type: %(clause)s"
+msgstr "Type de clause non supportée: %(clause)s"
 
-#: superset/utils/pandas_postprocessing.py:136
+#: superset/utils/date_parser.py:385
+#, python-format
+msgid "Unable to find such a holiday: [%(holiday)s]"
+msgstr "Impossible de trouver un tel congé : [%(holiday)s]"
+
+#: superset/utils/pandas_postprocessing.py:140
 msgid "Referenced columns not available in DataFrame."
-msgstr ""
+msgstr "Les colonnes référencées sont indisponibles dans le dataframe"
 
-#: superset/utils/pandas_postprocessing.py:161
+#: superset/utils/pandas_postprocessing.py:165
 #, python-format
 msgid "Column referenced by aggregate is undefined: %(column)s"
-msgstr ""
+msgstr "La colonne référencée dans l'agrégat est indéfinie: %(column)s"
 
-#: superset/utils/pandas_postprocessing.py:168
+#: superset/utils/pandas_postprocessing.py:172
 #, python-format
 msgid "Operator undefined for aggregator: %(name)s"
-msgstr ""
+msgstr "Opérateur indéfini pour l'agrégat: %(name)s"
 
-#: superset/utils/pandas_postprocessing.py:177
+#: superset/utils/pandas_postprocessing.py:181
 #, python-format
 msgid "Invalid numpy function: %(operator)s"
-msgstr ""
+msgstr "Fonction numpy invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:245
+#: superset/utils/pandas_postprocessing.py:251
 msgid "Pivot operation requires at least one index"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un index"
 
-#: superset/utils/pandas_postprocessing.py:249
+#: superset/utils/pandas_postprocessing.py:255
 msgid "Pivot operation must include at least one aggregate"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un agrégat"
 
-#: superset/utils/pandas_postprocessing.py:357
+#: superset/utils/pandas_postprocessing.py:379
 msgid "Undefined window for rolling operation"
-msgstr ""
+msgstr "Fenêtre indéfinie pour l'opération de roulement"
+
+#: superset/utils/pandas_postprocessing.py:381
+msgid "Window must be > 0"
+msgstr "Fenêtre doit être >0"
 
-#: superset/utils/pandas_postprocessing.py:372
+#: superset/utils/pandas_postprocessing.py:396
 #, python-format
 msgid "Invalid rolling_type: %(type)s"
-msgstr ""
+msgstr "rolling_type invalide: %(type)s"
 
-#: superset/utils/pandas_postprocessing.py:378
+#: superset/utils/pandas_postprocessing.py:402
 #, python-format
 msgid "Invalid options for %(rolling_type)s: %(options)s"
-msgstr ""
+msgstr "Options invalides pour %(rolling_type)s: %(options)s"
+
+#: superset/utils/pandas_postprocessing.py:498
+msgid "`compare_columns` must have the same length as `source_columns`."
+msgstr "`compare_columns` doit être de même longueur que `source_columns`."
 
-#: superset/utils/pandas_postprocessing.py:463
+#: superset/utils/pandas_postprocessing.py:502
+msgid "`compare_type` must be `absolute`, `percentage` or `ratio`"
+msgstr "`compare_type` doit être `absolute`, `percentage` or `ratio`"
+
+#: superset/utils/pandas_postprocessing.py:547
 #, python-format
 msgid "Invalid cumulative operator: %(operator)s"
-msgstr ""
+msgstr "Operateur cumulatif invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:489
+#: superset/utils/pandas_postprocessing.py:573
 msgid "Invalid geohash string"
-msgstr ""
+msgstr "Chaine de geohash invalide"
 
-#: superset/utils/pandas_postprocessing.py:512
+#: superset/utils/pandas_postprocessing.py:596
 msgid "Invalid longitude/latitude"
-msgstr "Finir Longitude et Latitude"
+msgstr "Invalide Longitude/Latitude"
 
-#: superset/utils/pandas_postprocessing.py:554
+#: superset/utils/pandas_postprocessing.py:638
 msgid "Invalid geodetic string"
-msgstr ""
+msgstr "Chaine de géodésie invalide"
 
-#: superset/utils/pandas_postprocessing.py:616
-msgid "`fbprophet` package not installed"
+#: superset/utils/pandas_postprocessing.py:671
+#, python-format
+msgid ""
+"Column \"%(column)s\" is not numeric or does not exists in the query "
+"results."
 msgstr ""
+"La colonne \"%(column)s\" n'est pas numérique ou n'existe pas dans les"
+" résultats de requêtes"
 
-#: superset/utils/pandas_postprocessing.py:667
+#: superset/utils/pandas_postprocessing.py:681
+msgid "`rename_columns` must have the same length as `columns`."
+msgstr "`rename_columns` doit être de même longueur que `columns`."
+
+#: superset/utils/pandas_postprocessing.py:724
+msgid "`prophet` package not installed"
+msgstr "`prophet` package non installé"
+
+#: superset/utils/pandas_postprocessing.py:775
 msgid "Time grain missing"
-msgstr "Niveau de Temps"
+msgstr "Granularité de Temps manquante"
 
-#: superset/utils/pandas_postprocessing.py:670
+#: superset/utils/pandas_postprocessing.py:778
 #, python-format
 msgid "Unsupported time grain: %(time_grain)s"
-msgstr ""
+msgstr "Granularité de Temps non supportée : %(time_grain)s"
 
-#: superset/utils/pandas_postprocessing.py:676
+#: superset/utils/pandas_postprocessing.py:784
 msgid "Periods must be a positive integer value"
-msgstr ""
+msgstr "Les périodes doivent être des nombres entiers positifs"
 
-#: superset/utils/pandas_postprocessing.py:679
+#: superset/utils/pandas_postprocessing.py:787
 msgid "Confidence interval must be between 0 and 1 (exclusive)"
-msgstr ""
+msgstr "L'intervalle de confiance doit être entre 0 et 1 (exclusif)"
 
-#: superset/utils/pandas_postprocessing.py:682
+#: superset/utils/pandas_postprocessing.py:790
 msgid "DataFrame must include temporal column"
-msgstr ""
+msgstr "Dataframe doit inclure une colonne temporelle"
 
-#: superset/utils/pandas_postprocessing.py:684
+#: superset/utils/pandas_postprocessing.py:792
 msgid "DataFrame include at least one series"
-msgstr "Choississez au moins une métrique"
+msgstr "DataFrame doit comprendre au moins une série"
 
-#: superset/utils/pandas_postprocessing.py:773
+#: superset/utils/pandas_postprocessing.py:881
 msgid ""
-"percentiles must be a list or tuple with two numeric values, of which the "
-"first is lower than the second value"
-msgstr ""
+"percentiles must be a list or tuple with two numeric values, of which the"
+" first is lower than the second value"
+msgstr "percentiles doit être une liste ou un couple de 2 valeurs"
+" dont le premier est inférieur au second"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:208
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:282
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:372
-#: superset/views/access_requests.py:40 superset/views/log/__init__.py:30
-#: superset/views/schedules.py:226 superset/views/schedules.py:289
+#: superset-frontend/src/components/Menu/MenuRight.tsx:133
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:277
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:367
+#: superset/views/access_requests.py:43 superset/views/log/__init__.py:30
+#: superset/views/schedules.py:241 superset/views/schedules.py:321
 #: superset/views/sql_lab.py:71
 msgid "User"
 msgstr "Utilisateur"
 
-#: superset/views/access_requests.py:41
+#: superset/views/access_requests.py:44
 msgid "User Roles"
-msgstr "Rôles utilisateurs"
+msgstr "Profils utilisateurs"
 
-#: superset/views/access_requests.py:42
+#: superset/views/access_requests.py:45
 msgid "Database URL"
 msgstr "URL de la base de données"
 
-#: superset/views/access_requests.py:44
+#: superset/views/access_requests.py:47
 msgid "Roles to grant"
-msgstr "Rôles à donner"
+msgstr "Profils à donner"
 
-#: superset/views/access_requests.py:45 superset/views/schedules.py:224
-#: superset/views/schedules.py:287
+#: superset/views/access_requests.py:48 superset/views/schedules.py:239
+#: superset/views/schedules.py:319
 msgid "Created On"
 msgstr "Créé le"
 
-#: superset/views/alerts.py:59
+#: superset/views/alerts.py:75
 msgid "List Observations"
-msgstr "Lister les métriques"
+msgstr "Lister les observations"
 
-#: superset/views/alerts.py:60
+#: superset/views/alerts.py:76
 msgid "Show Observation"
-msgstr ""
+msgstr "Voir l'observation"
 
-#: superset/views/alerts.py:67
+#: superset/views/alerts.py:83
 msgid "Error Message"
-msgstr "Message d'avertissement"
+msgstr "Message d'erreur"
 
-#: superset/views/alerts.py:165
+#: superset/views/alerts.py:182
 msgid "Log Retentions (days)"
-msgstr ""
+msgstr "Durée de rétention des logs (en jours)"
 
-#: superset/views/alerts.py:174
+#: superset/views/alerts.py:191
 msgid "A semicolon ';' delimited list of email addresses"
-msgstr ""
+msgstr "Une liste d'e-mail séparée par un ';'"
 
-#: superset/views/alerts.py:175
+#: superset/views/alerts.py:192
 msgid "How long to keep the logs around for this alert"
-msgstr ""
+msgstr "Combien de temps garder les logs pour cette alerte"
 
-#: superset/views/alerts.py:176
+#: superset/views/alerts.py:193
 msgid ""
-"Once an alert is triggered, how long, in seconds, before Superset nags you "
-"again."
-msgstr ""
+"Once an alert is triggered, how long, in seconds, before Superset nags "
+"you again."
+msgstr "Quand une alerte est déclenchée, durée en seconde"
+"avant que superset pour demande à nouveau"
+
+#: superset/views/alerts.py:197
+msgid ""
+"A SQL statement that defines whether the alert should get triggered or "
+"not. The query is expected to return either NULL or a number value."
+msgstr "Une requête SQL indiquant si une alerte doit être lancée ou non."
+" La requête doit retourner NULL ou un nombre"
 
-#: superset/views/alerts.py:180
+#: superset/views/alerts.py:234 superset/views/schedules.py:255
+#: superset/views/schedules.py:336
 msgid ""
-"A SQL statement that defines whether the alert should get triggered or not. "
-"The query is expected to return either NULL or a number value."
+"This feature is deprecated and will be removed on 2.0. Take a look at the"
+" replacement feature <a "
+"href='https://superset.apache.org/docs/installation/alerts-"
+"reports'>Alerts & Reports documentation</a>"
 msgstr ""
+"Cette fonctionnalité est obsolète et sera supprimée en 2.0"
+" Regardez replacement feature dans <a "
+"href='https://superset.apache.org/docs/installation/alerts-"
+"reports'>Alerts & Reports documentation</a>"
 
 #: superset/views/annotations.py:40
 msgid "annotation start time or end time is required."
-msgstr ""
+msgstr "L'heure de démarrage ou de fin est obligatoire pour l'annotation"
 
 #: superset/views/annotations.py:47
 msgid "Annotation end time must be no earlier than start time."
-msgstr ""
+msgstr "L'heure de fin doit être postérieure à l'heure de début pour l'annotation"
 
 #: superset/views/annotations.py:60
 msgid "Annotations"
 msgstr "Annotations"
 
 #: superset/views/annotations.py:61
 msgid "Show Annotation"
-msgstr "Annotations"
+msgstr "Montrer l'annotation"
 
 #: superset/views/annotations.py:62
 msgid "Add Annotation"
 msgstr "Ajouter une couche d'annotation"
 
 #: superset/views/annotations.py:63
 msgid "Edit Annotation"
-msgstr "Annotations"
+msgstr "Editer l'annotation"
 
 #: superset/views/annotations.py:78
 msgid "Layer"
-msgstr ""
-
-#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.jsx:148
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:146
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:150
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:837
-#: superset-frontend/src/datasource/DatasourceEditor.jsx:845
-#: superset-frontend/src/explore/components/controls/FilterBoxItemControl.jsx:157
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:149
+msgstr "Couche"
+
+#: superset-frontend/src/SqlLab/components/ScheduleQueryButton.tsx:144
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:178
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:182
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:933
+#: superset-frontend/src/datasource/DatasourceEditor.jsx:941
+#: superset-frontend/src/explore/components/controls/FilterBoxItemControl/index.jsx:157
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:148
 #: superset/views/annotations.py:79 superset/views/sql_lab.py:70
 msgid "Label"
 msgstr "Label"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:161
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:160
 #: superset/views/annotations.py:81
 msgid "Start"
 msgstr "Date de début"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:170
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:169
 #: superset/views/annotations.py:82
 msgid "End"
-msgstr ""
+msgstr "Date de fin"
 
-#: superset/views/annotations.py:83 superset/views/dashboard/mixin.py:82
+#: superset/views/annotations.py:83 superset/views/dashboard/mixin.py:89
 msgid "JSON Metadata"
 msgstr "JSON des méta-données"
 
 #: superset/views/annotations.py:120
 msgid "Show Annotation Layer"
-msgstr "Couches d'annotation"
+msgstr "Montrer la couche d'annotation"
 
 #: superset/views/annotations.py:121
 msgid "Add Annotation Layer"
 msgstr "Ajouter une couche d'annotation"
 
 #: superset/views/annotations.py:122
 msgid "Edit Annotation Layer"
-msgstr "Ajouter une couche d'annotation"
-
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:119
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:200
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:706
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:218
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:132
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:131
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:252
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:209
+msgstr "Editer la couche d'annotation"
+
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:123
+#: superset-frontend/src/datasource/ChangeDatasourceModal.tsx:204
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:192
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:738
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:223
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:135
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:134
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:258
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:276
 #: superset/views/annotations.py:128 superset/views/chart/mixin.py:86
 msgid "Name"
 msgstr "Nom"
 
-#: superset/views/base.py:207
-#, python-format
-msgid "Dataset %(name)s already exists"
-msgstr "La source de données %(name)s existe déjà"
-
-#: superset/views/base.py:227
+#: superset/views/base.py:251
 msgid ""
 "Table [%{table}s] could not be found, please double check your database "
 "connection, schema, and table name, error: {}"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [%{table}s] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table, error: {}"
 
-#: superset/views/base.py:378
+#: superset/views/base.py:504
 msgid "json isn't valid"
 msgstr "Le json n'est pas valide"
 
-#: superset/views/base.py:389
+#: superset/views/base.py:515
 msgid "Export to YAML"
-msgstr "Exporter vers YAML"
+msgstr "Exporter en YAML"
 
-#: superset/views/base.py:389
+#: superset/views/base.py:515
 msgid "Export to YAML?"
-msgstr "Exporter vers YAML?"
+msgstr "Exporter en YAML?"
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:310
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:472
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/FilterSetUnit.tsx:82
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:315
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:480
 #: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:315
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:370
-#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:98
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:309
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:559
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:336
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:295
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:512
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:330
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:592
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:444
-#: superset-frontend/src/views/CRUD/welcome/SavedQueries.tsx:230
-#: superset/views/base.py:446
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:378
+#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:103
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:353
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:627
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:339
+#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:131
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:342
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:578
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:336
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:607
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:511
+#: superset-frontend/src/views/CRUD/welcome/SavedQueries.tsx:237
+#: superset/views/base.py:572
 msgid "Delete"
 msgstr "Effacer"
 
-#: superset/views/base.py:446
+#: superset/views/base.py:572
 msgid "Delete all Really?"
 msgstr "Vraiment tout effacer ?"
 
-#: superset/views/base_api.py:100
+#: superset/views/base_api.py:107
 msgid "Is favorite"
 msgstr "Favoris"
 
-#: superset/views/core.py:161
+#: superset/views/core.py:169
 msgid "The data source seems to have been deleted"
 msgstr "La source de données semble avoir été effacée"
 
-#: superset/views/core.py:162
+#: superset/views/core.py:170
 msgid "The user seems to have been deleted"
 msgstr "L'utilisateur semble avoir été effacé"
 
-#: superset/views/core.py:277
+#: superset/views/core.py:285
 msgid "Access was requested"
 msgstr "Accès demandé"
 
-#: superset/views/core.py:331
+#: superset/views/core.py:339
 msgid "The access requests seem to have been deleted"
 msgstr "L'accée à cette requête semble avoir été effacé"
 
-#: superset/views/core.py:343
+#: superset/views/core.py:351
 #, python-format
 msgid ""
 "%(user)s was granted the role %(role)s that gives access to the "
 "%(datasource)s"
-msgstr "%(user)s a obtenu le rôle %(role)s qui donne accès à %(datasource)s"
+msgstr "%(user)s a obtenu le profil %(role)s qui donne accès à %(datasource)s"
 
-#: superset/views/core.py:366
+#: superset/views/core.py:374
 #, python-format
 msgid "Role %(r)s was extended to provide the access to the datasource %(ds)s"
 msgstr ""
-"Le rôle %(r)s a été étendu pour donner l'accès à la source de données %(ds)s"
+"Le profil %(r)s a été étendu pour donner l'accès à la source de données "
+"%(ds)s"
 
-#: superset/views/core.py:383
+#: superset/views/core.py:391
 msgid "You have no permission to approve this request"
 msgstr "Vous n'avez pas les permission pour approuver cette requête"
 
-#: superset/views/core.py:634
+#: superset/views/core.py:603 superset/views/core.py:808
+#: superset/views/core.py:814 superset/views/core.py:980
+#: superset/views/core.py:998
+msgid "You don't have the rights to "
+msgstr "Vous n'avez pas les droits pour "
+
+#: superset/views/core.py:603
+msgid "download as csv"
+msgstr "Télécharger en CSV"
+
+#: superset/views/core.py:685
 #, python-format
 msgid ""
 "Cannot import dashboard: %(db_error)s.\n"
 "Make sure to create the database before importing the dashboard."
 msgstr ""
+"Impossible d'importer le tableau de bord: %(db_error)s.\n"
+"Assurez vous de créer d'abord la base de données avant d'importer le tableau de bord"
 
-#: superset/views/core.py:645
+#: superset/views/core.py:696
 msgid "An unknown error occurred. Please contact your Superset administrator"
-msgstr "Une erreur s'est produite . (Statut: %s )"
+msgstr "Une erreur s'est produite. Contactez votre admin superset"
 
-#: superset/views/core.py:710
-#, python-format
-msgid "Error occurred when opening the chart: %(error)s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+#: superset/views/core.py:768
+msgid "[Missing Dataset]"
+msgstr "[jeu de données manquant]"
 
-#: superset/views/core.py:764 superset/views/core.py:770
-#: superset/views/core.py:917 superset/views/core.py:935
-msgid "You don't have the rights to "
-msgstr "Vous n'avez pas les droits pour "
-
-#: superset/views/core.py:764 superset/views/core.py:918
+#: superset/views/core.py:808 superset/views/core.py:981
 msgid "alter this "
 msgstr "modifier ce "
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:129
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:600
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:64
-#: superset/views/core.py:764 superset/views/core.py:770
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:143
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:673
+#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:80
+#: superset/views/core.py:808 superset/views/core.py:814
 msgid "chart"
 msgstr "graphique"
 
-#: superset/views/core.py:770 superset/views/core.py:936
+#: superset/views/core.py:814 superset/views/core.py:999
 msgid "create a "
 msgstr "créer un "
 
-#: superset/views/core.py:810
+#: superset/views/core.py:865
 #, python-format
 msgid "Explore - %(table)s"
-msgstr ""
+msgstr "Explorer - %(table)s"
+
+#: superset-frontend/src/SqlLab/components/ExploreCtasResultsButton.jsx:99
+#: superset-frontend/src/SqlLab/components/ExploreResultsButton.jsx:170
+#: superset/views/core.py:867
+msgid "Explore"
+msgstr "Explorer"
 
-#: superset/views/core.py:893
+#: superset/views/core.py:956
 msgid "Chart [{}] has been saved"
-msgstr ""
+msgstr "Le graphique [{}] a été sauvegardé"
 
-#: superset/views/core.py:897
+#: superset/views/core.py:960
 msgid "Chart [{}] has been overwritten"
-msgstr ""
+msgstr "Le graphique [{}] a été écrasé"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:102
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:563
-#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:55
-#: superset/views/core.py:919 superset/views/core.py:937
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:111
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:634
+#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:77
+#: superset/views/core.py:982 superset/views/core.py:1000
 msgid "dashboard"
 msgstr "tableau de bord"
 
-#: superset/views/core.py:924
+#: superset/views/core.py:987
 msgid "Chart [{}] was added to dashboard [{}]"
-msgstr ""
+msgstr "Graphique [{}] ajouté au tableau de bord [{}]"
 
-#: superset/views/core.py:946
+#: superset/views/core.py:1009
 msgid "Dashboard [{}] just got created and chart [{}] was added to it"
-msgstr ""
+msgstr "Le tableau de bord [{}] a été créé et le graphique [{}] y a été ajouté"
 
-#: superset/views/core.py:1174
+#: superset/views/core.py:1242
 msgid ""
-"This dashboard was changed recently. Please reload dashboard to get latest "
-"version."
-msgstr ""
+"This dashboard was changed recently. Please reload dashboard to get "
+"latest version."
+msgstr "Ce tableau de bord a été changé récemment. Merci de le recharger"
+" pour avoir la dernière version"
 
-#: superset/views/core.py:1267
+#: superset/views/core.py:1337
 #, python-format
 msgid "Could not load database driver: %(driver_name)s"
-msgstr ""
+msgstr "Impossible de charger le driver de base de donnée: %(driver_name)s"
 
-#: superset/views/core.py:1276
+#: superset/views/core.py:1346
 msgid ""
 "Invalid connection string, a valid string usually follows:\n"
 "'DRIVER://USER:PASSWORD@DB-HOST/DATABASE-NAME'"
 msgstr ""
+"Chaine de connexion incorrecte, une chaine correcte s'écrit habituellement\n"
+"'DRIVER://USER:PASSWORD@DB-HOST/DATABASE-NAME'"
 
-#: superset/views/core.py:1632
+#: superset/views/core.py:1709
 msgid ""
-"Malformed request. slice_id or table_name and db_name arguments are expected"
+"Malformed request. slice_id or table_name and db_name arguments are "
+"expected"
 msgstr ""
 "Requête malformée. Les arguments slice_id ou table_name et db_name sont "
 "attendus"
 
-#: superset/views/core.py:1642
+#: superset/views/core.py:1719
 #, python-format
 msgid "Chart %(id)s not found"
 msgstr "Graphique %(id)s non trouvé"
 
-#: superset/views/core.py:1655
+#: superset/views/core.py:1732
 #, python-format
 msgid "Table %(table)s wasn't found in the database %(db)s"
-msgstr "Table %(t)s pas trouvée dans la base de données %(d)s"
+msgstr "Table %(table)s pas trouvée dans la base de données %(db)s"
 
-#: superset/views/core.py:1925
+#: superset/views/core.py:1968
 #, python-format
 msgid "Can't find User '%(name)s', please ask your admin to create one."
 msgstr ""
 "Impossible de trouver l'utilisateur '%(name)s', demandez à votre "
 "administrateur de le créer."
 
-#: superset/views/core.py:1937
+#: superset/views/core.py:1980
 #, python-format
 msgid "Can't find DruidCluster with cluster_name = '%(name)s'"
 msgstr "Impossible de trouver le DruidCluster avec cluster_name = '%(name)s"
 
-#: superset/views/core.py:2180
-msgid "Data could not be deserialized. You may want to re-run the query."
+#: superset/views/core.py:2045
+msgid ""
+"One or more required fields are missing in the request. Please try again,"
+" and if the problem persists conctact your administrator."
+msgstr "Un ou plusieurs manquent dans la requête. Ré essayez"
+" et contactez votre administrateur si le problème persiste"
+
+#: superset/views/core.py:2055 superset/views/core.py:2125
+msgid "The database was not found."
+msgstr "Base de données non trouvée"
+
+#: superset/views/core.py:2145
+msgid ""
+"You are not authorized to fetch samples from this table. If you think "
+"this is an error, please reach out to your administrator."
 msgstr ""
+"Vous n'avez pas le droit d'utiliser cette table. Contactez votre"
+" administrateur si vous pensez que c'est une erreur"
+
+#: superset/views/core.py:2238
+msgid ""
+"Data could not be retrieved from the results backend. You need to re-run "
+"the original query."
+msgstr "Impossible de récupérer les données depuis le backend. Rejouez"
+" la requête originale"
 
-#: superset/views/core.py:2284
+#: superset/views/core.py:2252
+msgid ""
+"The query associated with these results could not be find. You need to "
+"re-run the original query."
+msgstr "La requête associée à ces résultats n'a pu être trouvée. Rejouez"
+" la requête originale"
+
+#: superset/views/core.py:2267
+msgid ""
+"You are not authorized to see this query. If you think this is an error, "
+"please reach out to your administrator."
+msgstr "Vous n'avez pas le droit de voir cette requête. Contactez votre"
+" administrateur si vous pensez que c'est une erreur"
+
+#: superset/views/core.py:2285
+msgid ""
+"Data could not be deserialized from the results backend. The storage "
+"format might have changed, rendering the old data stake. You need to re-"
+"run the original query."
+msgstr ""
+"Impossible de deserialiser la donnée."
+" Le fromat de stockage peut avoir changé. Rejouez"
+" la requête originale"
+
+#: superset/views/core.py:2302
+msgid "The provided `rows` argument is not a valid integer."
+msgstr "L'argument `rows` n'est pas un entier valide"
+
+#: superset/views/core.py:2413
 #, python-format
 msgid ""
 "%(validator)s was unable to check your query.\n"
 "Please recheck your query.\n"
 "Exception: %(ex)s"
 msgstr ""
+"%(validator)s n'a pas pu vérifier votre requête.\n"
+"Merci de vérifier à nouveau votre requête.\n"
+"Exception: %(ex)s"
+
+#: superset/views/core.py:2634
+msgid ""
+"The database referenced in this query was not found. Please contact an "
+"administrator for further assistance or try again."
+msgstr ""
+"Impossible de trouver la base de données référencée dans cette requête"
+"Ré essayez ou contactez un administrateur"
 
-#: superset/views/core.py:2338
+#: superset/views/core.py:2677
 msgid ""
-"Failed to start remote query on a worker. Tell your administrator to verify "
-"the availability of the message queue."
+"The query record was not created as expected. Please contact an "
+"administrator for further assistance or try again."
 msgstr ""
+"Le record de la requête n'a pas été créé comme attendu."
+"Ré essayez ou contactez un administrateur"
 
-#: superset/views/core.py:2502 superset/views/core.py:2504
-msgid "Query record was not created as expected."
-msgstr "L'enregistrement de la requête n'a pas été créé comme prévu."
+#: superset/views/core.py:2705
+msgid ""
+"The query contains one or more malformed template parameters. Please "
+"check your query and confirm that all template parameters are surround by"
+" double braces, for example, \"{{ ds }}\". Then, try running your query "
+"again."
+msgstr ""
+"La requête contient des paramètres modèles mal formés"
+"Vérifiez votre requête afin que ces paramètres soient entourés de "
+" double accolades, par exemple, \"{{ ds }}\". Puis ré essayez "
 
-#: superset/views/core.py:2541
+#: superset/views/core.py:2723
 #, python-format
 msgid "The parameter %(parameters)s in your query is undefined."
-msgid_plural ""
-"The following parameters in your query are undefined: %(parameters)s."
-msgstr[0] ""
-msgstr[1] ""
+msgid_plural "The following parameters in your query are undefined: %(parameters)s."
+msgstr[0] "Le paramètre %(parameters)s de votre requête est indéfini."
+msgstr[1] "Les paramètres suivants de votre requête sont indéfinis : %(parameters)s."
 
-#: superset/views/core.py:2809
+#: superset/views/core.py:3011
 #, python-format
 msgid "%(user)s's profile"
-msgstr ""
+msgstr "Le profil de %(user)s"
 
 #: superset/views/css_templates.py:39
 msgid "Show CSS Template"
-msgstr "Templates CSS"
+msgstr "Voir le Template CSS"
 
 #: superset/views/css_templates.py:40
 msgid "Add CSS Template"
-msgstr "Templates CSS"
+msgstr "Ajouter un Template CSS"
 
 #: superset/views/css_templates.py:41
 msgid "Edit CSS Template"
-msgstr "Templates CSS"
+msgstr "modifier le Template CSS"

Review comment:
       ```suggestion
   msgstr "Modifier le Template CSS"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -2059,628 +2804,775 @@ msgstr "Import des tableaux de bord"
 msgid "Import Dashboard(s)"
 msgstr "Importer des tableaux de bords"
 
-#: superset-frontend/src/components/ImportModal/index.tsx:275
 #: superset/templates/superset/import_dashboards.html:37
 msgid "File"
-msgstr "Fichier CSV"
+msgstr "Fichier"
 
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:149
 #: superset/templates/superset/import_dashboards.html:47
 msgid "Choose File"
-msgstr "Fichier CSV"
+msgstr "Choisissez un fichier"
 
 #: superset/templates/superset/import_dashboards.html:63
 msgid "Upload"
-msgstr ""
+msgstr "Télécharger"
 
 #: superset/templates/superset/request_access.html:20
 msgid "No Access!"
-msgstr "Pas l'accès !"
+msgstr "Pas d'accès !"
 
 #: superset/templates/superset/request_access.html:25
 #, python-format
 msgid "You do not have permissions to access the datasource(s): %(name)s."
-msgstr ""
-"Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
+msgstr "Vous n'avez pas les permissions pour accéder à(aux) source(s) : %(name)s."
 
 #: superset/templates/superset/request_access.html:31
 msgid "Request Permissions"
 msgstr "Besoin de permissions"
 
-#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:176
-#: superset-frontend/src/common/components/Modal/Modal.tsx:145
-#: superset-frontend/src/dashboard/components/PropertiesModal.jsx:305
-#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:142
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigModal.tsx:472
-#: superset-frontend/src/datasource/DatasourceModal.tsx:202
-#: superset-frontend/src/explore/components/PropertiesModal.tsx:175
-#: superset-frontend/src/explore/components/SaveModal.tsx:174
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:749
+#: superset-frontend/src/SqlLab/components/SaveQuery.tsx:173
+#: superset-frontend/src/components/Modal/Modal.tsx:155
+#: superset-frontend/src/components/ReportModal/index.tsx:247
+#: superset-frontend/src/dashboard/components/CrossFilterScopingModal/CrossFilterScopingModal.tsx:80
+#: superset-frontend/src/dashboard/components/PropertiesModal/index.jsx:443
+#: superset-frontend/src/dashboard/components/RefreshIntervalModal.tsx:151
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/EditSection.tsx:142
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterSets/Footer.tsx:76
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/Footer/Footer.tsx:60
+#: superset-frontend/src/datasource/DatasourceModal.tsx:207
+#: superset-frontend/src/explore/components/PropertiesModal/index.tsx:169
+#: superset-frontend/src/explore/components/SaveModal.tsx:178
+#: superset-frontend/src/explore/components/controls/AnnotationLayerControl/AnnotationLayer.jsx:787
 #: superset/templates/superset/request_access.html:34
 msgid "Cancel"
 msgstr "Annuler"
 
 #: superset/templates/superset/fab_overrides/list_with_checkboxes.html:82
 msgid "Use the edit buttom to change this field"
-msgstr ""
+msgstr "Utilisez le bouton Editer pour changer ce champ"
 
 #: superset/templates/superset/models/database/macros.html:22
 msgid "Test Connection"
 msgstr "Test de connexion"
 
-#: superset/utils/core.py:794
+#: superset/utils/core.py:874
 #, python-format
 msgid "[Superset] Access to the datasource %(name)s was granted"
 msgstr "[Superset] Accès à la source de données %(name)s accordé"
 
-#: superset/utils/date_parser.py:378
-msgid "Unable to find such a holiday: [{}]"
-msgstr ""
+#: superset/utils/core.py:1058
+#, python-format
+msgid "Unsupported clause type: %(clause)s"
+msgstr "Type de clause non supportée: %(clause)s"
 
-#: superset/utils/pandas_postprocessing.py:136
+#: superset/utils/date_parser.py:385
+#, python-format
+msgid "Unable to find such a holiday: [%(holiday)s]"
+msgstr "Impossible de trouver un tel congé : [%(holiday)s]"
+
+#: superset/utils/pandas_postprocessing.py:140
 msgid "Referenced columns not available in DataFrame."
-msgstr ""
+msgstr "Les colonnes référencées sont indisponibles dans le dataframe"
 
-#: superset/utils/pandas_postprocessing.py:161
+#: superset/utils/pandas_postprocessing.py:165
 #, python-format
 msgid "Column referenced by aggregate is undefined: %(column)s"
-msgstr ""
+msgstr "La colonne référencée dans l'agrégat est indéfinie: %(column)s"
 
-#: superset/utils/pandas_postprocessing.py:168
+#: superset/utils/pandas_postprocessing.py:172
 #, python-format
 msgid "Operator undefined for aggregator: %(name)s"
-msgstr ""
+msgstr "Opérateur indéfini pour l'agrégat: %(name)s"
 
-#: superset/utils/pandas_postprocessing.py:177
+#: superset/utils/pandas_postprocessing.py:181
 #, python-format
 msgid "Invalid numpy function: %(operator)s"
-msgstr ""
+msgstr "Fonction numpy invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:245
+#: superset/utils/pandas_postprocessing.py:251
 msgid "Pivot operation requires at least one index"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un index"
 
-#: superset/utils/pandas_postprocessing.py:249
+#: superset/utils/pandas_postprocessing.py:255
 msgid "Pivot operation must include at least one aggregate"
-msgstr ""
+msgstr "L'opération de pivot nécessite au moins un agrégat"
 
-#: superset/utils/pandas_postprocessing.py:357
+#: superset/utils/pandas_postprocessing.py:379
 msgid "Undefined window for rolling operation"
-msgstr ""
+msgstr "Fenêtre indéfinie pour l'opération de roulement"
+
+#: superset/utils/pandas_postprocessing.py:381
+msgid "Window must be > 0"
+msgstr "Fenêtre doit être >0"
 
-#: superset/utils/pandas_postprocessing.py:372
+#: superset/utils/pandas_postprocessing.py:396
 #, python-format
 msgid "Invalid rolling_type: %(type)s"
-msgstr ""
+msgstr "rolling_type invalide: %(type)s"
 
-#: superset/utils/pandas_postprocessing.py:378
+#: superset/utils/pandas_postprocessing.py:402
 #, python-format
 msgid "Invalid options for %(rolling_type)s: %(options)s"
-msgstr ""
+msgstr "Options invalides pour %(rolling_type)s: %(options)s"
+
+#: superset/utils/pandas_postprocessing.py:498
+msgid "`compare_columns` must have the same length as `source_columns`."
+msgstr "`compare_columns` doit être de même longueur que `source_columns`."
 
-#: superset/utils/pandas_postprocessing.py:463
+#: superset/utils/pandas_postprocessing.py:502
+msgid "`compare_type` must be `absolute`, `percentage` or `ratio`"
+msgstr "`compare_type` doit être `absolute`, `percentage` or `ratio`"
+
+#: superset/utils/pandas_postprocessing.py:547
 #, python-format
 msgid "Invalid cumulative operator: %(operator)s"
-msgstr ""
+msgstr "Operateur cumulatif invalide: %(operator)s"
 
-#: superset/utils/pandas_postprocessing.py:489
+#: superset/utils/pandas_postprocessing.py:573
 msgid "Invalid geohash string"
-msgstr ""
+msgstr "Chaine de geohash invalide"
 
-#: superset/utils/pandas_postprocessing.py:512
+#: superset/utils/pandas_postprocessing.py:596
 msgid "Invalid longitude/latitude"
-msgstr "Finir Longitude et Latitude"
+msgstr "Invalide Longitude/Latitude"
 
-#: superset/utils/pandas_postprocessing.py:554
+#: superset/utils/pandas_postprocessing.py:638
 msgid "Invalid geodetic string"
-msgstr ""
+msgstr "Chaine de géodésie invalide"
 
-#: superset/utils/pandas_postprocessing.py:616
-msgid "`fbprophet` package not installed"
+#: superset/utils/pandas_postprocessing.py:671
+#, python-format
+msgid ""
+"Column \"%(column)s\" is not numeric or does not exists in the query "
+"results."
 msgstr ""
+"La colonne \"%(column)s\" n'est pas numérique ou n'existe pas dans les"
+" résultats de requêtes"
 
-#: superset/utils/pandas_postprocessing.py:667
+#: superset/utils/pandas_postprocessing.py:681
+msgid "`rename_columns` must have the same length as `columns`."
+msgstr "`rename_columns` doit être de même longueur que `columns`."
+
+#: superset/utils/pandas_postprocessing.py:724
+msgid "`prophet` package not installed"
+msgstr "`prophet` package non installé"
+
+#: superset/utils/pandas_postprocessing.py:775
 msgid "Time grain missing"
-msgstr "Niveau de Temps"
+msgstr "Granularité de Temps manquante"
 
-#: superset/utils/pandas_postprocessing.py:670
+#: superset/utils/pandas_postprocessing.py:778
 #, python-format
 msgid "Unsupported time grain: %(time_grain)s"
-msgstr ""
+msgstr "Granularité de Temps non supportée : %(time_grain)s"
 
-#: superset/utils/pandas_postprocessing.py:676
+#: superset/utils/pandas_postprocessing.py:784
 msgid "Periods must be a positive integer value"
-msgstr ""
+msgstr "Les périodes doivent être des nombres entiers positifs"
 
-#: superset/utils/pandas_postprocessing.py:679
+#: superset/utils/pandas_postprocessing.py:787
 msgid "Confidence interval must be between 0 and 1 (exclusive)"
-msgstr ""
+msgstr "L'intervalle de confiance doit être entre 0 et 1 (exclusif)"
 
-#: superset/utils/pandas_postprocessing.py:682
+#: superset/utils/pandas_postprocessing.py:790
 msgid "DataFrame must include temporal column"
-msgstr ""
+msgstr "Dataframe doit inclure une colonne temporelle"
 
-#: superset/utils/pandas_postprocessing.py:684
+#: superset/utils/pandas_postprocessing.py:792
 msgid "DataFrame include at least one series"
-msgstr "Choississez au moins une métrique"
+msgstr "DataFrame doit comprendre au moins une série"
 
-#: superset/utils/pandas_postprocessing.py:773
+#: superset/utils/pandas_postprocessing.py:881
 msgid ""
-"percentiles must be a list or tuple with two numeric values, of which the "
-"first is lower than the second value"
-msgstr ""
+"percentiles must be a list or tuple with two numeric values, of which the"
+" first is lower than the second value"
+msgstr "percentiles doit être une liste ou un couple de 2 valeurs"
+" dont le premier est inférieur au second"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:208
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:282
-#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:372
-#: superset/views/access_requests.py:40 superset/views/log/__init__.py:30
-#: superset/views/schedules.py:226 superset/views/schedules.py:289
+#: superset-frontend/src/components/Menu/MenuRight.tsx:133
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:277
+#: superset-frontend/src/views/CRUD/data/query/QueryList.tsx:367
+#: superset/views/access_requests.py:43 superset/views/log/__init__.py:30
+#: superset/views/schedules.py:241 superset/views/schedules.py:321
 #: superset/views/sql_lab.py:71
 msgid "User"
 msgstr "Utilisateur"
 
-#: superset/views/access_requests.py:41
+#: superset/views/access_requests.py:44
 msgid "User Roles"
-msgstr "Rôles utilisateurs"
+msgstr "Profils utilisateurs"
 
-#: superset/views/access_requests.py:42
+#: superset/views/access_requests.py:45
 msgid "Database URL"
 msgstr "URL de la base de données"
 
-#: superset/views/access_requests.py:44
+#: superset/views/access_requests.py:47
 msgid "Roles to grant"
-msgstr "Rôles à donner"
+msgstr "Profils à donner"
 
-#: superset/views/access_requests.py:45 superset/views/schedules.py:224
-#: superset/views/schedules.py:287
+#: superset/views/access_requests.py:48 superset/views/schedules.py:239
+#: superset/views/schedules.py:319
 msgid "Created On"
 msgstr "Créé le"
 
-#: superset/views/alerts.py:59
+#: superset/views/alerts.py:75
 msgid "List Observations"
-msgstr "Lister les métriques"
+msgstr "Lister les observations"
 
-#: superset/views/alerts.py:60
+#: superset/views/alerts.py:76
 msgid "Show Observation"
-msgstr ""
+msgstr "Voir l'observation"
 
-#: superset/views/alerts.py:67
+#: superset/views/alerts.py:83
 msgid "Error Message"
-msgstr "Message d'avertissement"
+msgstr "Message d'erreur"
 
-#: superset/views/alerts.py:165
+#: superset/views/alerts.py:182
 msgid "Log Retentions (days)"
-msgstr ""
+msgstr "Durée de rétention des logs (en jours)"
 
-#: superset/views/alerts.py:174
+#: superset/views/alerts.py:191
 msgid "A semicolon ';' delimited list of email addresses"
-msgstr ""
+msgstr "Une liste d'e-mail séparée par un ';'"
 
-#: superset/views/alerts.py:175
+#: superset/views/alerts.py:192
 msgid "How long to keep the logs around for this alert"
-msgstr ""
+msgstr "Combien de temps garder les logs pour cette alerte"
 
-#: superset/views/alerts.py:176
+#: superset/views/alerts.py:193
 msgid ""
-"Once an alert is triggered, how long, in seconds, before Superset nags you "
-"again."
-msgstr ""
+"Once an alert is triggered, how long, in seconds, before Superset nags "
+"you again."
+msgstr "Quand une alerte est déclenchée, durée en seconde"
+"avant que superset pour demande à nouveau"

Review comment:
       ```suggestion
   "avant que superset ne vous demande encore"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -1512,510 +1664,1103 @@ msgstr "Metadonnées rafraichies pour le(s) table(s) suivante(s) : %(tables)s"
 #, python-format
 msgid "Deleted %(num)d css template"
 msgid_plural "Deleted %(num)d css templates"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Template css %(num)d supprimé"
+msgstr[1] "Templates css %(num)d supprimés"
 
 #: superset/css_templates/commands/exceptions.py:23
 msgid "CSS template could not be deleted."
-msgstr ""
+msgstr "Le template CSS n'a pas pu être supprimé."
 
 #: superset/css_templates/commands/exceptions.py:27
 msgid "CSS template not found."
-msgstr "Templates CSS"
+msgstr "Template CSS non trouvé."
 
-#: superset/dashboards/api.py:453
+#: superset/dashboards/api.py:656
 #, python-format
 msgid "Deleted %(num)d dashboard"
 msgid_plural "Deleted %(num)d dashboards"
-msgstr[0] "Enregistrer le tableau de bord"
-msgstr[1] "Enregistrer le tableau de bord"
+msgstr[0] "%(num)d tableau de bord supprimé"
+msgstr[1] "%(num)d tableaux de bord supprimés"
 
-#: superset/dashboards/filters.py:32
+#: superset/dashboards/filters.py:35
 msgid "Title or Slug"
-msgstr ""
+msgstr "Titre"
+
+#: superset/dashboards/filters.py:153
+msgid "Role"
+msgstr "Profil"
 
 #: superset/dashboards/commands/exceptions.py:37
 msgid "Must be unique"
-msgstr ""
+msgstr "Doit être unique"
 
 #: superset/dashboards/commands/exceptions.py:41
 msgid "Dashboard parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du tableau de bord sont invalides."
 
 #: superset/dashboards/commands/exceptions.py:45
 msgid "Dashboard not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Tableau de bord non trouvé"
 
 #: superset/dashboards/commands/exceptions.py:49
 msgid "Dashboard could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être créé."
 
 #: superset/dashboards/commands/exceptions.py:53
 msgid "Dashboards could not be deleted."
-msgstr ""
+msgstr "Les tableaux de bord n'ont pas pu être supprimés."
 
 #: superset/dashboards/commands/exceptions.py:61
 msgid "Dashboard could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être mis à jour."
 
 #: superset/dashboards/commands/exceptions.py:65
 msgid "Dashboard could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le tableau de bord n'a pas pu être supprimé"
 
 #: superset/dashboards/commands/exceptions.py:73
 msgid "Changing this Dashboard is forbidden"
-msgstr "Modifier les propriétés de ce tableau de bord"
+msgstr "Modifier ce tableau de bord est interdit"
 
 #: superset/dashboards/commands/exceptions.py:77
 msgid "Import dashboard failed for an unknown reason"
-msgstr ""
+msgstr "L'import du tableau de bord a échoué pour une raison inconnue"
 
-#: superset/dashboards/commands/importers/v0.py:303
+#: superset/dashboards/commands/exceptions.py:81
+msgid "You don't have access to this dashboard."
+msgstr "Vous n'avez accès à ce tableau de bord."
+
+#: superset/dashboards/commands/importers/v0.py:320
 msgid "No data in file"
-msgstr ""
+msgstr "Pas de données dans le fichier"
 
 #: superset/databases/decorators.py:46
 msgid "Table name undefined"
-msgstr "Nom de la table"
+msgstr "Nom de la table non défini"
 
-#: superset/databases/schemas.py:140
+#: superset/databases/schemas.py:148
 msgid ""
-"Invalid connection string, a valid string usually follows: driver://user:"
-"password@database-host/database-name"
-msgstr ""
-
-#: superset/databases/schemas.py:150
-msgid "SQLite database cannot be used as a data source for security reasons."
+"Invalid connection string, a valid string usually follows: "
+"driver://user:password@database-host/database-name"
 msgstr ""
+"Chaîne de connexion invalide, une chaîne valide a généralement cette forme : "
+"driver://user:password@database-host/database-name"
 
-#: superset/databases/schemas.py:181 superset/databases/schemas.py:196
+#: superset/databases/schemas.py:183 superset/databases/schemas.py:198
 #, python-format
 msgid "Field cannot be decoded by JSON. %(msg)s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON. %(msg)s"
 
-#: superset/databases/schemas.py:204
+#: superset/databases/schemas.py:206
 #, python-format
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%(key)s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:31
-msgid "Database parameters are invalid."
+#: superset/databases/schemas.py:272
+msgid ""
+"Engine spec \"InvalidEngine\" does not support being configured via "
+"individual parameters."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:41
-msgid "A database with the same name already exists"
-msgstr "La source de données %(name)s existe déjà"
+#: superset/databases/schemas.py:299
+msgid ""
+"An engine must be specified when passing individual parameters to a "
+"database."
+msgstr ""
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterConfigForm.tsx:169
-#: superset/databases/commands/exceptions.py:49
-msgid "Field is required"
+#: superset/databases/commands/validate.py:58 superset/databases/schemas.py:308
+#, python-format
+msgid "Engine \"%(engine)s\" is not a valid engine."
 msgstr ""
 
-#: superset/databases/commands/exceptions.py:61
+#: superset/databases/commands/exceptions.py:32
+msgid "Database parameters are invalid."
+msgstr "Les paramètres de base de données sont invalides."
+
+#: superset/databases/commands/exceptions.py:42
+msgid "A database with the same name already exists."
+msgstr "Une base de données avec le même nom existe déjà"
+
+#: superset/databases/commands/exceptions.py:50
+msgid "Field is required"
+msgstr "Le champ est requis"
+
+#: superset/databases/commands/exceptions.py:62
 msgid "Field cannot be decoded by JSON.  %{json_error}s"
-msgstr ""
+msgstr "Le champ ne peut pas être décodé par JSON  %{json_error}s"
 
-#: superset/databases/commands/exceptions.py:78
-#: superset/views/database/mixins.py:251
+#: superset/databases/commands/exceptions.py:79
+#: superset/views/database/mixins.py:252
 msgid ""
 "The metadata_params in Extra field is not configured correctly. The key "
 "%{key}s is invalid."
 msgstr ""
+"Le paramètre metadata_params dans Champ supplémentaire n'est pas correctement"
+" configuré? La clé %(key)s est invalide."
 
-#: superset/databases/commands/exceptions.py:90
+#: superset/databases/commands/exceptions.py:91
 msgid "Database not found."
-msgstr "Graphique %(id)s non trouvé"
+msgstr "Base de donnée non trouvée."
 
-#: superset/databases/commands/exceptions.py:94
+#: superset/databases/commands/exceptions.py:95
 msgid "Database could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être créée."
 
-#: superset/databases/commands/exceptions.py:98
+#: superset/databases/commands/exceptions.py:99
 msgid "Database could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La base de données n'a pas pu être mise à jour."
 
-#: superset/databases/commands/exceptions.py:104
-#: superset/databases/commands/exceptions.py:120 superset/views/core.py:1284
+#: superset/databases/commands/exceptions.py:105
+#: superset/databases/commands/exceptions.py:122 superset/views/core.py:1354
 msgid "Connection failed, please check your connection settings"
-msgstr ""
+msgstr "La connexion a échoué, veuillez vérifier vos paramètres de connexion"
 
-#: superset/databases/commands/exceptions.py:108
-msgid "Cannot delete a database that has tables attached"
-msgstr ""
+#: superset/databases/commands/exceptions.py:109
+msgid "Cannot delete a database that has datasets attached"
+msgstr "Impossible de supprimer une base de données qui a des jeux de données "
+"rattachés"
 
-#: superset/databases/commands/exceptions.py:112
+#: superset/databases/commands/exceptions.py:113
 msgid "Database could not be deleted."
-msgstr ""
+msgstr "La base de données n'a pas pu être supprimée."
 
-#: superset/databases/commands/exceptions.py:124
+#: superset/databases/commands/exceptions.py:126
 msgid "Stopped an unsafe database connection"
-msgstr ""
-"Sélectionner n'importe quelle colonne pour l'inspection des métadonnées"
+msgstr "Une connexion non sécurisée avec la base de données a été arrêtée"
 
-#: superset/databases/commands/exceptions.py:128
+#: superset/databases/commands/exceptions.py:130
 msgid "Could not load database driver"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Le driver de la base de données n'a pas pu être chargé"
 
-#: superset/databases/commands/exceptions.py:132 superset/views/core.py:1292
+#: superset/databases/commands/exceptions.py:135 superset/views/core.py:1362
 msgid "Unexpected error occurred, please check your logs for details"
-msgstr ""
+msgstr "Erreur inattendue, consultez les logs pour plus de détails"
 
-#: superset/databases/commands/exceptions.py:136
+#: superset/databases/commands/exceptions.py:139
 msgid "Import database failed for an unknown reason"
-msgstr ""
+msgstr "L'import de la base de données a échoué pour une raison inconnue"
 
-#: superset/databases/commands/test_connection.py:69
+#: superset/databases/commands/test_connection.py:95
 msgid "Could not load database driver: {}"
-msgstr "Ne peut pas connecter au serveur"
+msgstr "Ce driver de la base de données n'a pas pu être chargé : {}"
+
+#: superset/databases/commands/validate.py:70
+#, python-format
+msgid "Engine \"%(engine)s\" cannot be configured through parameters."
+msgstr ""
 
-#: superset/datasets/api.py:631
+#: superset/databases/commands/validate.py:134
+msgid "Database is offline."
+msgstr "La base de données est hors-ligne."
+
+#: superset/datasets/api.py:663
 #, python-format
 msgid "Deleted %(num)d dataset"
 msgid_plural "Deleted %(num)d datasets"
-msgstr[0] "Selectionner la date de fin"
-msgstr[1] "Selectionner la date de fin"
+msgstr[0] "%(num)d jeu de données supprimé"
+msgstr[1] "%(num)d jeux de données supprimés"
 
 #: superset/datasets/filters.py:26
 msgid "Null or Empty"
-msgstr ""
+msgstr "Null ou Vide"
+
+#: superset/datasets/columns/commands/exceptions.py:23
+msgid "Dataset column not found."
+msgstr "Colonne du jeu de données introuvable."
+
+#: superset/datasets/columns/commands/exceptions.py:27
+msgid "Dataset column delete failed."
+msgstr "La suppression de la colonne du jeu de données a échoué."
 
-#: superset/datasets/commands/exceptions.py:47
+#: superset/datasets/columns/commands/exceptions.py:31
+#: superset/datasets/metrics/commands/exceptions.py:31
+msgid "Changing this dataset is forbidden."
+msgstr "Modifier ce jeu de données est interdit."
+
+#: superset/datasets/commands/exceptions.py:32
+#, python-format
+msgid "Dataset %(name)s already exists"
+msgstr "Le jeu de données %(name)s existe déjà"
+
+#: superset/datasets/commands/exceptions.py:50
 msgid "Database not allowed to change"
-msgstr ""
+msgstr "La base de données ne peut pas être changée"
 
-#: superset/datasets/commands/exceptions.py:67
+#: superset/datasets/commands/exceptions.py:70
 msgid "One or more columns do not exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:77
+#: superset/datasets/commands/exceptions.py:80
 msgid "One or more columns are duplicated"
-msgstr ""
+msgstr "Une ou plusieurs colonnes sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:87
+#: superset/datasets/commands/exceptions.py:90
 msgid "One or more columns already exist"
-msgstr ""
+msgstr "Une ou plusieurs colonnes existent déjà"
 
-#: superset/datasets/commands/exceptions.py:96
+#: superset/datasets/commands/exceptions.py:99
 msgid "One or more metrics do not exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques n'existent pas"
 
-#: superset/datasets/commands/exceptions.py:106
+#: superset/datasets/commands/exceptions.py:109
 msgid "One or more metrics are duplicated"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques sont dupliquées"
 
-#: superset/datasets/commands/exceptions.py:116
+#: superset/datasets/commands/exceptions.py:119
 msgid "One or more metrics already exist"
-msgstr "Une ou plusieurs métriques à afficher"
+msgstr "Une ou plusieurs métriques existent déjà"
 
-#: superset/datasets/commands/exceptions.py:127
+#: superset/datasets/commands/exceptions.py:130
 #, python-format
 msgid ""
-"Table [%(table_name)s] could not be found, please double check your database "
-"connection, schema, and table name"
+"Table [%(table_name)s] could not be found, please double check your "
+"database connection, schema, and table name"
 msgstr ""
-"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion à "
-"votre base de données, le schéma et le nom de la table"
+"La table [{}] n'a pu être trouvée, vérifiez à nouveau votre la connexion "
+"à votre base de données, le schéma et le nom de la table"
 
-#: superset/datasets/commands/exceptions.py:149
+#: superset/datasets/commands/exceptions.py:153
 msgid "Dataset parameters are invalid."
-msgstr ""
+msgstr "Les paramètres du jeu de données sont invalides."
 
-#: superset/datasets/commands/exceptions.py:153
+#: superset/datasets/commands/exceptions.py:157
 msgid "Dataset could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être créé."
 
-#: superset/datasets/commands/exceptions.py:157
-#: superset/datasets/commands/exceptions.py:169
+#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:173
 msgid "Dataset could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "Le jeu de données n'a pas pu être mis à jour."
 
-#: superset/datasets/commands/exceptions.py:161
+#: superset/datasets/commands/exceptions.py:165
 msgid "Dataset could not be deleted."
-msgstr ""
+msgstr "Le jeu de données n'a pas pu être supprimé."
 
-#: superset/datasets/commands/exceptions.py:165
+#: superset/datasets/commands/exceptions.py:169
 msgid "Dataset(s) could not be bulk deleted."
-msgstr ""
+msgstr "Les jeux de données n'ont pas pu être supprimés par lot."
 
-#: superset/datasets/commands/exceptions.py:173
+#: superset/datasets/commands/exceptions.py:177
 msgid "Changing this dataset is forbidden"
-msgstr ""
+msgstr "Changer ce jeu de données est interdit"
 
-#: superset/datasets/commands/exceptions.py:177
+#: superset/datasets/commands/exceptions.py:181
 msgid "Import dataset failed for an unknown reason"
-msgstr ""
+msgstr "L'import du jeu de données a échoué pour une raison inconnue"
 
-#: superset/db_engine_specs/presto.py:834
-msgid "Unknown Presto Error"
-msgstr "Erreur inconnue"
+#: superset/datasets/metrics/commands/exceptions.py:23
+msgid "Dataset metric not found."
+msgstr "Métrique du jeu de données non trouvée"
 
-#: superset/db_engine_specs/presto.py:1052
-#, python-format
-msgid ""
-"We can't seem to resolve the column \"%(column_name)s\" at line %(location)s."
-msgstr ""
+#: superset/datasets/metrics/commands/exceptions.py:27
+msgid "Dataset metric delete failed."
+msgstr "La suppression de la métrique du jeu de données a échoué"
 
-#: superset/db_engine_specs/presto.py:1069
+#: superset/db_engine_specs/athena.py:54
+#: superset/db_engine_specs/bigquery.py:174
+#: superset/db_engine_specs/postgres.py:158
+#: superset/db_engine_specs/snowflake.py:78
 #, python-format
 msgid ""
-"The table \"%(table_name)s\" does not exist. A valid table must be used to "
-"run this query."
+"Please check your query for syntax errors at or near "
+"\"%(syntax_error)s\". Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(syntax_error)s\". Puis essayez de relancer la requête."
 
-#: superset/queries/saved_queries/api.py:188
-#, python-format
-msgid "Deleted %(num)d saved query"
-msgid_plural "Deleted %(num)d saved queries"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:88
+msgid "Original value"
+msgstr "Valeur d'origine"
 
-#: superset/queries/saved_queries/commands/exceptions.py:23
-msgid "Saved queries could not be deleted."
-msgstr "La requête ne peut pas être chargée"
+#: superset/db_engine_specs/base.py:89
+msgid "Second"
+msgstr "Seconde"
 
-#: superset/queries/saved_queries/commands/exceptions.py:27
-msgid "Saved query not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:90
+msgid "5 second"
+msgstr "5 seconds"
 
-#: superset/reports/api.py:417
-#, python-format
-msgid "Deleted %(num)d report schedule"
-msgid_plural "Deleted %(num)d report schedules"
-msgstr[0] ""
-msgstr[1] ""
+#: superset/db_engine_specs/base.py:91
+msgid "30 second"
+msgstr "30 secondes"
 
-#: superset/reports/commands/alert.py:74
-#, python-format
-msgid "Alert query returned more then one row. %s rows returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:92
+msgid "Minute"
+msgstr "minute"
 
-#: superset/reports/commands/alert.py:83
-#, python-format
-msgid "Alert query returned more then one column. %s columns returned"
-msgstr ""
+#: superset/db_engine_specs/base.py:93
+msgid "5 minute"
+msgstr "5 minutes"
 
-#: superset/reports/commands/exceptions.py:44
-msgid "Dashboard does not exist"
-msgstr ""
+#: superset/db_engine_specs/base.py:94
+msgid "10 minute"
+msgstr "10 minutes"
 
-#: superset/reports/commands/exceptions.py:53
-msgid "Chart does not exist"
-msgstr "Graphique %(id)s non trouvé"
+#: superset/db_engine_specs/base.py:95
+msgid "15 minute"
+msgstr "15 minutes"
 
-#: superset/reports/commands/exceptions.py:62
-msgid "Database is required for alerts"
-msgstr ""
+#: superset/db_engine_specs/base.py:96
+msgid "Half hour"
+msgstr "1/2 heure"
 
-#: superset/reports/commands/exceptions.py:71
-msgid "Type is required"
-msgstr ""
+#: superset/db_engine_specs/base.py:97
+msgid "Hour"
+msgstr "heure"
 
-#: superset/reports/commands/exceptions.py:80
-msgid "Choose a chart or dashboard not both"
-msgstr "Supprimer le graphique du tableau de bord"
+#: superset/db_engine_specs/base.py:98
+msgid "6 hour"
+msgstr "6 heures"
 
-#: superset/reports/commands/exceptions.py:84
-msgid "Report Schedule parameters are invalid."
-msgstr ""
+#: superset/db_engine_specs/base.py:99
+msgid "Day"
+msgstr "jour"
 
-#: superset/reports/commands/exceptions.py:88
-msgid "Report Schedule could not be deleted."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:100
+msgid "Week"
+msgstr "semaine"
 
-#: superset/reports/commands/exceptions.py:92
-msgid "Report Schedule could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:101
+msgid "Month"
+msgstr "mois"
 
-#: superset/reports/commands/exceptions.py:96
-msgid "Report Schedule could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+#: superset/db_engine_specs/base.py:102
+msgid "Quarter"
+msgstr "Trimestre"
 
-#: superset/reports/commands/exceptions.py:100
-msgid "Report Schedule not found."
-msgstr ""
+#: superset/db_engine_specs/base.py:103
+msgid "Year"
+msgstr "année"
 
-#: superset/reports/commands/exceptions.py:104
-msgid "Report Schedule delete failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:104
+msgid "Week starting Sunday"
+msgstr "Semaine débutant le dimanche"
 
-#: superset/reports/commands/exceptions.py:108
-msgid "Report Schedule log prune failed."
-msgstr ""
+#: superset/db_engine_specs/base.py:105
+msgid "Week starting Monday"
+msgstr "Semaine débutant le lundi"
 
-#: superset/reports/commands/exceptions.py:112
-msgid "Report Schedule execution failed when generating a screenshot."
-msgstr ""
+#: superset/db_engine_specs/base.py:106
+msgid "Week ending Saturday"
+msgstr "Semaine terminant le samedi"
 
-#: superset/reports/commands/exceptions.py:116
-msgid "Report Schedule execution got an unexpected error."
-msgstr ""
+#: superset/db_engine_specs/base.py:107
+msgid "Week_ending Sunday"
+msgstr "Semaine terminant le dimanche"
 
-#: superset/reports/commands/exceptions.py:120
-msgid "Report Schedule is still working, refusing to re-compute."
-msgstr ""
+#: superset/db_engine_specs/base.py:1352
+msgid "Username"
+msgstr "Nom utilisateur"
 
-#: superset/reports/commands/exceptions.py:124
-msgid "Report Schedule reached a working timeout."
-msgstr ""
+#: superset/db_engine_specs/base.py:1353
+msgid "Password"
+msgstr "Mot de passe"
 
-#: superset/reports/commands/exceptions.py:138
-msgid "Alert query returned more then one row."
-msgstr ""
+#: superset/db_engine_specs/base.py:1354
+msgid "Hostname or IP address"
+msgstr "Nom d'hôte ou adresse IP"
 
-#: superset/reports/commands/exceptions.py:143
-msgid "Alert validator config error."
-msgstr "Configuration lat/long non valide"
+#: superset/db_engine_specs/base.py:1357
+msgid "Database port"
+msgstr "Port de la base de données"
 
-#: superset/reports/commands/exceptions.py:147
-msgid "Alert query returned more then one column."
-msgstr ""
+#: superset/db_engine_specs/base.py:1360
+msgid "Database name"
+msgstr "Nom base de donnée"
 
-#: superset/reports/commands/exceptions.py:151
-msgid "Alert query returned a non-number value."
-msgstr ""
+#: superset/db_engine_specs/base.py:1362
+msgid "Additional parameters"
+msgstr "Paramètres supplémentaires"
 
-#: superset/reports/commands/exceptions.py:155
-msgid "Alert found an error while executing a query."
-msgstr ""
+#: superset/db_engine_specs/base.py:1365
+msgid "Use an encrypted connection to the database"
+msgstr "Utiliser un connexion cryptée vers la base de données"
 
-#: superset/reports/commands/exceptions.py:159
-msgid "Alert fired during grace period."
+#: superset/db_engine_specs/bigquery.py:144
+msgid ""
+"We were unable to connect to your database. Please confirm that your "
+"service account has the Viewer and Job User roles on the project."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données. Veuillez "
+"confirmer que votre compte de service a les profils Viewer et Job User "
+"sur le projet."
 
-#: superset/reports/commands/exceptions.py:163
-msgid "Alert ended grace period."
+#: superset/db_engine_specs/bigquery.py:153
+#, python-format
+msgid ""
+"The table \"%(table)s\" does not exist. A valid table must be used to run"
+" this query."
 msgstr ""
+"La table \"%(table)s\" n'existe pas. Une table valide doit être utilisée "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:167
-msgid "Alert on grace period"
+#: superset/db_engine_specs/bigquery.py:161
+#, python-format
+msgid "We can't seem to resolve column \"%(column)s\" at line %(location)s."
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column)s\" à la ligne "
+"%(location)s."
+
+#: superset/db_engine_specs/bigquery.py:166
+#, python-format
+msgid ""
+"The schema \"%(schema)s\" does not exist. A valid schema must be used to "
+"run this query."
 msgstr ""
+"Le schéma \"%(schema)s\" n'existe pas. Un schéma valide doit être utilisé "
+"pour cette requête."
 
-#: superset/reports/commands/exceptions.py:171
-msgid "Report Schedule sellenium user not found"
+#: superset/db_engine_specs/gsheets.py:69 superset/db_engine_specs/mysql.py:144
+#, python-format
+msgid ""
+"Please check your query for syntax errors near \"%(server_error)s\". "
+"Then, try running your query again."
 msgstr ""
+"Veuillez corriger une erreur de syntaxe dans la requête près de "
+"\"%(server_error)s\". Puis essayez de relancer la requête."
 
-#: superset/reports/commands/exceptions.py:175
-msgid "Report Schedule state not found"
+#: superset/db_engine_specs/mssql.py:69
+#, python-format
+msgid ""
+"Either the username \"%(username)s\", password, or database name "
+"\"%(database)s\" is incorrect."
 msgstr ""
+"Soit l'utilisateur \"%(username)s\", le mot de passe, ou le nom de la base "
+"de données \"%(database)s\" est incorrect."
 
-#: superset/reports/commands/exceptions.py:179
-msgid "Report schedule unexpected error"
-msgstr "Erreur inattendu."
+#: superset/db_engine_specs/mssql.py:77
+#: superset/db_engine_specs/postgres.py:127
+#: superset/db_engine_specs/presto.py:199
+#: superset/db_engine_specs/redshift.py:68
+#, python-format
+msgid "The hostname \"%(hostname)s\" cannot be resolved."
+msgstr "Le nom d'hôte \"%(hostname)s\"  ne peut pas être résolu."
 
-#: superset/reports/commands/exceptions.py:183
-msgid "Changing this report is forbidden"
+#: superset/db_engine_specs/mssql.py:82
+#: superset/db_engine_specs/postgres.py:132
+#: superset/db_engine_specs/presto.py:212
+#: superset/db_engine_specs/redshift.py:73
+#, python-format
+msgid "Port %(port)s on hostname \"%(hostname)s\" refused the connection."
+msgstr "Le port %(port)s sur l'hôte \"%(hostname)s\" a refusé la connexion."
+
+#: superset/db_engine_specs/mssql.py:87
+#: superset/db_engine_specs/postgres.py:137
+#: superset/db_engine_specs/presto.py:204
+#: superset/db_engine_specs/redshift.py:78
+#, python-format
+msgid ""
+"The host \"%(hostname)s\" might be down, and can't be reached on port "
+"%(port)s."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint "
+"sur le port %(port)s."
 
-#: superset/reports/commands/exceptions.py:187
-msgid "An error occurred while pruning logs "
-msgstr "Une erreur s'est produit durant le rendu de la visualisation : %s"
+#: superset/db_engine_specs/mysql.py:124 superset/db_engine_specs/presto.py:194
+#: superset/db_engine_specs/redshift.py:63
+#, python-format
+msgid "Either the username \"%(username)s\" or the password is incorrect."
+msgstr "L'utilisateur \"%(username)s\" ou le mot de passe est incorrect."
 
-#: superset/reports/notifications/email.py:59 superset/tasks/schedules.py:185
+#: superset/db_engine_specs/mysql.py:129
 #, python-format
-msgid ""
-"\n"
-"            <b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>\n"
-"            <img src=\"cid:%(msgid)s\">\n"
-"            "
+msgid "Unknown MySQL server host \"%(hostname)s\"."
+msgstr "Hôte MySQL \"%(hostname)s\" inconnu."
+
+#: superset/db_engine_specs/mysql.py:134
+#, python-format
+msgid "The host \"%(hostname)s\" might be down and can't be reached."
 msgstr ""
+"L'hôte \"%(hostname)s\" est peut-être hors-dervice et ne peut être atteint."
 
-#: superset/reports/notifications/email.py:70 superset/tasks/schedules.py:294
-#: superset/tasks/schedules.py:463
+#: superset/db_engine_specs/mysql.py:139
+#: superset/db_engine_specs/postgres.py:145
 #, python-format
-msgid "%(prefix)s %(title)s"
+msgid "Unable to connect to database \"%(database)s\"."
+msgstr "Impossible de se connecter à la base de données \"%(database)s\"."
+
+#: superset/db_engine_specs/postgres.py:112
+#, python-format
+msgid "The username \"%(username)s\" does not exist."
+msgstr "L'utilisateur \"%(username)s\" n'existe pas."
+
+#: superset/db_engine_specs/postgres.py:117
+#, python-format
+msgid "The password provided for username \"%(username)s\" is incorrect."
 msgstr ""
+"Le mot de passe fourni pour l'utilisateur \"%(username)s\" est incorrect"
+
+#: superset/db_engine_specs/postgres.py:122
+msgid "Please re-enter the password."
+msgstr "Veuillez re-saisir le mot de passe."
 
-#: superset/reports/notifications/slack.py:48
+#: superset/db_engine_specs/postgres.py:150
+#: superset/db_engine_specs/presto.py:170
 #, python-format
 msgid ""
-"\n"
-"            *%(name)s*\n"
-"\n"
-"            <%(url)s|Explore in Superset>\n"
-"            "
+"We can't seem to resolve the column \"%(column_name)s\" at line "
+"%(location)s."
 msgstr ""
+"Nous ne pouvons résoudre la colonne \"%(column_name)s\" à la ligne "
+"%(location)s."
 
-#: superset/tasks/schedules.py:160
+#: superset/db_engine_specs/presto.py:178
 #, python-format
 msgid ""
-"\n"
-"        *%(name)s*\n"
-"\n"
-"        <%(url)s|Explore in Superset>\n"
-"        "
+"The table \"%(table_name)s\" does not exist. A valid table must be used "
+"to run this query."
 msgstr ""
+"La table \"%(table_name)s\" n'existe pas. Une table valide doit être "
+"utilisée pour cette requête."
 
-#: superset/tasks/schedules.py:172 superset/tasks/schedules.py:363
+#: superset/db_engine_specs/presto.py:186
 #, python-format
-msgid "<b><a href=\"%(url)s\">Explore in Superset</a></b><p></p>"
+msgid ""
+"The schema \"%(schema_name)s\" does not exist. A valid schema must be "
+"used to run this query."
 msgstr ""
+"Le schéma \"%(schema_name)s\" n'existe pas. Un schéma valide doit être "
+"utilisé pour cette requête."
 
-#: superset/tasks/schedules.py:362
+#: superset/db_engine_specs/presto.py:217
 #, python-format
-msgid "%(name)s.csv"
-msgstr ""
+msgid "Unable to connect to catalog named \"%(catalog_name)s\"."
+msgstr "Impossible de se connecter au catalogue \"%(catalog_name)s\"."
+
+#: superset/db_engine_specs/presto.py:1005
+msgid "Unknown Presto Error"
+msgstr "Erreur Presto inconnue"
 
-#: superset/tasks/schedules.py:370
+#: superset/db_engine_specs/redshift.py:86
 #, python-format
 msgid ""
-"\n"
-"        *%(slice_name)s*\n"
-"\n"
-"        <%(slice_url_user_friendly)s|Explore in Superset>\n"
-"        "
+"We were unable to connect to your database named \"%(database)s\". Please"
+" verify your database name and try again."
 msgstr ""
+"Nous n'avons pas pu nous connecter à votre base de données \"%(database)s\"."
+" Veuillez vérfier le nom de la base et réessayez."
 
-#: superset/tasks/schedules.py:656
+#: superset/db_engine_specs/snowflake.py:73
 #, python-format
-msgid "[Alert] %(label)s"
-msgstr "Etiquette des marqueurs"
-
-#: superset/templates/appbuilder/navbar_right.html:35
-msgid "New"
-msgstr ""
+msgid "%(object)s does not exist in this database."
+msgstr "%(object)s n'existe pas dans cette base de données."
 
-#: superset-frontend/src/views/CRUD/alert/AlertReportModal.tsx:1144
-#: superset/templates/appbuilder/navbar_right.html:38
-msgid "SQL Query"
-msgstr "Sauvegarder la requête"
+#: superset/db_engine_specs/sqlite.py:64
+#, python-format
+msgid "We can't seem to resolve the column \"%(column_name)s\""
+msgstr "Nous ne pouvons résoudre  la colonne \"%(column_name)s\""
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:31
-#: superset-frontend/src/explore/components/controls/AnnotationLayer.jsx:383
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:211
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:522
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:148
-#: superset/templates/appbuilder/navbar_right.html:39
-#: superset/views/chart/mixin.py:85 superset/views/chart/views.py:114
-#: superset/views/schedules.py:286
-msgid "Chart"
-msgstr "Graphique"
+#: superset/initialization/__init__.py:216
+msgid "Home"
+msgstr "Accueil"
 
-#: superset-frontend/src/components/Menu/NewMenu.tsx:36
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:481
-#: superset/templates/appbuilder/navbar_right.html:40
-#: superset/views/dashboard/mixin.py:72 superset/views/dashboard/views.py:145
-#: superset/views/schedules.py:223
-msgid "Dashboard"
-msgstr "Tableau de bord"
+#: superset/initialization/__init__.py:223 superset/views/annotations.py:119
+msgid "Annotation Layers"
+msgstr "Couches d'annotations"
+
+#: superset/initialization/__init__.py:226
+#: superset/initialization/__init__.py:250
+#: superset/initialization/__init__.py:262
+#: superset/initialization/__init__.py:311
+#: superset/initialization/__init__.py:426
+#: superset/initialization/__init__.py:435
+#: superset/initialization/__init__.py:450
+#: superset/initialization/__init__.py:462
+msgid "Manage"
+msgstr "Gestion"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:212
-#: superset/templates/appbuilder/navbar_right.html:109
-msgid "Profile"
-msgstr "Profil"
+#: superset-frontend/src/profile/components/CreatedContent.tsx:73
+#: superset-frontend/src/profile/components/Favorites.tsx:74
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:565
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:294
+#: superset/initialization/__init__.py:232 superset/views/chart/mixin.py:79
+#: superset/views/dashboard/mixin.py:25
+msgid "Dashboards"
+msgstr "Tableaux de bord"
 
-#: superset-frontend/src/components/Menu/Menu.tsx:217
-#: superset/templates/appbuilder/navbar_right.html:110
-msgid "Info"
-msgstr ""
+#: superset-frontend/src/dashboard/components/BuilderComponentPane.tsx:77
+#: superset-frontend/src/profile/components/CreatedContent.tsx:76
+#: superset-frontend/src/profile/components/Favorites.tsx:77
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:608
+#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:306
+#: superset/initialization/__init__.py:240 superset/views/chart/mixin.py:26
+#: superset/views/dashboard/mixin.py:81
+msgid "Charts"
+msgstr "Graphiques"
+
+#: superset/initialization/__init__.py:248
+msgid "Plugins"
+msgstr ""
+
+#: superset/initialization/__init__.py:259 superset/views/css_templates.py:38
+msgid "CSS Templates"
+msgstr "Templates CSS"
+
+#: superset/initialization/__init__.py:268
+msgid "Row level security"
+msgstr "Sécurité de niveau ligne"
+
+#: superset/initialization/__init__.py:270
+#: superset/initialization/__init__.py:401
+#: superset/initialization/__init__.py:473
+msgid "Security"
+msgstr "Sécurité"
+
+#: superset/initialization/__init__.py:307
+msgid "Import Dashboards"
+msgstr "Importer des tableaux de bord"
+
+#: superset/initialization/__init__.py:319
+msgid "SQL Editor"
+msgstr "Éditeur SQL"
+
+#: superset/initialization/__init__.py:324
+#: superset/initialization/__init__.py:339
+msgid "SQL Lab"
+msgstr "SQL Lab"
+
+#: superset/initialization/__init__.py:327
+msgid "Saved Queries"
+msgstr "Requêtes sauvegardées"
+
+#: superset/initialization/__init__.py:334
+msgid "Query History"
+msgstr "Historiques des requêtes"
+
+#: superset-frontend/src/profile/components/Security.tsx:46
+#: superset/initialization/__init__.py:344 superset/views/database/mixins.py:33
+msgid "Databases"
+msgstr "Bases de données"
+
+#: superset-frontend/src/explore/components/ControlPanelsContainer.tsx:401
+#: superset-frontend/src/explore/components/DataTablesPane/index.tsx:342
+#: superset/initialization/__init__.py:347
+#: superset/initialization/__init__.py:356
+#: superset/initialization/__init__.py:366
+#: superset/initialization/__init__.py:384
+#: superset/initialization/__init__.py:489
+#: superset/initialization/__init__.py:499
+#: superset/initialization/__init__.py:512
+#: superset/initialization/__init__.py:525
+msgid "Data"
+msgstr "Données"
+
+#: superset-frontend/src/profile/components/Security.tsx:60
+#: superset/initialization/__init__.py:352
+msgid "Datasets"
+msgstr "Jeux de données"
+
+#: superset/initialization/__init__.py:362
+msgid "Upload a CSV"
+msgstr "Téléverser un fichier CSV"
+
+#: superset/initialization/__init__.py:380
+msgid "Upload Excel"
+msgstr "Téléverser un fichier Excel"
+
+#: superset/initialization/__init__.py:399
+msgid "Action Log"
+msgstr "Journaux d'actions"
+
+#: superset/initialization/__init__.py:424
+msgid "Dashboard Emails"
+msgstr "Tableau de bord Emails"
+
+#: superset/initialization/__init__.py:433
+msgid "Chart Email Schedules"
+msgstr "Graphique Email Schedules"
+
+#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:420
+#: superset/initialization/__init__.py:448
+msgid "Alerts"
+msgstr "Alertes"
+
+#: superset/initialization/__init__.py:460
+msgid "Alerts & Reports"
+msgstr "Alertes et rapports"
+
+#: superset/initialization/__init__.py:471
+msgid "Access requests"
+msgstr "Requêtes d'accès"
+
+#: superset/initialization/__init__.py:509
+msgid "Scan New Datasources"
+msgstr "Scanner les nouvelles sources de données"
+
+#: superset/initialization/__init__.py:522
+msgid "Refresh Druid Metadata"
+msgstr "Rafraichir les méta-données de Druid"
+
+#: superset/models/sql_types/base.py:50
+#, python-format
+msgid "Temporal expression not supported for type: %(col_type)s"
+msgstr "Expression temporelle non supportée pour le type %(col_type)s"
+
+#: superset/queries/saved_queries/api.py:197
+#, python-format
+msgid "Deleted %(num)d saved query"
+msgid_plural "Deleted %(num)d saved queries"
+msgstr[0] "%(num)d requête sauvegardée supprimée"
+msgstr[1] "%(num)d requêtes sauvegardées supprimées"
+
+#: superset/queries/saved_queries/commands/exceptions.py:28
+msgid "Saved queries could not be deleted."
+msgstr "Les requêtes sauvegardées ne peuvent pas être supprimées."
+
+#: superset/queries/saved_queries/commands/exceptions.py:32
+msgid "Saved query not found."
+msgstr "Requête sauvegardée introuvable."
+
+#: superset/queries/saved_queries/commands/exceptions.py:36
+msgid "Import saved query failed for an unknown reason."
+msgstr "L'import de la requête sauvegardée a échoué pour une raison inconnue."
+
+#: superset/queries/saved_queries/commands/exceptions.py:40
+msgid "Saved query parameters are invalid."
+msgstr "Les paramètres des requêtes sauvegardées sont invalides."
+
+#: superset/reports/api.py:453
+#, python-format
+msgid "Deleted %(num)d report schedule"
+msgid_plural "Deleted %(num)d report schedules"
+msgstr[0] "%(num)d planification de rapport supprimée"
+msgstr[1] "%(num)d planifications de rapport supprimées"
+
+#: superset/reports/schemas.py:180 superset/reports/schemas.py:186
+#: superset/reports/schemas.py:192 superset/reports/schemas.py:266
+#: superset/reports/schemas.py:272 superset/reports/schemas.py:279
+msgid "Value must be greater than 0"
+msgstr "La valeur doit être plus grande que 0"
+
+#: superset/reports/commands/alert.py:96
+#, python-format
+msgid "Alert query returned more then one row. %s rows returned"
+msgstr "La requête a retourné plus d'une ligne. %s lignes retournées"
+
+#: superset/reports/commands/alert.py:105
+#, python-format
+msgid "Alert query returned more then one column. %s columns returned"
+msgstr "La requête a retourné plus d'une colonne. %s colonnes retournées"
+
+#: superset/reports/commands/exceptions.py:44
+msgid "Dashboard does not exist"
+msgstr "Le tableau de bord n'existe pas"
+
+#: superset/reports/commands/exceptions.py:53
+msgid "Chart does not exist"
+msgstr "Le graphique n'existe pas"
+
+#: superset/reports/commands/exceptions.py:62
+msgid "Database is required for alerts"
+msgstr "Une base de données est requise pour les alertes"
+
+#: superset/reports/commands/exceptions.py:71
+msgid "Type is required"
+msgstr "Le type est requis"
+
+#: superset/reports/commands/exceptions.py:80
+msgid "Choose a chart or dashboard not both"
+msgstr "Choisissez un graphique ou un tableau de bord, pas les deux"
+
+#: superset/reports/commands/exceptions.py:84
+msgid "Report Schedule parameters are invalid."
+msgstr "Les paramètres des planification de rapport sont invalides."
+
+#: superset/reports/commands/exceptions.py:88
+msgid "Report Schedule could not be deleted."
+msgstr "La planification de rapport n'a pas pu être supprimée."
+
+#: superset/reports/commands/exceptions.py:92
+msgid "Report Schedule could not be created."
+msgstr "La planification de rapport n'a pas pu être créée."
+
+#: superset/reports/commands/exceptions.py:96
+msgid "Report Schedule could not be updated."
+msgstr "La planification de rapport n'a pas pu être mise à jour."
+
+#: superset/reports/commands/exceptions.py:100
+msgid "Report Schedule not found."
+msgstr "planification de rapport introuvable"
+
+#: superset/reports/commands/exceptions.py:104
+msgid "Report Schedule delete failed."
+msgstr "La planification de rapport n'a pas être supprimée."
+
+#: superset/reports/commands/exceptions.py:108
+msgid "Report Schedule log prune failed."
+msgstr "Le log de la planification de rapport n'a pas pu être élagué."
+
+#: superset/reports/commands/exceptions.py:112
+msgid "Report Schedule execution failed when generating a screenshot."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"de la copie d'écran."
+
+#: superset/reports/commands/exceptions.py:116
+msgid "Report Schedule execution failed when generating a csv."
+msgstr "L'exécution de la planification de rapport a échoué à la génération "
+"d'un csv."
+
+#: superset/reports/commands/exceptions.py:120
+msgid "Report Schedule execution got an unexpected error."
+msgstr "L'exécution de la planification de rapport a rencontré un erreur "
+"inattendue."
+
+#: superset/reports/commands/exceptions.py:124
+msgid "Report Schedule is still working, refusing to re-compute."
+msgstr "La planification de rapport est toujours en cours d'exécution, "
+"refus de re-traiter."
+
+#: superset/reports/commands/exceptions.py:128
+msgid "Report Schedule reached a working timeout."
+msgstr "La planification de rapport a atteint un timeout d'exécution"
+
+#: superset/reports/commands/exceptions.py:142
+msgid "Alert query returned more then one row."
+msgstr "La requête a retourné plus d'une ligne."
+
+#: superset/reports/commands/exceptions.py:147
+msgid "Alert validator config error."
+msgstr "Erreur de configuration du validateur."
+
+#: superset/reports/commands/exceptions.py:151
+msgid "Alert query returned more then one column."
+msgstr "La requête a retourné plus d'une colonne."
+
+#: superset/reports/commands/exceptions.py:155
+msgid "Alert query returned a non-number value."
+msgstr "La requête a retourné un valeur non numérique."

Review comment:
       ```suggestion
   msgstr "La requête a retourné une valeur non numérique."
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org