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/09/28 13:07:26 UTC

[GitHub] [superset] audour opened a new pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

audour opened a new pull request #16868:
URL: https://github.com/apache/superset/pull/16868


   ### SUMMARY
   Based on [1.3.0 release](https://github.com/apache/superset/releases/tag/1.3.0), update whole French translation by following [CONTRIBUTING.md#translating](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#translating).
   
   ### BEFORE/AFTER SCREENSHOTS
   
   Before:
   ![2021-09-28_before](https://user-images.githubusercontent.com/43783438/135091775-b554eca6-8ad3-4115-8ce9-ed76968e805a.png)
   
   After:
   ![2021-09-28_after](https://user-images.githubusercontent.com/43783438/135091807-c52e3c9a-a5fc-4aa8-97eb-c841b9ad5064.png)
   
   ### ADDITIONAL INFORMATION
   - [ x ] Has associated issue: 
     - Fixes #16550
     - Issue reported during translation process: #16613
   - followed process (based on [CONTRIBUTING.md#translating](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#translating)):
     * extract new strings for translation (update the template file `superset/translations/messages.pot`)
     * update language files with the new extracted strings (update the file `superset/translations/fr/LC_MESSAGES/messages.po`)
     * review each translation: fix existing ones and add missing ones
     * convert PO file to formatted JSON file (update the file `superset/translations/fr/LC_MESSAGES/messages.json`)
     * compile PO file to MO file and test MO/JSON files on a running `1.3.0` superset instance
     * commit both `messages.po` and `messages.json`


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (c395d09) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.52%`.
   > The diff coverage is `n/a`.
   
   > :exclamation: Current head c395d09 differs from pull request most recent head 35bb8d6. Consider uploading reports for the commit 35bb8d6 to get more accurate results
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.47%   +5.52%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29112   -27136     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    24009   -19271     
   + Misses      12709     5103    -7606     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (ø)` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (ø)` | |
   | postgres | `81.96% <ø> (ø)` | |
   | presto | `81.83% <ø> (+<0.01%)` | :arrow_up: |
   | python | `82.47% <ø> (+<0.01%)` | :arrow_up: |
   | sqlite | `81.64% <ø> (ø)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...nents/controls/MetricControl/AdhocMetricOption.jsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9jb250cm9scy9NZXRyaWNDb250cm9sL0FkaG9jTWV0cmljT3B0aW9uLmpzeA==) | | |
   | [...rontend/src/components/ListView/Filters/Select.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvRmlsdGVycy9TZWxlY3QudHN4) | | |
   | [...c/dashboard/components/FilterBoxMigrationModal.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9jb21wb25lbnRzL0ZpbHRlckJveE1pZ3JhdGlvbk1vZGFsLnRzeA==) | | |
   | [...end/src/filters/components/TimeGrain/buildQuery.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2ZpbHRlcnMvY29tcG9uZW50cy9UaW1lR3JhaW4vYnVpbGRRdWVyeS50cw==) | | |
   | [superset-frontend/src/components/ListView/types.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvdHlwZXMudHM=) | | |
   | [superset-frontend/src/dataMask/reducer.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2RhdGFNYXNrL3JlZHVjZXIudHM=) | | |
   | [...set-frontend/src/components/Pagination/Wrapper.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbi9XcmFwcGVyLnRzeA==) | | |
   | [...perset-frontend/src/views/CRUD/welcome/Welcome.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3ZpZXdzL0NSVUQvd2VsY29tZS9XZWxjb21lLnRzeA==) | | |
   | [superset-frontend/src/setup/setupApp.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3NldHVwL3NldHVwQXBwLnRz) | | |
   | [...frontend/src/views/CRUD/alert/AlertReportModal.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3ZpZXdzL0NSVUQvYWxlcnQvQWxlcnRSZXBvcnRNb2RhbC50c3g=) | | |
   | ... and [671 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...35bb8d6](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] villebro edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971401062


   > I am curious why one of the tests is not passing as this PR seems super low risk?
   
   @junlincc we have a linting rule that expects the code to be formatted in a certain way. For instance, it doesn't allow for blank spaces at the end of the line or missing/excessive line changes at the end of files.
   
   @audour do you mind taking another look? If needed I can help fix the issue.


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-970614683


   Thanks so much for this! I started tests, fingers crossed 🤞


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (35bb8d6) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.37%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.31%   +5.37%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29117   -27131     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    23968   -19312     
   + Misses      12709     5149    -7560     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (-0.01%)` | :arrow_down: |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (-0.01%)` | :arrow_down: |
   | postgres | `81.96% <ø> (-0.01%)` | :arrow_down: |
   | presto | `?` | |
   | python | `82.31% <ø> (-0.15%)` | :arrow_down: |
   | sqlite | `81.64% <ø> (-0.01%)` | :arrow_down: |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `84.30% <0.00%> (-5.65%)` | :arrow_down: |
   | [superset/connectors/sqla/models.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `87.02% <0.00%> (-1.36%)` | :arrow_down: |
   | [superset/utils/webdriver.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvd2ViZHJpdmVyLnB5) | `79.78% <0.00%> (-1.12%)` | :arrow_down: |
   | [superset/models/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.26% <0.00%> (-0.74%)` | :arrow_down: |
   | [superset/config.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29uZmlnLnB5) | `91.50% <0.00%> (ø)` | |
   | [superset/db\_engine\_specs/mssql.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL21zc3FsLnB5) | `95.83% <0.00%> (ø)` | |
   | [...set-frontend/src/components/Icons/AntdEnhanced.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvSWNvbnMvQW50ZEVuaGFuY2VkLnRzeA==) | | |
   | [.../src/dashboard/util/serializeActiveFilterValues.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC91dGlsL3NlcmlhbGl6ZUFjdGl2ZUZpbHRlclZhbHVlcy5qcw==) | | |
   | [superset-frontend/src/utils/cacheWrapper.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3V0aWxzL2NhY2hlV3JhcHBlci50cw==) | | |
   | [...d/src/explore/components/PropertiesModal/index.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9Qcm9wZXJ0aWVzTW9kYWwvaW5kZXgudHN4) | | |
   | ... and [676 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...35bb8d6](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


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

Posted by GitBox <gi...@apache.org>.
audour commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r749468801



##########
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:
       I think we should keep a unique "dataset" translation in whole file. As there are 47 occurences for "jeu de données", in the whole file, I do not commit this specific suggestion.




-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (c395d09) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.37%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.32%   +5.37%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29112   -27136     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    23965   -19315     
   + Misses      12709     5147    -7562     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (ø)` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (ø)` | |
   | postgres | `81.96% <ø> (ø)` | |
   | presto | `?` | |
   | python | `82.32% <ø> (-0.15%)` | :arrow_down: |
   | sqlite | `81.64% <ø> (ø)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `84.30% <0.00%> (-5.65%)` | :arrow_down: |
   | [superset/connectors/sqla/models.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `87.02% <0.00%> (-1.36%)` | :arrow_down: |
   | [superset/models/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.26% <0.00%> (-0.74%)` | :arrow_down: |
   | [superset-frontend/src/components/Button/index.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvQnV0dG9uL2luZGV4LnRzeA==) | | |
   | [...nts/controls/DateFilterControl/components/index.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9jb250cm9scy9EYXRlRmlsdGVyQ29udHJvbC9jb21wb25lbnRzL2luZGV4LnRz) | | |
   | [...rontend/src/components/ListView/Filters/Select.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvRmlsdGVycy9TZWxlY3QudHN4) | | |
   | [...rontend/src/components/ListView/CardSortSelect.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvQ2FyZFNvcnRTZWxlY3QudHN4) | | |
   | [...rc/dashboard/util/getLayoutComponentFromChartId.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC91dGlsL2dldExheW91dENvbXBvbmVudEZyb21DaGFydElkLmpz) | | |
   | [superset-frontend/src/chart/ChartErrorMessage.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NoYXJ0L0NoYXJ0RXJyb3JNZXNzYWdlLnRzeA==) | | |
   | [superset-frontend/src/components/Modal/Modal.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTW9kYWwvTW9kYWwudHN4) | | |
   | ... and [673 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...c395d09](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] villebro edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971555584


   This appears to be the violation (redundant line change at the end of the file):
   ```patch
   diff --git a/superset/translations/fr/LC_MESSAGES/messages.po b/superset/translations/fr/LC_MESSAGES/messages.po
   index c2058ee9e..8beec739c 100644
   --- a/superset/translations/fr/LC_MESSAGES/messages.po
   +++ b/superset/translations/fr/LC_MESSAGES/messages.po
   @@ -10632,4 +10632,3 @@ msgstr "Zone de texte"
    #: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:36
    msgid "Trend"
    msgstr "Tendance"
   -
   ```


-- 
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


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

Posted by GitBox <gi...@apache.org>.
mathieudruart commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r737979758



##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"

Review comment:
       ```suggestion
   msgstr "Le backend des résultats n'est pas configuré."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "

Review comment:
       ```suggestion
   "Assurez-vous que la requête a bien une seule instruction SELECT. "
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -6932,987 +8768,1387 @@ msgstr ""
 msgid "${RecipientIconName.slack}"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:65
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:110
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:64
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:108
 msgid "annotation"
-msgstr "Annotations"
+msgstr "annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:133
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:132
 #, python-format
 msgid "There was an issue deleting the selected annotations: %s"
-msgstr ""
+msgstr "Il y eu un problème lors de la suppression des annotations "
+"sélectionnés : %s"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:180
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:265
+
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:179
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:285
 msgid "Edit annotation"
-msgstr "Annotations"
+msgstr "Modifier annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:187
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:186
 msgid "Delete annotation"
-msgstr "Annotations"
+msgstr "Supprimer annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:208
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:254
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:207
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:253
 msgid "Annotation"
-msgstr "Annotations"
+msgstr "Annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:260
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:259
 msgid "No annotation yet"
-msgstr "Couches d'annotation"
+msgstr "Pas encore d'annotations"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:269
+#: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:268
 msgid "Annotation Layer ${annotationLayerName}"
-msgstr ""
+msgstr "Couche d'annotations ${annotationLayerName}"
 
 #: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:291
 msgid ""
-"Are you sure you want to delete ${annotationCurrentlyDeleting?.short_descr}?"
-msgstr ""
+"Are you sure you want to delete "
+"${annotationCurrentlyDeleting?.short_descr}?"
+msgstr "Etes-vous sûr de vouloir supprimer "
+"${annotationCurrentlyDeleting?.short_descr}?"
 
 #: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:301
 msgid "Delete Annotation?"
-msgstr "Annotations"
+msgstr "Supprimer l'annotation ?"
 
 #: superset-frontend/src/views/CRUD/annotation/AnnotationList.tsx:306
 msgid "Are you sure you want to delete the selected annotations?"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir supprimer les annotations sélectionnées ?"
+
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:154
+msgid "The annotation has been updated"
+msgstr "Cette annotation a été modifiée"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:265
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:170
+msgid "The annotation has been saved"
+msgstr "Cette annotation a été sauvegardée"
+
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:285
 msgid "Add annotation"
-msgstr "Ajouter une couche d'annotation"
+msgstr "Ajouter une annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:274
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:294
 msgid "Annotation name"
-msgstr "Couches d'annotation"
+msgstr "Nom de l'annotation"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:286
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:306
 msgid "date"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:307
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:326
 msgid "Additional information"
-msgstr "Méta données additionnelles"
+msgstr "Informations additionnelles"
 
-#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:314
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:243
+#: superset-frontend/src/views/CRUD/annotation/AnnotationModal.tsx:333
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:264
 msgid "Description (this can be seen in the list)"
-msgstr ""
+msgstr "Description (cela peut être vu dans la liste)"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:107
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:104
 msgid "annotation_layer"
-msgstr "Couches d'annotation"
+msgstr "annotation_layer"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:218
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:239
 msgid "Edit annotation layer properties"
 msgstr "Couches d'annotation"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:228
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayerModal.tsx:249
 msgid "Annotation layer name"
-msgstr "Couches d'annotation"
+msgstr "Nom de la couche d'annotations"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:67
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:339
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:70
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:347
 msgid "Annotation layers"
-msgstr "Couches d'annotation"
+msgstr "Couches d'annotations"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:112
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:115
 #, python-format
 msgid "There was an issue deleting the selected layers: %s"
-msgstr ""
+msgstr "Il y eu un problème lors de la suppression des couches "
+"sélectionnés : %s"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:181
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:257
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:158
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:279
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:184
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:301
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:161
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:307
 msgid "Last modified"
 msgstr "Dernière modification"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:206
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:184
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:285
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:209
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:187
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:352
 msgid "Created on"
 msgstr "Créé le"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:231
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:210
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:234
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:213
 msgid "Edit template"
-msgstr "Chargé un modèle"
+msgstr "Modifier un template"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:240
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:219
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:243
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:222
 msgid "Delete template"
-msgstr "Chargé un modèle"
+msgstr "Supprimer un template"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:266
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:323
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:269
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:326
 msgid "Annotation layer"
-msgstr "Couches d'annotation"
+msgstr "Couches d'annotations"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:296
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:282
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:370
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:299
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:285
+#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:437
 #, python-format
 msgid "An error occurred while fetching dataset datasource values: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération les sources de "
+"données  du jeu de données : %s"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:329
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:332
 msgid "No annotation layers yet"
-msgstr "Couches d'annotation"
+msgstr "Pas encore de couches d'annotations"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:349
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:357
 msgid "This action will permanently delete the layer."
-msgstr ""
+msgstr "Cette action va définitivement supprimer la couche"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:357
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:365
 msgid "Delete Layer?"
-msgstr "Vraiment tout effacer ?"
+msgstr "Effacer couche ?"
 
-#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:362
+#: superset-frontend/src/views/CRUD/annotationlayers/AnnotationLayersList.tsx:370
 msgid "Are you sure you want to delete the selected layers?"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir supprimer les couches sélectionnées ?"
 
-#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:75
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:300
-#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:97
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:286
+#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:80
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:344
+#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:108
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:333
 msgid "Are you sure you want to delete"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir supprimer"
 
-#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:137
-#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:143
-#, python-format
-msgid "Last modified %s"
-msgstr "Dernière modification"
+#: superset-frontend/src/views/CRUD/chart/ChartCard.tsx:153
+#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:162
+msgid "Modified %s"
+msgstr "%s modifié"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:53
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:63
 msgid ""
 "The passwords for the databases below are needed in order to import them "
 "together with the charts. Please note that the \"Secure Extra\" and "
-"\"Certificate\" sections of the database configuration are not present in "
-"export files, and should be added manually after the import if they are "
+"\"Certificate\" sections of the database configuration are not present in"
+" export files, and should be added manually after the import if they are "
 "needed."
 msgstr ""
+"Les mots de passe pour les bases de données ci-dessous sont nécessaires "
+"pour les importer en même temps que les graphiques. Notez que "
+"les sections \"Securité Supplémentaire\" et  \"Certificat\" de la "
+"configuration de la base de données ne sont pas présents dans les fichiers "
+"d'export et doivent être ajoutés manuellement après l'import si nécessaire."
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:60
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:70
 msgid ""
-"You are importing one or more charts that already exist. Overwriting might "
-"cause you to lose some of your work. Are you sure you want to overwrite?"
+"You are importing one or more charts that already exist. Overwriting "
+"might cause you to lose some of your work. Are you sure you want to "
+"overwrite?"
 msgstr ""
+"Vous importez un ou plusieurs graphiques qui existent déjà. "
+"L'écrasement peut vous conduire à perdre une partie de votre travail. "
+"Etes-vous sûr de vouloir ce remplacement ?"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:180
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:206
 #, python-format
 msgid "There was an issue deleting the selected charts: %s"
-msgstr ""
+msgstr "Il y a eu un problème lors de la suppression des graphiques "
+"sélectionnés : %s"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:247
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:220
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:292
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:287
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:266
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:298
 msgid "Modified by"
 msgstr "Modifié"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:370
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:359
-#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:390
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:419
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:407
+#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:161
+#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:159
+msgid "Favorite"
+msgstr "Favoris"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:424
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:412
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:467
+msgid "Any"
+msgstr "Tous"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:426
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:414
+msgid "Yes"
+msgstr "Oui"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:427
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:415
+msgid "No"
+msgstr "Non"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:433
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:421
+#: superset-frontend/src/views/CRUD/data/dataset/DatasetList.tsx:396
 msgid "Owner"
 msgstr "Propriétaire"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:380
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:437
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:458
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:479
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:504
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:425
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:446
+msgid "All"
+msgstr "Tous"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:443
 #, python-format
 msgid "An error occurred while fetching chart owners values: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération des propriétaires du graphique : %s"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:401
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:464
 #, python-format
 msgid "An error occurred while fetching chart created by values: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération du graphique créé par les valeurs : %s"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:412
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:475
 msgid "Viz type"
 msgstr "Type"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:444
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:508
 #, python-format
 msgid "An error occurred while fetching chart dataset values: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération du dataset lié au graphique : %s"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:454
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:412
-#: superset-frontend/src/views/CRUD/welcome/ChartTable.tsx:133
-#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:111
-#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:136
-msgid "Favorite"
-msgstr "Favoris"
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:530
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:486
+msgid "Alphabetical"
+msgstr "Alphabétique"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:461
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:419
-msgid "Yes"
-msgstr ""
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:536
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:492
+msgid "Recently modified"
+msgstr "Dernière modification"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:462
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:420
-msgid "No"
-msgstr ""
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:542
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:498
+msgid "Least recently modified"
+msgstr "Dernière modification"
+
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:596
+msgid "Import charts"
+msgstr "Importer des graphiques"
 
-#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:551
+#: superset-frontend/src/views/CRUD/chart/ChartList.tsx:619
 msgid "Are you sure you want to delete the selected charts?"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir supprimer les graphiques sélectionnés ?"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:96
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:93
 msgid "css_template"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:236
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:233
 msgid "Edit CSS template properties"
-msgstr "Modifier les propriétés"
+msgstr "Modifier les propriétés du template CSS"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:237
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:234
 msgid "Add CSS template"
 msgstr "Templates CSS"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:246
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:243
 msgid "CSS template name"
 msgstr "Nom du template"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:258
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplateModal.tsx:255
 msgid "css"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:66
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:240
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:69
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:243
 msgid "CSS templates"
 msgstr "Templates CSS"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:115
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:118
 #, python-format
 msgid "There was an issue deleting the selected templates: %s"
-msgstr ""
+msgstr "Il y a eu un problème lors de la suppression des templates "
+"sélectionnés : %s"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:151
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:154
 #, python-format
 msgid "Last modified by %s"
-msgstr "Dernière modification"
+msgstr "Dernière modification par %s"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:249
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:252
 msgid "CSS template"
 msgstr "Templates CSS"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:313
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:316
 msgid "This action will permanently delete the template."
-msgstr ""
+msgstr "Cette acion supprimera définitvement le template."
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:321
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:324
 msgid "Delete Template?"
-msgstr "Templates CSS"
+msgstr "Supprimer template ?"
 
-#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:326
+#: superset-frontend/src/views/CRUD/csstemplates/CssTemplatesList.tsx:329
 msgid "Are you sure you want to delete the selected templates?"
-msgstr ""
+msgstr "Etes-vous sûr de vouloir supprimer les templates sélectionnés ?"
+
+#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:151
+msgid "published"
+msgstr "publié"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:50
+#: superset-frontend/src/views/CRUD/dashboard/DashboardCard.tsx:151
+msgid "draft"
+msgstr "brouillon"
+
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:55
 msgid ""
 "The passwords for the databases below are needed in order to import them "
 "together with the dashboards. Please note that the \"Secure Extra\" and "
-"\"Certificate\" sections of the database configuration are not present in "
-"export files, and should be added manually after the import if they are "
+"\"Certificate\" sections of the database configuration are not present in"
+" export files, and should be added manually after the import if they are "
 "needed."
 msgstr ""
+"Les mots de passe pour les bases de données ci-dessous sont nécessaires "
+"pour les importer en même temps que les tableaux de bord. Notez que "
+"les sections \"Securité Supplémentaire\" et  \"Certificat\" de la "
+"configuration de la base de données ne sont pas présents dans les fichiers "
+"d'export et doivent être ajoutés manuellement après l'import si nécessaire."
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:57
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:62
 msgid ""
 "You are importing one or more dashboards that already exist. Overwriting "
 "might cause you to lose some of your work. Are you sure you want to "
 "overwrite?"
 msgstr ""
+"Vous importez un ou plusieurs tableaux de bord qui existent déjà. "
+"L'écrasement peut vous conduire à perdre une partie de votre travail. "
+"Etes-vous sûr de vouloir ce remplacement ?"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:159
-#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:85
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:192
+#: superset-frontend/src/views/CRUD/welcome/DashboardTable.tsx:127
 #, python-format
 msgid "An error occurred while fetching dashboards: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération des tableaux de bord : %s"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:176
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:218
 msgid "There was an issue deleting the selected dashboards: "
 msgstr "Désolé, la sauvegarde de Tableau de Bord a subi une erreur :"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:369
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:431
 #, python-format
 msgid "An error occurred while fetching dashboard owner values: %s"
-msgstr "Une erreur s'est produite durant la création de la source de donnée"
+msgstr "Une erreur s'est produite durant la récupération des "
+"propriétaires du tableau de bord : %s"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:390
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:452
 #, python-format
 msgid "An error occurred while fetching dashboard created by values: %s"
 msgstr ""
-"Une erreur s'est produite lors de l'extraction des méta-données de la table"
-
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:408
-msgid "Unpublished"
-msgstr ""
+"Une erreur s'est produite lors de la récupération du tableau de bord"
+" créé avec les valeurs : %s"
 
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:502
+#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:568
 msgid "Are you sure you want to delete the selected dashboards?"
-msgstr ""
-
-#: superset-frontend/src/views/CRUD/data/components/SyntaxHighlighterCopy/index.tsx:68
-#: superset-frontend/src/views/CRUD/data/savedquery/SavedQueryList.tsx:165
-msgid "Sorry, your browser does not support copying."
-msgstr ""
-"Désolé, votre navigateur ne doit pas supporter la copie. Utiliser Ctrl/Cmd + "
-"C!"
+msgstr "Etes-vous sûr de vouloir supprimer les tableaux de bord "
+"sélectionné ?"
 
-#: superset-frontend/src/views/CRUD/data/components/SyntaxHighlighterCopy/index.tsx:73
+#: superset-frontend/src/views/CRUD/data/components/SyntaxHighlighterCopy/index.tsx:71
 msgid "SQL Copied!"
-msgstr "Copié!"
+msgstr "SQL Copié !"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:37
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:39
 msgid ""
-"The passwords for the databases below are needed in order to import them. "
-"Please note that the \"Secure Extra\" and \"Certificate\" sections of the "
-"database configuration are not present in export files, and should be added "
-"manually after the import if they are needed."
+"The passwords for the databases below are needed in order to import them."
+" Please note that the \"Secure Extra\" and \"Certificate\" sections of "
+"the database configuration are not present in export files, and should be"
+" added manually after the import if they are needed."
 msgstr ""
+"Les mots de passe pour les bases de données ci-dessous sont nécessaires "
+"pour les importer. Notez que les sections \"Securité Supplémentaire\" et "
+"\"Certificat\" de la configuration de la base de données ne sont pas "
+"présents dans les fichiers d'export et doivent être ajoutés manuellement "
+"après l'import si nécessaire."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:43
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:45
 msgid ""
 "You are importing one or more databases that already exist. Overwriting "
 "might cause you to lose some of your work. Are you sure you want to "
 "overwrite?"
 msgstr ""
+"Vous importez une ou plusieurs bases de données qui existent déjà. "
+"L'écrasement peut vous conduire à perdre une partie de votre travail. "
+"Etes-vous sûr de vouloir ce remplacement ?"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:78
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:441
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:149
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:88
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:470
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx:483
 msgid "database"
 msgstr "Base de données"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:118
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:129
 #, python-format
 msgid "An error occurred while fetching database related data: %s"
 msgstr ""
-"Une erreur s'est produite lors de l'extraction des méta-données de la table"
+"Une erreur s'est produite lors de la récupération des données de la "
+"base :  %s"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:195
+msgid "Import databases"
+msgstr "Importer la base de données"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:210
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:372
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:443
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:236
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:401
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:285
 msgid "Asynchronous query execution"
-msgstr ""
+msgstr "Exécution de requête asynchrone"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:213
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:375
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:239
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:404
 msgid "AQE"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:228
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:256
 msgid "Allow data manipulation language"
-msgstr ""
+msgstr "Autoriser DML"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:231
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:259
 msgid "DML"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:243
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:271
 msgid "CSV upload"
-msgstr ""
+msgstr "Charger un CSV"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:303
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:332
 msgid "Delete database"
-msgstr "Sélectionner une base de donnée"
+msgstr "Supprimer une base de données"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:410
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:439
 #, python-format
 msgid ""
-"The database %s is linked to %s charts that appear on %s dashboards. Are you "
-"sure you want to continue? Deleting the database will break those objects."
-msgstr ""
+"The database %s is linked to %s charts that appear on %s dashboards. Are "
+"you sure you want to continue? Deleting the database will break those "
+"objects."
+msgstr "La base de données %s est liér à %s graphiques qui apparaissent "
+"sur %s tableaux de bord. Etes-vous sûr de vouloir continuer ? Supprimer "
+"la base de données cassera ces objets."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:423
+#: superset-frontend/src/views/CRUD/data/database/DatabaseList.tsx:452
 msgid "Delete Database?"
-msgstr "Sélectionner une base de donnée"
+msgstr "Supprimer la base de données ?"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:156
-msgid "Please enter a SQLAlchemy URI to test"
-msgstr "Veuillez entrer un nom de slice"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:96
+msgid "How do you want to enter service account credentials?"
+msgstr "Comment voulez-vous entrer les informations de connexion du "
+"compte de service ?"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:176
-msgid "Connection looks good!"
-msgstr ""
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:104
+msgid "Upload JSON file"
+msgstr "Charger un fichier JSON"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:189
-msgid "ERROR: Connection failed. "
-msgstr ""
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:108
+msgid "Copy and Paste JSON credentials"
+msgstr "Copier et coller les informations de connexion JSON"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:307
-#, python-format
-msgid "Sorry there was an error fetching database information: %s"
-msgstr ""
-"Désolé, une erreur s'est produite lors de l'extraction des graphiques de ce "
-"Tableau de Bord :"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:117
+msgid "Service Account"
+msgstr "Compte de service"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:349
-msgid "Edit database"
-msgstr "Éditer la base de données"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:126
+msgid "Copy and paste the entire service account .json file here"
+msgstr "Copier et coller ici le fichier de service .json en entier"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:349
-msgid "Add database"
-msgstr "Ajouter une base de données"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:135
+msgid "Upload Credentials"
+msgstr "Charger les informations de connexion"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:361
-msgid "Connection"
-msgstr "Test de connexion"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:137
+msgid ""
+"Use the JSON file you automatically downloaded when creating your service"
+" account in Google BigQuery."
+msgstr "Utiliser le fichier JSON que vous avez téléchargé automatiquement "
+"lors de la création de votre compte de service dans Google BigQuery."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:369
-msgid "Database name"
-msgstr "Nom source de donnée"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:210
+msgid "Type of Google Sheets Allowed"
+msgstr "Type de feuilles Google Sheet autorisées"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:377
-msgid "Name your dataset"
-msgstr ""
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:213
+msgid "Publicly shared sheets only"
+msgstr "Seulement les feuilles paratagées publiques"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:393
-msgid "dialect+driver://username:password@host:port/database"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:218
+msgid "Connect Google Sheets as tables to this database"
+msgstr "Connecter à cette base de données les feuilles Google Sheet comme "
+"des tables"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:224
+msgid "Google Sheet Name and URL"
+msgstr "Nom et URL de la feuille Google Sheet"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:229
+msgid "Enter a name for this sheet"
+msgstr "Entrée un nom pour cette feuille"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:254
+msgid "Paste the shareable Google Sheet URL here"
+msgstr "Coller ici l'URL partageable de Google Sheet"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:274
+msgid "Add sheet"
+msgstr "Ajouter une feuille"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:294
+msgid ""
+"This can be either an IP address (e.g. 127.0.0.1) or a domain name (e.g. "
+"mydatabase.com)."
 msgstr ""
+"Cela peut être soit une adresse IP (ex 127.0.0.1)  ou un nom de domaine (ex "
+"mydatabase.com)."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:399
-msgid "Test connection"
-msgstr "Test de connexion"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:345
+msgid "Copy the name of the  database you are trying to connect to."
+msgstr "Copier le nom de la base de données à laquelle vous essayez de "
+"vous connecter."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:403
-msgid "Refer to the "
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:403
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/SqlAlchemyForm.tsx:42
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:405
+msgid "Pick a nickname for this database to display as in Superset."
+msgstr "Choisissez un alias pour l'affichage de cette base de données "
+"dans Superset."
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:429
+msgid "Add additional custom parameters"
+msgstr "Ajouter des paramètres personnalisés supplémentaires"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/DatabaseConnectionForm.tsx:456
+msgid "SSL Mode \"require\" will be used."
+msgstr "Le mode SSL \"require\" sera utilisé."
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:76
+msgid "Expose database in SQL Lab"
+msgstr "Exposer la base de données dans SQL Lab"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:79
+msgid "Allow this database to be queried in SQL Lab"
+msgstr "Autoriser cette base de données à être requêtées dans SQL Lab"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:98
+msgid "Allow creation of new tables based on queries"
+msgstr "Autoriser la création de nouvelles tables basées sur des requêtes"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:112
+msgid "Allow creation of new views based on queries"
+msgstr "Autoriser la création de nouvelles vues basées sur des requêtes"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:118
+msgid "CTAS & CVAS SCHEMA"
 msgstr ""
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:409
-msgid "SQLAlchemy docs"
-msgstr "URI SQLAlchemy"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:124
+msgid "Create or select schema..."
+msgstr "Créer ou sélectionner schéma ..."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:411
-msgid " for more information on how to structure your URI."
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:129
+msgid ""
+"Force all tables and views to be created in this schema when clicking "
+"CTAS or CVAS in SQL Lab."
 msgstr ""
+"Force la création des tables et des vues dans ce schéma quand on cliquer sur "
+"CTAS or CVAS dans SQL Lab."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:415
-msgid "Performance"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:145
+msgid ""
+"Allow manipulation of the database using non-SELECT statements such as "
+"UPDATE, DELETE, CREATE, etc."
 msgstr ""
+"Permettre la manipulation de la base de données en utilisant des instructions"
+"non SELECT comme UPDATE, DELETE, CREATE, etc."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:417
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:423
-msgid "Chart cache timeout"
-msgstr "Cache timeout"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:176
+msgid "Enable query cost estimation"
+msgstr "Activer l'estimation du coût de la requête"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:445
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:179
 msgid ""
-"Operate the database in asynchronous mode, meaning that the queries are "
-"executed on remote workers as opposed to on the web server itself. This "
-"assumes that you have a Celery worker setup as well as a results backend. "
-"Refer to the installation docs for more information."
+"For Presto and Postgres, shows a button to compute cost before running a "
+"query."
 msgstr ""
+"Pour Presto et Postgres, affiche un bouton pour calculer le coût avant "
+"d'exécuter une requête."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:455
-msgid "SQL Lab settings"
-msgstr "Vue SQL Lab"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:192
+msgid "Allow this database to be explored"
+msgstr "Autoriser cette base de données à être explorée"
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:507
-msgid "Allow users to run non-SELECT statements (UPDATE, DELETE, CREATE, ...)"
-msgstr ""
-"Autorise les utilisateurs à lancer des expression non-SELECT (UPDATE, "
-"DELETE, CREATE, etc.) dans SQL Lab"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:195
+msgid "When enabled, users are able to visualize SQL Lab results in Explore."
+msgstr "Quand activé, les utilisateurs peuvent visualiser les résulats de "
+"SQL Lab dans Explorer."
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:216
+msgid "Chart cache timeout"
+msgstr "Timeout du cache du graphique"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:222
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:244
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:266
+msgid "Enter duration in seconds"
+msgstr "Entrer la durée en secondes"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:235
+msgid "Schema cache timeout"
+msgstr "Timeout du cache de schéma"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:250
+msgid ""
+"Duration (in seconds) of the metadata caching timeout for schemas of this"
+" database. If left unset, the cache never expires."
+msgstr "Durée (en seconds) du délai de mise en cache pour les schémas de "
+"base de données. Si vide, le cache n'expire jamais."
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:257
+msgid "Table cache timeout"
+msgstr "Timeout du cache de table"
+
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:272
+msgid ""
+"Duration (in seconds) of the metadata caching timeout for tables of this "
+"database. If left unset, the cache never expires. "
+msgstr "Durée (en secondes) du délai de mise en cache pour les métadonnées "
+"des tables de cette base de données. Si vide, le cache n'expire jamais."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:521
-msgid "Allow multi schema metadata fetch"
+#: superset-frontend/src/views/CRUD/data/database/DatabaseModal/ExtraOptions.tsx:288
+msgid ""
+"Operate the database in asynchronous mode, meaning that the queries are "
+"executed on remote workers as opposed to on the web server itself. This "
+"assumes that you have a Celery worker setup as well as a results backend."
+" Refer to the installation docs for more information."
 msgstr ""
+"Faire fonctionner la base de données en mode asynhrone, c'est-à-dire que "

Review comment:
       ```suggestion
   "Faire fonctionner la base de données en mode asynchrone, c'est-à-dire que "
   ```

##########
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."

Review comment:
       ```suggestion
   msgstr "Les graphiques n'ont pas pu être supprimés."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2127 superset/viz_sip38.py:2048
+#: superset/viz.py:2242
 msgid "Must have a [Group By] column to have 'count' as the [Label]"
 msgstr "Il faut une colonne [Grouper par] pour avoir 'count' comme [Label]"
 
-#: superset/viz.py:2147 superset/viz_sip38.py:2068
+#: superset/viz.py:2266
 msgid "Choice of [Label] must be present in [Group By]"
 msgstr "Le [Label] choisi doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2155 superset/viz_sip38.py:2075
+#: superset/viz.py:2274
 msgid "Choice of [Point Radius] must be present in [Group By]"
 msgstr "Le [Point Radius] doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2163 superset/viz_sip38.py:2082
+#: superset/viz.py:2282
 msgid "[Longitude] and [Latitude] columns must be present in [Group By]"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2243 superset/viz_sip38.py:2162
+#: superset/viz.py:2362
 msgid "Deck.gl - Multiple Layers"
 msgstr "Deck.gl - Couches Multiples"
 
-#: superset/viz.py:2283 superset/viz.py:2315 superset/viz_sip38.py:2218
+#: superset/viz.py:2402 superset/viz.py:2434
 msgid "Bad spatial key"
 msgstr "Mauvaise clef spatiale"
 
-#: superset/viz.py:2301 superset/viz_sip38.py:2204
+#: superset/viz.py:2420
 #, python-format
 msgid "Invalid spatial point encountered: %s"
-msgstr ""
+msgstr "Point géographique invalide : %s"
 
-#: superset/viz.py:2337 superset/viz_sip38.py:2240
+#: superset/viz.py:2456
 msgid ""
-"Encountered invalid NULL spatial "
-"entry,                                        please consider filtering "
-"those out"
+"Encountered invalid NULL spatial entry,"
+"                                        please consider filtering those "
+"out"
 msgstr ""
+"Entrée spatiale NULL rencontrée,"
+"                                        veuillez les filtrer"
 
-#: superset/viz.py:2427 superset/viz_sip38.py:2311
+#: superset/viz.py:2552
 msgid "Deck.gl - Scatter plot"
 msgstr "Deck.gl - Nuage de points"
 
-#: superset/viz.py:2476 superset/viz_sip38.py:2358
+#: superset/viz.py:2601
 msgid "Deck.gl - Screen Grid"
 msgstr "Deck.gl - Grille d'écran"
 
-#: superset/viz.py:2502 superset/viz_sip38.py:2384
+#: superset/viz.py:2627
 msgid "Deck.gl - 3D Grid"
 msgstr "Deck.gl - Grille 3D"
 
-#: superset/viz.py:2532 superset/viz_sip38.py:2411
+#: superset/viz.py:2657
 msgid "Deck.gl - Paths"
 msgstr "Deck.gl - Chemins"
 
-#: superset/viz.py:2580 superset/viz_sip38.py:2456
+#: superset/viz.py:2705
 msgid "Deck.gl - Polygon"
 msgstr "Deck.gl - Polygone"
 
-#: superset/viz.py:2609 superset/viz_sip38.py:2485
+#: superset/viz.py:2734
 msgid "Deck.gl - 3D HEX"
 msgstr "Deck.gl - 3D HEX"
 
-#: superset/viz.py:2628 superset/viz_sip38.py:2501
+#: superset/viz.py:2753
 msgid "Deck.gl - GeoJSON"
 msgstr "Deck.gl - GeoJSON"
 
-#: superset/viz.py:2647 superset/viz_sip38.py:2513
+#: superset/viz.py:2772
 msgid "Deck.gl - Arc"
 msgstr "Deck.gl - Arc"
 
-#: superset/viz.py:2682 superset/viz_sip38.py:2548
+#: superset/viz.py:2807
 msgid "Event flow"
 msgstr "Flot d'événements"
 
-#: superset/viz.py:2714 superset/viz_sip38.py:2580
+#: superset/viz.py:2839
 msgid "Time Series - Paired t-test"
 msgstr "Séries temporelles - Paired t-test"
 
-#: superset/viz.py:2769 superset/viz_sip38.py:2635
+#: superset/viz.py:2906
 msgid "Time Series - Nightingale Rose Chart"
 msgstr "Séries temporelles - Graphique Nightingale Rose"
 
-#: superset/viz.py:2804 superset/viz_sip38.py:2670
+#: superset/viz.py:2941
 msgid "Partition Diagram"
 msgstr "Diagramme de Partition"
 
-#: superset/viz_sip38.py:623
-msgid ""
-"Choose either fields to [Group By] and [Metrics] and/or [Percentage "
-"Metrics], or [Columns], not both"
-msgstr ""
-"Choisissez soit des champs dans [Grouper par] et [Métriques] ou dans "
-"[Colonnes], pas les deux"
-
-#: superset/viz_sip38.py:943
-msgid "Box Plot"
-msgstr "Boites à moustaches"
-
-#: superset/viz_sip38.py:1524
-msgid "Distribution - NVD3 - Pie Chart"
-msgstr "Distribution - camembert"
-
-#: superset/viz_sip38.py:1929
-msgid "iFrame"
-msgstr "iFrame"
-
-#: superset/annotation_layers/api.py:346
+#: superset/annotation_layers/api.py:353
 #, python-format
 msgid "Deleted %(num)d annotation layer"
 msgid_plural "Deleted %(num)d annotation layers"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d couche d'annotations supprimée"
+msgstr[1] "%(num)d couches d'annotations supprimées"
 
 #: superset/annotation_layers/annotations/filters.py:28
 #: superset/annotation_layers/filters.py:30 superset/charts/filters.py:31
 #: superset/css_templates/filters.py:28
 #: superset/queries/saved_queries/filters.py:31 superset/reports/filters.py:28
 msgid "All Text"
-msgstr ""
+msgstr "Tout texte"
 
-#: superset/annotation_layers/annotations/api.py:493
+#: superset/annotation_layers/annotations/api.py:502
 #, python-format
 msgid "Deleted %(num)d annotation"
 msgid_plural "Deleted %(num)d annotations"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d annotation supprimée"
+msgstr[1] "%(num)d annotations supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:35
 msgid "End date must be after start date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "Date de début ne peut être postérieure à Date de fin"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:46
 msgid "Short description must be unique for this layer"
-msgstr ""
+msgstr "La description courte doitêtre unique pour cette couche"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:52
 msgid "Annotations could not be deleted."
-msgstr ""
+msgstr "Laes annotations n'ont pas pu être supprimées"

Review comment:
       ```suggestion
   msgstr "Les annotations n'ont pas pu être supprimées."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""

Review comment:
       ```suggestion
   msgstr "Configuration du filtre invalide, veuillez sélectionner une colonne."
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Mot de passe du Broker"
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Éditer la source de données Druid"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."

Review comment:
       ```suggestion
   msgstr "La base de données exécute actuellement trop de requêtes."
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "

Review comment:
       ```suggestion
   "Le CVAS (create view as select) ne peut être exécuté qu'avec une requête contenant une seule instruction SELECT. "
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "La base de données n'a pas retourné toutes les colonnes demandées"
   ```

##########
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,"

Review comment:
       ```suggestion
   msgstr "Il y a des alertes ou des rapports associés : %s,"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"

Review comment:
       ```suggestion
   msgstr "Carte proportionnelle"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "

Review comment:
       Columns, Group By, Metrics and Percentage Metrics seem translated in other messages ?

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 

Review comment:
       ```suggestion
   "Une période délimitée (à la fois début et fin) doit être spécifiée quand on " 
   ```

##########
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 "

Review comment:
       ```suggestion
   msgstr "Le type de source de données est requis quand datasource_id est "
   ```

##########
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 [{}]"

Review comment:
       ```suggestion
   msgstr "Rafraîchissement de la source de données [{}]"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "

Review comment:
       ```suggestion
   "Les colonnes [Longitude] et [Latitude] doivent êtres définies"
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Le graphique n'existe pas"
   ```

##########
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 ""

Review comment:
       ```suggestion
   msgstr "Il y a des alertes ou des rapports associé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 [{}]"

Review comment:
       ```suggestion
   msgstr "Ajout d'une nouvelle source de données [{}]"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2127 superset/viz_sip38.py:2048
+#: superset/viz.py:2242
 msgid "Must have a [Group By] column to have 'count' as the [Label]"
 msgstr "Il faut une colonne [Grouper par] pour avoir 'count' comme [Label]"
 
-#: superset/viz.py:2147 superset/viz_sip38.py:2068
+#: superset/viz.py:2266
 msgid "Choice of [Label] must be present in [Group By]"
 msgstr "Le [Label] choisi doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2155 superset/viz_sip38.py:2075
+#: superset/viz.py:2274
 msgid "Choice of [Point Radius] must be present in [Group By]"
 msgstr "Le [Point Radius] doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2163 superset/viz_sip38.py:2082
+#: superset/viz.py:2282
 msgid "[Longitude] and [Latitude] columns must be present in [Group By]"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2243 superset/viz_sip38.py:2162
+#: superset/viz.py:2362
 msgid "Deck.gl - Multiple Layers"
 msgstr "Deck.gl - Couches Multiples"
 
-#: superset/viz.py:2283 superset/viz.py:2315 superset/viz_sip38.py:2218
+#: superset/viz.py:2402 superset/viz.py:2434
 msgid "Bad spatial key"
 msgstr "Mauvaise clef spatiale"
 
-#: superset/viz.py:2301 superset/viz_sip38.py:2204
+#: superset/viz.py:2420
 #, python-format
 msgid "Invalid spatial point encountered: %s"
-msgstr ""
+msgstr "Point géographique invalide : %s"
 
-#: superset/viz.py:2337 superset/viz_sip38.py:2240
+#: superset/viz.py:2456
 msgid ""
-"Encountered invalid NULL spatial "
-"entry,                                        please consider filtering "
-"those out"
+"Encountered invalid NULL spatial entry,"
+"                                        please consider filtering those "
+"out"
 msgstr ""
+"Entrée spatiale NULL rencontrée,"
+"                                        veuillez les filtrer"
 
-#: superset/viz.py:2427 superset/viz_sip38.py:2311
+#: superset/viz.py:2552
 msgid "Deck.gl - Scatter plot"
 msgstr "Deck.gl - Nuage de points"
 
-#: superset/viz.py:2476 superset/viz_sip38.py:2358
+#: superset/viz.py:2601
 msgid "Deck.gl - Screen Grid"
 msgstr "Deck.gl - Grille d'écran"
 
-#: superset/viz.py:2502 superset/viz_sip38.py:2384
+#: superset/viz.py:2627
 msgid "Deck.gl - 3D Grid"
 msgstr "Deck.gl - Grille 3D"
 
-#: superset/viz.py:2532 superset/viz_sip38.py:2411
+#: superset/viz.py:2657
 msgid "Deck.gl - Paths"
 msgstr "Deck.gl - Chemins"
 
-#: superset/viz.py:2580 superset/viz_sip38.py:2456
+#: superset/viz.py:2705
 msgid "Deck.gl - Polygon"
 msgstr "Deck.gl - Polygone"
 
-#: superset/viz.py:2609 superset/viz_sip38.py:2485
+#: superset/viz.py:2734
 msgid "Deck.gl - 3D HEX"
 msgstr "Deck.gl - 3D HEX"
 
-#: superset/viz.py:2628 superset/viz_sip38.py:2501
+#: superset/viz.py:2753
 msgid "Deck.gl - GeoJSON"
 msgstr "Deck.gl - GeoJSON"
 
-#: superset/viz.py:2647 superset/viz_sip38.py:2513
+#: superset/viz.py:2772
 msgid "Deck.gl - Arc"
 msgstr "Deck.gl - Arc"
 
-#: superset/viz.py:2682 superset/viz_sip38.py:2548
+#: superset/viz.py:2807
 msgid "Event flow"
 msgstr "Flot d'événements"
 
-#: superset/viz.py:2714 superset/viz_sip38.py:2580
+#: superset/viz.py:2839
 msgid "Time Series - Paired t-test"
 msgstr "Séries temporelles - Paired t-test"
 
-#: superset/viz.py:2769 superset/viz_sip38.py:2635
+#: superset/viz.py:2906
 msgid "Time Series - Nightingale Rose Chart"
 msgstr "Séries temporelles - Graphique Nightingale Rose"
 
-#: superset/viz.py:2804 superset/viz_sip38.py:2670
+#: superset/viz.py:2941
 msgid "Partition Diagram"
 msgstr "Diagramme de Partition"
 
-#: superset/viz_sip38.py:623
-msgid ""
-"Choose either fields to [Group By] and [Metrics] and/or [Percentage "
-"Metrics], or [Columns], not both"
-msgstr ""
-"Choisissez soit des champs dans [Grouper par] et [Métriques] ou dans "
-"[Colonnes], pas les deux"
-
-#: superset/viz_sip38.py:943
-msgid "Box Plot"
-msgstr "Boites à moustaches"
-
-#: superset/viz_sip38.py:1524
-msgid "Distribution - NVD3 - Pie Chart"
-msgstr "Distribution - camembert"
-
-#: superset/viz_sip38.py:1929
-msgid "iFrame"
-msgstr "iFrame"
-
-#: superset/annotation_layers/api.py:346
+#: superset/annotation_layers/api.py:353
 #, python-format
 msgid "Deleted %(num)d annotation layer"
 msgid_plural "Deleted %(num)d annotation layers"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d couche d'annotations supprimée"
+msgstr[1] "%(num)d couches d'annotations supprimées"
 
 #: superset/annotation_layers/annotations/filters.py:28
 #: superset/annotation_layers/filters.py:30 superset/charts/filters.py:31
 #: superset/css_templates/filters.py:28
 #: superset/queries/saved_queries/filters.py:31 superset/reports/filters.py:28
 msgid "All Text"
-msgstr ""
+msgstr "Tout texte"
 
-#: superset/annotation_layers/annotations/api.py:493
+#: superset/annotation_layers/annotations/api.py:502
 #, python-format
 msgid "Deleted %(num)d annotation"
 msgid_plural "Deleted %(num)d annotations"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d annotation supprimée"
+msgstr[1] "%(num)d annotations supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:35
 msgid "End date must be after start date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "Date de début ne peut être postérieure à Date de fin"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:46
 msgid "Short description must be unique for this layer"
-msgstr ""
+msgstr "La description courte doitêtre unique pour cette couche"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:52
 msgid "Annotations could not be deleted."
-msgstr ""
+msgstr "Laes annotations n'ont pas pu être supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:56
 msgid "Annotation not found."
-msgstr "Annotations"
+msgstr "Annotation non trouvée"

Review comment:
       ```suggestion
   msgstr "Annotation non trouvée."
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "La propriété `operation` de l'objet de post-traitement est indéfinie"
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Éditer un cluster Druid"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"

Review comment:
       ```suggestion
   ```

##########
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"

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

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2127 superset/viz_sip38.py:2048
+#: superset/viz.py:2242
 msgid "Must have a [Group By] column to have 'count' as the [Label]"
 msgstr "Il faut une colonne [Grouper par] pour avoir 'count' comme [Label]"
 
-#: superset/viz.py:2147 superset/viz_sip38.py:2068
+#: superset/viz.py:2266
 msgid "Choice of [Label] must be present in [Group By]"
 msgstr "Le [Label] choisi doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2155 superset/viz_sip38.py:2075
+#: superset/viz.py:2274
 msgid "Choice of [Point Radius] must be present in [Group By]"
 msgstr "Le [Point Radius] doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2163 superset/viz_sip38.py:2082
+#: superset/viz.py:2282
 msgid "[Longitude] and [Latitude] columns must be present in [Group By]"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2243 superset/viz_sip38.py:2162
+#: superset/viz.py:2362
 msgid "Deck.gl - Multiple Layers"
 msgstr "Deck.gl - Couches Multiples"
 
-#: superset/viz.py:2283 superset/viz.py:2315 superset/viz_sip38.py:2218
+#: superset/viz.py:2402 superset/viz.py:2434
 msgid "Bad spatial key"
 msgstr "Mauvaise clef spatiale"
 
-#: superset/viz.py:2301 superset/viz_sip38.py:2204
+#: superset/viz.py:2420
 #, python-format
 msgid "Invalid spatial point encountered: %s"
-msgstr ""
+msgstr "Point géographique invalide : %s"
 
-#: superset/viz.py:2337 superset/viz_sip38.py:2240
+#: superset/viz.py:2456
 msgid ""
-"Encountered invalid NULL spatial "
-"entry,                                        please consider filtering "
-"those out"
+"Encountered invalid NULL spatial entry,"
+"                                        please consider filtering those "
+"out"
 msgstr ""
+"Entrée spatiale NULL rencontrée,"
+"                                        veuillez les filtrer"
 
-#: superset/viz.py:2427 superset/viz_sip38.py:2311
+#: superset/viz.py:2552
 msgid "Deck.gl - Scatter plot"
 msgstr "Deck.gl - Nuage de points"
 
-#: superset/viz.py:2476 superset/viz_sip38.py:2358
+#: superset/viz.py:2601
 msgid "Deck.gl - Screen Grid"
 msgstr "Deck.gl - Grille d'écran"
 
-#: superset/viz.py:2502 superset/viz_sip38.py:2384
+#: superset/viz.py:2627
 msgid "Deck.gl - 3D Grid"
 msgstr "Deck.gl - Grille 3D"
 
-#: superset/viz.py:2532 superset/viz_sip38.py:2411
+#: superset/viz.py:2657
 msgid "Deck.gl - Paths"
 msgstr "Deck.gl - Chemins"
 
-#: superset/viz.py:2580 superset/viz_sip38.py:2456
+#: superset/viz.py:2705
 msgid "Deck.gl - Polygon"
 msgstr "Deck.gl - Polygone"
 
-#: superset/viz.py:2609 superset/viz_sip38.py:2485
+#: superset/viz.py:2734
 msgid "Deck.gl - 3D HEX"
 msgstr "Deck.gl - 3D HEX"
 
-#: superset/viz.py:2628 superset/viz_sip38.py:2501
+#: superset/viz.py:2753
 msgid "Deck.gl - GeoJSON"
 msgstr "Deck.gl - GeoJSON"
 
-#: superset/viz.py:2647 superset/viz_sip38.py:2513
+#: superset/viz.py:2772
 msgid "Deck.gl - Arc"
 msgstr "Deck.gl - Arc"
 
-#: superset/viz.py:2682 superset/viz_sip38.py:2548
+#: superset/viz.py:2807
 msgid "Event flow"
 msgstr "Flot d'événements"
 
-#: superset/viz.py:2714 superset/viz_sip38.py:2580
+#: superset/viz.py:2839
 msgid "Time Series - Paired t-test"
 msgstr "Séries temporelles - Paired t-test"
 
-#: superset/viz.py:2769 superset/viz_sip38.py:2635
+#: superset/viz.py:2906
 msgid "Time Series - Nightingale Rose Chart"
 msgstr "Séries temporelles - Graphique Nightingale Rose"
 
-#: superset/viz.py:2804 superset/viz_sip38.py:2670
+#: superset/viz.py:2941
 msgid "Partition Diagram"
 msgstr "Diagramme de Partition"
 
-#: superset/viz_sip38.py:623
-msgid ""
-"Choose either fields to [Group By] and [Metrics] and/or [Percentage "
-"Metrics], or [Columns], not both"
-msgstr ""
-"Choisissez soit des champs dans [Grouper par] et [Métriques] ou dans "
-"[Colonnes], pas les deux"
-
-#: superset/viz_sip38.py:943
-msgid "Box Plot"
-msgstr "Boites à moustaches"
-
-#: superset/viz_sip38.py:1524
-msgid "Distribution - NVD3 - Pie Chart"
-msgstr "Distribution - camembert"
-
-#: superset/viz_sip38.py:1929
-msgid "iFrame"
-msgstr "iFrame"
-
-#: superset/annotation_layers/api.py:346
+#: superset/annotation_layers/api.py:353
 #, python-format
 msgid "Deleted %(num)d annotation layer"
 msgid_plural "Deleted %(num)d annotation layers"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d couche d'annotations supprimée"
+msgstr[1] "%(num)d couches d'annotations supprimées"
 
 #: superset/annotation_layers/annotations/filters.py:28
 #: superset/annotation_layers/filters.py:30 superset/charts/filters.py:31
 #: superset/css_templates/filters.py:28
 #: superset/queries/saved_queries/filters.py:31 superset/reports/filters.py:28
 msgid "All Text"
-msgstr ""
+msgstr "Tout texte"
 
-#: superset/annotation_layers/annotations/api.py:493
+#: superset/annotation_layers/annotations/api.py:502
 #, python-format
 msgid "Deleted %(num)d annotation"
 msgid_plural "Deleted %(num)d annotations"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d annotation supprimée"
+msgstr[1] "%(num)d annotations supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:35
 msgid "End date must be after start date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "Date de début ne peut être postérieure à Date de fin"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:46
 msgid "Short description must be unique for this layer"
-msgstr ""
+msgstr "La description courte doitêtre unique pour cette couche"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:52
 msgid "Annotations could not be deleted."
-msgstr ""
+msgstr "Laes annotations n'ont pas pu être supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:56
 msgid "Annotation not found."
-msgstr "Annotations"
+msgstr "Annotation non trouvée"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:60
 msgid "Annotation parameters are invalid."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "Les paramètres d'annotation sont invalides."
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:64
 msgid "Annotation could not be created."
-msgstr ""
+msgstr "L'annotation n'a pas pu être créée."
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:68
 msgid "Annotation could not be updated."
-msgstr ""
+msgstr "L'annotation n'a pas pu être mise à jour."
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:72
 msgid "Annotation delete failed."
-msgstr "Annotations et couches"
+msgstr "La suppression de l'annotation a échoué."
 
 #: superset/annotation_layers/commands/exceptions.py:29
 msgid "Annotation layer parameters are invalid."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "Les paramètres de la couche d'annotations sont invalides."
 
 #: superset/annotation_layers/commands/exceptions.py:33
 msgid "Annotation layer could not be deleted."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "La couche d'annotations n'a pas pu être supprimée."
 
 #: superset/annotation_layers/commands/exceptions.py:37
 msgid "Annotation layer could not be created."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La couche d'annotations n'a pas pu être créée."
 
 #: superset/annotation_layers/commands/exceptions.py:41
 msgid "Annotation layer could not be updated."
-msgstr "Votre requête peut ne pas être enregistrée"
+msgstr "La couche d'annotations n'a pas pu être mise à jour."
 
 #: superset/annotation_layers/commands/exceptions.py:45
 msgid "Annotation layer not found."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "Couche d'annotations non trouvée."
 
 #: superset/annotation_layers/commands/exceptions.py:49
 msgid "Annotation layer delete failed."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "La suppression de la couche d'annotations a échoué."
 
 #: superset/annotation_layers/commands/exceptions.py:53
 #: superset/annotation_layers/commands/exceptions.py:57
 msgid "Annotation layer has associated annotations."
-msgstr "Les couches d'annotation sont toujours en cours de chargement."
+msgstr "Les couches d'annotations a des annotations associées."

Review comment:
       ```suggestion
   msgstr "La couche d'annotations a des annotations associées."
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Afficher le cluster Druid"
   ```

##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "
+"By]/[Metrics]/[Percentage Metrics]. Veuillez choisir l'un ou l'autre."
 
-#: superset/viz.py:713 superset/viz_sip38.py:611
+#: superset/viz.py:706
 msgid "Pick a granularity in the Time section or uncheck 'Include Time'"
-msgstr "Choississez une granularité dans Time ou décochez 'Include Time'"
+msgstr "Choississez une granularité dans la section Temps ou décochez "
+"'Inclure le temps'"
 
-#: superset/viz.py:786 superset/viz_sip38.py:713
+#: superset/viz.py:779
 msgid "Time Table View"
-msgstr "Vue de la table Time"
+msgstr "Vue de la table temporelle"
 
-#: superset/viz.py:795 superset/viz.py:1648 superset/viz_sip38.py:722
-#: superset/viz_sip38.py:1605
+#: superset/viz.py:788 superset/viz.py:1734
 msgid "Pick at least one metric"
 msgstr "Choisissez au moins une métrique"
 
-#: superset/viz.py:799 superset/viz_sip38.py:726
+#: superset/viz.py:792
 msgid "When using 'Group By' you are limited to use a single metric"
-msgstr "Quand vous utilisez 'Group by' vous êtes limité à une métrique seule"
+msgstr "Quand vous utilisez 'Grouper par' vous êtes limité à une seule métrique"
 
-#: superset/viz.py:828 superset/viz_sip38.py:755
+#: superset/viz.py:821
 msgid "Pivot Table"
 msgstr "Table pivot"
 
-#: superset/viz.py:845 superset/viz_sip38.py:771
+#: superset/viz.py:838
 msgid "Please choose at least one 'Group by' field "
-msgstr "Merci de choisir au moins un champ dans 'Group by'"
+msgstr "Merci de choisir au moins un champ dans 'Grouper par'"
 
-#: superset/viz.py:857 superset/viz_sip38.py:783
+#: superset/viz.py:850
 msgid "Please choose at least one metric"
 msgstr "Choississez au moins une métrique"
 
-#: superset/viz.py:859 superset/viz_sip38.py:785
+#: superset/viz.py:852
 msgid "Group By' and 'Columns' can't overlap"
-msgstr "'Group By' et 'Colomns' ne peuvent pas se chevaucher"
+msgstr "'Grouper par' et 'Colonnes' ne peuvent pas se chevaucher"
 
-#: superset/viz.py:954 superset/viz_sip38.py:837
+#: superset/viz.py:954
 msgid "Treemap"
-msgstr "Trempa"
+msgstr "Tremap"
 
-#: superset/viz.py:986 superset/viz_sip38.py:869
+#: superset/viz.py:997
 msgid "Calendar Heatmap"
-msgstr "Calendrier Carte-de-Chaleur"
+msgstr "Calendrier Carte de chaleur"
 
-#: superset/viz.py:1066 superset/viz_sip38.py:1030
+#: superset/viz.py:1089
 msgid "Bubble Chart"
 msgstr "Bulles"
 
-#: superset/viz.py:1088 superset/viz_sip38.py:1046
+#: superset/viz.py:1111
 msgid "Please use 3 different metric labels"
-msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
+msgstr "Utilisez 3 libellés de métrique différents"
 
-#: superset/viz.py:1090 superset/viz_sip38.py:1048
+#: superset/viz.py:1113
 msgid "Pick a metric for x, y and size"
 msgstr "Choisissez une métrique pour x, y, taille"
 
-#: superset/viz.py:1117 superset/viz_sip38.py:1075
+#: superset/viz.py:1140
 msgid "Bullet Chart"
 msgstr "Points"
 
-#: superset/viz.py:1127 superset/viz_sip38.py:1085
+#: superset/viz.py:1150
 msgid "Pick a metric to display"
 msgstr "Choisissez une métrique à afficher"
 
-#: superset/viz.py:1145 superset/viz_sip38.py:1101
+#: superset/viz.py:1168
 msgid "Big Number with Trendline"
 msgstr "Gros nombre avec tendance"
 
-#: superset/viz.py:1153 superset/viz.py:1187 superset/viz_sip38.py:1109
-#: superset/viz_sip38.py:1140
+#: superset/viz.py:1176 superset/viz.py:1210
 msgid "Pick a metric!"
 msgstr "Choisissez une métrique"
 
-#: superset/viz.py:1179 superset/viz_sip38.py:1132
+#: superset/viz.py:1202
 msgid "Big Number"
 msgstr "Gros nombre"
 
-#: superset/viz.py:1201 superset/viz_sip38.py:1154
+#: superset/viz.py:1224
 msgid "Time Series - Line Chart"
 msgstr "Séries temporelles - ligne"
 
-#: superset/viz.py:1271 superset/viz.py:1488 superset/viz_sip38.py:1219
-#: superset/viz_sip38.py:1433
+#: superset/viz.py:1307 superset/viz.py:1573
 msgid "Pick a time granularity for your time series"
 msgstr "Choisissez une granularité pour vos séries temporelles"
 
-#: superset/viz.py:1330 superset/viz_sip38.py:1275
+#: superset/common/query_context.py:150 superset/viz.py:1366
 msgid ""
-"An enclosed time range (both start and end) must be specified when using a "
-"Time Comparison."
+"An enclosed time range (both start and end) must be specified when using "
+"a Time Comparison."
 msgstr ""
+"Une période délimitée (à la fois début et fin) doit être spécifiée quand on" 
+"utilise une Comparaison de temps."
 
-#: superset/viz.py:1400 superset/viz_sip38.py:1345
+#: superset/viz.py:1438
 msgid "Time Series - Multiple Line Charts"
 msgstr "Séries temporelles - Lignes multiples"
 
-#: superset/viz.py:1430 superset/viz_sip38.py:1375
+#: superset/viz.py:1515
 msgid "Time Series - Dual Axis Line Chart"
 msgstr "Séries temporelles - double axe"
 
-#: superset/viz.py:1440 superset/viz_sip38.py:1385
+#: superset/viz.py:1525
 msgid "Pick a metric for left axis!"
 msgstr "Choisissez une métrique pour l'axe de gauche"
 
-#: superset/viz.py:1442 superset/viz_sip38.py:1387
+#: superset/viz.py:1527
 msgid "Pick a metric for right axis!"
 msgstr "Choississez une métrique pour l'axe de droite"
 
-#: superset/viz.py:1445 superset/viz_sip38.py:1390
+#: superset/viz.py:1530
 msgid "Please choose different metrics on left and right axis"
 msgstr "Choisissez des métriques différentes pour les axes gauches et droits"
 
-#: superset/viz.py:1505 superset/viz_sip38.py:1450
+#: superset/viz.py:1590
 msgid "Time Series - Bar Chart"
 msgstr "Séries temporelles - histogramme"
 
-#: superset/viz.py:1514 superset/viz_sip38.py:1459
+#: superset/viz.py:1599
 msgid "Time Series - Period Pivot"
 msgstr "Séries temporelles - Période Pivot"
 
-#: superset/viz.py:1561 superset/viz_sip38.py:1506
+#: superset/viz.py:1646
 msgid "Time Series - Percent Change"
 msgstr "Séries temporelles - pourcentage de changement"
 
-#: superset/viz.py:1569 superset/viz_sip38.py:1514
+#: superset/viz.py:1654
 msgid "Time Series - Stacked"
 msgstr "Séries temporelles - empilées"
 
-#: superset/viz.py:1579 superset/viz_sip38.py:1543
+#: superset/viz.py:1664
 msgid "Histogram"
 msgstr "Histogramme"
 
-#: superset/viz.py:1589 superset/viz_sip38.py:1552
+#: superset/viz.py:1674
 msgid "Must have at least one numeric column specified"
 msgstr "Au moins une colonne numérique doit être spécifiée"
 
-#: superset/viz.py:1635 superset/viz_sip38.py:1596
+#: superset/viz.py:1721
 msgid "Distribution - Bar Chart"
 msgstr "Distibution - histogramme"
 
-#: superset/viz.py:1645
+#: superset/viz.py:1731
 msgid "Can't have overlap between Series and Breakdowns"
 msgstr "Il ne faut pas avoir d'élement en commun entre Série et Breakdowns"
 
-#: superset/viz.py:1650 superset/viz_sip38.py:1607
+#: superset/viz.py:1736
 msgid "Pick at least one field for [Series]"
 msgstr "Choisissez au moins un champs pour [Séries]"
 
-#: superset/viz.py:1702 superset/viz_sip38.py:1659
+#: superset/viz.py:1806
 msgid "Sunburst"
 msgstr "Camembert hiérarchique"
 
-#: superset/viz.py:1748 superset/viz_sip38.py:1703
+#: superset/viz.py:1854
 msgid "Sankey"
 msgstr "Sankey"
 
-#: superset/viz.py:1756
+#: superset/viz.py:1862
 msgid "Pick exactly 2 columns as [Source / Target]"
 msgstr "Choisissez exactement 2 colonnes pour [Source / Target]"
 
-#: superset/viz.py:1800 superset/viz_sip38.py:1736
+#: superset/viz.py:1906
 msgid ""
-"There's a loop in your Sankey, please provide a tree. Here's a faulty link: "
-"{}"
+"There's a loop in your Sankey, please provide a tree. Here's a faulty "
+"link: {}"
 msgstr "Il y a une boucle dans votre Sankey, il faut un arbre. Lien fautif: {}"
 
-#: superset/viz.py:1813 superset/viz.py:1836 superset/viz_sip38.py:1749
-#: superset/viz_sip38.py:1770
+#: superset/viz.py:1919
 msgid "Directed Force Layout"
 msgstr "Graphe orienté"
 
-#: superset/viz.py:1820 superset/viz_sip38.py:1756
-msgid "Pick exactly 2 columns to 'Group By'"
-msgstr "Choisissez exactement 2 colonnes pour 'Grouper par'"
-
-#: superset/viz.py:1869 superset/viz_sip38.py:1802
+#: superset/viz.py:1954
 msgid "Country Map"
 msgstr "Carte de pays"
 
-#: superset/viz.py:1898 superset/viz_sip38.py:1823
+#: superset/viz.py:1991
 msgid "World Map"
 msgstr "Carte du monde"
 
-#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar.tsx:438
-#: superset-frontend/src/explore/controls.jsx:467 superset/viz.py:1956
-#: superset/viz_sip38.py:1873
+#: superset-frontend/src/dashboard/components/nativeFilters/FilterBar/Header/index.tsx:100
+#: superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FilterTabs.tsx:196
+#: superset-frontend/src/explore/controls.jsx:463 superset/viz.py:2051
 msgid "Filters"
 msgstr "Filtres"
 
-#: superset/viz.py:1974 superset/viz_sip38.py:1891
+#: superset/viz.py:2071
 msgid "Invalid filter configuration, please select a column"
 msgstr ""
 
-#: superset/viz.py:2018 superset/viz_sip38.py:1952
+#: superset/viz.py:2122
 msgid "Parallel Coordinates"
 msgstr "Coordonnées parallèles"
 
-#: superset/viz.py:2040 superset/viz_sip38.py:1968
+#: superset/viz.py:2151
 msgid "Heatmap"
 msgstr "Carte de chaleur"
 
-#: superset/viz.py:2096 superset/viz_sip38.py:2017
+#: superset/viz.py:2211
 msgid "Horizon Charts"
 msgstr "Histogrammes horizontaux"
 
-#: superset/viz.py:2108 superset/viz_sip38.py:2029
+#: superset/viz.py:2223
 msgid "Mapbox"
 msgstr "Mapbox"
 
-#: superset/viz.py:2120 superset/viz_sip38.py:2041
+#: superset/viz.py:2235
 msgid "[Longitude] and [Latitude] must be set"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2127 superset/viz_sip38.py:2048
+#: superset/viz.py:2242
 msgid "Must have a [Group By] column to have 'count' as the [Label]"
 msgstr "Il faut une colonne [Grouper par] pour avoir 'count' comme [Label]"
 
-#: superset/viz.py:2147 superset/viz_sip38.py:2068
+#: superset/viz.py:2266
 msgid "Choice of [Label] must be present in [Group By]"
 msgstr "Le [Label] choisi doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2155 superset/viz_sip38.py:2075
+#: superset/viz.py:2274
 msgid "Choice of [Point Radius] must be present in [Group By]"
 msgstr "Le [Point Radius] doit être présent dans [Grouper par]"
 
-#: superset/viz.py:2163 superset/viz_sip38.py:2082
+#: superset/viz.py:2282
 msgid "[Longitude] and [Latitude] columns must be present in [Group By]"
 msgstr ""
-"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans [Grouper "
-"par]"
+"Les colonnes [Longitude] et [Latitude] doivent êtres présentes dans "
+"[Grouper par]"
 
-#: superset/viz.py:2243 superset/viz_sip38.py:2162
+#: superset/viz.py:2362
 msgid "Deck.gl - Multiple Layers"
 msgstr "Deck.gl - Couches Multiples"
 
-#: superset/viz.py:2283 superset/viz.py:2315 superset/viz_sip38.py:2218
+#: superset/viz.py:2402 superset/viz.py:2434
 msgid "Bad spatial key"
 msgstr "Mauvaise clef spatiale"
 
-#: superset/viz.py:2301 superset/viz_sip38.py:2204
+#: superset/viz.py:2420
 #, python-format
 msgid "Invalid spatial point encountered: %s"
-msgstr ""
+msgstr "Point géographique invalide : %s"
 
-#: superset/viz.py:2337 superset/viz_sip38.py:2240
+#: superset/viz.py:2456
 msgid ""
-"Encountered invalid NULL spatial "
-"entry,                                        please consider filtering "
-"those out"
+"Encountered invalid NULL spatial entry,"
+"                                        please consider filtering those "
+"out"
 msgstr ""
+"Entrée spatiale NULL rencontrée,"
+"                                        veuillez les filtrer"
 
-#: superset/viz.py:2427 superset/viz_sip38.py:2311
+#: superset/viz.py:2552
 msgid "Deck.gl - Scatter plot"
 msgstr "Deck.gl - Nuage de points"
 
-#: superset/viz.py:2476 superset/viz_sip38.py:2358
+#: superset/viz.py:2601
 msgid "Deck.gl - Screen Grid"
 msgstr "Deck.gl - Grille d'écran"
 
-#: superset/viz.py:2502 superset/viz_sip38.py:2384
+#: superset/viz.py:2627
 msgid "Deck.gl - 3D Grid"
 msgstr "Deck.gl - Grille 3D"
 
-#: superset/viz.py:2532 superset/viz_sip38.py:2411
+#: superset/viz.py:2657
 msgid "Deck.gl - Paths"
 msgstr "Deck.gl - Chemins"
 
-#: superset/viz.py:2580 superset/viz_sip38.py:2456
+#: superset/viz.py:2705
 msgid "Deck.gl - Polygon"
 msgstr "Deck.gl - Polygone"
 
-#: superset/viz.py:2609 superset/viz_sip38.py:2485
+#: superset/viz.py:2734
 msgid "Deck.gl - 3D HEX"
 msgstr "Deck.gl - 3D HEX"
 
-#: superset/viz.py:2628 superset/viz_sip38.py:2501
+#: superset/viz.py:2753
 msgid "Deck.gl - GeoJSON"
 msgstr "Deck.gl - GeoJSON"
 
-#: superset/viz.py:2647 superset/viz_sip38.py:2513
+#: superset/viz.py:2772
 msgid "Deck.gl - Arc"
 msgstr "Deck.gl - Arc"
 
-#: superset/viz.py:2682 superset/viz_sip38.py:2548
+#: superset/viz.py:2807
 msgid "Event flow"
 msgstr "Flot d'événements"
 
-#: superset/viz.py:2714 superset/viz_sip38.py:2580
+#: superset/viz.py:2839
 msgid "Time Series - Paired t-test"
 msgstr "Séries temporelles - Paired t-test"
 
-#: superset/viz.py:2769 superset/viz_sip38.py:2635
+#: superset/viz.py:2906
 msgid "Time Series - Nightingale Rose Chart"
 msgstr "Séries temporelles - Graphique Nightingale Rose"
 
-#: superset/viz.py:2804 superset/viz_sip38.py:2670
+#: superset/viz.py:2941
 msgid "Partition Diagram"
 msgstr "Diagramme de Partition"
 
-#: superset/viz_sip38.py:623
-msgid ""
-"Choose either fields to [Group By] and [Metrics] and/or [Percentage "
-"Metrics], or [Columns], not both"
-msgstr ""
-"Choisissez soit des champs dans [Grouper par] et [Métriques] ou dans "
-"[Colonnes], pas les deux"
-
-#: superset/viz_sip38.py:943
-msgid "Box Plot"
-msgstr "Boites à moustaches"
-
-#: superset/viz_sip38.py:1524
-msgid "Distribution - NVD3 - Pie Chart"
-msgstr "Distribution - camembert"
-
-#: superset/viz_sip38.py:1929
-msgid "iFrame"
-msgstr "iFrame"
-
-#: superset/annotation_layers/api.py:346
+#: superset/annotation_layers/api.py:353
 #, python-format
 msgid "Deleted %(num)d annotation layer"
 msgid_plural "Deleted %(num)d annotation layers"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d couche d'annotations supprimée"
+msgstr[1] "%(num)d couches d'annotations supprimées"
 
 #: superset/annotation_layers/annotations/filters.py:28
 #: superset/annotation_layers/filters.py:30 superset/charts/filters.py:31
 #: superset/css_templates/filters.py:28
 #: superset/queries/saved_queries/filters.py:31 superset/reports/filters.py:28
 msgid "All Text"
-msgstr ""
+msgstr "Tout texte"
 
-#: superset/annotation_layers/annotations/api.py:493
+#: superset/annotation_layers/annotations/api.py:502
 #, python-format
 msgid "Deleted %(num)d annotation"
 msgid_plural "Deleted %(num)d annotations"
-msgstr[0] "Sélectionner une couche d'annotation"
-msgstr[1] "Sélectionner une couche d'annotation"
+msgstr[0] "%(num)d annotation supprimée"
+msgstr[1] "%(num)d annotations supprimées"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:35
 msgid "End date must be after start date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "Date de début ne peut être postérieure à Date de fin"
 
 #: superset/annotation_layers/annotations/commands/exceptions.py:46
 msgid "Short description must be unique for this layer"
-msgstr ""
+msgstr "La description courte doitêtre unique pour cette couche"

Review comment:
       ```suggestion
   msgstr "La description courte doit être unique pour cette couche"
   ```

##########
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"

Review comment:
       ```suggestion
   msgstr "Afficher la source de données Druid"
   ```

##########
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"

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

##########
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"

Review comment:
       ```suggestion
   "Doublons de libellés colonne/métrique : %(labels)s. Veuillez vous assurer"
   ```




-- 
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


[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)

Posted by GitBox <gi...@apache.org>.
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


[GitHub] [superset] audour commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
audour commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971540881


   > @audour do you mind taking another look? If needed I can help fix the issue.
   
   Hi @villebro, I can take another look but to be efficient I need to know the list of linting rules as the file `superset/translations/fr/LC_MESSAGES/messages.po` seems OK for Poedit and `pybabel` and to figure out how to find the issues locally without a dedicated linter.
   


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (35bb8d6) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.10%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.05%   +5.10%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29117   -27131     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    23891   -19389     
   + Misses      12709     5226    -7483     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `?` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (-0.01%)` | :arrow_down: |
   | postgres | `81.96% <ø> (-0.01%)` | :arrow_down: |
   | presto | `?` | |
   | python | `82.05% <ø> (-0.42%)` | :arrow_down: |
   | sqlite | `81.64% <ø> (-0.01%)` | :arrow_down: |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/db\_engines/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lcy9oaXZlLnB5) | `0.00% <0.00%> (-85.19%)` | :arrow_down: |
   | [superset/db\_engine\_specs/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2hpdmUucHk=) | `69.49% <0.00%> (-16.99%)` | :arrow_down: |
   | [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `83.47% <0.00%> (-6.49%)` | :arrow_down: |
   | [superset/views/database/mixins.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdmlld3MvZGF0YWJhc2UvbWl4aW5zLnB5) | `81.03% <0.00%> (-1.73%)` | :arrow_down: |
   | [superset/connectors/sqla/models.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `86.79% <0.00%> (-1.59%)` | :arrow_down: |
   | [superset/utils/webdriver.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvd2ViZHJpdmVyLnB5) | `79.78% <0.00%> (-1.12%)` | :arrow_down: |
   | [superset/models/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.26% <0.00%> (-0.74%)` | :arrow_down: |
   | [superset/db\_engine\_specs/base.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2Jhc2UucHk=) | `88.20% <0.00%> (-0.39%)` | :arrow_down: |
   | [superset/utils/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvY29yZS5weQ==) | `89.61% <0.00%> (-0.12%)` | :arrow_down: |
   | [superset/config.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29uZmlnLnB5) | `91.50% <0.00%> (ø)` | |
   | ... and [681 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...35bb8d6](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


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

Posted by GitBox <gi...@apache.org>.
audour commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r749526493



##########
File path: superset/translations/fr/LC_MESSAGES/messages.po
##########
@@ -17,704 +17,715 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-01-22 15:56-0300\n"
+"POT-Creation-Date: 2021-09-09 14:46+0200\n"
 "PO-Revision-Date: 2017-10-03 08:22-0700\n"
 "Last-Translator: FULL NAME <EM...@ADDRESS>\n"
-"Language-Team: fr <LL...@li.org>\n"
 "Language: fr\n"
+"Language-Team: fr <LL...@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"Generated-By: Babel 2.8.0\n"
+"Generated-By: Babel 2.9.1\n"
 
-#: superset/app.py:225
-msgid "Home"
-msgstr ""
+#: superset/errors.py:93
+msgid "The datasource is too large to query."
+msgstr "Source de données trop volumineuse pour être interrogée."
 
-#: superset/app.py:230 superset/views/annotations.py:119
-msgid "Annotation Layers"
-msgstr "Couches d'annotation"
+#: superset/errors.py:94
+msgid "The database is under an unusual load."
+msgstr "La base de données est soumise à une charge inhabituelle."
 
-#: superset/app.py:233 superset/app.py:277 superset/app.py:286
-#: superset/app.py:339 superset/app.py:420 superset/app.py:428
-#: superset/app.py:438 superset/app.py:450
-msgid "Manage"
-msgstr "Gestion"
+#: superset/errors.py:95
+msgid "The database returned an unexpected error."
+msgstr "La base de données a retourné une erreur inattendue."
 
-#: superset-frontend/src/profile/components/Security.tsx:46 superset/app.py:239
-#: superset/views/database/mixins.py:32
-msgid "Databases"
-msgstr "Bases de données"
+#: superset/errors.py:96
+msgid ""
+"There is a syntax error in the SQL query. Perhaps there was a misspelling"
+" or a typo."
+msgstr "Il y a une erreur de syntaxe dans la requête SQL. Peut-être une"
+" faute de frappe"
 
-#: superset-frontend/src/explore/components/ControlPanelsContainer.jsx:247
-#: superset-frontend/src/explore/components/DataTablesPane.tsx:251
-#: superset/app.py:242 superset/app.py:251 superset/app.py:375
-#: superset/app.py:390 superset/app.py:478 superset/app.py:487
-#: superset/app.py:500 superset/app.py:509
-msgid "Data"
-msgstr "Base de données"
+#: superset/errors.py:100
+msgid "The column was deleted or renamed in the database."
+msgstr "La colonne a été supprimée ou renommée dans la base de données."
 
-#: superset-frontend/src/profile/components/Security.tsx:60 superset/app.py:247
-msgid "Datasets"
-msgstr "Bases de données"
+#: superset/errors.py:101
+msgid "The table was deleted or renamed in the database."
+msgstr "La table a été supprimée ou renommée dans la base de données."
 
-#: 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:540
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:152 superset/app.py:258
-#: superset/views/chart/mixin.py:26 superset/views/dashboard/mixin.py:75
-msgid "Charts"
-msgstr "Graphiques"
+#: superset/errors.py:102
+msgid "One or more parameters specified in the query are missing."
+msgstr "Il manque un ou plusieurs paramêtres dans la requête."
 
-#: superset-frontend/src/profile/components/CreatedContent.tsx:73
-#: superset-frontend/src/profile/components/Favorites.tsx:74
-#: superset-frontend/src/views/CRUD/dashboard/DashboardList.tsx:499
-#: superset-frontend/src/views/CRUD/welcome/Welcome.tsx:134 superset/app.py:266
-#: superset/views/chart/mixin.py:79 superset/views/dashboard/mixin.py:25
-msgid "Dashboards"
-msgstr "Tableaux de bords"
+#: superset/errors.py:103
+msgid "The hostname provided can't be resolved."
+msgstr "Le nom d'hôte ne peut pas être résolu."
 
-#: superset/app.py:275
-msgid "Plugins"
-msgstr ""
+#: superset/errors.py:104
+msgid "The port is closed."
+msgstr "Le port est fermé."
 
-#: superset/app.py:283 superset/views/css_templates.py:38
-msgid "CSS Templates"
-msgstr "Templates CSS"
+#: superset/errors.py:105
+msgid "The host might be down, and can't be reached on the provided port."
+msgstr "L'hôte est peut-être HS et ne peut pas être atteint sur le port."
 
-#: superset/app.py:293
-msgid "Row level security"
-msgstr ""
+#: superset/errors.py:106
+msgid "Superset encountered an error while running a command."
+msgstr "Superset a rencontré une erreur lors de l'exécution d'une commande."
 
-#: superset-frontend/src/views/CRUD/data/database/DatabaseModal.tsx:551
-#: superset/app.py:295 superset/app.py:406 superset/app.py:464
-msgid "Security"
-msgstr "Sécurité"
+#: superset/errors.py:107
+msgid "Superset encountered an unexpected error."
+msgstr "Superset a rencontré une erreur inattendue."
 
-#: superset/app.py:335
-msgid "Import Dashboards"
-msgstr "Importer des tableaux de bords"
+#: superset/errors.py:108
+msgid "The username provided when connecting to a database is not valid."
+msgstr "Le nom d'utilisateur fourni à une base de données est invalide."
 
-#: superset/app.py:344
-msgid "SQL Editor"
-msgstr "Éditeur SQL"
+#: superset/errors.py:109
+msgid "The password provided when connecting to a database is not valid."
+msgstr "Le mot de passe fourni à une base de données est invalide."
 
-#: superset/app.py:349 superset/app.py:364
-msgid "SQL Lab"
-msgstr "SQL Lab"
+#: superset/errors.py:110
+msgid "Either the username or the password is wrong."
+msgstr "Le nom d'utilisateur ou le mot de passe est incorrect."
 
-#: superset/app.py:352
-msgid "Saved Queries"
-msgstr "Requêtes sauvegardées"
+#: superset/errors.py:111
+msgid "Either the database is spelled incorrectly or does not exist."
+msgstr "Base de données inexistante ou nom incorrect."
 
-#: superset/app.py:359
-msgid "Query History"
-msgstr "Historiques des requête"
+#: superset/errors.py:112
+msgid "The schema was deleted or renamed in the database."
+msgstr "Le schéma a été supprimé ou renommé dans la base de données."
 
-#: superset/app.py:371
-msgid "Upload a CSV"
-msgstr ""
+#: superset/errors.py:113
+msgid "User doesn't have the proper permissions."
+msgstr "L'utilisateur n'a pas les droits."
 
-#: superset/app.py:386
-msgid "Upload Excel"
-msgstr ""
+#: superset/errors.py:114
+msgid "One or more parameters needed to configure a database are missing."
+msgstr "Il manque un ou plusieurs paramètres de configuration de la base."
 
-#: superset/app.py:404
-msgid "Action Log"
-msgstr "Journaux d'actions"
+#: superset/errors.py:115
+msgid "The submitted payload has the incorrect format."
+msgstr "Les données fournies sont dans un format incorrect."
 
-#: superset/app.py:418
-msgid "Dashboard Emails"
-msgstr "Tableaux de bords"
+#: superset/errors.py:116
+msgid "The submitted payload has the incorrect schema."
+msgstr "Les données fournies ont un schéma incorrect."
 
-#: superset/app.py:426
-msgid "Chart Email Schedules"
-msgstr ""
+#: superset/errors.py:117
+msgid "Results backend needed for asynchronous queries is not configured."
+msgstr "Le backend des résultats pour les requêtes asynchrones n'est pas"
+" configuré."
 
-#: superset-frontend/src/views/CRUD/alert/AlertList.tsx:415 superset/app.py:436
-msgid "Alerts"
-msgstr ""
+#: superset/errors.py:118
+msgid "Database does not allow data manipulation."
+msgstr "La base de données ne permet pas la manipulation de données."
 
-#: superset/app.py:448
-msgid "Alerts & Reports"
+#: superset/errors.py:119
+msgid ""
+"The CTAS (create table as select) doesn't have a SELECT statement at the "
+"end. Please make sure your query has a SELECT as its last statement. "
+"Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/app.py:462
-msgid "Access requests"
-msgstr "Requêtes d'accès"
+#: superset/errors.py:124
+msgid "CVAS (create view as select) query has more than one statement."
+msgstr "La requête CVAS (create view as select) a plus d'une instruction."
 
-#: superset/app.py:476 superset/connectors/druid/views.py:257
-msgid "Druid Datasources"
-msgstr "Sources de données Druid"
+#: superset/errors.py:125
+msgid "CVAS (create view as select) query is not a SELECT statement."
+msgstr "La requête CVAS (create view as select) n'est pas une instruction"
+" SELECT."
 
-#: superset/app.py:484 superset/connectors/druid/views.py:195
-msgid "Druid Clusters"
-msgstr "Clusters Druid"
+#: superset/errors.py:126
+msgid "Query is too complex and takes too long to run."
+msgstr "La requête est trop complexe et trop longue à exécuter."
 
-#: superset/app.py:497
-msgid "Scan New Datasources"
-msgstr "Scanner les nouvelles sources de données"
+#: superset/errors.py:127
+msgid "The database is currently running too many queries."
+msgstr "La base de données exécute actuellement trop de requête."
 
-#: superset/app.py:506
-msgid "Refresh Druid Metadata"
-msgstr "Rafraichir les méta-données de Druid"
+#: superset/errors.py:128
+msgid "One or more parameters specified in the query are malformatted."
+msgstr "Un ou plusieurs paramètres de la requête sont malformés."
 
-#: superset/errors.py:64
-msgid "Issue 1000 - The datasource is too large to query."
-msgstr ""
+#: superset/errors.py:129
+msgid "The object does not exist in the given database."
+msgstr "L'objet n'existe pas dans la base de données."
 
-#: superset/errors.py:68
-msgid "Issue 1001 - The database is under an unusual load."
-msgstr ""
+#: superset/errors.py:130
+msgid "The query has a syntax error."
+msgstr "La requête a une erreur de syntaxe."
 
-#: superset/errors.py:74
-msgid "Issue 1002 - The database returned an unexpected error."
-msgstr ""
+#: superset/errors.py:131
+msgid "The results backend no longer has the data from the query."
+msgstr "Le backend des résultats n'a plus les données de la requête."
+
+#: superset/errors.py:132
+msgid "The query associated with the results was deleted."
+msgstr "La requête associée aux résutlats a été supprimée."
 
-#: superset/errors.py:80 superset/errors.py:95
+#: superset/errors.py:133
 msgid ""
-"Issue 1003 - There is a syntax error in the SQL query. Perhaps there was a "
-"misspelling or a typo."
-msgstr ""
+"The results stored in the backend were stored in a different format, and "
+"no longer can be deserialized."
+msgstr "Les résultats stockés dans le backend le sont dans un format"
+" différent et ne peuvent plus être déserialisés."
 
-#: superset/errors.py:87
-msgid "Issue 1004 - The column was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:137
+msgid "The port number is invalid."
+msgstr "Le numéro de port est invalide."
 
-#: superset/errors.py:102
-msgid "Issue 1005 - The table was deleted or renamed in the database."
-msgstr ""
+#: superset/errors.py:138 superset/views/core.py:2470
+msgid "Failed to start remote query on a worker."
+msgstr "Echec de la requête à distance."
 
-#: superset/errors.py:110
-msgid "Issue 1006 - One or more parameters specified in the query are missing."
-msgstr ""
+#: superset/errors.py:139
+msgid "The database was deleted."
+msgstr "La base de données a été supprimée."
 
-#: superset/databases/schemas.py:168 superset/exceptions.py:125
+#: superset/databases/schemas.py:170 superset/exceptions.py:161
 msgid "Invalid certificate"
-msgstr ""
+msgstr "Certificat invalide"
 
-#: superset/jinja_context.py:222
+#: superset/jinja_context.py:325
 #, python-format
 msgid "Unsafe return type for function %(func)s: %(value_type)s"
-msgstr ""
+msgstr "Type de retour non sécurisé pour la fonction %(func)s: %(value_type)s"
 
-#: superset/jinja_context.py:233
+#: superset/jinja_context.py:336
 #, python-format
 msgid "Unsupported return value for method %(name)s"
-msgstr ""
+msgstr "Type de retour non supporté pour la méthode %(name)s"
 
-#: superset/jinja_context.py:246
+#: superset/jinja_context.py:349
 #, python-format
 msgid "Unsafe template value for key %(key)s: %(value_type)s"
-msgstr ""
+msgstr "Valeur de template non sécurisée pour la clé %(key)s: %(value_type)s"
 
-#: superset/jinja_context.py:257
+#: superset/jinja_context.py:360
 #, python-format
 msgid "Unsupported template value for key %(key)s"
-msgstr ""
+msgstr "Valeur de template non supportée pour la clé key %(key)s"
 
-#: superset/sql_lab.py:173
-msgid "Only `SELECT` statements are allowed against this database"
-msgstr ""
+#: superset/sql_lab.py:218
+msgid "Only SELECT statements are allowed against this database."
+msgstr "Seules les instructions SELECT sont autorisées pour cette base de données."
 
-#: superset/sql_lab.py:341
+#: superset/sql_lab.py:287
+#, python-format
 msgid ""
-"CTAS (create table as select) can only be run with a query where the last "
-"statement is a SELECT. Please make sure your query has a SELECT as its last "
-"statement. Then, try running your query again."
+"The query was killed after %(sqllab_timeout)s seconds. It might be too "
+"complex, or the database might be under heavy load."
+msgstr "La requête a été tuée après %(sqllab_timeout)s secondes. Elle est"
+" peut-être trop complexe ou la base de donnée est soumise à une charge trop"
+" importante."
+
+#: superset/sql_lab.py:385 superset/views/core.py:2223
+msgid "Results backend is not configured."
+msgstr "Le backend des résultats n'est pas configuré"
+
+#: superset/sql_lab.py:415
+msgid ""
+"CTAS (create table as select) can only be run with a query where the last"
+" statement is a SELECT. Please make sure your query has a SELECT as its "
+"last statement. Then, try running your query again."
 msgstr ""
+"Le CTAS (create table as select) n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/sql_lab.py:353
+#: superset/sql_lab.py:432
 msgid ""
 "CVAS (create view as select) can only be run with a query with a single "
-"SELECT statement. Please make sure your query has only a SELECT statement. "
-"Then, try running your query again."
+"SELECT statement. Please make sure your query has only a SELECT "
+"statement. Then, try running your query again."
 msgstr ""
+"Le CVAS (create view as select n'a pas d'instruction SELECT à la fin. "
+"Assurez-vous que la requête a bien un seul SELECT en dernière instruction. "
+"Puis essayez d'exécuter votre requête à nouveau."
 
-#: superset/viz.py:125 superset/viz_sip38.py:126
+#: superset/viz.py:131
 msgid "Viz is missing a datasource"
 msgstr "Viz est une source de données manquante"
 
-#: superset/viz.py:238
+#: superset/viz.py:237
 msgid ""
-"Applied rolling window did not return any data. Please make sure the source "
-"query satisfies the minimum periods defined in the rolling window."
-msgstr ""
+"Applied rolling window did not return any data. Please make sure the "
+"source query satisfies the minimum periods defined in the rolling window."
+msgstr "La fenêtre glissante appliquée n'a pas retourné de données. "
+"Assurez-vous que la requête source satisfasse les périodes minimum définies "
+"dans la fenêtre glissante."
 
-#: superset/utils/date_parser.py:257 superset/viz.py:376
-#: superset/viz_sip38.py:376
+#: superset/utils/date_parser.py:263 superset/viz.py:355
 msgid "From date cannot be larger than to date"
-msgstr "Date de début ne peut être plus grand que Date de fin"
+msgstr "La date de début ne peut être postérieure à la date de fin"
 
-#: superset/viz.py:527
+#: superset/viz.py:522
 msgid "Cached value not found"
-msgstr ""
+msgstr "Valeur en cache non trouvée"
 
-#: superset/common/query_context.py:395 superset/viz.py:542
+#: superset/common/query_context.py:460 superset/viz.py:535
 #, python-format
 msgid "Columns missing in datasource: %(invalid_columns)s"
-msgstr ""
+msgstr "Colonnes absentes de la source de données : %(invalid_columns)s"
 
-#: superset/viz.py:654 superset/viz_sip38.py:598
+#: superset/viz.py:647
 msgid "Table View"
 msgstr "Vue en table"
 
-#: superset/viz.py:676
+#: superset/viz.py:669
 msgid ""
-"You cannot use [Columns] in combination with [Group By]/[Metrics]/"
-"[Percentage Metrics]. Please choose one or the other."
-msgstr ""
+"You cannot use [Columns] in combination with [Group "
+"By]/[Metrics]/[Percentage Metrics]. Please choose one or the other."
+msgstr "Vous ne pouvez pas utiliser [Columns] en même temps que [Group "

Review comment:
       Thanks for suggestions: fixed by https://github.com/apache/superset/pull/16868/commits/ece10a081522adf02b9e3daa512998a32005d75e




-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-966094042


   @audour this PR has a conflict - can you rebase it so we can get these comprehensive fixes merged? Thanks!


-- 
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


[GitHub] [superset] audour commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
audour commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-970474117


   > @audour it appears you need to fix some lint to get CI green
   
   Hi @villebro, sorry for that I've just pushed an update. News since last push:
   
   * open fr PO file with Poedit which :
     * highlighted a typo error -> fixed
     * highlighted about a hundred suggestions about adding/removing trailing spaces, final dots or first capital letter -> fixed
   * re-extract strings with `pybabel extract` to get new strings since I've rebased yesterday the working branch on `master` and re-update `fr` language file
   * add missing strings and review all lines marked as "fuzzy" by POedit
   * update the `.json`
   * last check: re-run with success `pybabel extract`/`pybabel update`/`po2json.sh`/`pybabel compile`
   
   Hope CI will turn green


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (35bb8d6) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.52%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.46%   +5.52%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29117   -27131     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    24012   -19268     
   + Misses      12709     5105    -7604     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (-0.01%)` | :arrow_down: |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (-0.01%)` | :arrow_down: |
   | postgres | `81.96% <ø> (-0.01%)` | :arrow_down: |
   | presto | `81.83% <ø> (+<0.01%)` | :arrow_up: |
   | python | `82.46% <ø> (+<0.01%)` | :arrow_up: |
   | sqlite | `81.64% <ø> (-0.01%)` | :arrow_down: |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/utils/webdriver.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvd2ViZHJpdmVyLnB5) | `79.78% <0.00%> (-1.12%)` | :arrow_down: |
   | [superset/config.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29uZmlnLnB5) | `91.50% <0.00%> (ø)` | |
   | [superset/db\_engine\_specs/mssql.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL21zc3FsLnB5) | `95.83% <0.00%> (ø)` | |
   | [...rset-frontend/src/components/IconTooltip/index.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvSWNvblRvb2x0aXAvaW5kZXgudHN4) | | |
   | [superset-frontend/src/logger/actions/index.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2xvZ2dlci9hY3Rpb25zL2luZGV4LnRz) | | |
   | [...lLab/components/ExploreCtasResultsButton/index.jsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL1NxbExhYi9jb21wb25lbnRzL0V4cGxvcmVDdGFzUmVzdWx0c0J1dHRvbi9pbmRleC5qc3g=) | | |
   | [...t-frontend/src/dashboard/reducers/sliceEntities.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9yZWR1Y2Vycy9zbGljZUVudGl0aWVzLmpz) | | |
   | [...ontend/src/filters/components/Time/controlPanel.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2ZpbHRlcnMvY29tcG9uZW50cy9UaW1lL2NvbnRyb2xQYW5lbC50cw==) | | |
   | [...d/src/dashboard/util/getLeafComponentIdFromPath.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC91dGlsL2dldExlYWZDb21wb25lbnRJZEZyb21QYXRoLmpz) | | |
   | [...frontend/src/filters/components/TimeGrain/types.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2ZpbHRlcnMvY29tcG9uZW50cy9UaW1lR3JhaW4vdHlwZXMudHM=) | | |
   | ... and [674 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...35bb8d6](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] audour commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
audour commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-968705944


   > @audour this PR has a conflict - can you rebase it so we can get these comprehensive fixes merged? Thanks!
   
   Hi @villebro,
   As I'm not very  familiar with Github suggestions (as proposed above by @mathieudruart and @martin-raymond), can you confirm that following steps would be OK:
   1) accept manually each suggestion using "Commit suggestion" button => it will create as many commits as suggestions
   2) do the rebase following this approach on the master branch latest commit : https://gist.github.com/scottyhq/299e4d36018a2f13acfb2528a1553002
   Thanks in advance for your help


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971555584


   This appears to be the violation:
   ```patch
   diff --git a/superset/translations/fr/LC_MESSAGES/messages.po b/superset/translations/fr/LC_MESSAGES/messages.po
   index c2058ee9e..8beec739c 100644
   --- a/superset/translations/fr/LC_MESSAGES/messages.po
   +++ b/superset/translations/fr/LC_MESSAGES/messages.po
   @@ -10632,4 +10632,3 @@ msgstr "Zone de texte"
    #: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:36
    msgid "Trend"
    msgstr "Tendance"
   -
   ```


-- 
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


[GitHub] [superset] audour commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
audour commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971629569


   > This appears to be the violation (redundant line change at the end of the file):
   
   Thanks, so is it ok with this new commit https://github.com/apache/superset/pull/16868/commits/b4a681349ab7bd5efa8359668a50f76ef7798d89 ?
   
   


-- 
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


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

Posted by GitBox <gi...@apache.org>.
audour commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r749528032



##########
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:
       Thanks for suggestions: fixed by https://github.com/apache/superset/pull/16868/commits/ece10a081522adf02b9e3daa512998a32005d75e
   
   but I've translated differently as "Alert" seems to be the subject within the sentence for "to end" verb




-- 
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


[GitHub] [superset] villebro merged pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro merged pull request #16868:
URL: https://github.com/apache/superset/pull/16868


   


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (c395d09) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.52%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.47%   +5.52%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29112   -27136     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    24009   -19271     
   + Misses      12709     5103    -7606     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (ø)` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (ø)` | |
   | postgres | `81.96% <ø> (ø)` | |
   | presto | `81.83% <ø> (+<0.01%)` | :arrow_up: |
   | python | `82.47% <ø> (+<0.01%)` | :arrow_up: |
   | sqlite | `81.64% <ø> (ø)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...frontend/src/views/CRUD/welcome/DashboardTable.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL3ZpZXdzL0NSVUQvd2VsY29tZS9EYXNoYm9hcmRUYWJsZS50c3g=) | | |
   | [...ts/nativeFilters/FilterBar/FilterControls/utils.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9jb21wb25lbnRzL25hdGl2ZUZpbHRlcnMvRmlsdGVyQmFyL0ZpbHRlckNvbnRyb2xzL3V0aWxzLnRz) | | |
   | [...et-frontend/src/explore/controlPanels/Separator.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29udHJvbFBhbmVscy9TZXBhcmF0b3IuanM=) | | |
   | [...components/controls/FilterBoxItemControl/index.jsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9jb250cm9scy9GaWx0ZXJCb3hJdGVtQ29udHJvbC9pbmRleC5qc3g=) | | |
   | [.../components/CrossFilterScopingModal/utils/index.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9jb21wb25lbnRzL0Nyb3NzRmlsdGVyU2NvcGluZ01vZGFsL3V0aWxzL2luZGV4LnRz) | | |
   | [...t-frontend/src/dashboard/util/setPeriodicRunner.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC91dGlsL3NldFBlcmlvZGljUnVubmVyLnRz) | | |
   | [...set-frontend/src/explore/components/DndItemType.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9EbmRJdGVtVHlwZS50cw==) | | |
   | [superset-frontend/src/CRUD/utils.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL0NSVUQvdXRpbHMuanM=) | | |
   | [...shboard/util/charts/getFormDataWithExtraFilters.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC91dGlsL2NoYXJ0cy9nZXRGb3JtRGF0YVdpdGhFeHRyYUZpbHRlcnMudHM=) | | |
   | [superset-frontend/src/modules/AnnotationTypes.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL21vZHVsZXMvQW5ub3RhdGlvblR5cGVzLmpz) | | |
   | ... and [671 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...c395d09](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


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

Posted by GitBox <gi...@apache.org>.
audour commented on a change in pull request #16868:
URL: https://github.com/apache/superset/pull/16868#discussion_r749465977



##########
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:
       I think that "par JSON" is more in line with english version "by JSON". Maybe the issue is more about the english version which could be "into JSON" ...




-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971401062


   > @villebro I am curious why one of the tests is not passing as this PR seems super low risk?
   
   We have a linting rule that expects the code to be formatted in a certain way. For instance, it doesn't allow for blank spaces at the end of the line or missing/excessive line changes at the end of files.
   
   @audour do you mind taking another look? If needed I can help fix the issue.


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (35bb8d6) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.52%`.
   > The diff coverage is `n/a`.
   
   > :exclamation: Current head 35bb8d6 differs from pull request most recent head b4a6813. Consider uploading reports for the commit b4a6813 to get more accurate results
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.46%   +5.52%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29117   -27131     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    24012   -19268     
   + Misses      12709     5105    -7604     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `81.53% <ø> (-0.01%)` | :arrow_down: |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (-0.01%)` | :arrow_down: |
   | postgres | `81.96% <ø> (-0.01%)` | :arrow_down: |
   | presto | `81.83% <ø> (+<0.01%)` | :arrow_up: |
   | python | `82.46% <ø> (+<0.01%)` | :arrow_up: |
   | sqlite | `81.64% <ø> (-0.01%)` | :arrow_down: |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/utils/webdriver.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvd2ViZHJpdmVyLnB5) | `79.78% <0.00%> (-1.12%)` | :arrow_down: |
   | [superset/config.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29uZmlnLnB5) | `91.50% <0.00%> (ø)` | |
   | [superset/db\_engine\_specs/mssql.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL21zc3FsLnB5) | `95.83% <0.00%> (ø)` | |
   | [...et-frontend/src/components/ListView/ActionsBar.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvTGlzdFZpZXcvQWN0aW9uc0Jhci50c3g=) | | |
   | [...tersConfigModal/Footer/CancelConfirmationAlert.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2Rhc2hib2FyZC9jb21wb25lbnRzL25hdGl2ZUZpbHRlcnMvRmlsdGVyc0NvbmZpZ01vZGFsL0Zvb3Rlci9DYW5jZWxDb25maXJtYXRpb25BbGVydC50c3g=) | | |
   | [...-frontend/src/components/PopoverDropdown/index.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvUG9wb3ZlckRyb3Bkb3duL2luZGV4LnRzeA==) | | |
   | [...frontend/src/components/Checkbox/CheckboxIcons.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvQ2hlY2tib3gvQ2hlY2tib3hJY29ucy50c3g=) | | |
   | [...et-frontend/src/filters/components/Select/types.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2ZpbHRlcnMvY29tcG9uZW50cy9TZWxlY3QvdHlwZXMudHM=) | | |
   | [...et-frontend/src/explore/reducers/exploreReducer.js](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvcmVkdWNlcnMvZXhwbG9yZVJlZHVjZXIuanM=) | | |
   | [...filters/components/GroupBy/GroupByFilterPlugin.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2ZpbHRlcnMvY29tcG9uZW50cy9Hcm91cEJ5L0dyb3VwQnlGaWx0ZXJQbHVnaW4udHN4) | | |
   | ... and [674 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...b4a6813](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] codecov[bot] edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (b4a6813) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.10%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.05%   +5.10%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29117   -27131     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    23891   -19389     
   + Misses      12709     5226    -7483     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `?` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (-0.01%)` | :arrow_down: |
   | postgres | `81.96% <ø> (-0.01%)` | :arrow_down: |
   | presto | `?` | |
   | python | `82.05% <ø> (-0.42%)` | :arrow_down: |
   | sqlite | `81.64% <ø> (-0.01%)` | :arrow_down: |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/db\_engines/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lcy9oaXZlLnB5) | `0.00% <0.00%> (-85.19%)` | :arrow_down: |
   | [superset/db\_engine\_specs/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2hpdmUucHk=) | `69.49% <0.00%> (-16.99%)` | :arrow_down: |
   | [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `83.47% <0.00%> (-6.49%)` | :arrow_down: |
   | [superset/views/database/mixins.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdmlld3MvZGF0YWJhc2UvbWl4aW5zLnB5) | `81.03% <0.00%> (-1.73%)` | :arrow_down: |
   | [superset/connectors/sqla/models.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `86.79% <0.00%> (-1.59%)` | :arrow_down: |
   | [superset/utils/webdriver.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvd2ViZHJpdmVyLnB5) | `79.78% <0.00%> (-1.12%)` | :arrow_down: |
   | [superset/models/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.26% <0.00%> (-0.74%)` | :arrow_down: |
   | [superset/db\_engine\_specs/base.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2Jhc2UucHk=) | `88.20% <0.00%> (-0.39%)` | :arrow_down: |
   | [superset/utils/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvY29yZS5weQ==) | `89.61% <0.00%> (-0.12%)` | :arrow_down: |
   | [superset/config.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29uZmlnLnB5) | `91.50% <0.00%> (ø)` | |
   | ... and [681 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...b4a6813](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971778129


   > > This appears to be the violation (redundant line change at the end of the file):
   > 
   > Thanks, so is it ok with this new commit [b4a6813](https://github.com/apache/superset/commit/b4a681349ab7bd5efa8359668a50f76ef7798d89) ?
   
   Yes, this seems to have fixed it 👍  merging as soon as the flaky test has passed (restarted now)


-- 
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


[GitHub] [superset] junlincc commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
junlincc commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-970878049


   @villebro I am curious why one of the tests is not passing as this PR seems super low risk? 


-- 
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


[GitHub] [superset] audour commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
audour commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969130759


   Thanks to @martin-raymond and @mathieudruart for their suggestions: I've applied almost all of them. For others I've answered with a comment.
   @villebro: it seems that conflicts are resolved, I hope it's now ok to merge.


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969963504


   Thanks @audour - I kicked off the tests, will babysit this and ping you if there's anything that needs further attention.


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-970261996


   @audour it appears you need to fix some lint to get CI green: 
   ![image](https://user-images.githubusercontent.com/33317356/141991572-9ba1b28c-b533-4675-afb9-a143a7632ced.png)
   


-- 
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


[GitHub] [superset] junlincc commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
junlincc commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969181082


   @audour Thank you for the contribution! We can merge, as soon as the the checks pass :) 


-- 
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


[GitHub] [superset] codecov[bot] commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
codecov[bot] commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-969980542


   # [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#16868](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (c395d09) into [master](https://codecov.io/gh/apache/superset/commit/9741eaa731c715b81ec381066995f2e9dcdb1939?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9741eaa) will **increase** coverage by `5.11%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/16868/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   
   ```diff
   @@            Coverage Diff             @@
   ##           master   #16868      +/-   ##
   ==========================================
   + Coverage   76.94%   82.05%   +5.11%     
   ==========================================
     Files        1042      362     -680     
     Lines       56248    29112   -27136     
     Branches     7784        0    -7784     
   ==========================================
   - Hits        43280    23888   -19392     
   + Misses      12709     5224    -7485     
   + Partials      259        0     -259     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | hive | `?` | |
   | javascript | `?` | |
   | mysql | `81.95% <ø> (ø)` | |
   | postgres | `81.96% <ø> (ø)` | |
   | presto | `?` | |
   | python | `82.05% <ø> (-0.41%)` | :arrow_down: |
   | sqlite | `81.64% <ø> (ø)` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [superset/db\_engines/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lcy9oaXZlLnB5) | `0.00% <0.00%> (-85.19%)` | :arrow_down: |
   | [superset/db\_engine\_specs/hive.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2hpdmUucHk=) | `69.49% <0.00%> (-16.99%)` | :arrow_down: |
   | [superset/db\_engine\_specs/presto.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL3ByZXN0by5weQ==) | `83.47% <0.00%> (-6.49%)` | :arrow_down: |
   | [superset/views/database/mixins.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdmlld3MvZGF0YWJhc2UvbWl4aW5zLnB5) | `81.03% <0.00%> (-1.73%)` | :arrow_down: |
   | [superset/connectors/sqla/models.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvY29ubmVjdG9ycy9zcWxhL21vZGVscy5weQ==) | `86.79% <0.00%> (-1.59%)` | :arrow_down: |
   | [superset/models/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvbW9kZWxzL2NvcmUucHk=) | `89.26% <0.00%> (-0.74%)` | :arrow_down: |
   | [superset/db\_engine\_specs/base.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvZGJfZW5naW5lX3NwZWNzL2Jhc2UucHk=) | `88.20% <0.00%> (-0.39%)` | :arrow_down: |
   | [superset/utils/core.py](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQvdXRpbHMvY29yZS5weQ==) | `89.61% <0.00%> (-0.12%)` | :arrow_down: |
   | [superset-frontend/src/components/Button/index.tsx](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvQnV0dG9uL2luZGV4LnRzeA==) | | |
   | [...nts/controls/DateFilterControl/components/index.ts](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2V4cGxvcmUvY29tcG9uZW50cy9jb250cm9scy9EYXRlRmlsdGVyQ29udHJvbC9jb21wb25lbnRzL2luZGV4LnRz) | | |
   | ... and [678 more](https://codecov.io/gh/apache/superset/pull/16868/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9741eaa...c395d09](https://codecov.io/gh/apache/superset/pull/16868?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
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


[GitHub] [superset] villebro edited a comment on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro edited a comment on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-971555584


   This appears to be the violation (redundant line change at the end of the file):
   ```patch
   diff --git a/superset/translations/fr/LC_MESSAGES/messages.po b/superset/translations/fr/LC_MESSAGES/messages.po
   index c2058ee9e..8beec739c 100644
   --- a/superset/translations/fr/LC_MESSAGES/messages.po
   +++ b/superset/translations/fr/LC_MESSAGES/messages.po
   @@ -10632,4 +10632,3 @@ msgstr "Zone de texte"
    #: superset-frontend/src/visualizations/TimeTable/TimeTableChartPlugin.js:36
    msgid "Trend"
    msgstr "Tendance"
   -
   ```
   
   These get picked up automatically by `pre-commit` (check `CONTRIBUTING.md` if you want to enable it by default)


-- 
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


[GitHub] [superset] villebro commented on pull request #16868: chore(fr-translation): update whole French translation (based on 1.3.0 release)

Posted by GitBox <gi...@apache.org>.
villebro commented on pull request #16868:
URL: https://github.com/apache/superset/pull/16868#issuecomment-968943811


   @audour I think this will work just fine. The PR will be squashed to a single commit during merging, so it doesn't really matter how many commits there are in the PR. So to reiterate what I think is most sensible here:
   1. click through all suggestions.
   2. one done, merge master on the PR, resolve the outstanding conflicts, then push and tag a committer so we can get it merged.


-- 
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