You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2025/10/06 06:45:22 UTC

(hop) branch main updated: Translated using Weblate (French) (#5773)

This is an automated email from the ASF dual-hosted git repository.

hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git


The following commit(s) were added to refs/heads/main by this push:
     new 56e126d76c Translated using Weblate (French) (#5773)
56e126d76c is described below

commit 56e126d76ca797f82f5eaf1aa321bbc9d7852c14
Author: hop-weblate <12...@users.noreply.github.com>
AuthorDate: Mon Oct 6 08:45:16 2025 +0200

    Translated using Weblate (French) (#5773)
    
    Currently translated at 94.4% (17 of 18 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 46.2% (73 of 158 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 100.0% (7 of 7 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 41.6% (15 of 36 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 85.0% (222 of 261 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 96.8% (61 of 63 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 81.3% (35 of 43 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 71.6% (58 of 81 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 74.1% (178 of 240 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 90.9% (110 of 121 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 95.3% (183 of 192 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 92.1% (164 of 178 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 86.3% (126 of 146 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 36.0% (9 of 25 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 48.8% (22 of 45 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 83.6% (41 of 49 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 82.9% (112 of 135 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.5% (66 of 67 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.8% (178 of 182 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 70.3% (38 of 54 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 60.5% (23 of 38 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 84.3% (27 of 32 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 95.8% (23 of 24 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 56.6% (102 of 180 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 83.4% (141 of 169 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 99.2% (133 of 134 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 99.0% (103 of 104 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 94.2% (66 of 70 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 82.8% (29 of 35 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 71.7% (112 of 156 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 94.3% (67 of 71 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 95.4% (42 of 44 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 76.9% (40 of 52 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 64.6% (64 of 99 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 83.5% (56 of 67 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 78.0% (78 of 100 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 95.7% (90 of 94 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 77.7% (28 of 36 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.4% (115 of 118 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.0% (202 of 206 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 67.4% (199 of 295 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 51.7% (45 of 87 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 82.3% (84 of 102 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 47.3% (27 of 57 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 86.3% (63 of 73 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 92.0% (58 of 63 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 26.3% (20 of 76 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.7% (80 of 81 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.5% (70 of 71 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 68.8% (64 of 93 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 88.5% (124 of 140 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.9% (95 of 96 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 84.9% (45 of 53 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 73.8% (31 of 42 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 87.1% (61 of 70 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 2.8% (3 of 105 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 61.1% (55 of 90 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 73.4% (69 of 94 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 91.6% (11 of 12 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 99.1% (122 of 123 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 95.5% (86 of 90 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.6% (75 of 76 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.3% (58 of 59 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.9% (47 of 48 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.3% (37 of 38 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 64.2% (18 of 28 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 91.6% (22 of 24 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 96.7% (59 of 61 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 96.2% (26 of 27 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 94.4% (17 of 18 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 98.1% (52 of 53 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 92.3% (12 of 13 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.7% (43 of 44 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 96.0% (24 of 25 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 91.6% (11 of 12 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 93.3% (14 of 15 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 99.0% (106 of 107 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 87.5% (28 of 32 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 97.6% (41 of 42 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 94.6% (53 of 56 strings)
    
    Translated using Weblate (French)
    
    Currently translated at 100.0% (2 of 2 strings)
    
    
    
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/columnexists/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/combinationlookup/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/constant/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/copyfiles/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/csvinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/database-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/databaselookup/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/delay/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/delete/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/deletefile/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/dialog-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/dialog/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/dtdvalidator/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/dynamicsqlrow/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/eval/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/evaluatetablecontent/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/excelinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/excelwriter/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/execsqlrow/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/explorer/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/fileexists-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/fileexists/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/fileinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/flattener/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/folderscompare/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/ftp/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/fuzzymatch/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/getfilenames/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/getpop/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/getxmldata/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/hopgui/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/http-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/jsonoutput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/jsonoutputenhanced/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/kettle/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/loadfileinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/mail/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/mailinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/mapping/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/mergejoin/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/metainject/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/monetdbbulkloader/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/movefiles/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/mysqlbulkfile/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/partition-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/pipeline-2/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/propertyinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/regexeval/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/repeat/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/resolver/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/rest/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/rowgenerator/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/salesforcedelete/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/salesforceinput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/salesforceupsert/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/selectvalues/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sendnagiospassivecheck/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/server-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/setvariable/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/setvariables/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sftp/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sftpput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/shell/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sort/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sql/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/sqlfileoutput/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/streamlookup/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/switchcase/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/synchronizeaftermerge/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/text/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/waitforfile/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/waitforsql/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/webservices/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/widget/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/workflow-2/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/workflowexecutor/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/xmljoin/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/xmlwellformed/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/xsdvalidator/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/xslt-1/fr/
    Translate-URL: https://translate.project-hop.org/projects/apache-hop/yamlinput/fr/
    Translation: Apache Hop/columnexists
    Translation: Apache Hop/combinationlookup
    Translation: Apache Hop/constant
    Translation: Apache Hop/copyfiles
    Translation: Apache Hop/csvinput
    Translation: Apache Hop/database 1
    Translation: Apache Hop/databaselookup
    Translation: Apache Hop/delay
    Translation: Apache Hop/delete
    Translation: Apache Hop/deletefile
    Translation: Apache Hop/dialog
    Translation: Apache Hop/dialog 1
    Translation: Apache Hop/dtdvalidator
    Translation: Apache Hop/dynamicsqlrow
    Translation: Apache Hop/eval
    Translation: Apache Hop/evaluatetablecontent
    Translation: Apache Hop/excelinput
    Translation: Apache Hop/excelwriter
    Translation: Apache Hop/execsqlrow
    Translation: Apache Hop/explorer
    Translation: Apache Hop/fileexists
    Translation: Apache Hop/fileexists 1
    Translation: Apache Hop/fileinput
    Translation: Apache Hop/flattener
    Translation: Apache Hop/folderscompare
    Translation: Apache Hop/ftp
    Translation: Apache Hop/fuzzymatch
    Translation: Apache Hop/getfilenames
    Translation: Apache Hop/getpop
    Translation: Apache Hop/getxmldata
    Translation: Apache Hop/hopgui
    Translation: Apache Hop/http 1
    Translation: Apache Hop/jsonoutput
    Translation: Apache Hop/jsonoutputenhanced
    Translation: Apache Hop/kettle
    Translation: Apache Hop/loadfileinput
    Translation: Apache Hop/mail
    Translation: Apache Hop/mailinput
    Translation: Apache Hop/mapping
    Translation: Apache Hop/mergejoin
    Translation: Apache Hop/metainject
    Translation: Apache Hop/monetdbbulkloader
    Translation: Apache Hop/movefiles
    Translation: Apache Hop/mysqlbulkfile
    Translation: Apache Hop/partition 1
    Translation: Apache Hop/pipeline 2
    Translation: Apache Hop/propertyinput
    Translation: Apache Hop/regexeval
    Translation: Apache Hop/repeat
    Translation: Apache Hop/resolver
    Translation: Apache Hop/rest
    Translation: Apache Hop/rowgenerator
    Translation: Apache Hop/salesforcedelete
    Translation: Apache Hop/salesforceinput
    Translation: Apache Hop/salesforceupsert
    Translation: Apache Hop/selectvalues
    Translation: Apache Hop/sendnagiospassivecheck
    Translation: Apache Hop/server 1
    Translation: Apache Hop/setvariable
    Translation: Apache Hop/setvariables
    Translation: Apache Hop/sftp
    Translation: Apache Hop/sftpput
    Translation: Apache Hop/shell
    Translation: Apache Hop/sort
    Translation: Apache Hop/sql
    Translation: Apache Hop/sqlfileoutput
    Translation: Apache Hop/streamlookup
    Translation: Apache Hop/switchcase
    Translation: Apache Hop/synchronizeaftermerge
    Translation: Apache Hop/text
    Translation: Apache Hop/waitforfile
    Translation: Apache Hop/waitforsql
    Translation: Apache Hop/webservices
    Translation: Apache Hop/widget
    Translation: Apache Hop/workflow 2
    Translation: Apache Hop/workflowexecutor
    Translation: Apache Hop/xmljoin
    Translation: Apache Hop/xmlwellformed
    Translation: Apache Hop/xsdvalidator
    Translation: Apache Hop/xslt 1
    Translation: Apache Hop/yamlinput
    
    Co-authored-by: Weblate <no...@weblate.org>
    Co-authored-by: Nicoas Adment <na...@gmail.com>
---
 .../variables/resolver/messages/messages_fr_FR.properties    |  2 ++
 .../apache/hop/pipeline/messages/messages_fr_FR.properties   |  4 ++--
 .../actions/copyfiles/messages/messages_fr_FR.properties     |  2 +-
 .../actions/delay/messages/messages_fr_FR.properties         |  4 ++--
 .../actions/deletefile/messages/messages_fr_FR.properties    |  6 +++---
 .../workflow/actions/eval/messages/messages_fr_FR.properties |  2 +-
 .../evaluatetablecontent/messages/messages_fr_FR.properties  |  2 +-
 .../actions/fileexists/messages/messages_fr_FR.properties    |  4 ++--
 .../folderscompare/messages/messages_fr_FR.properties        |  2 +-
 .../workflow/actions/ftp/messages/messages_fr_FR.properties  |  8 ++++----
 .../workflow/actions/sftp/messages/messages_fr_FR.properties |  4 ++--
 .../actions/sftpput/messages/messages_fr_FR.properties       |  2 +-
 .../actions/movefiles/messages/messages_fr_FR.properties     |  2 +-
 .../actions/mysqlbulkfile/messages/messages_fr_FR.properties |  2 +-
 .../actions/repeat/messages/messages_fr_FR.properties        | 12 ++++++------
 .../messages/messages_fr_FR.properties                       |  2 +-
 .../actions/setvariables/messages/messages_fr_FR.properties  |  2 +-
 .../actions/shell/messages/messages_fr_FR.properties         |  2 +-
 .../workflow/actions/sql/messages/messages_fr_FR.properties  |  2 +-
 .../actions/waitforfile/messages/messages_fr_FR.properties   |  2 +-
 .../actions/waitforsql/messages/messages_fr_FR.properties    |  2 +-
 .../xml/dtdvalidator/messages/messages_fr_FR.properties      |  4 ++--
 .../xml/xmlwellformed/messages/messages_fr_FR.properties     |  2 +-
 .../xml/xsdvalidator/messages/messages_fr_FR.properties      |  2 +-
 .../hop/imports/kettle/messages/messages_fr_FR.properties    |  2 +-
 .../transforms/mail/messages/messages_fr_FR.properties       |  2 +-
 .../transforms/mailinput/messages/messages_fr_FR.properties  |  2 ++
 .../actions/getpop/messages/messages_fr_FR.properties        | 12 ++++++------
 .../columnexists/messages/messages_fr_FR.properties          |  2 +-
 .../combinationlookup/messages/messages_fr_FR.properties     |  6 +++---
 .../transforms/constant/messages/messages_fr_FR.properties   |  4 ++--
 .../databaselookup/messages/messages_fr_FR.properties        |  2 +-
 .../transforms/delete/messages/messages_fr_FR.properties     |  2 +-
 .../dynamicsqlrow/messages/messages_fr_FR.properties         |  2 +-
 .../transforms/excelinput/messages/messages_fr_FR.properties |  6 +++---
 .../excelwriter/messages/messages_fr_FR.properties           |  2 +-
 .../transforms/execsqlrow/messages/messages_fr_FR.properties |  2 +-
 .../transforms/fileexists/messages/messages_fr_FR.properties |  2 +-
 .../transforms/flattener/messages/messages_fr_FR.properties  |  2 +-
 .../transforms/fuzzymatch/messages/messages_fr_FR.properties |  4 ++--
 .../getfilenames/messages/messages_fr_FR.properties          |  6 +++---
 .../transforms/http/messages/messages_fr_FR.properties       |  2 +-
 .../transforms/jsonoutput/messages/messages_fr_FR.properties |  2 +-
 .../jsonoutputenhanced/messages/messages_fr_FR.properties    |  1 +
 .../loadfileinput/messages/messages_fr_FR.properties         |  2 +-
 .../transforms/mapping/messages/messages_fr_FR.properties    |  4 ++--
 .../transforms/mergejoin/messages/messages_fr_FR.properties  |  2 +-
 .../transforms/metainject/messages/messages_fr_FR.properties |  2 +-
 .../monetdbbulkloader/messages/messages_fr_FR.properties     |  2 +-
 .../propertyinput/messages/messages_fr_FR.properties         |  4 ++--
 .../transforms/regexeval/messages/messages_fr_FR.properties  |  4 ++--
 .../transforms/rest/messages/messages_fr_FR.properties       |  4 ++--
 .../rowgenerator/messages/messages_fr_FR.properties          |  2 +-
 .../salesforcedelete/messages/messages_fr_FR.properties      |  2 +-
 .../salesforceinput/messages/messages_fr_FR.properties       |  2 +-
 .../salesforceupsert/messages/messages_fr_FR.properties      |  2 +-
 .../selectvalues/messages/messages_fr_FR.properties          |  2 +-
 .../setvariable/messages/messages_fr_FR.properties           |  2 +-
 .../transforms/sort/messages/messages_fr_FR.properties       |  4 ++--
 .../sqlfileoutput/messages/messages_fr_FR.properties         |  2 +-
 .../streamlookup/messages/messages_fr_FR.properties          |  2 +-
 .../transforms/switchcase/messages/messages_fr_FR.properties |  2 +-
 .../synchronizeaftermerge/messages/messages_fr_FR.properties |  2 +-
 .../transforms/csvinput/messages/messages_fr_FR.properties   |  2 +-
 .../transforms/fileinput/messages/messages_fr_FR.properties  |  2 +-
 .../fileinput/text/messages/messages_fr_FR.properties        |  4 ++--
 .../webservices/messages/messages_fr_FR.properties           |  4 ++--
 .../workflowexecutor/messages/messages_fr_FR.properties      |  4 ++--
 .../xml/getxmldata/messages/messages_fr_FR.properties        |  4 ++--
 .../xml/xmljoin/messages/messages_fr_FR.properties           |  2 +-
 .../transforms/xml/xslt/messages/messages_fr_FR.properties   |  2 +-
 .../transforms/yamlinput/messages/messages_fr_FR.properties  |  2 +-
 .../core/database/dialog/messages/messages_fr_FR.properties  |  2 +-
 .../hop/ui/core/database/messages/messages_fr_FR.properties  |  2 +-
 .../hop/ui/core/dialog/messages/messages_fr_FR.properties    |  2 +-
 .../hop/ui/core/widget/messages/messages_fr_FR.properties    |  2 +-
 .../hopgui/file/workflow/messages/messages_fr_FR.properties  |  2 +-
 .../apache/hop/ui/hopgui/messages/messages_fr_FR.properties  |  4 ++--
 .../perspective/explorer/messages/messages_fr_FR.properties  |  2 +-
 .../hop/ui/partition/messages/messages_fr_FR.properties      |  4 ++--
 .../apache/hop/ui/server/messages/messages_fr_FR.properties  |  8 ++++----
 81 files changed, 125 insertions(+), 120 deletions(-)

diff --git a/core/src/main/resources/org/apache/hop/core/variables/resolver/messages/messages_fr_FR.properties b/core/src/main/resources/org/apache/hop/core/variables/resolver/messages/messages_fr_FR.properties
index 1692cdb472..9c38c1dfeb 100644
--- a/core/src/main/resources/org/apache/hop/core/variables/resolver/messages/messages_fr_FR.properties
+++ b/core/src/main/resources/org/apache/hop/core/variables/resolver/messages/messages_fr_FR.properties
@@ -17,3 +17,5 @@
 #
 #
 
+VariableResolver.name=R\u00E9solveur de variables
+VariableResolver.Description=Permet de cr\u00E9er des moyens personnalis\u00E9s pour r\u00E9soudre dynamiquement les variables.
diff --git a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_fr_FR.properties b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_fr_FR.properties
index 00fe946d9b..f83fbb0d8b 100644
--- a/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_fr_FR.properties
+++ b/engine/src/main/resources/org/apache/hop/pipeline/messages/messages_fr_FR.properties
@@ -65,7 +65,7 @@ Pipeline.Log.PipelineDetectedErrors=Pipeline d\u00E9tect\u00E9e
 Pipeline.Log.PipelineHasAllocatedANewTransform=\ Le pipeline a allou\u00E9 une nouvelle transformation\: [{0}].{1}
 Pipeline.Log.PipelineIsKillingTheOtherTransforms=Le pipeline est en train d''arr\u00EAter l''ex\u00E9cution des autres transformations\!
 Pipeline.Log.PipelineIsToAllocateTransform=\ Le pipeline est sur le point d''allouer \u00E0 la transformation [{0}] type [{1}]
-Pipeline.Log.SafeModeIsEnabled=Le mode contr\u00F4le renforc\u00E9 est disponible pour ce ce pipeline
+Pipeline.Log.SafeModeIsEnabled=Le mode contr\u00F4le renforc\u00E9 est disponible pour ce pipeline
 Pipeline.Log.Start=DEMARRER
 Pipeline.Log.TransformCopiesNotCorrectlyDefined=Le nombre de copies de la transformation \u00E0 ex\u00E9cuter ({0}) pour {1} n''est pas une valeur positive\!
 Pipeline.Log.TransformFailedToInit=L''initialisation de la transformation [{0}] a \u00E9chou\u00E9\!
@@ -89,7 +89,7 @@ PipelineMeta.Exception.OneMappingInputTransformRequired=La sous- pipeline n\u00E
 PipelineMeta.Exception.OneMappingOutputTransformRequired=La sous- pipeline sp\u00E9cifi\u00E9e n\u00E9c\u00E9ssite une \u00E9tape ''sp\u00E9cification sortie sous-pipeline''.\r\nApache Hop n''en a trouv\u00E9\!
 PipelineMeta.Exception.OnlyOneMappingInputTransformAllowed=Une seule transformation ''sp\u00E9cification entr\u00E9e sous-pipeline'' est requise\! Apache Hop en a trouv\u00E9e {0}.
 PipelineMeta.Exception.OnlyOneMappingOutputTransformAllowed=Une seule transformation ''sp\u00E9cification sortie sous-pipeline'' est requise\! Apache Hop en a trouv\u00E9e {0}.
-PipelineMeta.Exception.TransformNameNotFound=La transformation nomm\u00E9e ''{0}''  est introuvable.
+PipelineMeta.Exception.TransformNameNotFound=La transformation nomm\u00E9e ''{0}'' est introuvable.
 PipelineMeta.Log.DestinationOfHopCannotBeNull=Erreur Interne d\u00E9tect\u00E9e, une destination d''un lien ne peut \u00EAtre nulle\!
 PipelineMeta.Log.FoundFieldsToAdd=champs \u00E0 ajouter trouv\u00E9s\: 
 PipelineMeta.Log.FoundFieldsToAdd2=champs \u00E0 ajouter trouv\u00E9s\: 
diff --git a/plugins/actions/copyfiles/src/main/resources/org/apache/hop/workflow/actions/copyfiles/messages/messages_fr_FR.properties b/plugins/actions/copyfiles/src/main/resources/org/apache/hop/workflow/actions/copyfiles/messages/messages_fr_FR.properties
index aed891c289..1b564e1b28 100644
--- a/plugins/actions/copyfiles/src/main/resources/org/apache/hop/workflow/actions/copyfiles/messages/messages_fr_FR.properties
+++ b/plugins/actions/copyfiles/src/main/resources/org/apache/hop/workflow/actions/copyfiles/messages/messages_fr_FR.properties
@@ -26,7 +26,7 @@ ActionCopyFiles.CreateDestinationFolder.Tooltip=Cr\u00E9er le r\u00E9pertoire de
 ActionCopyFiles.Description=Copie de fichiers\n Possibilit\u00E9 de parcourir un dossier, de copier les fichier vers une destination\n et enlever les source.
 ActionCopyFiles.DestinationIsAFile.Label=La destination est un fichier
 ActionCopyFiles.DestinationIsAFile.Tooltip=La destination est un fichier.
-ActionCopyFiles.Error.DestinationFolderNotFound=Destination folder does not exist\!
+ActionCopyFiles.Error.DestinationFolderNotFound=Le dossier de destination n'existe pas\u00A0!
 ActionCopyFiles.Error.Exception.CanRemoveFileFolder=Impossible de supprimer le fichier/r\u00E9pertoire [{0}]
 ActionCopyFiles.Error.Exception.CopyProcess=Apache Hop a rencontr\u00E9 une erreur lors du processus de copie du fichier/r\u00E9pertoire [{0}] vers [{1}]. Exception \: [{2}]
 ActionCopyFiles.Error.Exception.CopyProcessFileSystemException=Erreur au niveau du syst\u00E8me de fichier\: {0}
diff --git a/plugins/actions/delay/src/main/resources/org/apache/hop/workflow/actions/delay/messages/messages_fr_FR.properties b/plugins/actions/delay/src/main/resources/org/apache/hop/workflow/actions/delay/messages/messages_fr_FR.properties
index fbe6f038cb..a5f51712e9 100644
--- a/plugins/actions/delay/src/main/resources/org/apache/hop/workflow/actions/delay/messages/messages_fr_FR.properties
+++ b/plugins/actions/delay/src/main/resources/org/apache/hop/workflow/actions/delay/messages/messages_fr_FR.properties
@@ -20,9 +20,9 @@
 ActionDelay.Description=Mise en place d''un d\u00E9lai d''attente (temporisation)
 ActionDelay.HrScaleTime.Label=Heures
 ActionDelay.LetsWaitFor.Label=D\u00E9marrage de la temporisation pour une dur\u00E9e : {0} {1}...
-ActionDelay.MaximumTimeout.Label=Dur\u00E9e de la temporisation 
+ActionDelay.MaximumTimeout.Label=Dur\u00E9e de la temporisation
 ActionDelay.MaximumTimeout.Tooltip=Echelle de temps
-ActionDelay.MaximumTimeReset.Label=D\u00E9lai d''attente invalide, initialisation \u00E0\u00A0 \: {0} {1}
+ActionDelay.MaximumTimeReset.Label=D\u00E9lai d''attente invalide, initialisation \u00E0 : {0} {1}
 ActionDelay.MnScaleTime.Label=Minutes
 ActionDelay.Name=Mise en place Temporisation
 ActionDelay.SScaleTime.Label=Secondes
diff --git a/plugins/actions/deletefile/src/main/resources/org/apache/hop/workflow/actions/deletefile/messages/messages_fr_FR.properties b/plugins/actions/deletefile/src/main/resources/org/apache/hop/workflow/actions/deletefile/messages/messages_fr_FR.properties
index 7f56bc5c7f..9cb56098e0 100644
--- a/plugins/actions/deletefile/src/main/resources/org/apache/hop/workflow/actions/deletefile/messages/messages_fr_FR.properties
+++ b/plugins/actions/deletefile/src/main/resources/org/apache/hop/workflow/actions/deletefile/messages/messages_fr_FR.properties
@@ -18,15 +18,15 @@
 #
 
 ActionDeleteFile.Description=Supprimer un fichier
-ActionDeleteFile.ERROR_0004_File_Does_Not_Exist=Le fichier  [{0}] est introuvable, \u00E9chec.
+ActionDeleteFile.ERROR_0004_File_Does_Not_Exist=Le fichier [{0}] est introuvable, \u00E9chec.
 ActionDeleteFile.ERROR_0005_Could_Not_Delete_File=Impossible de supprimer le fichier [{0}].
 ActionDeleteFile.ERROR_0006_Exception_Deleting_File=Impossible de supprimer le fichier [{0}], exception\: {1}
 ActionDeleteFile.ERROR_0007_No_Filename_Is_Defined=Aucun fichier d\u00E9fini.
 ActionDeleteFile.FailIfExists.Label=Echec si le fichier n''existe pas
 ActionDeleteFile.FailIfExists.Tooltip=Echec si le fichier n''existe pas
 ActionDeleteFile.File_Already_Deleted=Le fichier [{0}] a d\u00E9j\u00E0 \u00E9t\u00E9 supprim\u00E9.
-ActionDeleteFile.File_Deleted=Le fichier  [{0}] a \u00E9t\u00E9 supprim\u00E9\!
-ActionDeleteFile.Filename.Label=Nom du fichier 
+ActionDeleteFile.File_Deleted=Le fichier [{0}] a \u00E9t\u00E9 supprim\u00E9!
+ActionDeleteFile.Filename.Label=Nom du fichier
 ActionDeleteFile.Filetype.All=Tous les fichiers
 ActionDeleteFile.Name=Suppression fichier
 ActionDeleteFile.Name.Default=Supprimer fichier
diff --git a/plugins/actions/eval/src/main/resources/org/apache/hop/workflow/actions/eval/messages/messages_fr_FR.properties b/plugins/actions/eval/src/main/resources/org/apache/hop/workflow/actions/eval/messages/messages_fr_FR.properties
index f334bc80d0..52aaf8022b 100644
--- a/plugins/actions/eval/src/main/resources/org/apache/hop/workflow/actions/eval/messages/messages_fr_FR.properties
+++ b/plugins/actions/eval/src/main/resources/org/apache/hop/workflow/actions/eval/messages/messages_fr_FR.properties
@@ -21,7 +21,7 @@
 ActionEval.ActionName.Label=Nom de l''action
 ActionEval.CouldNotCompile=Impossible de compiler le script java \: {0}
 ActionEval.Description=Evalue le r\u00e9sultat de l''action pr\u00e9c\u00e9dente
-ActionEval.ErrorEvaluating=Apache Hop a rencontr\u00E9 une erreur lors de l''\u00E9valuation de l''expression  [{0}] \: {1}
+ActionEval.ErrorEvaluating=Apache Hop a rencontr\u00E9 une erreur lors de l''\u00E9valuation de l''expression [{0}] : {1}
 ActionEval.LineNr.Label=Num\u00E9ro de ligne\u202F: {0}
 ActionEval.Name=JavaScript
 ActionEval.Name.Default=\u00C9valuation
diff --git a/plugins/actions/evaluatetablecontent/src/main/resources/org/apache/hop/workflow/actions/evaluatetablecontent/messages/messages_fr_FR.properties b/plugins/actions/evaluatetablecontent/src/main/resources/org/apache/hop/workflow/actions/evaluatetablecontent/messages/messages_fr_FR.properties
index 2a1fb7c71c..30084eff5d 100644
--- a/plugins/actions/evaluatetablecontent/src/main/resources/org/apache/hop/workflow/actions/evaluatetablecontent/messages/messages_fr_FR.properties
+++ b/plugins/actions/evaluatetablecontent/src/main/resources/org/apache/hop/workflow/actions/evaluatetablecontent/messages/messages_fr_FR.properties
@@ -22,7 +22,7 @@ ActionEvalTableContent.AddRowsToResult.Tooltip=Transmettre les lignes retourn\u0
 ActionEvalTableContent.AnErrorOccurred=Une erreur s'est produite : 
 ActionEvalTableContent.ClearResultList.Label=Vider liste r\u00E9sultats avant ex\u00E9cution
 ActionEvalTableContent.ClearResultList.Tooltip=Vider la liste des lignes de r\u00E9sultat avant d''ex\u00E9cuter cette action.
-ActionEvalTableContent.ConnectionError2.DialogMessage=Please select a valid database connection first\!
+ActionEvalTableContent.ConnectionError2.DialogMessage=Veuillez s\u00E9lectionner une connexion \u00E0 la base de donn\u00E9es valide !
 ActionEvalTableContent.ConnectionNoLongerAvailable=La connexion n''est plus disponible!
 ActionEvalTableContent.CustomGroup.Group.Label=Requ\u00EAte SQL
 ActionEvalTableContent.customSQL.Label=Sp\u00E9cifier requ\u00EAte SQL
diff --git a/plugins/actions/fileexists/src/main/resources/org/apache/hop/workflow/actions/fileexists/messages/messages_fr_FR.properties b/plugins/actions/fileexists/src/main/resources/org/apache/hop/workflow/actions/fileexists/messages/messages_fr_FR.properties
index 7badb80d8e..487ae0d5e5 100644
--- a/plugins/actions/fileexists/src/main/resources/org/apache/hop/workflow/actions/fileexists/messages/messages_fr_FR.properties
+++ b/plugins/actions/fileexists/src/main/resources/org/apache/hop/workflow/actions/fileexists/messages/messages_fr_FR.properties
@@ -20,8 +20,8 @@
 ActionFileExists.Description=V\u00E9rifie si un fichier existe
 ActionFileExists.ERROR_0004_IO_Exception=Erreur lors de la v\u00E9rification de l''existence du fichier \: {0}
 ActionFileExists.ERROR_0005_No_Filename_Defined=Aucun fichier n''est d\u00E9fini.
-ActionFileExists.File_Does_Not_Exist=Le fichier  [{0}] est introuvable\!
-ActionFileExists.File_Exists=Le fichier  [{0}] existe d\u00E9j\u00E0.
+ActionFileExists.File_Does_Not_Exist=Le fichier [{0}] est introuvable!
+ActionFileExists.File_Exists=Le fichier [{0}] existe d\u00E9j\u00E0.
 ActionFileExists.Filename.Label=Nom du fichier
 ActionFileExists.Filetype.All=Tous les fichiers
 ActionFileExists.Filetype.CSV=Fichiers CSV
diff --git a/plugins/actions/folderscompare/src/main/resources/org/apache/hop/workflow/actions/folderscompare/messages/messages_fr_FR.properties b/plugins/actions/folderscompare/src/main/resources/org/apache/hop/workflow/actions/folderscompare/messages/messages_fr_FR.properties
index dc633a428c..b769a95fd2 100644
--- a/plugins/actions/folderscompare/src/main/resources/org/apache/hop/workflow/actions/folderscompare/messages/messages_fr_FR.properties
+++ b/plugins/actions/folderscompare/src/main/resources/org/apache/hop/workflow/actions/folderscompare/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionFileCompare.Log.FileNotExist=Le fichier [{0}] est introuvable\!
+ActionFileCompare.Log.FileNotExist=Le fichier [{0}] est introuvable\u202F!
 ActionFoldersCompare.All_CompareOnly.Label=Tous
 ActionFoldersCompare.CompareFileContent.Label=Comparer le contenu du fichier
 ActionFoldersCompare.CompareFileContent.Tooltip=Comparer le contenu du fichier
diff --git a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/ftp/messages/messages_fr_FR.properties b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/ftp/messages/messages_fr_FR.properties
index f5db411fb1..a8db91d4b3 100644
--- a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/ftp/messages/messages_fr_FR.properties
+++ b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/ftp/messages/messages_fr_FR.properties
@@ -17,12 +17,12 @@
 #
 #
 
-ActionFtp.ActiveConns.Label=Utiliser la connexion FTP active: 
+ActionFtp.ActiveConns.Label=Utiliser la connexion FTP active
 ActionFtp.ActiveConns.Tooltip=S\u00E9lectionnez cette option pour utiliser une connexion FTP active
 ActionFtp.AddDate.Label=Ajouter la date au nom du fichier
-ActionFtp.AddDate.Tooltip=S\u00E9lectionnez cette option si vous souhaitez\r\nInclure la date dans le  nom du fichier
+ActionFtp.AddDate.Tooltip=S\u00E9lectionnez cette option si vous souhaitez\nInclure la date dans le nom du fichier
 ActionFtp.AddDateBeforeExtension.Label=Ajouter date avant extension
-ActionFtp.AddDateBeforeExtension.Tooltip=S\u00E9lectionnez cette option si la date et l''heure\r\ndoivent \u00EAtre ins\u00E9rer dans l''extension  du fichier.
+ActionFtp.AddDateBeforeExtension.Tooltip=S\u00E9lectionnez cette option si la date et l''heure\ndoivent \u00EAtre ins\u00E9rer dans l''extension du fichier.
 ActionFtp.AddFilenameToResult.Label=Ajouter nom de fichier au r\u00E9sultat
 ActionFtp.AddFilenameToResult.Tooltip=Ajouter le nom du fichier \u00E0 la liste \r\ndes nom de fichier li\u00E9e au r\u00E9sultat
 ActionFtp.AddTime.Label=Ajouter heure au nom de fichier
@@ -97,7 +97,7 @@ ActionFtp.RemoteDir.Label=R\u00E9pertoire distant
 ActionFtp.RemoteDir.Tooltip=r\u00E9pertoire distant sur le serveur FTP
 ActionFtp.RemoteSettings.Group.Label=Distant
 ActionFtp.RemoveFiles.Label=Supprimer les fichiers distants apr\u00E8s r\u00E9cup\u00E9ration\u00A0? 
-ActionFtp.RemoveFiles.Tooltip=Supprime les fichiers sur le distant distant apr\u00E8s les avoir r\u00E9cup\u00E9r\u00E9s.
+ActionFtp.RemoveFiles.Tooltip=Supprime les fichiers sur le distant apr\u00E8s les avoir r\u00E9cup\u00E9r\u00E9s.
 ActionFtp.Server.Label=Nom / adresse IP serveur FTP
 ActionFtp.Server.Tooltip=Nom / adresse IP du serveur FTP
 ActionFtp.ServerSettings.Group.Label=Serveur
diff --git a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftp/messages/messages_fr_FR.properties b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftp/messages/messages_fr_FR.properties
index 187397bfa7..245e842d83 100644
--- a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftp/messages/messages_fr_FR.properties
+++ b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftp/messages/messages_fr_FR.properties
@@ -30,7 +30,7 @@ ActionSFTP.Description=R\u00E9cup\u00E8re des fichiers depuis un serveur FTP s\u
 ActionSftp.Error.ArgFromPrevious=La r\u00E9cup\u00E9ration des noms de fichier depuis le r\u00E9sultat de l''action pr\u00E9c\u00E9dente \u00E0 \u00E9chou\u00E9e\!
 ActionSftp.Error.CanNotFindRemoteFolder=Impossible de trouver le r\u00E9pertoire {0} sur le serveur distant\!
 ActionSftp.Error.GettingFiles=Erreur lors de la r\u00E9cup\u00E9ration des fichiers depuis le serveur \: {0}
-ActionSftp.Error.KeyFileMissing=Le fichier contenant la cl\u00E9 priv\u00E9e n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9!
+ActionSftp.Error.KeyFileMissing=Le fichier contenant la cl\u00E9 priv\u00E9e n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9\u202F!
 ActionSftp.Error.KeyFileNotFound=Le fichier cl\u00E9 [{0}] est introuvable\!
 ActionSftp.Error.TargetFolderNotExists=Impossible de trouver le r\u00E9pertoire cible {0}\!
 ActionSftp.ErrorConnect.NOK=Apache Hop a rencontr\u00E9 une erreur lors de la tentative de connexion \u00E0 {0}. Exception \: {1}
@@ -80,7 +80,7 @@ ActionSftp.ServerSettings.Group.Label=Param\u00E8tres serveur
 ActionSftp.SourceFiles.Group.Label=Source fichiers
 ActionSftp.Tab.Files.Label=Fichiers
 ActionSftp.Tab.General.Label=G\u00E9n\u00E9ral
-ActionSftp.TargetDir.Label=R\u00E9pertoire cible:  
+ActionSftp.TargetDir.Label=R\u00E9pertoire cible
 ActionSftp.TargetDir.Tooltip=Le r\u00E9pertoire cible (local)
 ActionSftp.TargetFiles.Group.Label=Cible fichiers
 ActionSftp.TestConnection.Label=Tester connexion
diff --git a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftpput/messages/messages_fr_FR.properties b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftpput/messages/messages_fr_FR.properties
index b7674a378a..d64eb72ea7 100644
--- a/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftpput/messages/messages_fr_FR.properties
+++ b/plugins/actions/ftp/src/main/resources/org/apache/hop/workflow/actions/sftpput/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionSftp.Error.KeyFileMissing=Le fichier contenant la cl\u00E9 priv\u00E9e n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9!
+ActionSftp.Error.KeyFileMissing=Le fichier contenant la cl\u00E9 priv\u00E9e n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9\u202F!
 ActionSftp.Error.KeyFileNotFound=Le fichier cl\u00E9 [{0}] est introuvable\!
 ActionSftpPut.AddfilenametoResult.Label=Ajouter nom fichier au r\u00E9sultat
 ActionSftpPut.AddfilenametoResult.Tooltip=Ajouter le nom des fichiers envoy\u00E9s \u00E0 la liste des noms de fichiers li\u00E9e au r\u00E9sultat
diff --git a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
index f9c8199626..b870fb018e 100644
--- a/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
+++ b/plugins/actions/movefiles/src/main/resources/org/apache/hop/workflow/actions/movefiles/messages/messages_fr_FR.properties
@@ -82,7 +82,7 @@ ActionMoveFiles.Log.FetchFolder=Parcours du r\u00E9pertoire [{0}]
 ActionMoveFiles.Log.FileAddedToResultFilesName=Le nom de fichier {0} a \u00E9t\u00E9 ajout\u00E9 \u00E0 la liste des noms de fichier attach\u00E9e au r\u00E9sultat
 ActionMoveFiles.Log.FileDeleted=Le fichier source [{0}] a \u00E9t\u00E9 supprim\u00E9
 ActionMoveFiles.Log.FileExists=Le fichier [{0}] existe\!
-ActionMoveFiles.Log.FileMoved=Le fichier [{0}]  a \u00E9t\u00E9 d\u00E9plac\u00E9 vers [{1}] 
+ActionMoveFiles.Log.FileMoved=Le fichier [{0}] a \u00E9t\u00E9 d\u00E9plac\u00E9 vers [{1}]
 ActionMoveFiles.Log.FileOverwrite=Le fichier [{0}] a \u00E9t\u00E9 remplac\u00E9.
 ActionMoveFiles.Log.FolderNotExist=Le dossier {0} est introuvable !
 ActionMoveFiles.Log.FolderWasCreated=Le r\u00E9pertoire [{0}] a \u00E9t\u00E9 cr\u00E9\u00E9 \!
diff --git a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_fr_FR.properties b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_fr_FR.properties
index 180fde096f..8d978f291e 100644
--- a/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_fr_FR.properties
+++ b/plugins/actions/mysqlbulkfile/src/main/resources/org/apache/hop/workflow/actions/mysqlbulkfile/messages/messages_fr_FR.properties
@@ -41,7 +41,7 @@ ActionMysqlBulkFile.IfFileExists.Label=Si le fichier existe:
 ActionMysqlBulkFile.LimitLines.Label=Exporter que les...premi\u00E8res lignes 
 ActionMysqlBulkFile.LimitLines.Tooltip=Exporter uniquement les n p\u00E8mi\u00E8res lignes vers le fichier.
 ActionMysqlBulkFile.LineTerminated.Label=Lignes termin\u00E9es par:
-ActionMysqlBulkFile.ListColumn.Label=Colonnes:  
+ActionMysqlBulkFile.ListColumn.Label=Colonnes: 
 ActionMysqlBulkFile.ListColumn.Tooltip=Liste des colonnes de la table \u00E0 exporter.\nS\u00E9parer les par une virgule : column1, column2,....
 ActionMysqlBulkFile.Name=Chargement vers un fichier depuis MySQL
 ActionMysqlBulkFile.Name.Default=Chargement vers un fichier depuis MySQL
diff --git a/plugins/actions/repeat/src/main/resources/org/apache/hop/workflow/actions/repeat/messages/messages_fr_FR.properties b/plugins/actions/repeat/src/main/resources/org/apache/hop/workflow/actions/repeat/messages/messages_fr_FR.properties
index ed9b094174..823811b58b 100644
--- a/plugins/actions/repeat/src/main/resources/org/apache/hop/workflow/actions/repeat/messages/messages_fr_FR.properties
+++ b/plugins/actions/repeat/src/main/resources/org/apache/hop/workflow/actions/repeat/messages/messages_fr_FR.properties
@@ -22,10 +22,10 @@ EndRepeat.Dialog.ActionMissing.Header=Attention
 EndRepeat.Dialog.ActionMissing.Message=Le nom de l''action du workflow est manquante\u00A0!
 EndRepeat.keywords=fin, r\u00E9p\u00E9ter
 EndRepeat.Name=End Repeat
-Repeat.AddDateToFilename.Label=Ajouter une date au nom du fichier de log\u00A0?
-Repeat.AddReptNumToFilename.Label=Ajouter un num\u00E9ro chronologique au nom du fichier ?
-Repeat.AddTimeToFilename.Label=Ajouter horodatage au nom du fichier\u00A0?
-Repeat.AppendToExistingFile.Label=Ajouter \u00E0 la fin de tout fichier de log existant (append)\u00A0?
+Repeat.AddDateToFilename.Label=Ajouter une date au nom du fichier de log
+Repeat.AddReptNumToFilename.Label=Ajouter un num\u00E9ro chronologique au nom du fichier
+Repeat.AddTimeToFilename.Label=Ajouter horodatage au nom du fichier
+Repeat.AppendToExistingFile.Label=Ajouter \u00E0 la fin de tout fichier de log existant (append)
 Repeat.BaseLogFilename.Label=Nom de base du fichier de log
 Repeat.Delay.Label=D\u00E9lai en seconde(s)
 Repeat.Description=R\u00E9p\u00E9ter l'ex\u00E9cution d'un workflow ou d'un pipeline
@@ -35,9 +35,9 @@ Repeat.FileToRepeat.Label=Fichier \u00E0 r\u00E9p\u00E9ter (.hpl or .hwf)
 Repeat.KeepVariableValues.Label=Conserve la valeur des variables apr\u00E8s ex\u00E9cution
 Repeat.keywords=r\u00E9p\u00E9ter
 Repeat.LogFilenameExt.Label=Extension du fichier de log
-Repeat.LogFileUpdateInterval.Label=Intervalle de mise \u00E0 jour du fichier de journalisation (log)\u00A0?
+Repeat.LogFileUpdateInterval.Label=Intervalle de mise \u00E0 jour du fichier de journalisation (log)
 Repeat.LoggingFileGroup.Label=Fichier de journalisation
-Repeat.LogToFile.Label=Enregistre le log dans un fichier\u00A0?
+Repeat.LogToFile.Label=Enregistre le log dans un fichier
 Repeat.Name=R\u00E9p\u00E9ter
 Repeat.OptionalVarValue.Label=Valeur optionnelle de la variable
 Repeat.ParmsVarGroup.Label=Param\u00E8tres/Variables \u00E0 d\u00E9finir\u00A0:
diff --git a/plugins/actions/sendnagiospassivecheck/src/main/resources/org/apache/hop/workflow/actions/sendnagiospassivecheck/messages/messages_fr_FR.properties b/plugins/actions/sendnagiospassivecheck/src/main/resources/org/apache/hop/workflow/actions/sendnagiospassivecheck/messages/messages_fr_FR.properties
index 952c7d5b2d..c2495d0e1c 100644
--- a/plugins/actions/sendnagiospassivecheck/src/main/resources/org/apache/hop/workflow/actions/sendnagiospassivecheck/messages/messages_fr_FR.properties
+++ b/plugins/actions/sendnagiospassivecheck/src/main/resources/org/apache/hop/workflow/actions/sendnagiospassivecheck/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionSendNagiosPassiveCheck.Connected.NOK.ConnectionBad=L''h\u00F4te [{0}] est injoignable\!
+ActionSendNagiosPassiveCheck.Connected.NOK.ConnectionBad=L''h\u00F4te [{0}] est injoignable\u202F!
 ActionSendNagiosPassiveCheck.Connected.OK=L''h\u00F4te [{0}] est joignable
 ActionSendNagiosPassiveCheck.Connected.Title.Bad=Erreur
 ActionSendNagiosPassiveCheck.Connected.Title.Ok=Succ\u00E8s
diff --git a/plugins/actions/setvariables/src/main/resources/org/apache/hop/workflow/actions/setvariables/messages/messages_fr_FR.properties b/plugins/actions/setvariables/src/main/resources/org/apache/hop/workflow/actions/setvariables/messages/messages_fr_FR.properties
index e27fd6746c..c109cf660c 100644
--- a/plugins/actions/setvariables/src/main/resources/org/apache/hop/workflow/actions/setvariables/messages/messages_fr_FR.properties
+++ b/plugins/actions/setvariables/src/main/resources/org/apache/hop/workflow/actions/setvariables/messages/messages_fr_FR.properties
@@ -39,5 +39,5 @@ ActionSetVariables.VariableType.CurrentWorkflow=Valide dans le workflow courant
 ActionSetVariables.VariableType.JVM=Valide dans la machine virtuelle
 ActionSetVariables.VariableType.ParentWorkflow=Valide dans le workflow parent
 ActionSetVariables.VariableType.RootWorkflow=Valide dans le workflow racine
-ActionSetVariables.VarsReplace.Label=Remplacer variables\u00A0?
+ActionSetVariables.VarsReplace.Label=Remplacer les variables
 ActionSetVariables.VarsReplace.Tooltip=Remplacer les variables d''environnement\r\npar leur valeur avant d''affecter les variables.
diff --git a/plugins/actions/shell/src/main/resources/org/apache/hop/workflow/actions/shell/messages/messages_fr_FR.properties b/plugins/actions/shell/src/main/resources/org/apache/hop/workflow/actions/shell/messages/messages_fr_FR.properties
index ece18042ad..338d7161b0 100644
--- a/plugins/actions/shell/src/main/resources/org/apache/hop/workflow/actions/shell/messages/messages_fr_FR.properties
+++ b/plugins/actions/shell/src/main/resources/org/apache/hop/workflow/actions/shell/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionShell.Append.Logfile.Label=Ajout au fichier trace (Append)\u00A0?
+ActionShell.Append.Logfile.Label=Ajout au fichier trace (Append)
 ActionShell.Append.Logfile.Tooltip=S\u00E9lectionnez cette option\n si vous souhaitez mettre \u00E0 jour le fichier trace.
 ActionShell.CommandFinished=Fin ex\u00E9cution de la commande {0}
 ActionShell.Description=Ex\u00E9cute un fichier contenant des commandes shell
diff --git a/plugins/actions/sql/src/main/resources/org/apache/hop/workflow/actions/sql/messages/messages_fr_FR.properties b/plugins/actions/sql/src/main/resources/org/apache/hop/workflow/actions/sql/messages/messages_fr_FR.properties
index ff7eb2be8d..ed22d4664d 100644
--- a/plugins/actions/sql/src/main/resources/org/apache/hop/workflow/actions/sql/messages/messages_fr_FR.properties
+++ b/plugins/actions/sql/src/main/resources/org/apache/hop/workflow/actions/sql/messages/messages_fr_FR.properties
@@ -36,7 +36,7 @@ ActionSQL.Position.Label=Ligne {0} Colonne {1}
 ActionSQL.Script.Label=Instructions SQL\:
 ActionSQL.SendOneStatement.Label=Envoyer une seule instruction SQL
 ActionSQL.SendOneStatement.Tooltip=S\u00E9lectionnez cette option si vous souhaitez\r\nenvoyer le script en une seule instruction SQL.
-ActionSQL.SQLFileExists=Le fichier SQL [{0}]  a \u00E9t\u00E9 trouv\u00E9
+ActionSQL.SQLFileExists=Le fichier SQL [{0}] a \u00E9t\u00E9 trouv\u00E9
 ActionSQL.SQLFileNotExist=Impossible de trouver le fichier [{0}] \!
 ActionSQL.SQLFromFile.Label=Charger SQL depuis fichier
 ActionSQL.SQLFromFile.Tooltip=S\u00E9lectionnez cette option si vous souhaitez charger \r\nles instructions SQL directement depuis un fichier.
diff --git a/plugins/actions/waitforfile/src/main/resources/org/apache/hop/workflow/actions/waitforfile/messages/messages_fr_FR.properties b/plugins/actions/waitforfile/src/main/resources/org/apache/hop/workflow/actions/waitforfile/messages/messages_fr_FR.properties
index caf32d1f18..80d3af4455 100644
--- a/plugins/actions/waitforfile/src/main/resources/org/apache/hop/workflow/actions/waitforfile/messages/messages_fr_FR.properties
+++ b/plugins/actions/waitforfile/src/main/resources/org/apache/hop/workflow/actions/waitforfile/messages/messages_fr_FR.properties
@@ -23,7 +23,7 @@ ActionWaitForFile.CheckCycleTime.Label=Fr\u00E9quence
 ActionWaitForFile.CheckCycleTime.Tooltip=Teste fr\u00E9quence (tous les x secondes)
 ActionWaitForFile.Description=Attendre l''apparition d''un fichier
 ActionWaitForFile.Filename.Label=Nom de fichier
-ActionWaitForFile.FilenameAdded=Ce nom de fichier a \u00C3\u00A9t\u00C3\u00A9 ajout\u00C3\u00A9 par une entr\u00C3\u00A9e t\u00C3\u00A2che ''Attente apparition de fichier''
+ActionWaitForFile.FilenameAdded=Ce nom de fichier a \u00E9t\u00E9 ajout\u00E9 par une action ''Attente apparition de fichier''
 ActionWaitForFile.FileSizeCheck.Label=Test taille fichier
 ActionWaitForFile.FileSizeCheck.Tooltip=Attendre ''fr\u00E9quence'' en seconde jusqu'\u00E0\u00A0 ce que la taille du fichier arr\u00EAte de varier
 ActionWaitForFile.Filetype.All=Tous les fichiers
diff --git a/plugins/actions/waitforsql/src/main/resources/org/apache/hop/workflow/actions/waitforsql/messages/messages_fr_FR.properties b/plugins/actions/waitforsql/src/main/resources/org/apache/hop/workflow/actions/waitforsql/messages/messages_fr_FR.properties
index 0a7d45812e..902fb49aa1 100644
--- a/plugins/actions/waitforsql/src/main/resources/org/apache/hop/workflow/actions/waitforsql/messages/messages_fr_FR.properties
+++ b/plugins/actions/waitforsql/src/main/resources/org/apache/hop/workflow/actions/waitforsql/messages/messages_fr_FR.properties
@@ -24,7 +24,7 @@ ActionWaitForSQL.CheckCycleTime.Label=Fr\u00E9quence
 ActionWaitForSQL.CheckCycleTime.Tooltip=Teste fr\u00E9quence (tous les x secondes)
 ActionWaitForSQL.ClearResultList.Label=Vider liste r\u00E9sultats avant ex\u00E9cution
 ActionWaitForSQL.ClearResultList.Tooltip=Vider la liste des lignes r\u00E9cup\u00E9r\u00E9es\r\ndepuis le r\u00E9sultat de l''action pr\u00E9c\u00E9dente.
-ActionWaitForSQL.ConnectionError2.DialogMessage=Please select a valid database connection first\!
+ActionWaitForSQL.ConnectionError2.DialogMessage=Veuillez s\u00E9lectionner une connexion \u00E0 la base de donn\u00E9es valide\u00A0!
 ActionWaitForSQL.ConnectionNoLongerAvailable=La connexion n''est plus disponible\!
 ActionWaitForSQL.CustomGroup.Group.Label=Requ\u00E8te SQL
 ActionWaitForSQL.customSQL.Label=Sp\u00E9cifier requ\u00E8te SQL
diff --git a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/dtdvalidator/messages/messages_fr_FR.properties b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/dtdvalidator/messages/messages_fr_FR.properties
index 0b8bb7bd36..079a31fd8a 100644
--- a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/dtdvalidator/messages/messages_fr_FR.properties
+++ b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/dtdvalidator/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionDTDValidator.AllFilesNotNull.Label=Deux fichiers sont requis!
+ActionDTDValidator.AllFilesNotNull.Label=Deux fichiers sont requis\u202F!
 ActionDTDValidator.DTDFilename.Label=Fichier DTD:
 ActionDTDValidator.DTDIntern.Label=DTD Interne
 ActionDTDValidator.DTDIntern.Tooltip=DTD Interne au document XML
@@ -29,7 +29,7 @@ ActionDTDValidator.ERRORDTDFileNotExists.Subject=DTD introuvable
 ActionDTDValidator.ERRORDTDFound.Label=La D\u00E9finition de Type de Document a \u00E9t\u00E9 trouv\u00E9e dans le fichier XML [{0}]
 ActionDTDValidator.ERRORDTDNotFound.Label=La D\u00E9finition de Type de Document n''a pas \u00E9t\u00E9 trouv\u00E9e dans le fichier XML [{0}]
 ActionDTDValidator.ErrorDTDValidator.Label=Apache Hop a rencontr\u00E9 une erreur lors de la validation du fichier XML [{0}] avec la DTD [{1}]. L''erreur est \: [{2}].
-ActionDTDValidator.FileDoesNotExist.Label=Le fichier sp\u00E9cifi\u00E9  [{0}] est introuvable
+ActionDTDValidator.FileDoesNotExist.Label=Le fichier sp\u00E9cifi\u00E9 [{0}] est introuvable
 ActionDTDValidator.Filetype.All=Tous les fichiers
 ActionDTDValidator.Filetype.Dtd=Fichiers DTD
 ActionDTDValidator.Filetype.Xml=Fichiers XML
diff --git a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xmlwellformed/messages/messages_fr_FR.properties b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xmlwellformed/messages/messages_fr_FR.properties
index b4a0d9ce9a..9249410e30 100644
--- a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xmlwellformed/messages/messages_fr_FR.properties
+++ b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xmlwellformed/messages/messages_fr_FR.properties
@@ -23,7 +23,7 @@ ActionXMLWellFormed.AddOnlyBadFormedFilenames.Label=Ajouter uniquement les noms
 ActionXMLWellFormed.AddOnlyWellFormedFilenames.Label=Ajouter noms de fichier bien form\u00E9s
 ActionXMLWellFormed.BrowseFiles.Label=Fichier...
 ActionXMLWellFormed.BrowseFolders.Label=Dossier...
-ActionXMLWellFormed.Error.AddingToFilenameResult=Apache Hop a rencontr\u00E9 une erreur lors de l''ajout du nom de fichier [{0}]  au r\u00E9sultat. Exception \: {1}
+ActionXMLWellFormed.Error.AddingToFilenameResult=Apache Hop a rencontr\u00E9 une erreur lors de l''ajout du nom de fichier [{0}] au r\u00E9sultat. Exception : {1}
 ActionXMLWellFormed.Error.Exception.Processing=Apache Hop a rencontr\u00E9 une erreur lors du traitement du fichier [{0}]. Exception \: {1}
 ActionXMLWellFormed.Error.Exception.UnableLoadXML=Impossible de charger depuis le fichier, les informations de l''action de type ''V\u00E9rification fichier XML bien form\u00E9'' 
 ActionXMLWellFormed.Error.FileBadFormed=Le fichier [{0}] est mal form\u00E9.
diff --git a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xsdvalidator/messages/messages_fr_FR.properties b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xsdvalidator/messages/messages_fr_FR.properties
index 457a316aba..fe2901f73e 100644
--- a/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xsdvalidator/messages/messages_fr_FR.properties
+++ b/plugins/actions/xml/src/main/resources/org/apache/hop/workflow/actions/xml/xsdvalidator/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-ActionXSDValidator.AllFilesNotNull.Label=Les deux fichiers (XML et XSD) sont requis\!
+ActionXSDValidator.AllFilesNotNull.Label=Les deux fichiers (XML et XSD) sont requis\u202F!
 ActionXSDValidator.ErrorXML1.Label=Fichier XML [
 ActionXSDValidator.ErrorXML2.Label=]JobEntryXSDValidator.ErrorXSD1.Label\=Fichier XSD [
 ActionXSDValidator.ErrorXSD1.Label=Fichier XSD [
diff --git a/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_fr_FR.properties b/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_fr_FR.properties
index 0443ab5740..b5a686028e 100644
--- a/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_fr_FR.properties
+++ b/plugins/misc/import/src/main/resources/org/apache/hop/imports/kettle/messages/messages_fr_FR.properties
@@ -20,7 +20,7 @@ KettleImportDialog.Label.ImportFrom=Importer depuis
 KettleImportDialog.Label.ImportInExistingProject=Importer dans un projet existant 
 KettleImportDialog.Label.ImportInProject=Importer dans un projet
 KettleImportDialog.Label.ImportToFolder=Importer dans un r\u00E9pertoire
-KettleImportDialog.Label.PathToJDBCProperties=Chemin du fichier  jdbc.properties
+KettleImportDialog.Label.PathToJDBCProperties=Chemin du fichier jdbc.properties 
 KettleImportDialog.Label.PathToKettleProperties=Chemin du fichier kettle.properties 
 KettleImportDialog.Label.PathToSharedXml=Chemin du fichier shared.xml
 KettleImportDialog.Shell.Name=Importer vers Hop
diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mail/messages/messages_fr_FR.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mail/messages/messages_fr_FR.properties
index c7e765d4e2..4b19ba0fe8 100644
--- a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mail/messages/messages_fr_FR.properties
+++ b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mail/messages/messages_fr_FR.properties
@@ -61,7 +61,7 @@ Mail.Group.Message.Label=Message
 Mail.Group.MessageSettings.Label=Param\u00E8tres message
 Mail.Group.SMTPServer.Label=Serveur SMTP
 Mail.Importance.Label=Importance
-Mail.IncludeDate.Label=Inclure la date dans le message ?
+Mail.IncludeDate.Label=Inclure la date dans le message
 Mail.Log.AttachedFile=Le fichier [{0}] a \u00E9t\u00E9 attach\u00E9 au courrier \u00E9l\u00E9ctronique.
 Mail.Log.AuthenticationPasswordFieldEmpty=Le mot de passe d''authentification est vide !
 Mail.Log.AuthenticationUserFieldEmpty=Le compte utilisateur pour authentification n''a pas \u00E9t\u00E9 renseign\u00E9\!
diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mailinput/messages/messages_fr_FR.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mailinput/messages/messages_fr_FR.properties
index 98050b426c..b0e25978ab 100644
--- a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mailinput/messages/messages_fr_FR.properties
+++ b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/pipeline/transforms/mailinput/messages/messages_fr_FR.properties
@@ -141,3 +141,5 @@ MailInputField.Column.Size=Taille
 MailInputField.Column.Subject=Objet
 MailInputMeta.CheckResult.NoInput=Aucun flux en provenance des autres transformations.
 MailInputMeta.CheckResult.NoInputExpected=Cette \u00E9tape n''est pas cens\u00E9 recevoir un flux d''entr\u00E9e.
+MailConnection.Error.FolderNotFound=Nous ne pouvons pas trouver le dossier [{0}]!
+MailConnection.FolderClosed=Le dossier [{0}] a \u00E9t\u00E9 ferm\u00E9.
diff --git a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/workflow/actions/getpop/messages/messages_fr_FR.properties b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/workflow/actions/getpop/messages/messages_fr_FR.properties
index 717533c30f..f3aa8a6945 100644
--- a/plugins/misc/mail/src/main/resources/org/apache/hop/mail/workflow/actions/getpop/messages/messages_fr_FR.properties
+++ b/plugins/misc/mail/src/main/resources/org/apache/hop/mail/workflow/actions/getpop/messages/messages_fr_FR.properties
@@ -43,7 +43,7 @@ ActionGetMailsFromPOP.FolderOpened.Subscribed=Souscription au dossier\: [{0}]
 ActionGetMailsFromPOP.FolderOpened.Url=URL r\u00E9pertoire \: [{0}]
 ActionGetMailsFromPOP.InvalidDefaultFolder.Label=R\u00E9pertoire par d\u00E9faut non valide\!
 ActionGetMailsFromPOP.InvalidFolder.Label=Dossier invalide
-ActionGetMailsFromPOP.LocalFilename.Label=Sauvegarde du fichier local  [{0}]
+ActionGetMailsFromPOP.LocalFilename.Label=Sauvegarde du fichier local [{0}]
 ActionGetMailsFromPOP.Log.OutputFolderExists=Le r\u00E9pertoire [{0}] existe.
 ActionGetMailsFromPOP.MessageDeleted=Le message {0} a \u00E9t\u00E9 supprim\u00E9.
 ActionGetMailsFromPOP.MessageMoved=Le message {0} a \u00E9t\u00E9 d\u00E9plac\u00E9 dans le r\u00E9pertoire [{1}].
@@ -84,13 +84,13 @@ ActionGetPOP.createLocalFolder.Label=Cr\u00E9er r\u00E9pertoire
 ActionGetPOP.createLocalFolder.Tooltip=Cr\u00E9er le r\u00E9pertoire si n\u00E9cessaire
 ActionGetPOP.createMoveToFolderMails.Label=Cr\u00E9er r\u00E9pertoire
 ActionGetPOP.createMoveToFolderMails.Tooltip=Cr\u00E9er le r\u00E9pertoire si n\u00E9cessaire
-ActionGetPOP.DeleteMails.Label=Supprimer courriels apr\u00E8s extraction?
-ActionGetPOP.DeleteMails.Tooltip=Supprimer courriels apr\u00E8s extraction du serveur.\n Attention les courriels seront d\u00E9finitivement effac\u00E9s\!
+ActionGetPOP.DeleteMails.Label=Supprimer courriels apr\u00E8s extraction
+ActionGetPOP.DeleteMails.Tooltip=Supprimer courriels apr\u00E8s extraction du serveur.\nAttention les courriels seront d\u00E9finitivement effac\u00E9s!
 ActionGetPOP.Description=R\u00E9cup\u00E9rer des courriels depuis un serveur (POP3/IMAP) et les sauvegarder dans un r\u00E9pertoire local
 ActionGetPOP.DifferentFolderForAttachmentMails.Label=R\u00E9pertoire diff\u00E9rent pour fichiers attach\u00E9s
 ActionGetPOP.DifferentFolderForAttachmentMails.Tooltip=Sauvegarder les fichiers attach\u00E9s dans un r\u00E9pertoire diff\u00E9rent de celui des messages
 ActionGetPOP.FetchingSubFolders=Parcours sous r\u00E9pertoires...
-ActionGetPOP.FilenamePattern.Label=D\u00E9marrer le nom du fichier par  
+ActionGetPOP.FilenamePattern.Label=D\u00E9marrer le nom du fichier par
 ActionGetPOP.FilenamePattern.Tooltip=Cha\u00EEne de d\u00E9marrage du nom du fichier contenant le courriel.\nEx\: machaine_hhmmss_MMddyyyy_0.mail
 ActionGetPOP.Firstmails.Label=Extraire les...premiers courriels\: 
 ActionGetPOP.GetAttachmentMails.Label=R\u00E9cup\u00E9rer fichiers attach\u00E9s
@@ -189,14 +189,14 @@ MailConnection.DefaultFolderCanNotHoldMessage=Le r\u00E9pertoire par d\u00E9faut
 MailConnection.Error.CountingAttachedFiles=Recherche du nombre de fichiers attach\u00E9s au message num\u00E9ro {0} ...
 MailConnection.Error.DeletingMessage=Erreur lors de la suppression des messages\!
 MailConnection.Error.FetchingMessages=Erreur lors de la lecture du message suivant\!
-MailConnection.Error.FolderNotFound=Impossible de trouver le r\u00E9pertoire [{0}]\!
+MailConnection.Error.FolderNotFound=Nous ne pouvons pas trouver le dossier [{0}]!
 MailConnection.Error.MovingMessage=Erreur lors du d\u00E9placement du message (num\u00E9ro {0}) vers le r\u00E9pertoire [{1}]\!
 MailConnection.Error.MovingMessages=Erreur lors du d\u00E9placement des messages vers le r\u00E9pertoire [{0}]\!
 MailConnection.Error.ReceivedDatePOP3Unsupported=Le filtrage de date n''est pas disponible pour le protocol POP3\!
 MailConnection.Error.RetrieveMessages=Erreur lors de la r\u00E9cup\u00E9ration des messages depuis le r\u00E9pertoire [{0}]\!
 MailConnection.Error.SavingAttachedFiles=Erreur lors de la sauvegarde des fichiers attach\u00E9s du message {0} dans le r\u00E9pertoire [{1}]\!
 MailConnection.Error.SavingMessageContent=Erreur lors de la sauvegarde du contenu du message (num\u00E9ro {0}) dans le fichier [{1}] (r\u00E9pertoire [{2}])\!
-MailConnection.FolderClosed=Le r\u00E9pertoire [{0}] a \u00E9t\u00E9 ferm\u00E9.
+MailConnection.FolderClosed=Le dossier [{0}] a \u00E9t\u00E9 ferm\u00E9.
 MailConnection.OpeningFolderInReadMode.Label=Ouverture du r\u00E9pertoire [{0}] en lecture ...
 MailConnection.OpeningFolderInWriteMode.Label=Ouverture du r\u00E9pertoire [{0}] en \u00E9criture ...
 SelectFolderDialog.Dialog.Main.Title=R\u00E9pertoires disponibles
diff --git a/plugins/transforms/columnexists/src/main/resources/org/apache/hop/pipeline/transforms/columnexists/messages/messages_fr_FR.properties b/plugins/transforms/columnexists/src/main/resources/org/apache/hop/pipeline/transforms/columnexists/messages/messages_fr_FR.properties
index 408ab50b02..e196899831 100644
--- a/plugins/transforms/columnexists/src/main/resources/org/apache/hop/pipeline/transforms/columnexists/messages/messages_fr_FR.properties
+++ b/plugins/transforms/columnexists/src/main/resources/org/apache/hop/pipeline/transforms/columnexists/messages/messages_fr_FR.properties
@@ -21,7 +21,7 @@ ColumnExists.Description=V\u00E9rifier si une colonne existe
 ColumnExists.Error.ColumnnameFieldMissing=Le champ contenant le nom de la colonne n''a pas \u00E9t\u00E9 renseign\u00E9\!
 ColumnExists.Error.ResultFieldMissing=Le champ contenant la valeur \u00E0 retourner n''a pas \u00E9t\u00E9 renseign\u00E9\!
 ColumnExists.Error.TablenameFieldMissing=Le champ contenant le nom de la table n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9\!
-ColumnExists.Error.TablenameMissing=Tablename is empty\!
+ColumnExists.Error.TablenameMissing=Le nom de la table est vide !
 ColumnExists.ErrorInTransformRunning=Suite \u00E0 une erreur, l''ex\u00E9cution va \u00EAtre arr\u00EAt\u00E9e\: 
 ColumnExists.Exception.CouldnotFindField=Impossible de trouver le champ ''{0}'' dans le flux d''entr\u00E9e\!
 ColumnExists.LineNumber=N\u00B0ligne {0}
diff --git a/plugins/transforms/combinationlookup/src/main/resources/org/apache/hop/pipeline/transforms/combinationlookup/messages/messages_fr_FR.properties b/plugins/transforms/combinationlookup/src/main/resources/org/apache/hop/pipeline/transforms/combinationlookup/messages/messages_fr_FR.properties
index a94f98edc9..72d5555402 100644
--- a/plugins/transforms/combinationlookup/src/main/resources/org/apache/hop/pipeline/transforms/combinationlookup/messages/messages_fr_FR.properties
+++ b/plugins/transforms/combinationlookup/src/main/resources/org/apache/hop/pipeline/transforms/combinationlookup/messages/messages_fr_FR.properties
@@ -28,7 +28,7 @@ CombinationLookup.Log.LineNumber=N\u00B0Ligne
 CombinationLookup.Log.UnableToConnectDB=Impossible de se connecter \u00E0 la base de donn\u00E9es\: 
 CombinationLookup.Log.UnexpectedError=Erreur \:
 CombinationLookup.Name=Mise \u00E0 jour dimension junk
-CombinationLookupDialog.AutoincButton.Tooltip=Si ce champ est d\u00E9sactiv\u00E9, r\u00E9cup\u00E9rer la valeur suivante depuis depuis la s\u00E9quence indiqu\u00E9e.{0} Si aucune s\u00E9quence n''est soumise, Apache Hop va g\u00E9n\u00E9rer les cl\u00E9s appropri\u00E9es
+CombinationLookupDialog.AutoincButton.Tooltip=Si ce champ est d\u00E9sactiv\u00E9, r\u00E9cup\u00E9rer la valeur suivante depuis la s\u00E9quence indiqu\u00E9e.{0} Si aucune s\u00E9quence n''est soumise, Apache Hop va g\u00E9n\u00E9rer les cl\u00E9s appropri\u00E9es
 CombinationLookupDialog.Autoincrement.Label=Utiliser un champ auto-incr\u00E9ment\u00E9
 CombinationLookupDialog.AvailableSchemas.Message=Veuillez svp s\u00E9lectionner un sch\u00E9ma
 CombinationLookupDialog.AvailableSchemas.Title=Sch\u00E9mas disponibles
@@ -47,7 +47,7 @@ CombinationLookupDialog.Hashfield.Label=Champ Hashcode dans la table
 CombinationLookupDialog.Keyfields.Label=Champs composant la cl\u00E9
 CombinationLookupDialog.LastUpdateField.Label=Champ derni\u00E8re date mise \u00E0 jour (optionel)
 CombinationLookupDialog.Log.GettingKeyInfo=r\u00E9cup\u00E9ration infos cl\u00E9...
-CombinationLookupDialog.Log.LookingAtConnection=Recherche connexion  \: [{0}]
+CombinationLookupDialog.Log.LookingAtConnection=Recherche connexion : [{0}]
 CombinationLookupDialog.Log.SomeKeysFound={0} cl\u00E9(s) trouv\u00E9e(s)
 CombinationLookupDialog.NoSchema.Error=Aucun sch\u00E9ma n''a \u00E9t\u00E9 trouv\u00E9.
 CombinationLookupDialog.NoSQLNeeds.DialogMessage=Cette \u00E9tape ne requiert aucun script SQL pour son bon fonctionnement.
@@ -69,7 +69,7 @@ CombinationLookupDialog.TechGroup.Label=Cr\u00E9ation d''une cl\u00E9 technique
 CombinationLookupDialog.TechnicalKey.Label=Champ table cl\u00E9 technique
 CombinationLookupDialog.TransformMeta.Title=Mise jour dimension junk
 CombinationLookupDialog.TransformName.Label=Nom de la transformation 
-CombinationLookupDialog.UnableToCreateSQL.DialogMessage=Impossible de  g\u00E9n\u00E9rer le script SQL
+CombinationLookupDialog.UnableToCreateSQL.DialogMessage=Impossible de g\u00E9n\u00E9rer le script SQL
 CombinationLookupDialog.UnableToCreateSQL.DialogTitle=R\u00E9cup\u00E9rer SQL en \u00E9chec
 CombinationLookupDialog.UnableToGetFieldsError.DialogMessage=Impossible de r\u00E9cup\u00E9rer les champs depuis les transformations suivantes
 CombinationLookupDialog.UnableToGetFieldsError.DialogTitle=R\u00E9cup\u00E9rer les champs en \u00E9chec
diff --git a/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_fr_FR.properties b/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_fr_FR.properties
index 6c6dc3d37d..2886ebfa18 100644
--- a/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_fr_FR.properties
+++ b/plugins/transforms/constant/src/main/resources/org/apache/hop/pipeline/transforms/constant/messages/messages_fr_FR.properties
@@ -23,10 +23,10 @@ AddConstants.Name=Ajout constantes
 Constant.BuildRow.Error.Parsing.BigNumber=Impossible de convertir le champ [{0}] avec la valeur [{1}] --> {2}
 Constant.BuildRow.Error.Parsing.Date=Impossible de convertir le champ date [{0}] avec la valeur [{1}] --> {2}
 Constant.BuildRow.Error.Parsing.Integer=Impossible de convertir le champ entier [{0}] avec la valeur [{1}] --> {2}
-Constant.BuildRow.Error.Parsing.Number=Impossible de convertir lle champ num\u00E9ric  [{0}]  avec la valeur [{1}] --> {2}
+Constant.BuildRow.Error.Parsing.Number=Impossible de convertir le champ num\u00E9rique [{0}] avec la valeur [{1}] --> {2}
 Constant.CheckResult.SpecifyTypeError=Veuillez svp indiquer le type du champ [{0}] pour la valeur [{1}]
 Constant.Log.LineNr=N\u00B0ligne \: {0}
-Constant.Log.Wrote.Row=Ecriture ligne  {0} \: {1}
+Constant.Log.Wrote.Row=\u00C9criture ligne {0} : {1}
 ConstantDialog.Currency.Column=Devise
 ConstantDialog.Decimal.Column=D\u00E9cimal
 ConstantDialog.DialogTitle=Ajouter des constantes
diff --git a/plugins/transforms/databaselookup/src/main/resources/org/apache/hop/pipeline/transforms/databaselookup/messages/messages_fr_FR.properties b/plugins/transforms/databaselookup/src/main/resources/org/apache/hop/pipeline/transforms/databaselookup/messages/messages_fr_FR.properties
index da29425b77..c7ac688eb3 100644
--- a/plugins/transforms/databaselookup/src/main/resources/org/apache/hop/pipeline/transforms/databaselookup/messages/messages_fr_FR.properties
+++ b/plugins/transforms/databaselookup/src/main/resources/org/apache/hop/pipeline/transforms/databaselookup/messages/messages_fr_FR.properties
@@ -21,7 +21,7 @@ DatabaseLookup.Description=Trouver des valeurs dans une base de donn\u00E9es sel
 DatabaseLookup.ERROR0001.FieldRequired1.Exception=Le Champ [
 DatabaseLookup.ERROR0001.FieldRequired2.Exception=] est requis et n''a pas \u00E9t\u00E9 trouv\u00E9\!
 DatabaseLookup.ERROR0001.FieldRequired3.Exception=Le Champ [
-DatabaseLookup.ERROR0001.FieldRequired4.Exception=] est  requis et n''a pas \u00E9t\u00E9 trouv\u00E9\!
+DatabaseLookup.ERROR0001.FieldRequired4.Exception=] est requis et n''a pas \u00E9t\u00E9 trouv\u00E9!
 DatabaseLookup.ERROR0001.FieldRequired5.Exception=Le Champ [
 DatabaseLookup.ERROR0001.FieldRequired6.Exception=] n''a pas \u00E9t\u00E9 trouv\u00E9 dans la table\!
 DatabaseLookup.ERROR0002.UnableToDetermineFieldsOfTable=Impossible de d\u00E9terminer les champs de la table [
diff --git a/plugins/transforms/delete/src/main/resources/org/apache/hop/pipeline/transforms/delete/messages/messages_fr_FR.properties b/plugins/transforms/delete/src/main/resources/org/apache/hop/pipeline/transforms/delete/messages/messages_fr_FR.properties
index 10a8ae04df..509d599b53 100644
--- a/plugins/transforms/delete/src/main/resources/org/apache/hop/pipeline/transforms/delete/messages/messages_fr_FR.properties
+++ b/plugins/transforms/delete/src/main/resources/org/apache/hop/pipeline/transforms/delete/messages/messages_fr_FR.properties
@@ -50,7 +50,7 @@ DeleteDialog.Log.GettingKeyInfo=r\u00E9cup\u00E9ration infos cl\u00E9...
 DeleteDialog.Log.LookingAtConnection=Recherche connexion\: 
 DeleteDialog.NoSchema.Error=Aucun sch\u00E9ma n''a \u00E9t\u00E9 trouv\u00E9.
 DeleteDialog.Shell.Title=Supprimer
-DeleteDialog.TargetSchema.Label=Sch\u00E9ma cible  
+DeleteDialog.TargetSchema.Label=Sch\u00E9ma cible
 DeleteDialog.TargetTable.Label=Table cible 
 DeleteDialog.TransformName.Label=Nom de la transformation 
 DeleteMeta.CheckResult.AllFieldsFound=Tous les champs ont \u00E9t\u00E9 trouv\u00E9s dans le flux d''entr\u00E9e.
diff --git a/plugins/transforms/dynamicsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/dynamicsqlrow/messages/messages_fr_FR.properties b/plugins/transforms/dynamicsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/dynamicsqlrow/messages/messages_fr_FR.properties
index 3235b46b06..ccb228715a 100644
--- a/plugins/transforms/dynamicsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/dynamicsqlrow/messages/messages_fr_FR.properties
+++ b/plugins/transforms/dynamicsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/dynamicsqlrow/messages/messages_fr_FR.properties
@@ -19,7 +19,7 @@
 
 DynamicSQLRow.Description=Interrogation dynamique d''une Base de donn\u00E9es
 DynamicSQLRow.Exception.FieldNotFound=Le champ [{0}] est introuvable dans le flux d''entr\u00E9e\!
-DynamicSQLRow.Exception.IncorrectNrTemplateFields=Le nombre de champs retourn\u00E9s par la requ\u00EAte mod\u00E8le ({0}) est diff\u00E9rent de celui obtenu lors de l''ex\u00E9cution de la requ\u00EAte SQL  ({1}) \: ''{2}''
+DynamicSQLRow.Exception.IncorrectNrTemplateFields=Le nombre de champs retourn\u00E9s par la requ\u00EAte mod\u00E8le ({0}) est diff\u00E9rent de celui obtenu lors de l''ex\u00E9cution de la requ\u00EAte SQL ({1}) : ''{2}''
 DynamicSQLRow.Exception.SQLEmpty=L''instruction SQL exemple n''a pas \u00E9t\u00E9 renseign\u00E9e\!
 DynamicSQLRow.Exception.SQLFieldNameEmpty=Le champ contenant la requ\u00EAte SQL \u00E0 ex\u00E9cuter n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9e\!
 DynamicSQLRow.Exception.TemplateReturnDataTypeError=Le type du champ retourn\u00E9 par la requ\u00EAte mod\u00E8le SQL "{0}" est diff\u00E9rent de celui du champ "{1}" obtenu lors de l''ex\u00E9cution de la requ\u00EAte
diff --git a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_fr_FR.properties b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_fr_FR.properties
index 64ee333c2e..9a7cb2241b 100644
--- a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelinput/messages/messages_fr_FR.properties
@@ -25,7 +25,7 @@ ExcelInput.Error.NotInputFieldsDefined=Aucun champ (extraction) n''a \u00E9t\u00
 ExcelInput.Error.ProcessRowFromExcel=Erreur du traitement de la ligne depuis le fichier Excel [{0}] \: {1}
 ExcelInput.Exception.CanNotCreateFileObject=Erreur inattendue lors de la cr\u00E9ation de la lecture de {0}
 ExcelInput.Exception.InvalidTypeBoolean=Type binaire invalide, {0} est attendu
-ExcelInput.Exception.InvalidTypeDate=Type date  {0} invalide, {1} est attendu
+ExcelInput.Exception.InvalidTypeDate=Type date {0} invalide, {1} est attendu
 ExcelInput.Exception.InvalidTypeLabel=Type label {0} invalide, {1} est attendu
 ExcelInput.Exception.InvalidTypeNumber=Type nombre {0} invalide, {1} est attendu
 ExcelInput.Exception.MissingRequiredFiles=Les fichiers requis suivant sont introuvables\: {0}
@@ -102,11 +102,11 @@ ExcelInputDialog.Grouping.Column=Groupement
 ExcelInputDialog.Header.Label=En t\u00EAte 
 ExcelInputDialog.InclFilenameField.Label=Champ Nom complet du fichier 
 ExcelInputDialog.InclRownumField.Label=Champ num\u00E9ro de ligne 
-ExcelInputDialog.InclSheetnameField.Label=Champ nom de la feuille  
+ExcelInputDialog.InclSheetnameField.Label=Champ nom de la feuille
 ExcelInputDialog.InclSheetRownumField.Label=Champ num\u00E9ro de ligne dans feuille
 ExcelInputDialog.IncludeSubDirs.Column=Parcourir sous-r\u00E9pertoires
 ExcelInputDialog.IncludeSubDirs.Tooltip=S\u00E9lectionnez cette option si vous souhaitez rechercher les fichiers dans les sous-r\u00E9pertoires
-ExcelInputDialog.IsHiddenName.Label=Champ fichier cach?
+ExcelInputDialog.IsHiddenName.Label=Champ fichier cach\u00E9 ?
 ExcelInputDialog.LastModificationTimeName.Label=Champ date de derni\u00E8re modification
 ExcelInputDialog.Length.Column=Longueur
 ExcelInputDialog.Limit.Label=Limite 
diff --git a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelwriter/messages/messages_fr_FR.properties b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelwriter/messages/messages_fr_FR.properties
index 935b4c49ec..68a0f293fe 100644
--- a/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelwriter/messages/messages_fr_FR.properties
+++ b/plugins/transforms/excel/src/main/resources/org/apache/hop/pipeline/transforms/excelwriter/messages/messages_fr_FR.properties
@@ -25,7 +25,7 @@ ExcelWriterDialog.AddTransformnr.Label=Inclure N\u00B0\u00E9tape au nom fichier
 ExcelWriterDialog.AppendLines.Label=Ecriture \u00E0 la fin de la feuille
 ExcelWriterDialog.AppendLines.Tooltip=Les lignes seront ecrites \u00E0 la fin de la feuille 
 ExcelWriterDialog.AutoSize.Label=Redimensionner colonnes
-ExcelWriterDialog.AutoSize.Tooltip=Redimensionner automatique les colonnes aux valeurs les plus grandes.  
+ExcelWriterDialog.AutoSize.Tooltip=Redimensionner automatique les colonnes aux valeurs les plus grandes.
 ExcelWriterDialog.CommentAuthor.Column=Auteur commentaire (XLSX)
 ExcelWriterDialog.CommentField.Column=Commentaire cellule (XLSX)
 ExcelWriterDialog.ContentGroup.Label=Options
diff --git a/plugins/transforms/execsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/execsqlrow/messages/messages_fr_FR.properties b/plugins/transforms/execsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/execsqlrow/messages/messages_fr_FR.properties
index c6e078cb3f..d7e70f7029 100644
--- a/plugins/transforms/execsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/execsqlrow/messages/messages_fr_FR.properties
+++ b/plugins/transforms/execsqlrow/src/main/resources/org/apache/hop/pipeline/transforms/execsqlrow/messages/messages_fr_FR.properties
@@ -24,7 +24,7 @@ ExecSqlRow.Exception.CouldNotFindField=Impossible de trouver le champ ''{0}'' da
 ExecSqlRow.Exception.CouldnotFindField=Impossible de trouver le champ [{0}] dans le flux d''entr\u00E9e\!
 ExecSqlRow.Init.ConnectionMissing=La connexion \u00E0 la base de donn\u00E9es n''a pas \u00E9t\u00E9 d\u00E9finie ou est introuvable pour la transformation [{0}]\!
 ExecSqlRow.Log.ConnectedToDB=Connect\u00E9 \u00E0 la base de donn\u00E9es...
-ExecSqlRow.Log.EmptySQLFromFile=Le nom  du fichier est vide!
+ExecSqlRow.Log.EmptySQLFromFile=Le nom du fichier est vide!
 ExecSqlRow.Log.ErrorInTransform=Apache Hop va arr\u00EAter le traitement car la transformation a g\u00E9n\u00E9r\u00E9 une erreur\:
 ExecSqlRow.Log.ErrorOccurred=Le traitement va \u00EAtre arr\u00EAt\u00E9 suite \u00E0 une erreur\: 
 ExecSqlRow.Log.ExecutingSQLFromFile=Ex\u00E9cution d''intruction SQL depuis le fichier [{0}]
diff --git a/plugins/transforms/fileexists/src/main/resources/org/apache/hop/pipeline/transforms/fileexists/messages/messages_fr_FR.properties b/plugins/transforms/fileexists/src/main/resources/org/apache/hop/pipeline/transforms/fileexists/messages/messages_fr_FR.properties
index 3878ede366..cc4e59b241 100644
--- a/plugins/transforms/fileexists/src/main/resources/org/apache/hop/pipeline/transforms/fileexists/messages/messages_fr_FR.properties
+++ b/plugins/transforms/fileexists/src/main/resources/org/apache/hop/pipeline/transforms/fileexists/messages/messages_fr_FR.properties
@@ -32,7 +32,7 @@ FileExistsDialog.FailedToGetFields.DialogMessage=Impossible de r\u00E9cup\u00E9r
 FileExistsDialog.FailedToGetFields.DialogTitle=Echec r\u00E9cup\u00E9ration champs
 FileExistsDialog.FileName.Label=Champ nom fichier
 FileExistsDialog.FileTypeField.Label=Champ type fichier
-FileExistsDialog.FileTypeField.Tooltip=Si vous souhaitez ajouter le type du fichier (fichier ou r\u00E9pertoire)\r\nau flux d''entr\u00E9e,s\u00E9lectionnez cette option. 
+FileExistsDialog.FileTypeField.Tooltip=Si vous souhaitez ajouter le type du fichier (fichier ou r\u00E9pertoire)\nau flux d''entr\u00E9e, s\u00E9lectionnez cette option.
 FileExistsDialog.InclFileType.Label=Inclure type fichier
 FileExistsDialog.InclFileType.Tooltip=Inclure le type de fichier au flux d''entr\u00E9e
 FileExistsDialog.ResultField.Label=Nom champ r\u00E9sultat
diff --git a/plugins/transforms/flattener/src/main/resources/org/apache/hop/pipeline/transforms/flattener/messages/messages_fr_FR.properties b/plugins/transforms/flattener/src/main/resources/org/apache/hop/pipeline/transforms/flattener/messages/messages_fr_FR.properties
index f8778e965d..f3149cf62b 100644
--- a/plugins/transforms/flattener/src/main/resources/org/apache/hop/pipeline/transforms/flattener/messages/messages_fr_FR.properties
+++ b/plugins/transforms/flattener/src/main/resources/org/apache/hop/pipeline/transforms/flattener/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-Flattener.Log.FieldCouldNotFound=Champ [{0}] introuvable!
+Flattener.Log.FieldCouldNotFound=Champ [{0}] introuvable\u202F!
 Flattener.Log.LineNumber=N\u00B0ligne 
 FlattenerDialog.ColumnInfo.TargetField=Champ cible
 FlattenerDialog.FailedToGetFields.DialogMessage=Impossible de r\u00E9cup\u00E9rer les champs depuis les transformations pr\u00E9c\u00E9dentes\!
diff --git a/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_fr_FR.properties b/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_fr_FR.properties
index d09ea2d31e..8d5c86df96 100644
--- a/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_fr_FR.properties
+++ b/plugins/transforms/fuzzymatch/src/main/resources/org/apache/hop/pipeline/transforms/fuzzymatch/messages/messages_fr_FR.properties
@@ -64,7 +64,7 @@ FuzzyMatchDialog.Log.FoundFields={0} ont \u00E9t\u00E9 trouv\u00E9s
 FuzzyMatchDialog.Log.GettingKeyInfo=r\u00E9cup\u00E9ration informations cl\u00E9s ...
 FuzzyMatchDialog.MatchField.Label=Champ r\u00E9sultat
 FuzzyMatchDialog.maxValue.Label=Valeur maximale
-FuzzyMatchDialog.maxValue.Tooltip=La valeur maximale pour les algorithmes comme levenshtein ou DamerauLevenshtein est un entier\r\nalors que les algorithmes  Jaro ou JaroWinkle attente une valeur d\u00E9cimale comprise entre 0.0 et 1.0.
+FuzzyMatchDialog.maxValue.Tooltip=La valeur maximale pour les algorithmes comme levenshtein ou DamerauLevenshtein est un entier\nalors que les algorithmes Jaro ou JaroWinkle attente une valeur d\u00E9cimale comprise entre 0.0 et 1.0.
 FuzzyMatchDialog.minValue.Label=Valeur minimale
 FuzzyMatchDialog.minValue.Tooltip=La valeur minimale pour les algorithmes comme levenshtein ou DamerauLevenshtein est un entier\r\nalors que les algorithmes Jaro ou JaroWinkle attente une valeur d\u00E9cimale comprise entre 0.0 et 1.0.
 FuzzyMatchDialog.NotTransformSpecified.DialogMessage=Vous devez sp\u00E9cifier une \u00E9tape source\!
@@ -100,7 +100,7 @@ FuzzyMatchMeta.CheckResult.FieldsNotFoundInLookupStream2=Le champs suivants sont
 FuzzyMatchMeta.CheckResult.MainFieldFound=Le champ cl\u00E9 [{0}] du flux principal a \u00E9t\u00E9 trouv\u00E9.
 FuzzyMatchMeta.CheckResult.MainFieldNotFound=Impossible de trouver le champ [{0}] dans le flux d''entr\u00E9e\u202F!
 FuzzyMatchMeta.CheckResult.NeedAtLeast2InputStreams=Cette \u00E9tape n\u00E9c\u00E9ssite au moins 2 flux en entre\u00E9\:{0} 1 (ou plusieurs) flux principal pour les donn\u00E9es \u00E0 enrichir{1} 1 flux pour les donn\u00E9es sources
-FuzzyMatchMeta.CheckResult.SourceTransformDoesNotExist=La transformation source  [{0}] est introuvable\!
+FuzzyMatchMeta.CheckResult.SourceTransformDoesNotExist=La transformation source [{0}] est introuvable!
 FuzzyMatchMeta.CheckResult.SourceTransformExist=La transformation source [{0}] existe\u00A0!
 FuzzyMatchMeta.CheckResult.SourceTransformIsSelected=La transformation source a \u00E9t\u00E9 s\u00E9lectionn\u00E9e.
 FuzzyMatchMeta.CheckResult.SourceTransformNotSelected=La transformation source n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9e\!
diff --git a/plugins/transforms/getfilenames/src/main/resources/org/apache/hop/pipeline/transforms/getfilenames/messages/messages_fr_FR.properties b/plugins/transforms/getfilenames/src/main/resources/org/apache/hop/pipeline/transforms/getfilenames/messages/messages_fr_FR.properties
index a8e9abe6ef..2169ba35c9 100644
--- a/plugins/transforms/getfilenames/src/main/resources/org/apache/hop/pipeline/transforms/getfilenames/messages/messages_fr_FR.properties
+++ b/plugins/transforms/getfilenames/src/main/resources/org/apache/hop/pipeline/transforms/getfilenames/messages/messages_fr_FR.properties
@@ -21,7 +21,7 @@ GetFileNames.Description=R\u00E9cup\u00E9ration des noms de fichier depuis l''OS
 GetFileNames.Exception.CouldnotFindField=Impossible de trouver le champ {0} dans le flux d''entr\u00E9e\!
 GetFileNames.Log.ErrorFindingField=Impossible de trouver le champ [{0}] dans le flux d''entr\u00E9e\!
 GetFileNames.Log.FileReadByTransform=Ce fichier a \u00E9t\u00E9 lu par une \u00E9tape ''R\u00E9cup\u00E9ration de noms de fichiers''
-GetFileNames.Log.NoField=Veuillez svp sp\u00E9cifier le champ qui contient  le nom des fichiers \u00E0 traiter\!
+GetFileNames.Log.NoField=Veuillez svp sp\u00E9cifier le champ qui contient le nom des fichiers \u00E0 traiter!
 GetFileNames.Log.NoFile=Aucun fichier n''a \u00E9t\u00E9 trouv\u00E9...l''ex\u00E9cution de cette transformation va \u00EAtre arr\u00EAt\u00E9e.
 GetFileNames.Log.NoFiles=Aucun fichier sp\u00E9cifier\!
 GetFileNames.Log.NrLine=N\u00B0Ligne {0}
@@ -44,7 +44,7 @@ GetFileNamesDialog.FileField.Tooltip=S\u00E9lectionnez cette option si les noms
 GetFileNamesDialog.Filemask.Label=Caract\u00E8res joker 
 GetFileNamesDialog.Filename.Label=Fichier ou r\u00E9pertoire 
 GetFileNamesDialog.FilenameAdd.Button=&Ajouter
-GetFileNamesDialog.FilenameAdd.Tooltip=Ajouter cette entr\u00E9e \u00E0 la liste de fichiers ou  r\u00E9pertoires.
+GetFileNamesDialog.FilenameAdd.Tooltip=Ajouter cette entr\u00E9e \u00E0 la liste de fichiers ou r\u00E9pertoires.
 GetFileNamesDialog.FilenameDelete.Button=&Supprimer
 GetFileNamesDialog.FilenameDelete.Tooltip=Supprimer les entr\u00E9es s\u00E9lectionn\u00E9es de la liste.
 GetFileNamesDialog.FilenameEdit.Button=&Editer
@@ -64,7 +64,7 @@ GetFileNamesDialog.InclRownum.Tooltip=Ajout d''un champ (entier)\r\ncontenant le
 GetFileNamesDialog.InclRownumField.Label=Champ 'Num\u00E9ro ligne'
 GetFileNamesDialog.IncludeSubDirs.Column=Inclure sous-r\u00E9pertoires
 GetFileNamesDialog.IncludeSubDirs.ToolTip=Inclure les sous-r\u00E9pertoires dans la recherche
-GetFileNamesDialog.IncludeSubFolder.Label=Inclure sous r\u00E9pertoires
+GetFileNamesDialog.IncludeSubFolder.Label=Inclure les sous r\u00E9pertoires
 GetFileNamesDialog.IncludeSubFolder.Tooltip=Rechercher les fichiers dans les sous-r\u00E9pertoires
 GetFileNamesDialog.Limit.Label=Limite
 GetFileNamesDialog.NoFilesFound.DialogMessage=Aucun fichier trouv\u00E9\!  veuillez svp v\u00E9rifier les fichiers/r\u00E9pertoires et les options.
diff --git a/plugins/transforms/http/src/main/resources/org/apache/hop/pipeline/transforms/http/messages/messages_fr_FR.properties b/plugins/transforms/http/src/main/resources/org/apache/hop/pipeline/transforms/http/messages/messages_fr_FR.properties
index ae1b4d8e2e..67b14e1d4d 100644
--- a/plugins/transforms/http/src/main/resources/org/apache/hop/pipeline/transforms/http/messages/messages_fr_FR.properties
+++ b/plugins/transforms/http/src/main/resources/org/apache/hop/pipeline/transforms/http/messages/messages_fr_FR.properties
@@ -82,4 +82,4 @@ HTTPMeta.CheckResult.UrlfieldMissing=Le champ contenant l''url n''a pas \u00E9t\
 HTTPMeta.CheckResult.UrlfieldOk=Le champ contenant l''url a \u00E9t\u00E9 sp\u00E9cifi\u00E9e.
 HTTPMeta.CheckResult.UrlMissing=L''Url n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9e\!
 HTTPMeta.CheckResult.UrlOk=L''Url a \u00E9t\u00E9 sp\u00E9cifi\u00E9e.
-HTTPMeta.Exception.UnableToReadTransformMeta=Impossible de  lire les informations de la transformation depuis le fichier XML
+HTTPMeta.Exception.UnableToReadTransformMeta=Impossible de lire les informations de la transformation depuis le fichier XML
diff --git a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_fr_FR.properties b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_fr_FR.properties
index f6819fb20b..2bbeaa223a 100644
--- a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutput/messages/messages_fr_FR.properties
@@ -36,7 +36,7 @@ JsonOutputDialog.AddDate.Label=Inclure date dans nom fichier
 JsonOutputDialog.AddFileToResult.Label=Ajouter nom fichier au r\u00E9sultat
 JsonOutputDialog.AddFileToResult.Tooltip=Ajouter le nom du fichier aux noms de fichiers li\u00E9s au r\u00E9sultat
 JsonOutputDialog.AddTime.Label=Inclure heure dans nom fichier
-JsonOutputDialog.Append.Label=Mettre \u00E0 jour
+JsonOutputDialog.Append.Label=Ajouter
 JsonOutputDialog.Append.Tooltip=Si le fichier existe, il sera mis \u00E0 jour.
 JsonOutputDialog.BlocName.Label=Nom bloc Json
 JsonOutputDialog.CreateParentFolder.Label=Cr\u00E9er r\u00E9pertoire parent
diff --git a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_fr_FR.properties b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_fr_FR.properties
index bcb984330c..f75cec5418 100644
--- a/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_fr_FR.properties
+++ b/plugins/transforms/json/src/main/resources/org/apache/hop/pipeline/transforms/jsonoutputenhanced/messages/messages_fr_FR.properties
@@ -19,3 +19,4 @@
 
 JsonOutputDialog.Get.Button=\ &R\u00E9cup\u00E9rer champs 
 JsonOutputDialog.SelectOutputFiles.DialogMessage=Fichier(s) de sortie\u00A0:
+JsonOutputDialog.Append.Label=Ajouter
diff --git a/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_fr_FR.properties b/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_fr_FR.properties
index aafa828e6c..ee295683ad 100644
--- a/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/loadfileinput/src/main/resources/org/apache/hop/pipeline/transforms/loadfileinput/messages/messages_fr_FR.properties
@@ -101,7 +101,7 @@ LoadFileInputDialog.InclRownum.Tooltip=S\u00E9lectionnez cette option si vous so
 LoadFileInputDialog.InclRownumField.Label=Nom champ n\u00B0ligne
 LoadFileInputDialog.IncludeSubDirs.Column=Parcourir sous-r\u00E9pertoires
 LoadFileInputDialog.IncludeSubDirs.Tooltip=S\u00E9lectionnez cette option si vous souhaitez rechercher les fichiers dans les sous-r\u00E9pertoires
-LoadFileInputDialog.IsHiddenName.Label=Champ fichier cach?
+LoadFileInputDialog.IsHiddenName.Label=Champ fichier cach\u00E9 ?
 LoadFileInputDialog.LastModificationTimeName.Label=Champ date de derni\u00E8re modification
 LoadFileInputDialog.Limit.Label=Limite
 LoadFileInputDialog.Log.GettingFieldsInfo=r\u00E9cup\u00E9ration infos champs...
diff --git a/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_fr_FR.properties b/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_fr_FR.properties
index 74a6158575..01066e0aca 100644
--- a/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_fr_FR.properties
+++ b/plugins/transforms/mapping/src/main/resources/org/apache/hop/pipeline/transforms/mapping/messages/messages_fr_FR.properties
@@ -56,11 +56,11 @@ SimpleMappingDialog.Exception.ErrorGettingMappingSourceAndTargetFields=Apache Ho
 SimpleMappingDialog.Exception.NoMappingSpecified=Aucun sous-pipeline valide n''a \u00E9t\u00E9 sp\u00E9cifi\u00E9.
 SimpleMappingDialog.Exception.NoValidMappingDetailsFound=D\u00E9sol\u00E9, aucun sous-pipeline valide n''a \u00E9t\u00E9 sp\u00E9cifi\u00E9e.
 SimpleMappingDialog.Exception.OneMappingInputTransformRequired=Lu sous-pipeline indiqu\u00E9 n\u00E9c\u00E9ssite une transformation ''sp\u00E9cifications en entr\u00E9e'', mais aucune n''a \u00E9t\u00E9 trouv\u00E9e.
-SimpleMappingDialog.Exception.OneMappingOutputTransformRequired=Ce sous-pipeline  n\u00E9c\u00E9ssite une transformation 'sp\u00E9cifications en entr\u00E9e'', mais aucune n''a \u00E9t\u00E9 trouv\u00E9e.
+SimpleMappingDialog.Exception.OneMappingOutputTransformRequired=Ce sous-pipeline n\u00E9cessite une transformation 'sp\u00E9cifications en entr\u00E9e'', mais aucune n''a \u00E9t\u00E9 trouv\u00E9e.
 SimpleMappingDialog.Exception.OnlyOneMappingInputTransformAllowed=Lorsque des transformations source n''ont pas \u00E9t\u00E9 indiqu\u00E9es, une seule \u00E9tape ''sp\u00E9cifications en entr\u00E9e'' est requise. Apache Hop en a trouv\u00E9e {0}.
 SimpleMappingDialog.Exception.OnlyOneMappingOutputTransformAllowed=Lorsque des transformations destination n''ont pas \u00E9t\u00E9 indiqu\u00E9es, une seule \u00E9tape ''sp\u00E9cifications en sortie'' est requise. Apache Hop en a trouv\u00E9e {0}.
 SimpleMappingDialog.Exception.SpecifiedTransformWasNotFound=La transformation ''{0}'' est introuvable.
-SimpleMappingDialog.Exception.TransformNameNotFound=La transformation nomm\u00E9e  ''{0}'' est introuvable.
+SimpleMappingDialog.Exception.TransformNameNotFound=La transformation nomm\u00E9e ''{0}'' est introuvable.
 SimpleMappingDialog.Exception.UnableToReferenceObjectId.Message=Impossible de r\u00E9cup\u00E9rer les informations sur l''objet r\u00E9f\u00E9r\u00E9nc\u00E9 par l''id\=[0}
 SimpleMappingDialog.Exception.UnableToReferenceObjectId.Title=Erreur
 SimpleMappingDialog.GetFromMapping.Button=R\u00E9cup\u00E9rer depuis le sous-pipeline
diff --git a/plugins/transforms/mergejoin/src/main/resources/org/apache/hop/pipeline/transforms/mergejoin/messages/messages_fr_FR.properties b/plugins/transforms/mergejoin/src/main/resources/org/apache/hop/pipeline/transforms/mergejoin/messages/messages_fr_FR.properties
index 2d767fd7b2..39b2407dd3 100644
--- a/plugins/transforms/mergejoin/src/main/resources/org/apache/hop/pipeline/transforms/mergejoin/messages/messages_fr_FR.properties
+++ b/plugins/transforms/mergejoin/src/main/resources/org/apache/hop/pipeline/transforms/mergejoin/messages/messages_fr_FR.properties
@@ -20,7 +20,7 @@
 
 MergeJoin.Description=Effectuer une jointure de deux flux suivant une cl\u00E9. Les flux d''entr\u00E9e doivent \u00EAtre tri\u00E9s sur la cl\u00E9 de jointure
 MergeJoin.Exception.UnableToFindFieldInReferenceStream=Le champ [{0}] est introuvable dans le flux entrant.
-MergeJoin.Exception.UnableToFindSpecifiedTransform=Impossible de trouver la transformation source identifi\u00E9 par le nom  ''{0}''.
+MergeJoin.Exception.UnableToFindSpecifiedTransform=Impossible de trouver la transformation source identifi\u00E9 par le nom ''{0}''.
 MergeJoin.LineNumber=N\u00B0Ligne 
 MergeJoin.Log.BothTrueAndFalseNeeded=Deux flux doivent \u00EAtre soumis, ni plus ni moins.
 MergeJoin.Log.DataInfo=ONE\: {0} / TWO\:
diff --git a/plugins/transforms/metainject/src/main/resources/org/apache/hop/pipeline/transforms/metainject/messages/messages_fr_FR.properties b/plugins/transforms/metainject/src/main/resources/org/apache/hop/pipeline/transforms/metainject/messages/messages_fr_FR.properties
index 6050a7eb05..4b359dfe5f 100644
--- a/plugins/transforms/metainject/src/main/resources/org/apache/hop/pipeline/transforms/metainject/messages/messages_fr_FR.properties
+++ b/plugins/transforms/metainject/src/main/resources/org/apache/hop/pipeline/transforms/metainject/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-MetaInject.BadEncoding.Message=L''encodage est incorrect\!
+MetaInject.BadEncoding.Message=L''encodage est incorrect\u202F!
 MetaInject.Description=Cette transformation permet d''injecter des m\u00E9tadonn\u00E9es dans un pipeline existant avant son ex\u00E9cution.  Cela permet de cr\u00E9er des solutions d'int\u00E9gration de donn\u00E9es dynamiques et tr\u00E8s souples.
 MetaInject.Name=Injection de m\u00E9tadonn\u00E9es
 MetaInjectDialog.Column.SourceField=Champ source
diff --git a/plugins/transforms/monetdbbulkloader/src/main/resources/org/apache/hop/pipeline/transforms/monetdbbulkloader/messages/messages_fr_FR.properties b/plugins/transforms/monetdbbulkloader/src/main/resources/org/apache/hop/pipeline/transforms/monetdbbulkloader/messages/messages_fr_FR.properties
index 34b9cd32f7..4b6111b5d8 100644
--- a/plugins/transforms/monetdbbulkloader/src/main/resources/org/apache/hop/pipeline/transforms/monetdbbulkloader/messages/messages_fr_FR.properties
+++ b/plugins/transforms/monetdbbulkloader/src/main/resources/org/apache/hop/pipeline/transforms/monetdbbulkloader/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-MonetDBBulkLoader.Log.ErrorInTransform=Erreur dans la transformation, arr\u00EAt du traitement car:
+MonetDBBulkLoader.Log.ErrorInTransform=Erreur dans la transformation, arr\u00EAt du traitement car\u00A0:
 MonetDBBulkLoaderDialog.Browse.Button=&Parcourir...
 MonetDBBulkLoaderDialog.BufferSize.Label=Taille tampon (lignes)
 MonetDBBulkLoaderDialog.ColumnInfo.FormatOK=Format Champ OK
diff --git a/plugins/transforms/propertyinput/src/main/resources/org/apache/hop/pipeline/transforms/propertyinput/messages/messages_fr_FR.properties b/plugins/transforms/propertyinput/src/main/resources/org/apache/hop/pipeline/transforms/propertyinput/messages/messages_fr_FR.properties
index 941f187247..cb6ac30d25 100644
--- a/plugins/transforms/propertyinput/src/main/resources/org/apache/hop/pipeline/transforms/propertyinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/propertyinput/src/main/resources/org/apache/hop/pipeline/transforms/propertyinput/messages/messages_fr_FR.properties
@@ -71,7 +71,7 @@ PropertyInputDialog.FieldsTable.Repeat.Column=R\u00E9p\u00E9ter
 PropertyInputDialog.FieldsTable.TrimType.Column=Enlever espaces
 PropertyInputDialog.FieldsTable.Type.Column=Type
 PropertyInputDialog.File.Tab=Fichier
-PropertyInputDialog.FileField.Label=Nom de fichier d\u00E9fini dans un champ\u00A0?
+PropertyInputDialog.FileField.Label=Nom de fichier d\u00E9fini dans un champ
 PropertyInputDialog.FileField.Tooltip=S\u00E9lectionnez cette option si le nom des fichiers \u00E0 traiter doit \u00EAtre extrait \r\nd''un champ d\u00E9fini dans une \u00E9tape pr\u00E9c\u00E9dente.
 PropertyInputDialog.Filename.Label=Fichier ou r\u00E9pertoire
 PropertyInputDialog.FilenameAdd.Button=&Ajouter
@@ -93,7 +93,7 @@ PropertyInputDialog.FilesReadSelection.DialogTitle=Fichiers lus
 PropertyInputDialog.FileType.IniFiles=Fichier INI
 PropertyInputDialog.FileType.Label=Type fichier
 PropertyInputDialog.FileType.PropertiesFiles=Fichiers properties
-PropertyInputDialog.GetFields.Button=R\u00E9cup\u00E9rer champs 
+PropertyInputDialog.GetFields.Button=\ R\u00E9cup\u00E9rer champs
 PropertyInputDialog.Group.AdditionalGroup.Label=Champs Additionnels
 PropertyInputDialog.InclFilename.Label=Inclure le nom de fichier en sortie
 PropertyInputDialog.InclFilename.Tooltip=Ajouter un champ (chaine de caract\u00E8res) contenant le nom du fichier.
diff --git a/plugins/transforms/regexeval/src/main/resources/org/apache/hop/pipeline/transforms/regexeval/messages/messages_fr_FR.properties b/plugins/transforms/regexeval/src/main/resources/org/apache/hop/pipeline/transforms/regexeval/messages/messages_fr_FR.properties
index a468c54a91..abd028ca86 100644
--- a/plugins/transforms/regexeval/src/main/resources/org/apache/hop/pipeline/transforms/regexeval/messages/messages_fr_FR.properties
+++ b/plugins/transforms/regexeval/src/main/resources/org/apache/hop/pipeline/transforms/regexeval/messages/messages_fr_FR.properties
@@ -19,10 +19,10 @@
 
 RegexEval.Description=\u00C9valuation des expressions rationnelles (RegExp)\nCette transformation utilise une expression rationnelle pour \u00E9valuer un champ. Elle peut \u00E9galement extraire de nouveaux champs \u00E0 partir d'un champ existant avec des groupes de capture.
 RegexEval.Exception.CouldnotFindField=Impossible de trouver le champ ''{0}'' dans le flux d''entre\u00E9\!
-RegexEval.Exception.ErrorCaptureGroupFieldsMismatch=Le nombre de groupes \u00E0 capturer ({0})  est diff\u00E9rent du nombre de champs sp\u00E9cifi\u00E9e ({1})\!
+RegexEval.Exception.ErrorCaptureGroupFieldsMismatch=Le nombre de groupes \u00E0 capturer ({0}) est diff\u00E9rent du nombre de champs sp\u00E9cifi\u00E9e ({1})!
 RegexEval.Exception.ErrorMatcherMissing=Champ \u00E0 \u00E9valuer non renseign\u00E9\!
 RegexEval.Exception.ErrorResultFieldMissing=Champ \u00E0 retourner non renseign\u00E9\!
-RegexEval.Log.ErrorCaptureGroupFieldsMismatch=Le nombre de groupes \u00E0 capturer ({0})  est diff\u00E9rent du nombre de champs sp\u00E9cifi\u00E9e ({1})\!
+RegexEval.Log.ErrorCaptureGroupFieldsMismatch=Le nombre de groupes \u00E0 capturer ({0}) est diff\u00E9rent du nombre de champs sp\u00E9cifi\u00E9e ({1})!
 RegexEval.Log.ErrorFindingField=Erreur r\u00E9cup\u00E9ration champ\: 
 RegexEval.Log.ErrorInTransform=Apache Hop a rencontr\u00E9 une erreur lors de l''ex\u00E9cution de la transformation\!
 RegexEval.Log.ErrorMatcherMissing=Champ \u00E0 \u00E9valuer non renseign\u00E9\!
diff --git a/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_fr_FR.properties b/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_fr_FR.properties
index 0b79f6431a..814fee97ef 100644
--- a/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_fr_FR.properties
+++ b/plugins/transforms/rest/src/main/resources/org/apache/hop/pipeline/transforms/rest/messages/messages_fr_FR.properties
@@ -65,7 +65,7 @@ RestDialog.HttpLogin.Label=Login HTTP
 RestDialog.HttpLogin.Tooltip=Compte utilisateur pour l''authentification
 RestDialog.HttpPassword.Label=Mot de passe
 RestDialog.HttpPassword.Tooltip=Mot de passe HTTP pour authentifier l''appel
-RestDialog.IgnoreSsl.Label=Ignorer le contr\u00F4le du certificat SSL\u202F?
+RestDialog.IgnoreSsl.Label=Ignorer le contr\u00F4le du certificat SSL
 RestDialog.Log.FoundArguments={0} argument(s) trouv\u00E9(s)
 RestDialog.Log.GettingKeyInfo=r\u00E9cup\u00E9ration informations cl\u00E9...
 RestDialog.MatrixParameters.Title=Param\u00E8tres du tableau
@@ -94,7 +94,7 @@ RestDialog.TrustStoreFile.Label=Fichier certificat
 RestDialog.TrustStorePassword.Label=Mot de passe certificat
 RestDialog.URL.Label=URL
 RestDialog.UrlField.Label=Nom champ URL
-RestDialog.UrlInField.Label=Accepter l''URL provenant du champ\u202F?
+RestDialog.UrlInField.Label=Accepter l''URL provenant du champ
 RestMeta.CheckResult.MethodFieldMissing=Le nom de la m\u00E9thode est manquant\u202F!
 RestMeta.CheckResult.MethodFieldOk=Le nom de la m\u00E9thode a \u00E9t\u00E9 sp\u00E9cifi\u00E9.
 RestMeta.CheckResult.MethodMissing=La m\u00E9thode est manquante\u202F!
diff --git a/plugins/transforms/rowgenerator/src/main/resources/org/apache/hop/pipeline/transforms/rowgenerator/messages/messages_fr_FR.properties b/plugins/transforms/rowgenerator/src/main/resources/org/apache/hop/pipeline/transforms/rowgenerator/messages/messages_fr_FR.properties
index 47b0275387..02d4d788f0 100644
--- a/plugins/transforms/rowgenerator/src/main/resources/org/apache/hop/pipeline/transforms/rowgenerator/messages/messages_fr_FR.properties
+++ b/plugins/transforms/rowgenerator/src/main/resources/org/apache/hop/pipeline/transforms/rowgenerator/messages/messages_fr_FR.properties
@@ -25,7 +25,7 @@ RowGenerator.BuildRow.Error.Parsing.Date=Impossible d''analyser le champ Date [{
 RowGenerator.BuildRow.Error.Parsing.Integer=Impossible d''analyser le champ Entier [{0}] avec la valeur [{1}] --> {2}
 RowGenerator.BuildRow.Error.Parsing.Number=Impossible d''analyser le champ Nombre [{0}] avec la valeur [{1}] --> {2}
 RowGenerator.CheckResult.SpecifyTypeError=veuillez svp indiquer le type de champ [{0}] avec la valeur [{1}]
-RowGenerator.Log.LineNr=N� Ligne  : {0}
+RowGenerator.Log.LineNr=N\u00B0 Ligne : {0}
 RowGenerator.Log.Wrote.Row=Ecriture ligne {0} : {1}
 RowGenerator.Wrong.RowLimit.Number=Impossible d''analyser le nombre de lignes \u00E0 g\u00E9n\u00E9rer
 RowGeneratorDialog.DialogTitle=G\u00E9n\u00E9rer lignes
diff --git a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_fr_FR.properties b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_fr_FR.properties
index 0ae73966ea..d68549aee1 100644
--- a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_fr_FR.properties
+++ b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforcedelete/messages/messages_fr_FR.properties
@@ -27,7 +27,7 @@ SalesforceDelete.Found.Error=Des erreurs ont \u00E9t\u00E9 trouv\u00E9s
 SalesforceDelete.Log.CallingFlush=Vidage du buffer d''\u00E9criture
 SalesforceDelete.Log.ErrorOccurredDuringTransformInitialize=Une erreur est survenue durant l''initialisation
 SalesforceDelete.log.Exception=Erreur durant le traitement
-SalesforceDelete.log.LineRow=Ligne rouge  {0}
+SalesforceDelete.log.LineRow=Ligne rouge {0}
 SalesforceDelete.Log.WriteToSalesforce=Appel d''\u00E9criture dans Salesforce avec {0} sur {1}
 SalesforceDelete.PassingRowToErrorTransform=Envoi de la ligne vers la transformation en erreur
 SalesforceDelete.TypeLongDesc.SalesforceDelete=Suppression dans Salesforce
diff --git a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinput/messages/messages_fr_FR.properties b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinput/messages/messages_fr_FR.properties
index 5a8de9203d..ba418e5f0f 100644
--- a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceinput/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-SalesforceInput.ErrorParsingDate=Erreur lors de la r\u00E9cup\u00E9ration des dates!
+SalesforceInput.ErrorParsingDate=Erreur lors de la r\u00E9cup\u00E9ration des dates\u202F!
 SalesforceInput.Exception.CanNotReadFromSalesforce=Impossible d''extraire les donn\u00E9es depuis Salesforce\!
 SalesforceInput.Log.ErrorOccurredDuringTransformInitialize=Erreur durant l'initialisation
 SalesforceInput.log.Exception=Apache Hop a rencontr\u00E9 une erreur lors de l''extraction des donn\u00E9es depuis Salesforce \: {0} \!
diff --git a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_fr_FR.properties b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_fr_FR.properties
index d1966bf60f..277bc35c34 100644
--- a/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_fr_FR.properties
+++ b/plugins/transforms/salesforce/src/main/resources/org/apache/hop/pipeline/transforms/salesforceupsert/messages/messages_fr_FR.properties
@@ -28,7 +28,7 @@ SalesforceUpsert.FieldNotFound=Le champ [{0}] est introuvable dans le flux d''en
 SalesforceUpsert.Log.ErrorOccurredDuringTransformInitialize=Erreur lors de l''initialisation
 SalesforceUpsert.log.Exception=Erreur lors de l''\u00E9criture des donn\u00E9es vers Salesforce \:
 SalesforceUpsert.log.LineRow=Ligne rouge {0}
-SalesforceUpsert.NewRow=La nouvelle ligne ins\u00E9r\u00E9e a comme id  {0}
+SalesforceUpsert.NewRow=La nouvelle ligne ins\u00E9r\u00E9e a comme id {0}
 SalesforceUpsert.ObjectCreated=Un objet a \u00E9t\u00E9 cr\u00E9e avec un id {0}
 SalesforceUpsert.ObjectUpdated=L''objet avec l''id {0} a \u00E9t\u00E9 mis \u00E0 jour.
 SalesforceUpsert.PassingRowToErrorTransform=Envoi de la ligne vers la transformation en erreur
diff --git a/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_fr_FR.properties b/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_fr_FR.properties
index 879f12dde3..fcd24b6d29 100644
--- a/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_fr_FR.properties
+++ b/plugins/transforms/selectvalues/src/main/resources/org/apache/hop/pipeline/transforms/selectvalues/messages/messages_fr_FR.properties
@@ -73,7 +73,7 @@ SelectValuesMeta.CheckResult.AllSelectedFieldsFound2=Tous les champs provenant d
 SelectValuesMeta.CheckResult.DeSelectedFieldsNotFound=Veuillez retirer de la s\u00E9lection les champs introuvables dans le flux d''entr\u00E9e\:
 SelectValuesMeta.CheckResult.DuplicateFieldsSpecified=Dupliquer les champs sp\u00E9cifi\u00E9s
 SelectValuesMeta.CheckResult.FieldsNotFound=Champs dans le flux d''entr\u00E9e introuvables dans la s\u00E9lection\:
-SelectValuesMeta.CheckResult.FieldsNotFound2=Impossible de trouver les champs provenant des transformations pr\u00E9c\u00E9dentes, veuillez  v\u00E9rifier les liens\!
+SelectValuesMeta.CheckResult.FieldsNotFound2=Impossible de trouver les champs provenant des transformations pr\u00E9c\u00E9dentes, veuillez v\u00E9rifier les liens!
 SelectValuesMeta.CheckResult.MetadataFieldsNotFound=Champs \u00E0 alt\u00E9rer introuvables dans le flux d''entr\u00E9e\:
 SelectValuesMeta.CheckResult.NoInputReceivedError=Aucun flux provenant des autres transformations\!
 SelectValuesMeta.CheckResult.OccurentRow=\t\tligne #{0} occurrences)
diff --git a/plugins/transforms/setvariable/src/main/resources/org/apache/hop/pipeline/transforms/setvariable/messages/messages_fr_FR.properties b/plugins/transforms/setvariable/src/main/resources/org/apache/hop/pipeline/transforms/setvariable/messages/messages_fr_FR.properties
index 187beef44a..d0fae86ba6 100644
--- a/plugins/transforms/setvariable/src/main/resources/org/apache/hop/pipeline/transforms/setvariable/messages/messages_fr_FR.properties
+++ b/plugins/transforms/setvariable/src/main/resources/org/apache/hop/pipeline/transforms/setvariable/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-Set.FailedToGetFields.DialogMessage=Impossible de r\u00E9cup\u00E9rer les champs depuis les transformations pr\u00E9c\u00E9dentes\:
+Set.FailedToGetFields.DialogMessage=Impossible de r\u00E9cup\u00E9rer les champs depuis les transformations pr\u00E9c\u00E9dentes\u00A0:
 SetVariable.Description=Cr\u00E9er des variables d''environnement.
 SetVariable.Log.NoInputRowSetDefault=Aucune ligne en provenance de la transformation pr\u00E9c\u00E9dente...affectation des valeurs par d\u00E9faut.
 SetVariable.Log.SettingVar=Affectation des variables d''environnement...
diff --git a/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_fr_FR.properties b/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_fr_FR.properties
index 08eaaa23bc..1c0268c859 100644
--- a/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_fr_FR.properties
+++ b/plugins/transforms/sort/src/main/resources/org/apache/hop/pipeline/transforms/sort/messages/messages_fr_FR.properties
@@ -20,7 +20,7 @@
 SortRows.Description=Trier lignes suivant certains champs (ascendant et descandant)
 SortRows.Name=Tri ligne
 SortRowsDialog.Ascending.Column=Ascendant
-SortRowsDialog.CaseInsensitive.Column=Respecter la casse?
+SortRowsDialog.CaseInsensitive.Column=Respecter la casse
 SortRowsDialog.Compress.Label=Compresser fichiers 
 SortRowsDialog.DialogTitle=Tri lignes
 SortRowsDialog.Fieldname.Column=Nom champ
@@ -28,7 +28,7 @@ SortRowsDialog.Fields.Label=Champs :
 SortRowsDialog.FreeMemory.Label=Conserver min m\u00E9moire libre (%JVM)
 SortRowsDialog.FreeMemory.ToolTip=Cette option permet de limiter la taille de m\u00E9moire utilis\u00E9e par cette transformation.\nEn effet, La quantit\u00E9 indiqu\u00E9e (%Valeur Max JVM) sera conserv\u00E9e.
 SortRowsDialog.Prefix.Label=Pr\u00E9fixe fichiers TMP
-SortRowsDialog.PreSortedField.Column=Pr\u00E9-tri\u00E9s ?
+SortRowsDialog.PreSortedField.Column=Pr\u00E9-tri\u00E9s
 SortRowsDialog.SortDir.Label=R\u00E9pertoire de tri 
 SortRowsDialog.SortSize.Label=Nbr lignes en m\u00E9moire
 SortRowsDialog.UniqueRows.Label=Transmettre valeurs distinctes
diff --git a/plugins/transforms/sqlfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/sqlfileoutput/messages/messages_fr_FR.properties b/plugins/transforms/sqlfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/sqlfileoutput/messages/messages_fr_FR.properties
index 2fd4b5e4b1..ff803604a4 100644
--- a/plugins/transforms/sqlfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/sqlfileoutput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/sqlfileoutput/src/main/resources/org/apache/hop/pipeline/transforms/sqlfileoutput/messages/messages_fr_FR.properties
@@ -75,7 +75,7 @@ SQLFileOutputMeta.CheckResult.NoConnection=Veuillez s\u00E9lectionner ou cr\u00E
 SQLFileOutputMeta.CheckResult.NoFields=Impossible de trouver les champs depuis les transformations pr\u00E9c\u00E9dentes\!
 SQLFileOutputMeta.CheckResult.NoTableName=Le nom de la table cible n''a pas \u00E9t\u00E9 renseign\u00E9.
 SQLFileOutputMeta.CheckResult.TableAccessible=La table [{0}] est acc\u00E9ssible
-SQLFileOutputMeta.CheckResult.TableError=La table [{0}] est introuvable dans la base de donn\u00E9es\!  
+SQLFileOutputMeta.CheckResult.TableError=La table [{0}] est introuvable dans la base de donn\u00E9es!
 SQLFileOutputMeta.CheckResult.TableNotAccessible=Impossible de lire les informations au niveau de la table, veuillez svp vous assurez que vous disposez des droits suffisants.
 SQLFileOutputMeta.CheckResult.TableOk=La table [{0}] est acc\u00E9ssible. Apache Hop a r\u00E9cup\u00E9r\u00E9 les informations sur les champs.
 SQLFileOutputMeta.CheckResult.UndefinedError=Apache Hop a rencontr\u00E9 une erreur\: {0}
diff --git a/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_fr_FR.properties b/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_fr_FR.properties
index 5a8924567e..5986ea9b91 100644
--- a/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_fr_FR.properties
+++ b/plugins/transforms/streamlookup/src/main/resources/org/apache/hop/pipeline/transforms/streamlookup/messages/messages_fr_FR.properties
@@ -71,7 +71,7 @@ StreamLookupMeta.CheckResult.FieldsNotFoundInLookupStream=Champs introuvables da
 StreamLookupMeta.CheckResult.FieldsNotFoundInLookupStream2=Champs \u00E0 retourner introuvables dans le flux de recherche\:
 StreamLookupMeta.CheckResult.NeedAtLeast2InputStreams=Au moins 2 flux d''entr\u00E9e sont n\u00E9c\u00E9ssaires\:{0}  1 (ou plus) flux d''entr\u00E9e pour les donn\u00E9es{1} 1 flux d''entr\u00E9e pour les valeurs de recherche
 StreamLookupMeta.CheckResult.SourceTransformDoesNotExist=La transformation source [{0}] est introuvable\!
-StreamLookupMeta.CheckResult.SourceTransformExist=La transformation source [{0}] existe existe\!
+StreamLookupMeta.CheckResult.SourceTransformExist=La transformation source [{0}] existe !
 StreamLookupMeta.CheckResult.SourceTransformIsSelected=La transformation source a \u00E9t\u00E9 indiqu\u00E9e.
 StreamLookupMeta.CheckResult.SourceTransformNotSelected=La transformation source n''a pas \u00E9t\u00E9 indiqu\u00E9e\!
 StreamLookupMeta.CheckResult.TransformReceivingFields=La transformation est connect\u00E9e \u00E0 la transformation pr\u00E9c\u00E9dente et r\u00E9cup\u00E8re {0} champs
diff --git a/plugins/transforms/switchcase/src/main/resources/org/apache/hop/pipeline/transforms/switchcase/messages/messages_fr_FR.properties b/plugins/transforms/switchcase/src/main/resources/org/apache/hop/pipeline/transforms/switchcase/messages/messages_fr_FR.properties
index 65274b8728..5cd1aa4839 100644
--- a/plugins/transforms/switchcase/src/main/resources/org/apache/hop/pipeline/transforms/switchcase/messages/messages_fr_FR.properties
+++ b/plugins/transforms/switchcase/src/main/resources/org/apache/hop/pipeline/transforms/switchcase/messages/messages_fr_FR.properties
@@ -25,7 +25,7 @@ SwitchCase.Log.NoTargetTransformSpecifiedForValue=Vous devez sp\u00E9cifier une
 SwitchCase.Log.UnableToConvertValue=Impossible de convertir la valeur [{0}]
 SwitchCase.Log.UnableToFindTargetRowSetForTransform=Impossible de trouver la transformation cible {0}
 SwitchCase.Name=Branchement conditionnel
-SwitchCaseDialog.ColumnInfo.TargetTransform=Transformation  cible
+SwitchCaseDialog.ColumnInfo.TargetTransform=Transformation cible
 SwitchCaseDialog.ColumnInfo.Value=Valeur
 SwitchCaseDialog.Contains.Label=Comparaison inclusive
 SwitchCaseDialog.Contains.Tooltip=La ligne sera envoy\u00E9 vers la premi\u00E8re transformation dont la valeur de comparaison (associ\u00E9e)\nest incluse dans la valeur du champ de comparaison. 
diff --git a/plugins/transforms/synchronizeaftermerge/src/main/resources/org/apache/hop/pipeline/transforms/synchronizeaftermerge/messages/messages_fr_FR.properties b/plugins/transforms/synchronizeaftermerge/src/main/resources/org/apache/hop/pipeline/transforms/synchronizeaftermerge/messages/messages_fr_FR.properties
index 64b75d02f6..ca9b07feb5 100644
--- a/plugins/transforms/synchronizeaftermerge/src/main/resources/org/apache/hop/pipeline/transforms/synchronizeaftermerge/messages/messages_fr_FR.properties
+++ b/plugins/transforms/synchronizeaftermerge/src/main/resources/org/apache/hop/pipeline/transforms/synchronizeaftermerge/messages/messages_fr_FR.properties
@@ -49,7 +49,7 @@ SynchronizeAfterMergeDialog.ColumnInfo.StreamField2=Champ flux2
 SynchronizeAfterMergeDialog.ColumnInfo.TableField=Champ table
 SynchronizeAfterMergeDialog.ColumnInfo.Update=Mise \u00E0 jour
 SynchronizeAfterMergeDialog.CommitSize.Label=Valider transaction toutes les 
-SynchronizeAfterMergeDialog.CouldNotBuildSQL.DialogMessage=Impossible de de g\u00E9n\u00E9rer le script SQL
+SynchronizeAfterMergeDialog.CouldNotBuildSQL.DialogMessage=Impossible de g\u00E9n\u00E9rer le script SQL
 SynchronizeAfterMergeDialog.CouldNotBuildSQL.DialogTitle=Impossible de g\u00E9n\u00E9rer le script SQL
 SynchronizeAfterMergeDialog.DoMapping.SomeFieldsNotFoundContinue=Certains champs sont introuvables, souhaitez-vous continuer?
 SynchronizeAfterMergeDialog.DoMapping.SomeFieldsNotFoundTitle=Champs introuvables\!
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/csvinput/messages/messages_fr_FR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/csvinput/messages/messages_fr_FR.properties
index 3042654a31..66d2ab0557 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/csvinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/csvinput/messages/messages_fr_FR.properties
@@ -19,7 +19,7 @@
 
 CsvInput.BadEncoding.Message=Mauvais encodage sp\u00E9cifi\u00E9.
 CsvInput.Description=Extraction depuis ficher CSV
-CsvInput.Exception.ErrorPreparingParallelRun=Apache Hop a rencontr\u00E9 une erreur lors de la d\u00E9termination de la taille du fichier en vue de proc\u00E9der \u00E0 la  lecture en parall\u00E8le
+CsvInput.Exception.ErrorPreparingParallelRun=Apache Hop a rencontr\u00E9 une erreur lors de la d\u00E9termination de la taille du fichier en vue de proc\u00E9der \u00E0 la lecture en parall\u00E8le
 CsvInput.Exception.FilenameFieldNotFound=Le champ nom de fichier ''{0}'' est introuvable.
 CsvInput.Log.HeaderRowSkipped=Ligne en-t\u00EAte ignor\u00E9e dans le fichier ''{0}''
 CsvInput.Log.LineNumber=N\u00B0 ligne \: {0}
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_fr_FR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_fr_FR.properties
index ff55c33274..19f86181ae 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/messages/messages_fr_FR.properties
@@ -66,7 +66,7 @@ TextFileInput.Log.Error.NoFilesSpecified=Aucun fichier s\u00E9cifi\u00E9\! Le tr
 TextFileInput.Log.Error.UnableToCreateFileObject=Impossible de cr\u00E9er un objet fichier pour le fichier [{0}]
 TextFileInput.Log.Error.UnableToFindFilenameField=Le champ nom du fichier [{0}] est introuvable dans le flus d''entr\u00E9e.
 TextFileInput.Log.NormalFieldFound=Le champ a \u00E9t\u00E9 trouv\u00E9 [{0}]
-TextFileInput.Log.SingleLineFound=Le format DOS a \u00E9t\u00E9 sp\u00E9cifi\u00E9 mais cependant un seul (et non deux)  caract\u00E8re de fin de ligne \u00E0 \u00E9t\u00E9 trouv\u00E9
+TextFileInput.Log.SingleLineFound=Le format DOS a \u00E9t\u00E9 sp\u00E9cifi\u00E9 mais cependant un seul (et non deux) caract\u00E8re de fin de ligne \u00E0 \u00E9t\u00E9 trouv\u00E9
 TextFileInput.Log.Warning=ATTENTION
 TextFileInput.Name=Extraction depuis fichier
 TextFileInputDialog.AcceptField.Label=Champ nom de fichier
diff --git a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_fr_FR.properties b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_fr_FR.properties
index e2af7cce2b..f2a4b4fa70 100644
--- a/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_fr_FR.properties
+++ b/plugins/transforms/textfile/src/main/resources/org/apache/hop/pipeline/transforms/fileinput/text/messages/messages_fr_FR.properties
@@ -63,7 +63,7 @@ TextFileInput.Log.Error.ErrorConvertingLine=Erreur lors de la conversion de la l
 TextFileInput.Log.Error.ErrorConvertingLineText=Erreur lors de la conversion de la ligne
 TextFileInput.Log.Error.ExceptionReadingLine=Apache Hop a rencontr\u00E9 une erreur lors de la lecture de la ligne \: {0}
 TextFileInput.Log.NormalFieldFound=Le champ a \u00E9t\u00E9 trouv\u00E9 [{0}]
-TextFileInput.Log.SingleLineFound=Le format DOS a \u00E9t\u00E9 sp\u00E9cifi\u00E9 mais cependant un seul (et non deux)  caract\u00E8re de fin de ligne \u00E0 \u00E9t\u00E9 trouv\u00E9
+TextFileInput.Log.SingleLineFound=Le format DOS a \u00E9t\u00E9 sp\u00E9cifi\u00E9 mais cependant un seul (et non deux) caract\u00E8re de fin de ligne \u00E0 \u00E9t\u00E9 trouv\u00E9
 TextFileInput.Log.Warning=ATTENTION
 TextFileInput.Name=Extraction depuis fichier
 TextFileInputDialog.AcceptField.Label=Champ nom de fichier
@@ -178,7 +178,7 @@ TextFileInputDialog.PassThruFields.Tooltip=S\u00E9lectionnez cette option si vou
 TextFileInputDialog.PathFieldName.Label=Champ chemin fichier
 TextFileInputDialog.PositionColumn.Column=Position
 TextFileInputDialog.PrecisionColumn.Column=Pr\u00E9cision
-TextFileInputDialog.Preview.Button=\ &Pr\u00E9visualiser lignes   
+TextFileInputDialog.Preview.Button=\ &Pr\u00E9visualiser lignes
 TextFileInputDialog.PreviewSize.DialogMessage=Saisissez le nombre de lignes max \u00E0 pr\u00E9visualiser:
 TextFileInputDialog.PreviewSize.DialogTitle=Veuillez saisir la limite de pr\u00E9visualisation
 TextFileInputDialog.RegExpColumn.Column=Les caract\u00E8res joker (expression r\u00E9guli\u00E8re) servent \u00E0 s\u00E9lectionner un ou plusieurs fichiers dans un r\u00E9pertoire.\r\nSi vous souhaitez par exemple ne prendre en compte que les fichiers textes,\r\n les caract\u00E8res joker seront .*txt$.
diff --git a/plugins/transforms/webservices/src/main/resources/org/apache/hop/pipeline/transforms/webservices/messages/messages_fr_FR.properties b/plugins/transforms/webservices/src/main/resources/org/apache/hop/pipeline/transforms/webservices/messages/messages_fr_FR.properties
index 0e524cd034..b43073af29 100644
--- a/plugins/transforms/webservices/src/main/resources/org/apache/hop/pipeline/transforms/webservices/messages/messages_fr_FR.properties
+++ b/plugins/transforms/webservices/src/main/resources/org/apache/hop/pipeline/transforms/webservices/messages/messages_fr_FR.properties
@@ -17,7 +17,7 @@
 #
 #
 
-SelectValuesDialog.DoMapping.UnableToFindInput=Impossible de trouver le flux en entr\u00E9e!
+SelectValuesDialog.DoMapping.UnableToFindInput=Impossible de trouver le flux en entr\u00E9e\u202F!
 WebServiceDialog.Compatible.Label=Activer compatibilit\u00E9 V2.x/3.x
 WebServiceDialog.Compatible.Tooltip=S\u00E9lectionnez cette option si vous souhaitez utiliser un algorithme\r\ncompatible avec les versions ant\u00E9rieures \u00E0 la version 3.0.
 WebServiceDialog.DialogTitle=Service web
@@ -39,7 +39,7 @@ WebServiceDialog.Label.AddInputButton=Ajouter entr\u00E9e
 WebServiceDialog.Label.AddOutputButton=Ajouter sortie
 WebServiceDialog.MainTab.TabTitle=Service Web
 WebServiceDialog.NameColumn.Column=Nom
-WebServiceDialog.Operation.Label=Operation
+WebServiceDialog.Operation.Label=Op\u00E9ration
 WebServiceDialog.Operation.Tooltip=Op\u00E9ration \u00E0 appeler
 WebServiceDialog.OperationRequest.Label=Nom op\u00E9ration (optionnel)
 WebServiceDialog.OperationRequest.Tooltip=L''url WSDL retourne parfois un nom d''op\u00E9ration incorrect.Sp\u00E9cifier dans cette zone le vrai nom attendu par le service.
diff --git a/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_fr_FR.properties b/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_fr_FR.properties
index 359e68df9e..dc53929109 100644
--- a/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_fr_FR.properties
+++ b/plugins/transforms/workflowexecutor/src/main/resources/org/apache/hop/pipeline/transforms/workflowexecutor/messages/messages_fr_FR.properties
@@ -49,7 +49,7 @@ WorkflowExecutorDialog.GroupSize.Label=Le nombre de lignes \u00E0 transmettre au
 WorkflowExecutorDialog.GroupTime.Label=Temps d''attente (ms) avant de collecter les lignes
 WorkflowExecutorDialog.Parameters.column.Field=Champ
 WorkflowExecutorDialog.Parameters.column.Input=Valeur statique
-WorkflowExecutorDialog.Parameters.column.Variable=Variable /  param\u00E8tre
+WorkflowExecutorDialog.Parameters.column.Variable=Variable / param\u00E8tre
 WorkflowExecutorDialog.Parameters.GetParameters=R\u00E9cup\u00E9rer param\u00E8tres
 WorkflowExecutorDialog.Parameters.InheritAll=H\u00E9riter toutes les variables depuis la transformation
 WorkflowExecutorDialog.Parameters.Title=Param\u00E8tres
@@ -60,7 +60,7 @@ WorkflowExecutorDialog.ResultFiles.Title=Noms fichiers li\u00E9s au r\u00E9sulta
 WorkflowExecutorDialog.ResultFiles.Tooltip=Cet onglet permet de sp\u00E9cifier o\u00F9 envoyer les noms de fichier
 WorkflowExecutorDialog.ResultFilesTarget.Label=La transformation vers laquelle les nom des fichiers li\u00E9s au r\u00E9sultat seront envoy\u00E9s.
 WorkflowExecutorDialog.ResultRows.Title=Lignes dans r\u00E9sultat
-WorkflowExecutorDialog.ResultRows.Tooltip=Vous pouvez sp\u00E9cifier la cible et  les sp\u00E9cifications des lignes r\u00E9cup\u00E9r\u00E9es depuis le r\u00E9sultat.
+WorkflowExecutorDialog.ResultRows.Tooltip=Vous pouvez sp\u00E9cifier la cible et les sp\u00E9cifications des lignes r\u00E9cup\u00E9r\u00E9es depuis le r\u00E9sultat.
 WorkflowExecutorDialog.ResultRowsTarget.Label=Transformation cible des lignes
 WorkflowExecutorDialog.RowGroup.Title=Groupement lignes
 WorkflowExecutorDialog.RowGroup.Tooltip=Permet de d\u00E9finir le nombre de lignes qui seront transmises avant l''ex\u00E9cution du workflow.
diff --git a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/getxmldata/messages/messages_fr_FR.properties b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/getxmldata/messages/messages_fr_FR.properties
index 7f20e53522..6d82d208e1 100644
--- a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/getxmldata/messages/messages_fr_FR.properties
+++ b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/getxmldata/messages/messages_fr_FR.properties
@@ -20,7 +20,7 @@
 GetXMLData.category=Extraction
 GetXMLData.description=Extraire les donn\u00E9es depuis un fichier XML en utilisant XPath.\n Cette transformation permet aussi de parser un XML d\u00E9fini dans un champ pr\u00E9c\u00E9dent.
 GetXMLData.Error.EmptyPath=La valeur XPath \u00E0 parcourir n''a pas \u00E9t\u00E9 sp\u00E9cif\u00E9e\!
-GetXMLData.Error.FileSizeZero=Le fichier [{0}]  est vide\!
+GetXMLData.Error.FileSizeZero=Le fichier [{0}] est vide!
 GetXMLData.Error.UnableReadFile=Impossible de lire depuis le fichier XML
 GetXMLData.Exception.CouldnotFindField=Impossible de trouver le champ ''{0}'' dans le flux d''entr\u00E9e\!
 GetXMLData.Log.ErrorApplyXPath=Apache Hop a rencontr\u00E9 une erreur lors 
@@ -57,7 +57,7 @@ GetXMLDataDialog.AddResult.Label=Ajouter noms fichier au r\u00E9sultat
 GetXMLDataDialog.AddResult.Tooltip=S\u00E9lectionnez cette option si vous souhaitez ajouter\r\nles noms des fichiers XML trait\u00E9s au r\u00E9sultat.
 GetXMLDataDialog.AskURL.Message=Veuillez svp saisir une URL
 GetXMLDataDialog.AskURL.Title=URL
-GetXMLDataDialog.AskXML.Message=Veuillez svp saisir  un fragment XML
+GetXMLDataDialog.AskXML.Message=Veuillez svp saisir un fragment XML
 GetXMLDataDialog.AskXML.Title=XML
 GetXMLDataDialog.Button.PreviewRows=\  &Pr\u00E9visualiser lignes
 GetXMLDataDialog.ClearFieldList.DialogMessage=Souhaitez-vous vider la liste des champs\navant d''extraire les champs depuis l''en-t\u00EAte du fichier?
diff --git a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xmljoin/messages/messages_fr_FR.properties b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xmljoin/messages/messages_fr_FR.properties
index 049a0caf25..879649bf4d 100644
--- a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xmljoin/messages/messages_fr_FR.properties
+++ b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xmljoin/messages/messages_fr_FR.properties
@@ -18,7 +18,7 @@
 #
 #
 
-AddXMLDialog.Log.GettingFieldsInfo=Erreur lors de la r\u00E9cup\u00E9ration des champs depuis la transformation pr\u00E9c\u00E9dente\!
+AddXMLDialog.Log.GettingFieldsInfo=Erreur lors de la r\u00E9cup\u00E9ration des champs depuis la transformation pr\u00E9c\u00E9dente\u202F!
 XmlJoin.category=Jointure lignes
 XmlJoin.CheckResult.ExpectedInputError=Aucune \u00E9tape li\u00E9e \u00E0 l''entr\u00E9e n''a \u00E9t\u00E9 trouv\u00E9e.
 XmlJoin.CheckResult.ResultFieldNotSpecified=Le champ r\u00E9sultat n''a pas \u00E9t\u00E9 sp\u00E9cifi\u00E9
diff --git a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xslt/messages/messages_fr_FR.properties b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xslt/messages/messages_fr_FR.properties
index d7daca2298..5f754884ad 100644
--- a/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xslt/messages/messages_fr_FR.properties
+++ b/plugins/transforms/xml/src/main/resources/org/apache/hop/pipeline/transforms/xml/xslt/messages/messages_fr_FR.properties
@@ -60,7 +60,7 @@ XsltDialog.OutputProperties.Label=Propri\u00E9t\u00E9s de sortie XSL
 XsltDialog.Parameters.Label=Param\u00E8tres
 XsltDialog.ResultField.Group.Label=Champs en sortie
 XsltDialog.ResultField.Label=Champ r\u00E9sultat
-XsltDialog.ResultField.Tooltip=Nom  du champ r\u00E9sultat \u00E0 ajouter au flux de sortie.
+XsltDialog.ResultField.Tooltip=Nom du champ r\u00E9sultat \u00E0 ajouter au flux de sortie.
 XsltDialog.Shell.Title=Transformation XSL
 XsltDialog.TransformName.Label=Nom de la transformation 
 XsltDialog.XSL.Group.Label=Fichier XSL
diff --git a/plugins/transforms/yamlinput/src/main/resources/org/apache/hop/pipeline/transforms/yamlinput/messages/messages_fr_FR.properties b/plugins/transforms/yamlinput/src/main/resources/org/apache/hop/pipeline/transforms/yamlinput/messages/messages_fr_FR.properties
index ceeacb3ad4..838c3f90b1 100644
--- a/plugins/transforms/yamlinput/src/main/resources/org/apache/hop/pipeline/transforms/yamlinput/messages/messages_fr_FR.properties
+++ b/plugins/transforms/yamlinput/src/main/resources/org/apache/hop/pipeline/transforms/yamlinput/messages/messages_fr_FR.properties
@@ -18,7 +18,7 @@
 #
 
 YamlInput.Description=Extraction de donn\u00E9es Yaml depuis une source (fichier, flux).
-YamlInput.Error.FileSizeZero=Le fichier [{0}]  est vide\!
+YamlInput.Error.FileSizeZero=Le fichier [{0}] est vide!
 YamlInput.ErrorInTransformRunning=Erreur lors de l''extraction des donn\u00E9es de la source Yaml\! {0}
 YamlInput.Exception.CouldnotFindField=Impossible de trouver le champ ''{0}'' dans le flux d''entr\u00E9e\!
 YamlInput.Log.ErrorFindingField=Le champ {0} n''existe pas dans le flux d''entr\u00E9e\!
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_fr_FR.properties
index 26a658fb76..2913f289b1 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/dialog/messages/messages_fr_FR.properties
@@ -25,7 +25,7 @@ DatabaseExplorerDialog.Menu.GenDDL=G\u00E9n\u00E9rer instructions DDL
 DatabaseExplorerDialog.Menu.GenDDLOtherConn=G\u00E9n\u00E9rer instructions DDL pour autre connexion
 DatabaseExplorerDialog.Menu.OpenSQL=Ouvrir La fen\u00EAtre ex\u00E9cution SQL pour [{0}]
 DatabaseExplorerDialog.Menu.Preview100=&Pr\u00E9visualiser les 100 premi\u00E8res lignes de [{0}]
-DatabaseExplorerDialog.Menu.PreviewN=&Pr\u00E9visualiser les  ... premi\u00E8res lignes de [{0}]
+DatabaseExplorerDialog.Menu.PreviewN=&Pr\u00E9visualiser les ... premi\u00E8res lignes de [{0}]
 DatabaseExplorerDialog.Menu.ShowLayout=Afficher structure sortie de [{0}]
 DatabaseExplorerDialog.Menu.ShowSize=Nombre de lignes de [{0}]
 DatabaseExplorerDialog.Menu.Truncate=Tronquer la table [{0}]
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_fr_FR.properties
index 3852c1e25a..bb2740a2e8 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/database/messages/messages_fr_FR.properties
@@ -36,7 +36,7 @@ DatabaseDialog.label.ConnectionSupportsBoolean=Prend en charge le type de donn\u
 DatabaseDialog.label.ConnectionSupportsTimestamp=Prend en charge le type de donn\u00E9es Timestamp
 DatabaseDialog.label.ConnectionType=Fournisseur base de donn\u00E9es
 DatabaseDialog.label.DatabaseName=Nom de la base de donn\u00E9es
-DatabaseDialog.label.DriverClass=Classe du pilote  
+DatabaseDialog.label.DriverClass=Classe du pilote
 DatabaseDialog.label.InformixServername=Nom du serveur Informix
 DatabaseDialog.label.ManualUrl=URL de connexion manuelle
 DatabaseDialog.label.MySQLStreamResults=Utiliser r\u00E9sultat flux (\u00E9mulation curseur)
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
index d0f3ee6bad..dd88f7720e 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_fr_FR.properties
@@ -165,7 +165,7 @@ SQLStatementDialog.Error.CouldNotExec=L''instruction suivant n''a pas pu \u00EAt
 SQLStatementDialog.Error.Message=We can''t execute the selected statetements as there are/is {0} with errors.
 SQLStatementDialog.Error.Title=Erreur
 SQLStatementDialog.Log.Connection=-- Connexion base de donn\u00E9es \: {0}\n
-SQLStatementDialog.Log.Error=-- Message erreur       \: {0}\n
+SQLStatementDialog.Log.Error=Message erreur : {0}
 SQLStatementDialog.Log.Transform=-- Transformation                : {0}\n
 SQLStatementDialog.Log.Undefined=<und\u00E9fini>
 SQLStatementDialog.Success.Message={0} SQL statement(s) executed successfully
diff --git a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_fr_FR.properties
index 69baab39d3..4d92947502 100644
--- a/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/core/widget/messages/messages_fr_FR.properties
@@ -67,7 +67,7 @@ TableView.menu.RedoNotAvailable=R\u00E9tablir \: indisponible \tCtrl-Y
 TableView.menu.SelectAll=S\u00E9lectionner toutes les lignes\tCtrl-A
 TableView.menu.Undo=Annuler {0} \tCtrl-Z
 TableView.menu.UndoNotAvailable=Annuler \: indisponible \tCtrl-Z
-TableView.MessageBox.ClearTable.message=Voulez-vous vraiment vider la grille?
+TableView.MessageBox.ClearTable.message=Voulez-vous vraiment vider la grille ?
 TableView.MessageBox.ClearTable.title=Question
 TextVar.InternalVariable.Message=Variable interne
 TextVar.tooltip.InsertVariable=Appuyer sur CTRL-SPACE pour s\u00E9lectionner une variable d''environnement
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_fr_FR.properties
index 8c7f5fce7a..c90c605992 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/file/workflow/messages/messages_fr_FR.properties
@@ -62,7 +62,7 @@ HopGuiWorkflowGraph.GuiAction.ZoomOut.Tooltip=Zoom arri\u00E8re 10%
 HopGuiWorkflowGraph.OpenReferencedObject.Selection.Message=S\u00E9lectionne le fichier de r\u00E9f\u00E9rence \u00E0 ouvrir
 HopGuiWorkflowGraph.OpenReferencedObject.Selection.Title=Ouvrir fichier de r\u00E9f\u00E9rence
 HopGuiWorkflowGraph.SaveFile.Dialog.Header=Enregistrer le fichier ?
-HopGuiWorkflowGraph.SaveFile.Dialog.Message=Souhaitez vous enregistrer le fichier ''{0}'' avant de fermer ? 
+HopGuiWorkflowGraph.SaveFile.Dialog.Message=Souhaitez vous enregistrer le fichier ''{0}'' avant de fermer ?
 HopWorkflowFileType.GuiAction.Workflow.Tooltip=Cr\u00E9er un nouveau workflow
 HopWorkflowFileType.New.Text=Nouveau workflow
 WorkflowGraph.Dialog.EditDescription.Message=Editer la description
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_fr_FR.properties
index 09741025f0..914e0b18d6 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_fr_FR.properties
@@ -53,7 +53,7 @@ HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Message=La pr\u00E9visualisatio
 HopGui.Dialog.Warning.NoPreviewOrDebugTransforms.Title=Attention\u202F!
 HopGui.Documentation.Tooltip.Back=Page pr\u00E9c\u00E9dente
 HopGui.Documentation.Tooltip.Forward=Page suivante
-HopGui.Documentation.Tooltip.Home=Aller \u00E0 la page page d''accueil de l'aide
+HopGui.Documentation.Tooltip.Home=Aller \u00E0 la page d''accueil de l'aide
 HopGui.Documentation.Tooltip.Print=Imprimer la page
 HopGui.Documentation.Tooltip.Refresh=Rafra\u00EEchir la page
 HopGui.ErrorDialog.ErrorEditingAction.Message=Apache Hop a rencontr\u00E9 une erreur lors de l''\u00E9dition de l''action
@@ -228,7 +228,7 @@ PipelineLog.System.ERROR=ERREUR
 PipelineLog.System.ERROR2=ERREUR
 PipelineLog.System.EXCEPTION=EXCEPTION
 PipelineLog.System.EXCEPTION2=EXCEPTION
-WorkflowGraph.Dialog.HopCausesLoop.Message=Ce lien provoque une boucle.  Ceci n''est pas autoris\u00E9.
+WorkflowGraph.Dialog.HopCausesLoop.Message=Ce lien provoque une boucle. Ceci n''est pas autoris\u00E9.
 WorkflowGraph.Dialog.HopCausesLoop.Title=Boucle !
 WorkflowLog.Button.LogSettings=Param\u00E8tres trace
 WorkflowLog.Button.Pause=Mettre en pause le log de ce workflow
diff --git a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_fr_FR.properties
index 0775787bbc..ecb594b857 100644
--- a/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/hopgui/perspective/explorer/messages/messages_fr_FR.properties
@@ -18,7 +18,7 @@
 #
 
 ExplorerPerspective.CreateFolder.Header=Cr\u00E9er un r\u00E9pertoire
-ExplorerPerspective.CreateFolder.Message=Veuillez saisir le nom du r\u00E9pertoire \u00E0 cr\u00E9er dans :  ''{0}''
+ExplorerPerspective.CreateFolder.Message=Veuillez saisir le nom du r\u00E9pertoire \u00E0 cr\u00E9er dans : ''{0}''
 ExplorerPerspective.Error.CreateFolder.Header=Erreur
 ExplorerPerspective.Error.CreateFolder.Message=Erreur lors de la cr\u00E9ation du r\u00E9pertoire: ''{0}''
 ExplorerPerspective.Error.DeleteFile.Header=Erreur
diff --git a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_fr_FR.properties
index 06eb335072..fd357d846d 100644
--- a/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/partition/messages/messages_fr_FR.properties
@@ -17,9 +17,9 @@
 #
 #
 
-PartitionSchemaDialog.Dynamic.Label=Cr\u00E9er dynamiquement la d\u00E9finition du sch\u00E9ma\u00A0?
+PartitionSchemaDialog.Dynamic.Label=Cr\u00E9er dynamiquement la d\u00E9finition du sch\u00E9ma
 PartitionSchemaDialog.Dynamic.Tooltip=Si cette option est s\u00E9lectionn\u00E9e, le sch\u00E9ma de partionnement sera d\u00E9fini dynamiquement en temps r\u00E9el lorsque la pipeline est ex\u00E9cut\u00E9e en mode grappe. Si l''ex\u00E9cution du pipeline est locale, les partitions sp\u00E9cifi\u00E9es seront utilis\u00E9es.
-PartitionSchemaDialog.Number.Label=Nombre de partitions\u202F?
+PartitionSchemaDialog.Number.Label=Nombre de partitions
 PartitionSchemaDialog.Number.Tooltip=Indiquez le nombre de partitions pour chaque serveur esclave. Ces donn\u00E9es seront utilis\u00E9es par le grappage.
 PartitionSchemaDialog.PartitionID.Label=ID Partition 
 PartitionSchemaDialog.PartitionName.Label=Nom partition   
diff --git a/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_fr_FR.properties b/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_fr_FR.properties
index 29a59437c5..24b6714cc0 100644
--- a/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_fr_FR.properties
+++ b/ui/src/main/resources/org/apache/hop/ui/server/messages/messages_fr_FR.properties
@@ -21,13 +21,13 @@ HopServer.ExceptionUnableGetReplay.Error2=]
 HopServer.Replay.Info1=Test de r\u00E9ponse depuis l''URL du serveur\u202F:
 HopServer.Replay.Info2=contenu\: 
 HopServer.RetournedXMLInfo=Le flux The XML retourn\u00E9 est\: 
-HopServerDialog.HostIP.Label=Nom /IP H\u00F4te  
-HopServerDialog.IgnoreProxyForHosts.Label=Ignorer proxy pour h\u00F4tes (separ\u00E9s par |)\:  
-HopServerDialog.Password.Label=Mot de passe  
+HopServerDialog.HostIP.Label=Nom /IP H\u00F4te
+HopServerDialog.IgnoreProxyForHosts.Label=Ignorer proxy pour h\u00F4tes (s\u00E9par\u00E9s par |):
+HopServerDialog.Password.Label=Mot de passe
 HopServerDialog.Port.Label=Port (vide \= 80) 
 HopServerDialog.ProxyServerName.Label=Nom H\u00F4te Proxy\: 
 HopServerDialog.ProxyServerPort.Label=Port Proxy\: 
-HopServerDialog.ServerName.Label=Nom serveur  
+HopServerDialog.ServerName.Label=Nom serveur
 HopServerDialog.USER_TAB_PROXY=Proxy
 HopServerDialog.USER_TAB_SERVICE=Service
 HopServerDialog.UserName.Label=Utilisateur