diff -r 74a3f4d5f407 -r da138c5a3063 i18n/Beremiz_fr_FR.po --- a/i18n/Beremiz_fr_FR.po Wed Sep 13 10:18:04 2017 +0300 +++ b/i18n/Beremiz_fr_FR.po Wed Sep 13 15:35:43 2017 +0300 @@ -1,15 +1,17 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# English translations for Beremiz package. +# Copyright (C) 2017 THE Beremiz'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Beremiz package. +# Automatically generated, 2017. # -#, fuzzy +# Translators: +# Andrey Skvortsov , 2017 +# Fabien M , 2017 msgid "" msgstr "" "Project-Id-Version: Beremiz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-09 15:28+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2017-07-05 13:02+0300\n" +"PO-Revision-Date: 2017-07-05 13:02+0300\n" "Last-Translator: Fabien M , 2017\n" "Language-Team: French (France) (https://www.transifex.com/beremiz/teams/75746/fr_FR/)\n" "MIME-Version: 1.0\n" @@ -18,7 +20,7 @@ "Language: fr_FR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../PLCOpenEditor.py:408 ../Beremiz.py:1191 +#: ../BeremizIDE.py:1095 ../PLCOpenEditor.py:418 #, python-format msgid "" "\n" @@ -66,109 +68,109 @@ msgid " Temp" msgstr " Temporaire" -#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/ProjectDialog.py:66 -#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113 +#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:69 +#: ../dialogs/PouActionDialog.py:92 ../dialogs/PouDialog.py:114 #, python-format msgid " and %s" msgstr " et %s" -#: ../ProjectController.py:1110 +#: ../ProjectController.py:1151 msgid " generation failed !\n" msgstr "la construction a échouée !\n" -#: ../plcopen/plcopen.py:881 +#: ../plcopen/plcopen.py:886 #, python-format msgid "\"%s\" Data Type doesn't exist !!!" msgstr "Le type de donnée \"%s\" n'existe pas !!!" -#: ../plcopen/plcopen.py:899 +#: ../plcopen/plcopen.py:904 #, python-format msgid "\"%s\" POU already exists !!!" msgstr "Le POU \"%s\" existe déjà !!!" -#: ../plcopen/plcopen.py:920 +#: ../plcopen/plcopen.py:925 #, python-format msgid "\"%s\" POU doesn't exist !!!" msgstr "Le POU \"%s\" n'existe pas !!!" -#: ../editors/Viewer.py:246 +#: ../editors/Viewer.py:247 #, python-format msgid "\"%s\" can't use itself!" msgstr "\"%s\" ne peut pas s'utiliser lui-même !" -#: ../IDEFrame.py:1651 ../IDEFrame.py:1670 +#: ../IDEFrame.py:1655 ../IDEFrame.py:1674 #, python-format msgid "\"%s\" config already exists!" msgstr "La configuration \"%s\" existe déjà !" -#: ../plcopen/plcopen.py:467 +#: ../plcopen/plcopen.py:472 #, python-format msgid "\"%s\" configuration already exists !!!" msgstr "La configuration \"%s\" existe déjà !!!" -#: ../IDEFrame.py:1601 +#: ../IDEFrame.py:1605 #, python-format msgid "\"%s\" data type already exists!" msgstr "Le type de données \"%s\" existe déjà !" -#: ../dialogs/PouTransitionDialog.py:110 ../dialogs/BlockPreviewDialog.py:219 -#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262 -#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374 +#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouActionDialog.py:103 ../editors/Viewer.py:263 +#: ../editors/Viewer.py:331 ../editors/Viewer.py:355 ../editors/Viewer.py:375 #: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301 #: ../controls/VariablePanel.py:396 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "Un élément \"%s\" existe déjà dans ce POU !" -#: ../Beremiz.py:994 +#: ../BeremizIDE.py:897 #, python-format msgid "\"%s\" folder is not a valid Beremiz project\n" msgstr "Le dossier \"%s\" ne contient pas de projet Beremiz valide\n" -#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106 -#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 -#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120 +#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101 +#: ../dialogs/BlockPreviewDialog.py:208 ../dialogs/PouNameDialog.py:50 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:121 #: ../editors/ResourceEditor.py:449 ../editors/ResourceEditor.py:484 -#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584 -#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:763 -#: ../IDEFrame.py:1592 +#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:587 +#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:773 +#: ../IDEFrame.py:1596 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "\"%s\" est un mot réservé. Il ne peut être utilisé !" -#: ../plcopen/plcopen.py:2412 +#: ../plcopen/plcopen.py:2417 #, python-format msgid "\"%s\" is an invalid value!" msgstr "\"%s\" n'est pas une valeur valide !" -#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:381 +#: ../PLCOpenEditor.py:349 ../PLCOpenEditor.py:391 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" n'est pas un répertoire valide !" -#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104 -#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 -#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 +#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99 +#: ../dialogs/BlockPreviewDialog.py:204 ../dialogs/PouNameDialog.py:48 +#: ../dialogs/PouActionDialog.py:97 ../dialogs/PouDialog.py:119 #: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482 -#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768 -#: ../controls/VariablePanel.py:761 ../IDEFrame.py:1590 +#: ../editors/DataTypeEditor.py:585 ../editors/CodeFileEditor.py:774 +#: ../controls/VariablePanel.py:771 ../IDEFrame.py:1594 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" n'est pas un identifiant valide !" -#: ../IDEFrame.py:2395 +#: ../IDEFrame.py:2410 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "" "\"%s\" est utilisé par un POU ou plus. Souhaitez vous continuer malgré tout " "?" -#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122 -#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345 -#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 +#: ../dialogs/BlockPreviewDialog.py:212 ../dialogs/PouDialog.py:123 +#: ../editors/Viewer.py:261 ../editors/Viewer.py:316 ../editors/Viewer.py:346 +#: ../editors/Viewer.py:368 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 #: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 -#: ../IDEFrame.py:1610 +#: ../IDEFrame.py:1614 #, python-format msgid "\"%s\" pou already exists!" msgstr "Le POU \"%s\" existe déjà !" @@ -183,12 +185,12 @@ msgid "\"%s\" value already defined!" msgstr "La valeur \"%s\" est déjà définie !" -#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745 +#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:743 #, python-format msgid "\"%s\" value isn't a valid array dimension!" msgstr "\"%s\" n'est pas une dimension de tableau valide !" -#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752 +#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:750 #, python-format msgid "" "\"%s\" value isn't a valid array dimension!\n" @@ -202,17 +204,17 @@ msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" msgstr "Fonction \"{a1}\" annulée dans \"{a2}\" POU: Pas d'entrée connectée" -#: ../editors/Viewer.py:250 +#: ../editors/Viewer.py:251 #, python-brace-format msgid "\"{a1}\" is already used by \"{a2}\"!" msgstr "\"{a1}\" est déjà utilisé par \"{a2}\"!" -#: ../plcopen/plcopen.py:491 +#: ../plcopen/plcopen.py:496 #, python-brace-format msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!" msgstr "La ressource \"{a1}\" existe déjà dans la configuration \"{a2}\" !" -#: ../plcopen/plcopen.py:509 +#: ../plcopen/plcopen.py:514 #, python-brace-format msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" msgstr "La ressource \"${a1}\" n'existe pas dans la configuration \"{a2}\" !" @@ -250,12 +252,12 @@ msgid "%ds" msgstr "%ds" -#: ../PLCControler.py:1531 +#: ../PLCControler.py:1533 #, python-format msgid "%s Data Types" msgstr "Types de données de %s" -#: ../PLCControler.py:1514 +#: ../PLCControler.py:1516 #, python-format msgid "%s POUs" msgstr "POUs de %s" @@ -265,15 +267,15 @@ msgid "%s Profile" msgstr "Profil %s" -#: ../plcopen/plcopen.py:1645 ../plcopen/plcopen.py:1652 -#: ../plcopen/plcopen.py:1664 ../plcopen/plcopen.py:1672 -#: ../plcopen/plcopen.py:1682 +#: ../plcopen/plcopen.py:1650 ../plcopen/plcopen.py:1657 +#: ../plcopen/plcopen.py:1669 ../plcopen/plcopen.py:1677 +#: ../plcopen/plcopen.py:1687 #, python-format msgid "%s body don't have instances!" msgstr "Le code d'un %s n'a pas d'instances !" -#: ../plcopen/plcopen.py:1700 ../plcopen/plcopen.py:1707 -#: ../plcopen/plcopen.py:1714 +#: ../plcopen/plcopen.py:1705 ../plcopen/plcopen.py:1712 +#: ../plcopen/plcopen.py:1719 #, python-format msgid "%s body don't have text!" msgstr "Le code d'un %s n'a pas de texte !" @@ -327,11 +329,11 @@ msgid "&Program" msgstr "&Programme" -#: ../PLCOpenEditor.py:125 +#: ../PLCOpenEditor.py:127 msgid "&Properties" msgstr "&Propriétés" -#: ../Beremiz.py:324 +#: ../BeremizIDE.py:219 msgid "&Recent Projects" msgstr "Projets &récent" @@ -359,17 +361,17 @@ msgid "(%d matches)" msgstr "(%d correspondances)" -#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 ../PLCOpenEditor.py:409 msgid ", " msgstr ", " -#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/PouActionDialog.py:93 -#: ../dialogs/PouDialog.py:115 +#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:94 +#: ../dialogs/PouDialog.py:116 #, python-format msgid ", %s" msgstr ", %s" -#: ../PLCOpenEditor.py:394 +#: ../PLCOpenEditor.py:404 msgid ". " msgstr ". " @@ -389,8 +391,8 @@ msgid "1s" msgstr "1s" -#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1613 ../IDEFrame.py:1659 -#: ../IDEFrame.py:1678 +#: ../dialogs/PouDialog.py:125 ../IDEFrame.py:1617 ../IDEFrame.py:1663 +#: ../IDEFrame.py:1682 #, python-format msgid "" "A POU has an element named \"%s\". This could cause a conflict. Do you wish " @@ -399,9 +401,9 @@ "Un POU a un élément nommé \"%s\". Cela peut générer des conflits. Voulez-" "vous continuer ?" -#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:108 -#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 -#: ../controls/VariablePanel.py:765 ../IDEFrame.py:1627 ../IDEFrame.py:1640 +#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:101 +#: ../controls/VariablePanel.py:775 ../IDEFrame.py:1631 ../IDEFrame.py:1644 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "Un POU nommé \"%s\" existe déjà !" @@ -411,7 +413,7 @@ msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" msgstr "Un enfant nommé \"{a1}\" existe déjà -> \"{a2}\"\n" -#: ../dialogs/BrowseLocationsDialog.py:216 +#: ../dialogs/BrowseLocationsDialog.py:218 msgid "A location must be selected!" msgstr "Une adresse doit être sélectionné !" @@ -419,18 +421,18 @@ msgid "A task with the same name already exists!" msgstr "Une tâche du même nom existe déjà" -#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:767 -#: ../IDEFrame.py:1629 ../IDEFrame.py:1642 +#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:777 +#: ../IDEFrame.py:1633 ../IDEFrame.py:1646 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "Une variable nommée \"%s\" existe déjà dans ce POU !" -#: ../editors/CodeFileEditor.py:774 +#: ../editors/CodeFileEditor.py:780 #, python-format msgid "A variable with \"%s\" as name already exists!" msgstr "Une variable avec le nom \"%s\" existe déjà !" -#: ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:158 ../Beremiz.py:381 +#: ../BeremizIDE.py:283 ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:168 msgid "About" msgstr "A propos" @@ -438,15 +440,15 @@ msgid "Absolute number" msgstr "Nombre absolu" -#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:43 msgid "Action" msgstr "Action" -#: ../editors/Viewer.py:555 ../editors/Viewer.py:2356 +#: ../editors/Viewer.py:614 ../editors/Viewer.py:2394 msgid "Action Block" msgstr "Ajouter un bloc fonctionnel" -#: ../dialogs/PouActionDialog.py:81 +#: ../dialogs/PouActionDialog.py:82 msgid "Action Name" msgstr "Nom de l'action" @@ -454,12 +456,12 @@ msgid "Action Name:" msgstr "Nom de l'action :" -#: ../plcopen/plcopen.py:1359 +#: ../plcopen/plcopen.py:1364 #, python-format msgid "Action with name %s doesn't exist!" msgstr "L'action nommée %s n'existe pas !" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Actions" msgstr "Actions" @@ -467,16 +469,16 @@ msgid "Actions:" msgstr "Actions :" -#: ../editors/Viewer.py:1110 +#: ../editors/Viewer.py:431 msgid "Active" msgstr "Actif" #: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101 -#: ../editors/Viewer.py:588 ../Beremiz.py:1060 +#: ../BeremizIDE.py:965 ../editors/Viewer.py:647 msgid "Add" msgstr "Ajouter" -#: ../IDEFrame.py:1889 ../IDEFrame.py:1924 +#: ../IDEFrame.py:1893 ../IDEFrame.py:1928 msgid "Add Action" msgstr "Ajouter une action" @@ -485,23 +487,23 @@ msgstr "" "Ajoute un code C ayant accès à des variables localisées de façon synchrone" -#: ../IDEFrame.py:1872 +#: ../IDEFrame.py:1876 msgid "Add Configuration" msgstr "Ajouter une configuration" -#: ../IDEFrame.py:1852 +#: ../IDEFrame.py:1856 msgid "Add DataType" msgstr "Ajouter un type de donnée" -#: ../editors/Viewer.py:513 +#: ../editors/Viewer.py:572 msgid "Add Divergence Branch" msgstr "Ajouter une branche à la divergence" -#: ../dialogs/DiscoveryDialog.py:116 +#: ../dialogs/DiscoveryDialog.py:117 msgid "Add IP" msgstr "Ajouter IP" -#: ../IDEFrame.py:1860 +#: ../IDEFrame.py:1864 msgid "Add POU" msgstr "Ajouter un POU" @@ -509,15 +511,15 @@ msgid "Add Python code executed asynchronously" msgstr "Ajoute un code Python executé de façon asynchone" -#: ../IDEFrame.py:1900 ../IDEFrame.py:1950 +#: ../IDEFrame.py:1904 ../IDEFrame.py:1954 msgid "Add Resource" msgstr "Ajouter une resource" -#: ../IDEFrame.py:1878 ../IDEFrame.py:1921 +#: ../IDEFrame.py:1882 ../IDEFrame.py:1925 msgid "Add Transition" msgstr "Ajouter une transition" -#: ../editors/Viewer.py:500 +#: ../editors/Viewer.py:559 msgid "Add Wire Segment" msgstr "Ajouter un segment au fil" @@ -525,7 +527,7 @@ msgid "Add a new initial step" msgstr "Ajouter une nouvelle étape initiale" -#: ../editors/Viewer.py:2717 ../editors/SFCViewer.py:770 +#: ../editors/Viewer.py:2757 ../editors/SFCViewer.py:770 msgid "Add a new jump" msgstr "Ajouter un nouveau renvoi" @@ -565,22 +567,22 @@ msgid "Addition" msgstr "Addition" -#: ../plcopen/definitions.py:47 +#: ../plcopen/definitions.py:49 msgid "Additional function blocks" msgstr "Blocs fonctionnels additionnels" -#: ../editors/Viewer.py:571 +#: ../editors/Viewer.py:630 msgid "Adjust Block Size" msgstr "Ajuster la taille des blocs" -#: ../editors/Viewer.py:1648 +#: ../editors/Viewer.py:1686 msgid "Alignment" msgstr "Alignement" -#: ../dialogs/BrowseLocationsDialog.py:39 -#: ../dialogs/BrowseLocationsDialog.py:47 -#: ../dialogs/BrowseLocationsDialog.py:140 -#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298 +#: ../dialogs/BrowseLocationsDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:48 +#: ../dialogs/BrowseLocationsDialog.py:141 +#: ../dialogs/BrowseLocationsDialog.py:144 ../controls/LogViewer.py:298 #: ../controls/VariablePanel.py:70 msgid "All" msgstr "Tout" @@ -589,11 +591,11 @@ msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "Tous les fichiers|*.*|Fichiers CSV (*.csv)|*.csv" -#: ../ProjectController.py:1644 +#: ../ProjectController.py:1685 msgid "Already connected. Please disconnect\n" msgstr "Déjà connecté. Veuillez déconnecter\n" -#: ../editors/DataTypeEditor.py:594 +#: ../editors/DataTypeEditor.py:591 #, python-format msgid "An element named \"%s\" already exists in this structure!" msgstr "Un élément nommé \"%s\" existe déjà dans la structure !" @@ -602,7 +604,7 @@ msgid "An instance with the same name already exists!" msgstr "Une instance avec le même nom existe déjà !" -#: ../dialogs/ConnectionDialog.py:96 +#: ../dialogs/ConnectionDialog.py:100 msgid "Apply name modification to all continuations with the same name" msgstr "" "Appliquer la modification de nom à toutes les prolongements portant ce même " @@ -624,8 +626,8 @@ msgid "Arithmetic" msgstr "Arithmétique" -#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 -#: ../controls/VariablePanel.py:841 +#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:633 +#: ../controls/VariablePanel.py:858 msgid "Array" msgstr "Tableau" @@ -633,19 +635,19 @@ msgid "Assignment" msgstr "Assignation" -#: ../dialogs/FBDVariableDialog.py:217 +#: ../dialogs/FBDVariableDialog.py:222 msgid "At least a variable or an expression must be selected!" msgstr "Au moins une variable ou une expression doit être sélectionné !" -#: ../controls/ProjectPropertiesPanel.py:99 +#: ../controls/ProjectPropertiesPanel.py:100 msgid "Author" msgstr "Auteur" -#: ../controls/ProjectPropertiesPanel.py:96 +#: ../controls/ProjectPropertiesPanel.py:97 msgid "Author Name (optional):" msgstr "Nom de l'auteur (optionel) :" -#: ../dialogs/FindInPouDialog.py:79 +#: ../dialogs/FindInPouDialog.py:77 msgid "Backward" msgstr "Vers le haut" @@ -662,16 +664,16 @@ msgid "Bad location size : %s" msgstr "Mauvaise taille d'adresse : %s" -#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:175 +#: ../dialogs/ArrayTypeDialog.py:54 ../editors/DataTypeEditor.py:175 #: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297 msgid "Base Type:" msgstr "Type de base :" -#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:799 +#: ../editors/DataTypeEditor.py:623 ../controls/VariablePanel.py:816 msgid "Base Types" msgstr "Types de base" -#: ../Beremiz.py:553 +#: ../BeremizIDE.py:455 msgid "Beremiz" msgstr "Beremiz" @@ -703,11 +705,11 @@ msgid "Bitwise inverting" msgstr "Inversion bit à bit" -#: ../editors/Viewer.py:525 ../editors/Viewer.py:2369 +#: ../editors/Viewer.py:584 ../editors/Viewer.py:2407 msgid "Block" msgstr "Block" -#: ../dialogs/FBDBlockDialog.py:59 +#: ../dialogs/FBDBlockDialog.py:60 msgid "Block Properties" msgstr "Propriétés du bloc" @@ -715,15 +717,15 @@ msgid "Block name" msgstr "Nom du bloc" -#: ../editors/Viewer.py:491 +#: ../editors/Viewer.py:550 msgid "Bottom" msgstr "Bas" -#: ../ProjectController.py:1322 +#: ../ProjectController.py:1363 msgid "Broken" msgstr "Cassé" -#: ../dialogs/BrowseValuesLibraryDialog.py:37 +#: ../dialogs/BrowseValuesLibraryDialog.py:38 #, python-format msgid "Browse %s values library" msgstr "Explorer la liste des valeurs du paramètre '%s'" @@ -732,23 +734,23 @@ msgid "Browse Locations" msgstr "Naviger dans les adresses" -#: ../ProjectController.py:1790 +#: ../ProjectController.py:1832 msgid "Build" msgstr "Compiler" -#: ../ProjectController.py:1256 +#: ../ProjectController.py:1297 msgid "Build directory already clean\n" msgstr "Le répertoire de compilation est déjà nettoyé\n" -#: ../ProjectController.py:1791 +#: ../ProjectController.py:1833 msgid "Build project into build folder" msgstr "Compiler le projet dans le répertoire ce compilation" -#: ../ProjectController.py:1039 +#: ../ProjectController.py:1080 msgid "C Build crashed !\n" msgstr "La compilation du C a mal fonctionné !\n" -#: ../ProjectController.py:1036 +#: ../ProjectController.py:1077 msgid "C Build failed.\n" msgstr "La compilation du C a échouée !\n" @@ -756,7 +758,7 @@ msgid "C code" msgstr "Code C" -#: ../ProjectController.py:1114 +#: ../ProjectController.py:1155 msgid "C code generated successfully.\n" msgstr "Code C généré avec succès.\n" @@ -764,7 +766,7 @@ msgid "C compilation failed.\n" msgstr "La compilation a échouée\n" -#: ../targets/toolchain_gcc.py:156 +#: ../targets/toolchain_gcc.py:192 #, python-format msgid "C compilation of %s failed.\n" msgstr "La compilation C de %s a échouée.\n" @@ -789,8 +791,8 @@ msgid "CANopen support" msgstr "Support CANopen" -#: ../plcopen/plcopen.py:1584 ../plcopen/plcopen.py:1598 -#: ../plcopen/plcopen.py:1622 ../plcopen/plcopen.py:1638 +#: ../plcopen/plcopen.py:1589 ../plcopen/plcopen.py:1603 +#: ../plcopen/plcopen.py:1627 ../plcopen/plcopen.py:1643 msgid "Can only generate execution order on FBD networks!" msgstr "L'ordre d'exécution ne peut être généré que dans les FBD !" @@ -799,7 +801,7 @@ msgstr "" "Une adresse ne peut être affecté qu'à des variables locales ou globales" -#: ../PLCOpenEditor.py:334 +#: ../PLCOpenEditor.py:344 #, python-format msgid "Can't generate program to file %s!" msgstr "Le programme n'a pu être généré dans le fichier \"%s\" !" @@ -808,7 +810,7 @@ msgid "Can't give a location to a function block instance" msgstr "Une adresse ne peut être affectée à une instance de Function Block" -#: ../PLCOpenEditor.py:379 +#: ../PLCOpenEditor.py:389 #, python-format msgid "Can't save project to file %s!" msgstr "Le projet n'a pu être sauvé dans le fichier \"%s\" !" @@ -832,7 +834,7 @@ msgid "Cannot get PLC status - connection failed.\n" msgstr "Impossible d'obtenir le statut de l'automate - la connexion a échoué.\n" -#: ../ProjectController.py:902 +#: ../ProjectController.py:943 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "Impossible d'ouvrir ou d'analyser le fichier VARIABLES.csv !\n" @@ -845,31 +847,31 @@ "Impossible de configurer l'offset du bit de la variable non booléenne '{a1}'" " (ID:{a2},Idx:{a3},sIdx:{a4}))" -#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:88 +#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:86 msgid "Case sensitive" msgstr "Respecter la casse" -#: ../editors/Viewer.py:486 +#: ../editors/Viewer.py:545 msgid "Center" msgstr "Centre" -#: ../Beremiz_service.py:266 +#: ../Beremiz_service.py:268 msgid "Change IP of interface to bind" msgstr "Changer l'adresse IP de l'interface à lier" -#: ../Beremiz_service.py:265 +#: ../Beremiz_service.py:267 msgid "Change Name" msgstr "Changer le nom" -#: ../IDEFrame.py:1942 +#: ../IDEFrame.py:1946 msgid "Change POU Type To" msgstr "Changer le type du POU pour" -#: ../Beremiz_service.py:267 +#: ../Beremiz_service.py:269 msgid "Change Port Number" msgstr "Changer le numéro de port" -#: ../Beremiz_service.py:268 +#: ../Beremiz_service.py:270 msgid "Change working directory" msgstr "Changer le dossier de travail" @@ -877,38 +879,38 @@ msgid "Character string" msgstr "Chaîne de caractères" -#: ../svgui/svgui.py:125 +#: ../svgui/svgui.py:128 msgid "Choose a SVG file" msgstr "Choisissez un fichier SVG" -#: ../ProjectController.py:501 +#: ../ProjectController.py:542 msgid "Choose a directory to save project" msgstr "Choisissez un dossier où enregistrer le projet" -#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:292 -#: ../PLCOpenEditor.py:324 ../PLCOpenEditor.py:373 +#: ../canfestival/canfestival.py:162 ../PLCOpenEditor.py:302 +#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:383 msgid "Choose a file" msgstr "Choisissez un fichier" -#: ../Beremiz.py:931 ../Beremiz.py:966 +#: ../BeremizIDE.py:833 ../BeremizIDE.py:869 msgid "Choose a project" msgstr "Choisissez un projet" -#: ../dialogs/BrowseValuesLibraryDialog.py:42 +#: ../dialogs/BrowseValuesLibraryDialog.py:41 #, python-format msgid "Choose a value for %s:" msgstr "Choisissez une valeur pour le paramètre %s :" -#: ../Beremiz_service.py:323 +#: ../Beremiz_service.py:325 msgid "Choose a working directory " msgstr "Choisissez un dossier de travail" -#: ../ProjectController.py:408 +#: ../ProjectController.py:449 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "" "Le répertoire ne contient pas de programme. Ce n'est pas un projet valide !" -#: ../ProjectController.py:375 +#: ../ProjectController.py:416 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "" "Le répertoire n'est pas vide. Vous ne pouvez pas l'utiliser pour créer un " @@ -922,11 +924,11 @@ msgid "Class Filter:" msgstr "Filtre de classe :" -#: ../dialogs/FBDVariableDialog.py:69 +#: ../dialogs/FBDVariableDialog.py:70 msgid "Class:" msgstr "Classe :" -#: ../ProjectController.py:1794 +#: ../ProjectController.py:1836 msgid "Clean" msgstr "Nettoyer" @@ -934,11 +936,11 @@ msgid "Clean log messages" msgstr "Nettoyer les messages de log" -#: ../ProjectController.py:1796 +#: ../ProjectController.py:1838 msgid "Clean project build folder" msgstr "Nettoyer le répertoire de compilation" -#: ../ProjectController.py:1253 +#: ../ProjectController.py:1294 msgid "Cleaning the build directory\n" msgstr "Répertoire de compilation en cours de nettoyage\n" @@ -946,44 +948,49 @@ msgid "Clear Errors" msgstr "Effacer les erreurs" -#: ../editors/Viewer.py:582 +#: ../editors/Viewer.py:641 msgid "Clear Execution Order" msgstr "Effacer l'ordre d'exécution" -#: ../dialogs/SearchInProjectDialog.py:105 ../dialogs/FindInPouDialog.py:111 +#: ../dialogs/SearchInProjectDialog.py:103 ../dialogs/FindInPouDialog.py:109 msgid "Close" msgstr "Fermer" -#: ../PLCOpenEditor.py:199 ../Beremiz.py:693 +#: ../BeremizIDE.py:595 ../PLCOpenEditor.py:209 msgid "Close Application" msgstr "Fermer l'application" -#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637 -#: ../IDEFrame.py:1009 +#: ../BeremizIDE.py:228 ../BeremizIDE.py:539 ../PLCOpenEditor.py:110 +#: ../IDEFrame.py:1013 msgid "Close Project" msgstr "Fermer le projet" -#: ../PLCOpenEditor.py:106 ../Beremiz.py:331 +#: ../BeremizIDE.py:226 ../PLCOpenEditor.py:108 msgid "Close Tab" msgstr "Fermer l'onglet" -#: ../editors/Viewer.py:541 ../editors/Viewer.py:2377 +#: ../editors/Viewer.py:600 ../editors/Viewer.py:2415 msgid "Coil" msgstr "Relai" -#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506 +#: ../editors/Viewer.py:620 ../editors/LDViewer.py:506 msgid "Comment" msgstr "Commentaire" -#: ../dialogs/ProjectDialog.py:57 +#: ../BeremizIDE.py:276 ../BeremizIDE.py:279 ../PLCOpenEditor.py:161 +#: ../PLCOpenEditor.py:164 +msgid "Community support" +msgstr "" + +#: ../dialogs/ProjectDialog.py:60 msgid "Company Name" msgstr "Nom de l'entreprise" -#: ../controls/ProjectPropertiesPanel.py:94 +#: ../controls/ProjectPropertiesPanel.py:95 msgid "Company Name (required):" msgstr "Nom de l'entreprise (obligatoire) :" -#: ../controls/ProjectPropertiesPanel.py:95 +#: ../controls/ProjectPropertiesPanel.py:96 msgid "Company URL (optional):" msgstr "URL de l'entreprise (optionel) :" @@ -991,7 +998,7 @@ msgid "Comparison" msgstr "Comparaison" -#: ../ProjectController.py:693 +#: ../ProjectController.py:734 msgid "Compiling IEC Program into C code...\n" msgstr "Compilation du program en IEC vers du code C en cours...\n" @@ -999,7 +1006,7 @@ msgid "Concatenation" msgstr "Concaténation" -#: ../editors/ConfTreeNodeEditor.py:229 +#: ../editors/ConfTreeNodeEditor.py:230 msgid "Config" msgstr "Configuration" @@ -1007,47 +1014,47 @@ msgid "Config variables" msgstr "Variables de configuration" -#: ../dialogs/SearchInProjectDialog.py:39 +#: ../dialogs/SearchInProjectDialog.py:40 msgid "Configuration" msgstr "Configuration" -#: ../PLCControler.py:97 +#: ../PLCControler.py:99 msgid "Configurations" msgstr "Configurations" -#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359 +#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 #: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342 #: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328 msgid "Confirm or change variable name" msgstr "Confirmer ou changer de nom de variable" -#: ../ProjectController.py:1809 +#: ../ProjectController.py:1851 msgid "Connect" msgstr "Connecter" -#: ../ProjectController.py:1810 +#: ../ProjectController.py:1852 msgid "Connect to the target PLC" msgstr "Connecter à l'automate cible" -#: ../ProjectController.py:1313 +#: ../ProjectController.py:1354 #, python-format msgid "Connected to URI: %s" msgstr "Connecté à l'URI : %s" -#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 -#: ../editors/Viewer.py:2370 +#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:586 +#: ../editors/Viewer.py:2408 msgid "Connection" msgstr "Connexion" -#: ../dialogs/ConnectionDialog.py:52 +#: ../dialogs/ConnectionDialog.py:53 msgid "Connection Properties" msgstr "Propriétés de la connexion" -#: ../ProjectController.py:1668 +#: ../ProjectController.py:1709 msgid "Connection canceled!\n" msgstr "La connection a été abandonnée !\n" -#: ../ProjectController.py:1693 +#: ../ProjectController.py:1734 #, python-format msgid "Connection failed to %s!\n" msgstr "La connection à \"%s\" a échouée !\n" @@ -1061,15 +1068,15 @@ msgid "Connection to '%s' failed.\n" msgstr "La connexion à l'adresse '%s' a échouée.\n" -#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1605 +#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1643 msgid "Connector" msgstr "Connecteur" -#: ../dialogs/SFCStepDialog.py:65 +#: ../dialogs/SFCStepDialog.py:66 msgid "Connectors:" msgstr "Connecteurs :" -#: ../Beremiz.py:448 +#: ../BeremizIDE.py:350 msgid "Console" msgstr "Console" @@ -1077,15 +1084,15 @@ msgid "Constant" msgstr "Constante" -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2373 +#: ../editors/Viewer.py:596 ../editors/Viewer.py:2411 msgid "Contact" msgstr "Contact" -#: ../controls/ProjectPropertiesPanel.py:197 +#: ../controls/ProjectPropertiesPanel.py:198 msgid "Content Description (optional):" msgstr "Description du contenu (optionel) :" -#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1606 +#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1644 msgid "Continuation" msgstr "Prolongement" @@ -1105,12 +1112,12 @@ msgid "Conversion to time-of-day" msgstr "Conversion en heure de la journée" -#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370 +#: ../editors/Viewer.py:656 ../controls/LogViewer.py:704 ../IDEFrame.py:370 #: ../IDEFrame.py:425 msgid "Copy" msgstr "Copier" -#: ../IDEFrame.py:1929 +#: ../IDEFrame.py:1933 msgid "Copy POU" msgstr "Copier ce POU" @@ -1135,7 +1142,7 @@ "Impossible d'ajouter l'enfant \"{a1}\", de type {a2}:\n" "{a3}\n" -#: ../py_ext/PythonFileCTNMixin.py:77 +#: ../py_ext/PythonFileCTNMixin.py:78 #, python-format msgid "Couldn't import old %s file." msgstr "Impossible d'importer l'ancien fichier %s" @@ -1158,27 +1165,27 @@ "Impossible de charger les parametres confnode {a1}:\n" "{a2}" -#: ../PLCControler.py:946 +#: ../PLCControler.py:948 msgid "Couldn't paste non-POU object." msgstr "Impossible de coller autre chose qu'un POU." -#: ../ProjectController.py:1610 +#: ../ProjectController.py:1651 msgid "Couldn't start PLC !\n" msgstr "Impossible de démarrer l'automate !\n" -#: ../ProjectController.py:1618 +#: ../ProjectController.py:1659 msgid "Couldn't stop PLC !\n" msgstr "Impossible d'arrêter l'automate !\n" -#: ../ProjectController.py:1582 +#: ../ProjectController.py:1623 msgid "Couldn't stop debugger.\n" msgstr "Impossible d'arrêter le débogage de l'automate !\n" -#: ../svgui/svgui.py:47 +#: ../svgui/svgui.py:49 msgid "Create HMI" msgstr "Créer une IHM" -#: ../dialogs/PouDialog.py:45 +#: ../dialogs/PouDialog.py:46 msgid "Create a new POU" msgstr "Créer un nouveau POU" @@ -1242,7 +1249,7 @@ msgid "Create a new step" msgstr "Créer une nouvelle étape" -#: ../dialogs/PouTransitionDialog.py:47 ../IDEFrame.py:156 +#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156 msgid "Create a new transition" msgstr "Créer une nouvelle transition" @@ -1254,11 +1261,11 @@ msgid "Credits" msgstr "Credits" -#: ../Beremiz_service.py:432 +#: ../Beremiz_service.py:434 msgid "Current working directory :" msgstr "Répertoire de travail actuel :" -#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424 +#: ../editors/Viewer.py:655 ../IDEFrame.py:368 ../IDEFrame.py:424 msgid "Cut" msgstr "Couper" @@ -1282,11 +1289,11 @@ msgid "DS-302 Profile" msgstr "Profil DS-302" -#: ../dialogs/SearchInProjectDialog.py:35 +#: ../dialogs/SearchInProjectDialog.py:36 msgid "Data Type" msgstr "Type de donnée" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Data Types" msgstr "Types de données" @@ -1307,11 +1314,11 @@ msgid "Date subtraction" msgstr "Soustraction de date" -#: ../dialogs/DurationEditorDialog.py:43 +#: ../dialogs/DurationEditorDialog.py:44 msgid "Days:" msgstr "Jours :" -#: ../ProjectController.py:1715 +#: ../ProjectController.py:1756 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "" "Les informations de débogage ne correspond pas l'automate connecté - " @@ -1321,17 +1328,17 @@ msgid "Debug instance" msgstr "Déboguer l'instance" -#: ../editors/Viewer.py:1127 ../editors/Viewer.py:3664 +#: ../editors/Viewer.py:448 #, python-format msgid "Debug: %s" msgstr "Débogage : %s" -#: ../ProjectController.py:1371 +#: ../ProjectController.py:1412 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "Débogage : Variable '%s' inconnue\n" -#: ../ProjectController.py:1369 +#: ../ProjectController.py:1410 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "Débogage : Type non supporté dans le débogage '%'\n" @@ -1340,23 +1347,23 @@ msgid "Debugger" msgstr "Déboggueur" -#: ../ProjectController.py:1551 +#: ../ProjectController.py:1592 msgid "Debugger disabled\n" msgstr "Débogueur désactivé\n" -#: ../ProjectController.py:1712 +#: ../ProjectController.py:1753 msgid "Debugger ready\n" msgstr "Débogueur \n" -#: ../ProjectController.py:1584 +#: ../ProjectController.py:1625 msgid "Debugger stopped.\n" msgstr "Débogueur désactivé\n" -#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1958 +#: ../BeremizIDE.py:968 ../editors/Viewer.py:631 ../IDEFrame.py:1962 msgid "Delete" msgstr "Supprimer" -#: ../editors/Viewer.py:514 +#: ../editors/Viewer.py:573 msgid "Delete Divergence Branch" msgstr "Supprimer une branche de divergence" @@ -1364,7 +1371,7 @@ msgid "Delete File" msgstr "Supprimer un fichier" -#: ../editors/Viewer.py:501 +#: ../editors/Viewer.py:560 msgid "Delete Wire Segment" msgstr "Supprimer un segment de fil" @@ -1380,19 +1387,23 @@ msgid "Derivation Type:" msgstr "Type de dérivation :" +#: ../editors/CodeFileEditor.py:739 +msgid "Description" +msgstr "" + #: ../controls/VariablePanel.py:432 msgid "Description:" msgstr "Description :" -#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321 +#: ../dialogs/ArrayTypeDialog.py:60 ../editors/DataTypeEditor.py:321 msgid "Dimensions:" msgstr "Dimensions :" -#: ../dialogs/FindInPouDialog.py:68 +#: ../dialogs/FindInPouDialog.py:66 msgid "Direction" msgstr "Direction" -#: ../dialogs/BrowseLocationsDialog.py:90 +#: ../dialogs/BrowseLocationsDialog.py:91 msgid "Direction:" msgstr "Direction :" @@ -1400,19 +1411,19 @@ msgid "Directly" msgstr "Direct" -#: ../ProjectController.py:1818 +#: ../ProjectController.py:1860 msgid "Disconnect" msgstr "Déconnecter" -#: ../ProjectController.py:1820 +#: ../ProjectController.py:1862 msgid "Disconnect from PLC" msgstr "Déconnecter l'automate" -#: ../ProjectController.py:1323 +#: ../ProjectController.py:1364 msgid "Disconnected" msgstr "Déconnecté" -#: ../editors/Viewer.py:556 ../editors/Viewer.py:2365 +#: ../editors/Viewer.py:615 ../editors/Viewer.py:2403 msgid "Divergence" msgstr "Divergence" @@ -1429,19 +1440,19 @@ msgid "Documentation" msgstr "Documentation" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:338 msgid "Done" msgstr "Terminé" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Duration" msgstr "Durée" -#: ../canfestival/canfestival.py:163 +#: ../canfestival/canfestival.py:165 msgid "EDS files (*.eds)|*.eds|All files|*.*" msgstr "Fichiers EDS (*.eds)|*.eds|Tous les fichiers|*.*" -#: ../editors/Viewer.py:570 +#: ../editors/Viewer.py:629 msgid "Edit Block" msgstr "Editer le block" @@ -1457,11 +1468,11 @@ msgid "Edit Duration" msgstr "Editer une durée" -#: ../dialogs/SFCStepDialog.py:50 +#: ../dialogs/SFCStepDialog.py:51 msgid "Edit Step" msgstr "Editer l'étape" -#: ../wxglade_hmi/wxglade_hmi.py:36 +#: ../wxglade_hmi/wxglade_hmi.py:38 msgid "Edit a WxWidgets GUI with WXGlade" msgstr "Editer une IHM WxWidgets à l'aide de WXGlade" @@ -1469,11 +1480,11 @@ msgid "Edit action block properties" msgstr "Editer les propriétés du block d'actions" -#: ../dialogs/ArrayTypeDialog.py:45 +#: ../dialogs/ArrayTypeDialog.py:44 msgid "Edit array type properties" msgstr "Editer les propriétés d'un type de données tableau" -#: ../editors/Viewer.py:2586 ../editors/Viewer.py:3015 +#: ../editors/Viewer.py:2626 ../editors/Viewer.py:3055 msgid "Edit comment" msgstr "Editer le commentaire" @@ -1485,11 +1496,11 @@ msgid "Edit item" msgstr "Editer l'élément" -#: ../editors/Viewer.py:2974 +#: ../editors/Viewer.py:3014 msgid "Edit jump target" msgstr "Editer la cible du renvoi" -#: ../ProjectController.py:1832 +#: ../ProjectController.py:1874 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "Editer le code IEC ajouté au code généré par PLCGenerator" @@ -1497,7 +1508,7 @@ msgid "Edit step name" msgstr "Editer le nom de l'étape" -#: ../dialogs/SFCTransitionDialog.py:51 +#: ../dialogs/SFCTransitionDialog.py:52 msgid "Edit transition" msgstr "Editer la transition" @@ -1505,7 +1516,7 @@ msgid "Editor ToolBar" msgstr "Barre d'outils d'édition" -#: ../ProjectController.py:1216 +#: ../ProjectController.py:1257 msgid "Editor selection" msgstr "Selection d'un éditeur" @@ -1513,7 +1524,7 @@ msgid "Elements :" msgstr "Eléments :" -#: ../ProjectController.py:1321 +#: ../ProjectController.py:1362 msgid "Empty" msgstr "Vide" @@ -1521,15 +1532,15 @@ msgid "Enable Undo/Redo" msgstr "Activer Défaire/Refaire" -#: ../Beremiz_service.py:331 +#: ../Beremiz_service.py:333 msgid "Enter a name " msgstr "Saisissez un nom" -#: ../Beremiz_service.py:316 +#: ../Beremiz_service.py:318 msgid "Enter a port number " msgstr "Saisissez un numéro de port" -#: ../Beremiz_service.py:307 +#: ../Beremiz_service.py:309 msgid "Enter the IP of the interface to bind" msgstr "Saisissez l'adresse IP de l'interface à lier" @@ -1541,38 +1552,37 @@ msgid "Equal to" msgstr "Egal à" -#: ../dialogs/ForceVariableDialog.py:179 +#: ../BeremizIDE.py:1107 ../dialogs/ForceVariableDialog.py:197 #: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60 #: ../dialogs/DurationEditorDialog.py:121 -#: ../dialogs/DurationEditorDialog.py:163 -#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:236 -#: ../dialogs/ProjectDialog.py:71 ../dialogs/ArrayTypeDialog.py:97 +#: ../dialogs/DurationEditorDialog.py:167 +#: ../dialogs/PouTransitionDialog.py:107 ../dialogs/BlockPreviewDialog.py:237 +#: ../dialogs/ProjectDialog.py:74 ../dialogs/ArrayTypeDialog.py:97 #: ../dialogs/ArrayTypeDialog.py:103 ../dialogs/PouNameDialog.py:54 -#: ../dialogs/BrowseLocationsDialog.py:216 +#: ../dialogs/BrowseLocationsDialog.py:218 #: ../dialogs/BrowseValuesLibraryDialog.py:83 -#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:134 -#: ../PLCOpenEditor.py:335 ../PLCOpenEditor.py:340 ../PLCOpenEditor.py:420 -#: ../PLCOpenEditor.py:430 ../editors/ResourceEditor.py:436 -#: ../editors/Viewer.py:423 ../editors/LDViewer.py:666 +#: ../dialogs/PouActionDialog.py:105 ../dialogs/PouDialog.py:135 +#: ../PLCOpenEditor.py:345 ../PLCOpenEditor.py:350 ../PLCOpenEditor.py:430 +#: ../PLCOpenEditor.py:440 ../editors/ResourceEditor.py:436 +#: ../editors/Viewer.py:424 ../editors/LDViewer.py:666 #: ../editors/LDViewer.py:882 ../editors/LDViewer.py:886 #: ../editors/DataTypeEditor.py:550 ../editors/DataTypeEditor.py:555 -#: ../editors/DataTypeEditor.py:579 ../editors/DataTypeEditor.py:584 -#: ../editors/DataTypeEditor.py:594 ../editors/DataTypeEditor.py:745 -#: ../editors/DataTypeEditor.py:752 ../editors/TextViewer.py:389 -#: ../editors/CodeFileEditor.py:783 ../ProjectController.py:343 -#: ../ProjectController.py:471 ../ProjectController.py:478 +#: ../editors/DataTypeEditor.py:574 ../editors/DataTypeEditor.py:743 +#: ../editors/DataTypeEditor.py:750 ../editors/TextViewer.py:389 +#: ../editors/CodeFileEditor.py:762 ../ProjectController.py:372 +#: ../ProjectController.py:512 ../ProjectController.py:519 #: ../controls/FolderTree.py:217 #: ../controls/DebugVariablePanel/DebugVariablePanel.py:166 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231 -#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:784 -#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1613 -#: ../IDEFrame.py:1654 ../IDEFrame.py:1659 ../IDEFrame.py:1673 -#: ../IDEFrame.py:1678 ../Beremiz_service.py:211 +#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:759 +#: ../IDEFrame.py:1007 ../IDEFrame.py:1617 ../IDEFrame.py:1658 +#: ../IDEFrame.py:1663 ../IDEFrame.py:1677 ../IDEFrame.py:1682 +#: ../Beremiz_service.py:213 msgid "Error" msgstr "Erreur" -#: ../ProjectController.py:748 +#: ../ProjectController.py:789 msgid "" "Error : At least one configuration and one resource must be declared in PLC " "!\n" @@ -1580,12 +1590,12 @@ "Erreur : Au moins une configuration ou une ressource doit être déclarée dans" " l'automate !\n" -#: ../ProjectController.py:740 +#: ../ProjectController.py:781 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "Erreur : Le compilateur d'IEC en C a retourné %d\n" -#: ../ProjectController.py:671 +#: ../ProjectController.py:712 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1599,28 +1609,28 @@ msgid "Error while saving \"%s\"\n" msgstr "Erreur lors de l'enregistrement de \"%s\"\n" -#: ../canfestival/canfestival.py:168 +#: ../canfestival/canfestival.py:170 msgid "Error: Export slave failed\n" msgstr "Erreur : L'export de l'esclave a échoué\n" -#: ../canfestival/canfestival.py:369 +#: ../canfestival/canfestival.py:371 msgid "Error: No Master generated\n" msgstr "Erreur : Aucun maître généré\n" -#: ../canfestival/canfestival.py:364 +#: ../canfestival/canfestival.py:366 msgid "Error: No PLC built\n" msgstr "Erreur : Aucun automate compilé\n" -#: ../ProjectController.py:1687 +#: ../ProjectController.py:1728 #, python-format msgid "Exception while connecting %s!\n" msgstr "Une exception est apparu au cours de la connexion %s !\n" -#: ../dialogs/FBDBlockDialog.py:117 +#: ../dialogs/FBDBlockDialog.py:120 msgid "Execution Control:" msgstr "Contrôle d'exécution :" -#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105 +#: ../dialogs/FBDVariableDialog.py:80 ../dialogs/FBDBlockDialog.py:108 msgid "Execution Order:" msgstr "Ordre d'exécution :" @@ -1636,7 +1646,7 @@ msgid "Exponentiation" msgstr "Exponentiel" -#: ../canfestival/canfestival.py:174 +#: ../canfestival/canfestival.py:176 msgid "Export CanOpen slave to EDS file" msgstr "Exporter un esclave CANopen sous la forme d'un fichier EDS" @@ -1644,11 +1654,11 @@ msgid "Export graph values to clipboard" msgstr "Exporter les valeurs du graphique vers le presse-papier" -#: ../canfestival/canfestival.py:173 +#: ../canfestival/canfestival.py:175 msgid "Export slave" msgstr "Exporter un esclave" -#: ../dialogs/FBDVariableDialog.py:89 +#: ../dialogs/FBDVariableDialog.py:90 msgid "Expression:" msgstr "Expression :" @@ -1656,38 +1666,38 @@ msgid "External" msgstr "Externe" -#: ../ProjectController.py:761 +#: ../ProjectController.py:802 msgid "Extracting Located Variables...\n" msgstr "Extraction des variables adressées en cours...\n" -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "FBD" msgstr "FBD" -#: ../ProjectController.py:1750 +#: ../ProjectController.py:1791 msgid "Failed : Must build before transfer.\n" msgstr "Echec : Le projet doit être compilé avant d'être transféré.\n" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:521 msgid "Falling Edge" msgstr "Front descendant" -#: ../ProjectController.py:1029 +#: ../ProjectController.py:1070 msgid "Fatal : cannot get builder.\n" msgstr "Erreur fatale : impossible de trouver un compilateur.\n" -#: ../Beremiz.py:118 +#: ../Beremiz.py:156 #, python-format msgid "Fetching %s" msgstr "Recherche %s" -#: ../dialogs/DurationEditorDialog.py:160 +#: ../dialogs/DurationEditorDialog.py:164 #, python-format msgid "Field %s hasn't a valid value!" msgstr "Le champ %s n'a pas une valeur valide !" -#: ../dialogs/DurationEditorDialog.py:162 +#: ../dialogs/DurationEditorDialog.py:166 #, python-format msgid "Fields %s haven't a valid value!" msgstr "Les champs %s n'ont pas une valeur valide !" @@ -1697,8 +1707,8 @@ msgid "File '%s' already exists!" msgstr "Le fichier '%s' existe déjà !" -#: ../dialogs/SearchInProjectDialog.py:100 ../dialogs/FindInPouDialog.py:36 -#: ../dialogs/FindInPouDialog.py:106 ../IDEFrame.py:375 +#: ../dialogs/SearchInProjectDialog.py:98 ../dialogs/FindInPouDialog.py:37 +#: ../dialogs/FindInPouDialog.py:104 ../IDEFrame.py:375 msgid "Find" msgstr "Rechercher" @@ -1714,7 +1724,7 @@ msgid "Find position" msgstr "Trouver la position" -#: ../dialogs/FindInPouDialog.py:57 +#: ../dialogs/FindInPouDialog.py:55 msgid "Find:" msgstr "Rechercher :" @@ -1722,7 +1732,7 @@ msgid "Force runtime reload\n" msgstr "Redémarrage du runtime forcé\n" -#: ../editors/Viewer.py:1564 +#: ../editors/Viewer.py:1600 msgid "Force value" msgstr "Forcer la valeur" @@ -1730,28 +1740,28 @@ msgid "Forcing Variable Value" msgstr "Forcer la valeur de la variable" -#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:102 -#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94 -#: ../dialogs/PouDialog.py:116 +#: ../dialogs/SFCTransitionDialog.py:182 ../dialogs/PouTransitionDialog.py:97 +#: ../dialogs/ProjectDialog.py:73 ../dialogs/PouActionDialog.py:95 +#: ../dialogs/PouDialog.py:117 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "Le formulaire est incomplet. %s doit être complété !" -#: ../dialogs/SFCStepDialog.py:144 ../dialogs/FBDBlockDialog.py:232 -#: ../dialogs/ConnectionDialog.py:160 +#: ../dialogs/SFCStepDialog.py:147 ../dialogs/FBDBlockDialog.py:236 +#: ../dialogs/ConnectionDialog.py:163 msgid "Form isn't complete. Name must be filled!" msgstr "Le formulaire est incomplet. Le nom doit être complété !" -#: ../dialogs/FBDBlockDialog.py:228 +#: ../dialogs/FBDBlockDialog.py:232 msgid "Form isn't complete. Valid block type must be selected!" msgstr "" "Le formulaire est incomplet. Un type de bloc valide doit être sélectionné !" -#: ../dialogs/FindInPouDialog.py:74 +#: ../dialogs/FindInPouDialog.py:72 msgid "Forward" msgstr "Vers le bas" -#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1745 +#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1749 msgid "Function" msgstr "Fonction" @@ -1759,37 +1769,37 @@ msgid "Function &Block" msgstr "&Bloc Fonctionnel" -#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1744 -#: ../IDEFrame.py:1937 +#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1748 +#: ../IDEFrame.py:1941 msgid "Function Block" msgstr "Bloc fonctionnel" -#: ../controls/VariablePanel.py:837 +#: ../controls/VariablePanel.py:854 msgid "Function Block Types" msgstr "Types de blocs fonctionnels" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "Function Blocks" msgstr "Blocs fonctionnels" -#: ../editors/Viewer.py:248 +#: ../editors/Viewer.py:249 msgid "Function Blocks can't be used in Functions!" msgstr "Les blocs fonctionnels ne peuvent être utilisés dans des functions !" -#: ../PLCControler.py:2337 +#: ../PLCControler.py:2343 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "Le bloc fonctionnel \"%s\" ne peuvent être collés dans une function !" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "Functions" msgstr "Fonctions" -#: ../PLCOpenEditor.py:115 +#: ../PLCOpenEditor.py:117 msgid "Generate Program" msgstr "Générer le program" -#: ../ProjectController.py:662 +#: ../ProjectController.py:703 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "Création du code ST/IL/SFC de l'automate IEC-61131 en cours...\n" @@ -1801,7 +1811,7 @@ msgid "Go to current value" msgstr "Aller à la valeur actuelle" -#: ../controls/ProjectPropertiesPanel.py:173 +#: ../controls/ProjectPropertiesPanel.py:174 msgid "Graphics" msgstr "Graphiques" @@ -1813,15 +1823,15 @@ msgid "Greater than or equal to" msgstr "Supérieur ou égal à" -#: ../controls/ProjectPropertiesPanel.py:134 +#: ../controls/ProjectPropertiesPanel.py:135 msgid "Grid Resolution:" msgstr "Résolution de la grille :" -#: ../runtime/NevowServer.py:181 +#: ../runtime/NevowServer.py:182 msgid "HTTP interface port :" msgstr "Port d'interface HTTP:" -#: ../controls/ProjectPropertiesPanel.py:120 +#: ../controls/ProjectPropertiesPanel.py:121 msgid "Height:" msgstr "Hauteur :" @@ -1829,15 +1839,16 @@ msgid "Home Directory:" msgstr "Répertoire utilisateur :" -#: ../controls/ProjectPropertiesPanel.py:150 +#: ../controls/ProjectPropertiesPanel.py:151 msgid "Horizontal:" msgstr "Horizontal :" -#: ../dialogs/DurationEditorDialog.py:44 +#: ../dialogs/DurationEditorDialog.py:45 msgid "Hours:" msgstr "Heures :" -#: ../dialogs/PouActionDialog.py:31 ../dialogs/PouDialog.py:36 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 msgid "IL" msgstr "IL" @@ -1845,20 +1856,20 @@ msgid "IP" msgstr "IP" -#: ../Beremiz_service.py:308 ../Beremiz_service.py:309 +#: ../Beremiz_service.py:310 ../Beremiz_service.py:311 msgid "IP is not valid!" msgstr "l'IP est invalide !" -#: ../svgui/svgui.py:42 ../svgui/svgui.py:43 +#: ../svgui/svgui.py:44 ../svgui/svgui.py:45 msgid "Import SVG" msgstr "Importer un SVG" -#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1591 +#: ../dialogs/FBDVariableDialog.py:39 ../editors/Viewer.py:1629 #: ../controls/VariablePanel.py:71 msgid "InOut" msgstr "Entrée-Sortie" -#: ../editors/Viewer.py:1110 +#: ../editors/Viewer.py:431 msgid "Inactive" msgstr "Inactif" @@ -1877,11 +1888,15 @@ msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" msgstr "Taille de données incompatible entre \"{a1}\" et \"{a2}\"" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Indicator" msgstr "Indicateur" -#: ../editors/Viewer.py:552 +#: ../editors/CodeFileEditor.py:739 +msgid "Initial" +msgstr "" + +#: ../editors/Viewer.py:611 msgid "Initial Step" msgstr "Étape initiale" @@ -1895,23 +1910,23 @@ msgid "Initial Value:" msgstr "Valeur initiale :" -#: ../svgui/svgui.py:46 +#: ../svgui/svgui.py:48 msgid "Inkscape" msgstr "Inkscape" -#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:43 msgid "Inline" msgstr "Inline" -#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 -#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1589 ../editors/TextViewer.py:307 +#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:38 +#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:290 +#: ../editors/Viewer.py:1627 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Input" msgstr "Entrée" -#: ../dialogs/FBDBlockDialog.py:93 +#: ../dialogs/FBDBlockDialog.py:96 msgid "Inputs:" msgstr "Entrées :" @@ -1919,7 +1934,7 @@ msgid "Insertion (into)" msgstr "Insertion (au milieu)" -#: ../plcopen/plcopen.py:1691 +#: ../plcopen/plcopen.py:1696 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "L'instance dont l'id est %d n'existe pas !" @@ -1940,7 +1955,7 @@ msgid "Interval" msgstr "Interval" -#: ../PLCControler.py:2325 +#: ../PLCControler.py:2331 msgid "Invalid plcopen element(s)!!!" msgstr "Les éléments plcopen ne sont pas valides !!! " @@ -1966,12 +1981,12 @@ msgid "Invalid value \"%s\" for variable grid element" msgstr "Valeur \"%s\" invalide pour un élément de la grille de variables" -#: ../editors/Viewer.py:233 ../editors/Viewer.py:236 +#: ../editors/Viewer.py:234 ../editors/Viewer.py:237 #, python-format msgid "Invalid value \"%s\" for viewer block" msgstr "Valeur \"%s\" invalide pour un élément graphique" -#: ../dialogs/ForceVariableDialog.py:177 +#: ../dialogs/ForceVariableDialog.py:195 #, python-brace-format msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" msgstr "Valeur invalide \"{a1}\" pour la variable \"{a2}\"" @@ -1984,12 +1999,12 @@ "Valeur invalide !\n" "Vous devez rentrer une valeur numérique." -#: ../editors/Viewer.py:557 ../editors/Viewer.py:2354 +#: ../editors/Viewer.py:616 ../editors/Viewer.py:2392 msgid "Jump" msgstr "Renvoi" -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "LD" msgstr "LD" @@ -1998,37 +2013,37 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "L'élément de LD dont l'id est %d apparait dans plusieurs échelons. " -#: ../dialogs/PouTransitionDialog.py:91 ../dialogs/PouActionDialog.py:83 -#: ../dialogs/PouDialog.py:104 +#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:84 +#: ../dialogs/PouDialog.py:105 msgid "Language" msgstr "Langue" -#: ../controls/ProjectPropertiesPanel.py:186 +#: ../controls/ProjectPropertiesPanel.py:187 msgid "Language (optional):" msgstr "Langue (optionnel) :" -#: ../dialogs/PouTransitionDialog.py:65 ../dialogs/PouActionDialog.py:56 +#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56 #: ../dialogs/PouDialog.py:73 msgid "Language:" msgstr "Langue :" -#: ../ProjectController.py:1756 +#: ../ProjectController.py:1797 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "La dernière compilation correspond à la cible actuelle...\n" -#: ../Beremiz_service.py:271 +#: ../Beremiz_service.py:273 msgid "Launch WX GUI inspector" msgstr "Lancer un inspecteur d'IHM WX" -#: ../Beremiz_service.py:270 +#: ../Beremiz_service.py:272 msgid "Launch a live Python shell" msgstr "Lancer une console Python" -#: ../editors/Viewer.py:485 +#: ../editors/Viewer.py:544 msgid "Left" msgstr "Gauche" -#: ../dialogs/LDPowerRailDialog.py:62 +#: ../dialogs/LDPowerRailDialog.py:63 msgid "Left PowerRail" msgstr "Barre d'alimentation à gauche" @@ -2056,19 +2071,19 @@ msgid "Limitation" msgstr "Limitation" -#: ../targets/toolchain_gcc.py:166 +#: ../targets/toolchain_gcc.py:202 msgid "Linking :\n" msgstr "Linkage :\n" -#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72 +#: ../dialogs/DiscoveryDialog.py:112 ../controls/VariablePanel.py:72 msgid "Local" msgstr "Locale" -#: ../canfestival/canfestival.py:346 +#: ../canfestival/canfestival.py:348 msgid "Local entries" msgstr "Entrées locales" -#: ../ProjectController.py:1662 +#: ../ProjectController.py:1703 msgid "Local service discovery failed!\n" msgstr "Echec de la sélection d'un service!\n" @@ -2115,7 +2130,7 @@ msgid "Maximum:" msgstr "Maximum :" -#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289 +#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:290 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Memory" @@ -2125,15 +2140,15 @@ msgid "Menu ToolBar" msgstr "Barre d'outils du menu principal" -#: ../dialogs/DurationEditorDialog.py:48 +#: ../dialogs/DurationEditorDialog.py:49 msgid "Microseconds:" msgstr "Microsecondes :" -#: ../editors/Viewer.py:490 +#: ../editors/Viewer.py:549 msgid "Middle" msgstr "Milieu" -#: ../dialogs/DurationEditorDialog.py:47 +#: ../dialogs/DurationEditorDialog.py:48 msgid "Milliseconds:" msgstr "Millisecondes :" @@ -2145,11 +2160,11 @@ msgid "Minimum:" msgstr "Minimum :" -#: ../dialogs/DurationEditorDialog.py:45 +#: ../dialogs/DurationEditorDialog.py:46 msgid "Minutes:" msgstr "Minutes :" -#: ../controls/ProjectPropertiesPanel.py:210 +#: ../controls/ProjectPropertiesPanel.py:211 msgid "Miscellaneous" msgstr "Divers" @@ -2235,17 +2250,17 @@ msgstr "NOM" #: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 -#: ../controls/VariablePanel.py:54 +#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739 +#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 msgid "Name" msgstr "Nom" -#: ../Beremiz_service.py:332 +#: ../Beremiz_service.py:334 msgid "Name must not be null!" msgstr "Le nom ne doit pas être vide !" -#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83 -#: ../dialogs/ConnectionDialog.py:75 +#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:86 +#: ../dialogs/ConnectionDialog.py:76 msgid "Name:" msgstr "Nom :" @@ -2253,20 +2268,20 @@ msgid "Natural logarithm" msgstr "Logarithme népérien" -#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460 +#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:519 msgid "Negated" msgstr "Inversé" -#: ../Beremiz_service.py:578 +#: ../Beremiz_service.py:580 msgid "Nevow Web service failed. " msgstr "Service Web Nevow échoué." -#: ../Beremiz_service.py:554 +#: ../Beremiz_service.py:556 msgid "Nevow/Athena import failed :" msgstr "Import Nevow/Athena échoué:" -#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321 -#: ../Beremiz.py:356 +#: ../BeremizIDE.py:216 ../BeremizIDE.py:251 ../PLCOpenEditor.py:104 +#: ../PLCOpenEditor.py:146 msgid "New" msgstr "Nouveau" @@ -2274,11 +2289,11 @@ msgid "New item" msgstr "Nouvel élément" -#: ../editors/Viewer.py:459 +#: ../editors/Viewer.py:518 msgid "No Modifier" msgstr "Pas de modificateur" -#: ../ProjectController.py:1784 +#: ../ProjectController.py:1826 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "Aucun automate à transférer (la compilation a-t-elle réussi ?)\n" @@ -2292,7 +2307,7 @@ msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "Pas de connecteur correspondant à \"{a1}\" dans la continuité de \"{a2}\" POU" -#: ../PLCOpenEditor.py:347 +#: ../PLCOpenEditor.py:357 msgid "" "No documentation available.\n" "Coming soon." @@ -2318,7 +2333,7 @@ msgid "No search results available." msgstr "Pas de résultat de recherche disponible." -#: ../svgui/svgui.py:131 +#: ../svgui/svgui.py:134 #, python-format msgid "No such SVG file: %s\n" msgstr "Fichier SVG inconnu : %s\n" @@ -2373,20 +2388,24 @@ msgid "Numerical" msgstr "Numérique" -#: ../dialogs/SearchInProjectDialog.py:86 +#: ../editors/CodeFileEditor.py:739 +msgid "OnChange" +msgstr "" + +#: ../dialogs/SearchInProjectDialog.py:84 msgid "Only Elements" msgstr "Uniquement les éléments" -#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323 -#: ../Beremiz.py:357 +#: ../BeremizIDE.py:218 ../BeremizIDE.py:252 ../PLCOpenEditor.py:106 +#: ../PLCOpenEditor.py:147 msgid "Open" msgstr "Ouvrir" -#: ../svgui/svgui.py:140 +#: ../svgui/svgui.py:143 msgid "Open Inkscape" msgstr "Ouverture de Inkscape" -#: ../version.py:66 +#: ../version.py:77 msgid "" "Open Source framework for automation, implemented IEC 61131 IDE with " "constantly growing set of extensions and flexible PLC runtime." @@ -2394,11 +2413,11 @@ "Cadriciel Open Source pour l'automatisme, IDE implémenté en IEC 61131 avec " "un lot d'extensions constament croissant et un executable PLC flexible." -#: ../ProjectController.py:1836 +#: ../ProjectController.py:1878 msgid "Open a file explorer to manage project files" msgstr "Ouvrir un explorateur de fichier pour gérer les fichiers de projet" -#: ../wxglade_hmi/wxglade_hmi.py:138 +#: ../wxglade_hmi/wxglade_hmi.py:155 msgid "Open wxGlade" msgstr "Ouverture de wxGlade" @@ -2406,11 +2425,11 @@ msgid "Option" msgstr "Option" -#: ../dialogs/FindInPouDialog.py:83 +#: ../dialogs/FindInPouDialog.py:81 ../editors/CodeFileEditor.py:739 msgid "Options" msgstr "Options" -#: ../controls/ProjectPropertiesPanel.py:97 +#: ../controls/ProjectPropertiesPanel.py:98 msgid "Organization (optional):" msgstr "Groupe (optionnel) :" @@ -2418,9 +2437,9 @@ msgid "Other Profile" msgstr "Autre profil" -#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 -#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1590 ../editors/TextViewer.py:307 +#: ../dialogs/SFCStepDialog.py:72 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:290 +#: ../editors/Viewer.py:1628 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Output" @@ -2434,27 +2453,27 @@ msgid "PDO Transmit" msgstr "PDO transmis" -#: ../targets/toolchain_gcc.py:131 +#: ../targets/toolchain_gcc.py:167 msgid "PLC :\n" msgstr "Automate :\n" -#: ../Beremiz.py:453 +#: ../BeremizIDE.py:355 msgid "PLC Log" msgstr "Log de l'automate" -#: ../ProjectController.py:1013 +#: ../ProjectController.py:1054 msgid "PLC code generation failed !\n" msgstr "Génération du code PLC échouée !\n" -#: ../Beremiz_service.py:295 +#: ../Beremiz_service.py:297 msgid "PLC is empty or already started." msgstr "Le PLC est vide ou déjà lancé." -#: ../Beremiz_service.py:302 +#: ../Beremiz_service.py:304 msgid "PLC is not started." msgstr "PLC non démarré" -#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309 +#: ../PLCOpenEditor.py:206 ../PLCOpenEditor.py:319 #, python-brace-format msgid "" "PLC syntax error at line {a1}:\n" @@ -2463,15 +2482,15 @@ "Erreur de syntaxe PLC à la ligne {a1}:\n" "{a2}" -#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373 +#: ../PLCOpenEditor.py:302 ../PLCOpenEditor.py:383 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "Fichiers PLCOpen (*.xml)|*.xml|Tous les fichiers|*.*" -#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209 +#: ../PLCOpenEditor.py:154 ../PLCOpenEditor.py:219 msgid "PLCOpenEditor" msgstr "PLCOpenEditor" -#: ../PLCOpenEditor.py:355 +#: ../PLCOpenEditor.py:365 msgid "" "PLCOpenEditor is part of Beremiz project.\n" "\n" @@ -2485,7 +2504,7 @@ msgid "PORT" msgstr "PORT" -#: ../dialogs/PouDialog.py:100 +#: ../dialogs/PouDialog.py:101 msgid "POU Name" msgstr "Nom du POU" @@ -2493,7 +2512,7 @@ msgid "POU Name:" msgstr "Nom du POU :" -#: ../dialogs/PouDialog.py:102 +#: ../dialogs/PouDialog.py:103 msgid "POU Type" msgstr "Type du POU" @@ -2511,15 +2530,15 @@ msgid "PYRO using certificates in '%s' \n" msgstr "PYRO utilise les certificats dans '%s'\n" -#: ../PLCOpenEditor.py:118 ../Beremiz.py:336 +#: ../BeremizIDE.py:231 ../PLCOpenEditor.py:120 msgid "Page Setup" msgstr "Mise en page..." -#: ../controls/ProjectPropertiesPanel.py:110 +#: ../controls/ProjectPropertiesPanel.py:111 msgid "Page Size (optional):" msgstr "Taille de la page (optionnel) :" -#: ../IDEFrame.py:2598 +#: ../IDEFrame.py:2613 #, python-format msgid "Page: %d" msgstr "Page: %d" @@ -2528,11 +2547,11 @@ msgid "Parent instance" msgstr "Instance parent" -#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426 +#: ../editors/Viewer.py:657 ../IDEFrame.py:372 ../IDEFrame.py:426 msgid "Paste" msgstr "Coller" -#: ../IDEFrame.py:1864 +#: ../IDEFrame.py:1868 msgid "Paste POU" msgstr "Coller un POU" @@ -2540,11 +2559,11 @@ msgid "Pattern to search:" msgstr "Modèle à rechercher :" -#: ../dialogs/LDPowerRailDialog.py:73 +#: ../dialogs/LDPowerRailDialog.py:74 msgid "Pin number:" msgstr "Nombre de pattes :" -#: ../editors/Viewer.py:2717 ../editors/Viewer.py:2974 +#: ../editors/Viewer.py:2757 ../editors/Viewer.py:3014 #: ../editors/SFCViewer.py:770 msgid "Please choose a target" msgstr "Choisissez une cible" @@ -2553,7 +2572,7 @@ msgid "Please enter a block name" msgstr "Entrer un nom de bloc s'il vous plaît" -#: ../editors/Viewer.py:2587 ../editors/Viewer.py:3016 +#: ../editors/Viewer.py:2627 ../editors/Viewer.py:3056 msgid "Please enter comment text" msgstr "Saisissez le texte du commentaire" @@ -2562,7 +2581,7 @@ msgid "Please enter step name" msgstr "Saisissez le nom de l'étape" -#: ../Beremiz_service.py:194 +#: ../Beremiz_service.py:196 msgid "Please enter text" msgstr "Saisissez le texte" @@ -2571,23 +2590,23 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "Veuillez entrer la valeur pour une variable de type \"%s\" :" -#: ../Beremiz_service.py:317 +#: ../Beremiz_service.py:319 msgid "Port number must be 0 <= port <= 65535!" msgstr "Le numéro de port doit être compris entre 0 et 65535 !" -#: ../Beremiz_service.py:317 +#: ../Beremiz_service.py:319 msgid "Port number must be an integer!" msgstr "Le numéro de port doit être un entier !" -#: ../editors/Viewer.py:536 ../editors/Viewer.py:2378 +#: ../editors/Viewer.py:595 ../editors/Viewer.py:2416 msgid "Power Rail" msgstr "Barre d'alimentation" -#: ../dialogs/LDPowerRailDialog.py:50 +#: ../dialogs/LDPowerRailDialog.py:51 msgid "Power Rail Properties" msgstr "Propriétés de la barre d'alimentation" -#: ../PLCOpenEditor.py:120 ../Beremiz.py:338 +#: ../BeremizIDE.py:233 ../PLCOpenEditor.py:122 msgid "Preview" msgstr "Aperçu avant impression" @@ -2595,12 +2614,12 @@ msgid "Preview:" msgstr "Aperçu :" -#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340 -#: ../Beremiz.py:360 +#: ../BeremizIDE.py:235 ../BeremizIDE.py:255 ../PLCOpenEditor.py:124 +#: ../PLCOpenEditor.py:150 msgid "Print" msgstr "Imprimer" -#: ../IDEFrame.py:1075 +#: ../IDEFrame.py:1079 msgid "Print preview" msgstr "Aperçu avant impression" @@ -2608,53 +2627,53 @@ msgid "Priority" msgstr "Priorité" -#: ../dialogs/SFCTransitionDialog.py:89 +#: ../dialogs/SFCTransitionDialog.py:90 msgid "Priority:" msgstr "Priorité :" -#: ../runtime/PLCObject.py:370 +#: ../runtime/PLCObject.py:369 #, python-format msgid "Problem starting PLC : error %d" msgstr "Problème au démarrage du PLC : erreur %d" -#: ../dialogs/ProjectDialog.py:55 +#: ../dialogs/ProjectDialog.py:58 msgid "Product Name" msgstr "Nom de produit" -#: ../controls/ProjectPropertiesPanel.py:80 +#: ../controls/ProjectPropertiesPanel.py:81 msgid "Product Name (required):" msgstr "Nom du produit (obligatoire) :" -#: ../controls/ProjectPropertiesPanel.py:82 +#: ../controls/ProjectPropertiesPanel.py:83 msgid "Product Release (optional):" msgstr "Publication du produit (optionnel) :" -#: ../dialogs/ProjectDialog.py:56 +#: ../dialogs/ProjectDialog.py:59 msgid "Product Version" msgstr "Version du produit" -#: ../controls/ProjectPropertiesPanel.py:81 +#: ../controls/ProjectPropertiesPanel.py:82 msgid "Product Version (required):" msgstr "Version du produit (obligatoire) :" -#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1743 -#: ../IDEFrame.py:1940 +#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1747 +#: ../IDEFrame.py:1944 msgid "Program" msgstr "Programme" -#: ../PLCOpenEditor.py:337 +#: ../PLCOpenEditor.py:347 msgid "Program was successfully generated!" msgstr "Le programme a été généré avec succès !" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Programs" msgstr "Programmes" -#: ../editors/Viewer.py:242 +#: ../editors/Viewer.py:243 msgid "Programs can't be used by other POUs!" msgstr "Les programmes ne peuvent être utilisés par les autres POUs !" -#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584 +#: ../controls/ProjectPropertiesPanel.py:85 ../IDEFrame.py:584 msgid "Project" msgstr "Projet" @@ -2663,23 +2682,23 @@ msgid "Project '%s':" msgstr "Projet '%s' :" -#: ../ProjectController.py:1835 +#: ../ProjectController.py:1877 msgid "Project Files" msgstr "Fichiers de projet" -#: ../dialogs/ProjectDialog.py:54 +#: ../dialogs/ProjectDialog.py:57 msgid "Project Name" msgstr "Nom du projet" -#: ../controls/ProjectPropertiesPanel.py:78 +#: ../controls/ProjectPropertiesPanel.py:79 msgid "Project Name (required):" msgstr "Nom du projet (obligatoire) :" -#: ../controls/ProjectPropertiesPanel.py:79 +#: ../controls/ProjectPropertiesPanel.py:80 msgid "Project Version (optional):" msgstr "Version du projet (optionnel) :" -#: ../PLCControler.py:3158 +#: ../PLCControler.py:3164 msgid "" "Project file syntax error:\n" "\n" @@ -2687,7 +2706,7 @@ "Erreur de syntaxe dans le fichier du projet :\n" "\n" -#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37 +#: ../dialogs/ProjectDialog.py:33 ../editors/ProjectNodeEditor.py:37 msgid "Project properties" msgstr "Propriétés du projet" @@ -2696,15 +2715,15 @@ msgid "Project tree layout do not match confnode.xml {a1}!={a2} " msgstr "" -#: ../dialogs/ConnectionDialog.py:94 +#: ../dialogs/ConnectionDialog.py:98 msgid "Propagate Name" msgstr "Propager le nom" -#: ../PLCControler.py:97 +#: ../PLCControler.py:99 msgid "Properties" msgstr "Propriétés" -#: ../Beremiz_service.py:440 +#: ../Beremiz_service.py:442 msgid "Publishing service on local network" msgstr "" @@ -2713,11 +2732,11 @@ msgid "Pyro exception: %s\n" msgstr "" -#: ../Beremiz_service.py:427 +#: ../Beremiz_service.py:429 msgid "Pyro object's uri :" msgstr "" -#: ../Beremiz_service.py:426 +#: ../Beremiz_service.py:428 msgid "Pyro port :" msgstr "Pyro port :" @@ -2729,11 +2748,11 @@ msgid "Python file" msgstr "Fichier Python" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Qualifier" msgstr "Qualificatif" -#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:273 +#: ../BeremizIDE.py:238 ../PLCOpenEditor.py:130 ../Beremiz_service.py:275 msgid "Quit" msgstr "Quitter" @@ -2741,11 +2760,11 @@ msgid "Range:" msgstr "Echelle :" -#: ../ProjectController.py:1831 +#: ../ProjectController.py:1873 msgid "Raw IEC code" msgstr "Ajout code IEC" -#: ../Beremiz.py:1143 +#: ../BeremizIDE.py:1047 #, python-format msgid "Really delete node '%s'?" msgstr "Êtes-vous sûr de vouloir supprimer le noeud '%s' ?" @@ -2754,11 +2773,11 @@ msgid "Redo" msgstr "Refaire" -#: ../dialogs/SFCTransitionDialog.py:74 +#: ../dialogs/SFCTransitionDialog.py:75 msgid "Reference" msgstr "Référence" -#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432 +#: ../dialogs/DiscoveryDialog.py:107 ../IDEFrame.py:432 msgid "Refresh" msgstr "Actualiser" @@ -2766,11 +2785,11 @@ msgid "Regular expression" msgstr "Expression régulière" -#: ../dialogs/FindInPouDialog.py:98 +#: ../dialogs/FindInPouDialog.py:96 msgid "Regular expressions" msgstr "Expressions régulières" -#: ../editors/Viewer.py:1567 +#: ../editors/Viewer.py:1603 msgid "Release value" msgstr "Relacher la valeur" @@ -2778,16 +2797,16 @@ msgid "Remainder (modulo)" msgstr "Modulo" -#: ../Beremiz.py:1144 +#: ../BeremizIDE.py:1048 #, python-format msgid "Remove %s node" msgstr "Enlever un noeud %s" -#: ../IDEFrame.py:2404 +#: ../IDEFrame.py:2419 msgid "Remove Datatype" msgstr "Supprimer le Datatype" -#: ../IDEFrame.py:2409 +#: ../IDEFrame.py:2424 msgid "Remove Pou" msgstr "Supprimer le Pou" @@ -2819,7 +2838,7 @@ msgid "Remove variable" msgstr "Supprimer une variable" -#: ../IDEFrame.py:1944 +#: ../IDEFrame.py:1948 msgid "Rename" msgstr "Renommer" @@ -2827,7 +2846,7 @@ msgid "Replace File" msgstr "Remplacer un fichier" -#: ../editors/Viewer.py:502 +#: ../editors/Viewer.py:561 msgid "Replace Wire by connections" msgstr "Remplacer le fil par les connexions" @@ -2839,7 +2858,7 @@ msgid "Reset" msgstr "Mise à zéro" -#: ../editors/Viewer.py:583 +#: ../editors/Viewer.py:642 msgid "Reset Execution Order" msgstr "Réinitialiser l'order d'exécution" @@ -2851,7 +2870,7 @@ msgid "Reset search result" msgstr "Réinitialiser le résultat de la recherche" -#: ../PLCControler.py:97 ../Beremiz.py:1075 +#: ../BeremizIDE.py:979 ../PLCControler.py:99 msgid "Resources" msgstr "Ressources" @@ -2863,15 +2882,15 @@ msgid "Return Type:" msgstr "Type de retour :" -#: ../editors/Viewer.py:487 +#: ../editors/Viewer.py:546 msgid "Right" msgstr "Droite" -#: ../dialogs/LDPowerRailDialog.py:63 +#: ../dialogs/LDPowerRailDialog.py:64 msgid "Right PowerRail" msgstr "Barre d'alimentation à droite" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:520 msgid "Rising Edge" msgstr "Front montant" @@ -2887,15 +2906,15 @@ msgid "Rounding up/down" msgstr "Arrondi" -#: ../ProjectController.py:1799 +#: ../ProjectController.py:1841 msgid "Run" msgstr "Exécuter" -#: ../ProjectController.py:1058 +#: ../ProjectController.py:1099 msgid "Runtime IO extensions C code generation failed !\n" msgstr "" -#: ../ProjectController.py:1067 +#: ../ProjectController.py:1108 msgid "Runtime library extensions C code generation failed !\n" msgstr "" @@ -2907,7 +2926,7 @@ msgid "SDO Server" msgstr "Serveur SDO" -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "SFC" msgstr "SFC" @@ -2921,16 +2940,16 @@ msgid "SFC transition in POU \"%s\" must be connected." msgstr "" -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 msgid "ST" msgstr "ST" -#: ../PLCOpenEditor.py:324 +#: ../PLCOpenEditor.py:334 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "Fichiers ST (*.st)|*.st|Tous les fichiers|*.*" -#: ../svgui/svgui.py:125 +#: ../svgui/svgui.py:128 msgid "SVG files (*.svg)|*.svg|All files|*.*" msgstr "Fichiers SVG (*.svg)|*.svg|Tous les fichiers|*.*" @@ -2938,20 +2957,20 @@ msgid "SVGUI" msgstr "SVGUI" -#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327 -#: ../Beremiz.py:358 +#: ../BeremizIDE.py:222 ../BeremizIDE.py:253 ../PLCOpenEditor.py:113 +#: ../PLCOpenEditor.py:148 msgid "Save" msgstr "Enregistrer" -#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359 +#: ../BeremizIDE.py:254 ../PLCOpenEditor.py:115 ../PLCOpenEditor.py:149 msgid "Save As..." msgstr "Enregistrer sous..." -#: ../Beremiz.py:329 +#: ../BeremizIDE.py:224 msgid "Save as" msgstr "Enregistrer sous..." -#: ../ProjectController.py:470 +#: ../ProjectController.py:511 msgid "Save path is the same as path of a project! \n" msgstr "" @@ -2963,12 +2982,12 @@ msgid "Search" msgstr "Rechercher" -#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:382 +#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:382 #: ../IDEFrame.py:428 msgid "Search in Project" msgstr "Rechercher dans le projet" -#: ../dialogs/DurationEditorDialog.py:46 +#: ../dialogs/DurationEditorDialog.py:47 msgid "Seconds:" msgstr "Secondes :" @@ -2976,17 +2995,17 @@ msgid "Select All" msgstr "Tout sélectionner" -#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 #: ../controls/VariablePanel.py:350 msgid "Select a variable class:" msgstr "Sélectionner une direction pour la variable :" -#: ../ProjectController.py:1216 +#: ../ProjectController.py:1257 msgid "Select an editor:" msgstr "Sélectionner un éditeur :" -#: ../controls/PouInstanceVariablesPanel.py:276 +#: ../controls/PouInstanceVariablesPanel.py:281 msgid "Select an instance" msgstr "Sélectionnez une instance" @@ -2994,7 +3013,7 @@ msgid "Select an object" msgstr "Sélectionner un objet" -#: ../ProjectController.py:477 +#: ../ProjectController.py:518 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "" @@ -3030,19 +3049,19 @@ msgid "Shift right" msgstr "Décalage à droite" -#: ../ProjectController.py:1825 +#: ../ProjectController.py:1867 msgid "Show IEC code generated by PLCGenerator" msgstr "Afficher le code IEC généré par PLCGenerator" -#: ../canfestival/canfestival.py:387 +#: ../canfestival/canfestival.py:389 msgid "Show Master" msgstr "Afficher le maître" -#: ../canfestival/canfestival.py:388 +#: ../canfestival/canfestival.py:390 msgid "Show Master generated by config_utils" msgstr "Afficher le maître généré par config_utils" -#: ../ProjectController.py:1823 +#: ../ProjectController.py:1865 msgid "Show code" msgstr "Afficher le code" @@ -3077,52 +3096,52 @@ msgid "Square root (base 2)" msgstr "Racine carré (base 2)" -#: ../plcopen/definitions.py:46 +#: ../plcopen/definitions.py:48 msgid "Standard function blocks" msgstr "Blocs fonctionnels standards" -#: ../ProjectController.py:1801 ../Beremiz_service.py:261 +#: ../ProjectController.py:1843 ../Beremiz_service.py:263 msgid "Start PLC" msgstr "Démarrer l'automate" -#: ../ProjectController.py:1005 +#: ../ProjectController.py:1046 #, python-format msgid "Start build in %s\n" msgstr "Début de la compilation dans %s\n" -#: ../ProjectController.py:1319 +#: ../ProjectController.py:1360 msgid "Started" msgstr "Démarré" -#: ../ProjectController.py:1607 +#: ../ProjectController.py:1648 msgid "Starting PLC\n" msgstr "Démarrer l'automate\n" -#: ../Beremiz.py:463 +#: ../BeremizIDE.py:365 msgid "Status ToolBar" msgstr "Barre d'outils de statut" -#: ../editors/Viewer.py:553 ../editors/Viewer.py:2353 +#: ../editors/Viewer.py:612 ../editors/Viewer.py:2391 msgid "Step" msgstr "Étape" -#: ../ProjectController.py:1804 +#: ../ProjectController.py:1846 msgid "Stop" msgstr "Arrêter" -#: ../Beremiz_service.py:262 +#: ../Beremiz_service.py:264 msgid "Stop PLC" msgstr "Arrêter l'automate" -#: ../ProjectController.py:1806 +#: ../ProjectController.py:1848 msgid "Stop Running PLC" msgstr "Arrêter l'automate en cours d'exécution" -#: ../ProjectController.py:1320 +#: ../ProjectController.py:1361 msgid "Stopped" msgstr "Arrêté" -#: ../ProjectController.py:1579 +#: ../ProjectController.py:1620 msgid "Stopping debugger...\n" msgstr "Arrêt du débogage en cours\n" @@ -3138,7 +3157,7 @@ msgid "Subtraction" msgstr "Soustraction" -#: ../ProjectController.py:1044 +#: ../ProjectController.py:1085 msgid "Successfully built.\n" msgstr "Compilé avec succès.\n" @@ -3146,7 +3165,7 @@ msgid "Switch perspective" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:172 +#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:115 msgid "Syntax error in regular expression of pattern to search!" msgstr "" "Erreur de syntaxe dans l'expression régulière du modèle à rechercher !" @@ -3171,6 +3190,18 @@ msgid "Temp" msgstr "Temporaire" +#: ../version.py:30 +msgid "" +"The best place to ask questions about Beremiz/PLCOpenEditor\n" +"is project's mailing list: beremiz-devel@lists.sourceforge.net\n" +"\n" +"This is the main community support channel.\n" +"For posting it is required to be subscribed to the mailing list.\n" +"\n" +"You can subscribe to the list here:\n" +"https://lists.sourceforge.net/lists/listinfo/beremiz-devel" +msgstr "" + #: ../editors/FileManagementPanel.py:180 #, python-format msgid "" @@ -3184,11 +3215,11 @@ msgid "The group of block must be coherent!" msgstr "Le groupe de blocs doit être cohérent !" -#: ../Beremiz.py:640 ../IDEFrame.py:1011 +#: ../BeremizIDE.py:542 ../IDEFrame.py:1015 msgid "There are changes, do you want to save?" msgstr "Le projet a été modifié. Voulez-vous l'enregistrer ?" -#: ../IDEFrame.py:1654 ../IDEFrame.py:1673 +#: ../IDEFrame.py:1658 ../IDEFrame.py:1677 #, python-format msgid "" "There is a POU named \"%s\". This could cause a conflict. Do you wish to " @@ -3197,7 +3228,7 @@ "Un POU a pour nom \"%s\". Cela peut générer des conflits. Voulez-vous " "continuer ?" -#: ../IDEFrame.py:1098 +#: ../IDEFrame.py:1102 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -3247,28 +3278,32 @@ msgid "Time-of-day subtraction" msgstr "Soustraction d'horodatage" -#: ../editors/Viewer.py:489 +#: ../dialogs/ForceVariableDialog.py:172 +msgid "Toggle value" +msgstr "" + +#: ../editors/Viewer.py:548 msgid "Top" msgstr "Haut" -#: ../ProjectController.py:1813 +#: ../ProjectController.py:1855 msgid "Transfer" msgstr "Transférer" -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1857 msgid "Transfer PLC" msgstr "Transférer l'automate" -#: ../ProjectController.py:1779 +#: ../ProjectController.py:1820 msgid "Transfer completed successfully.\n" msgstr "Transfert effectué avec succès.\n" -#: ../ProjectController.py:1781 +#: ../ProjectController.py:1823 msgid "Transfer failed\n" msgstr "Le transfert a échoué\n" -#: ../editors/Viewer.py:554 ../editors/Viewer.py:2355 -#: ../editors/Viewer.py:2382 +#: ../editors/Viewer.py:613 ../editors/Viewer.py:2393 +#: ../editors/Viewer.py:2420 msgid "Transition" msgstr "Transition" @@ -3281,11 +3316,11 @@ "Le code de la transition \"%s\" doit contenir une variable de sortie ou un " "relai dont la référence est son nom" -#: ../dialogs/PouTransitionDialog.py:89 +#: ../dialogs/PouTransitionDialog.py:84 msgid "Transition Name" msgstr "Nom de la transition" -#: ../dialogs/PouTransitionDialog.py:58 +#: ../dialogs/PouTransitionDialog.py:53 msgid "Transition Name:" msgstr "Nom de la transition :" @@ -3301,12 +3336,12 @@ "\"{a2}\" POU" msgstr "" -#: ../plcopen/plcopen.py:1318 +#: ../plcopen/plcopen.py:1323 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "La transition nommée %s n'existe pas !" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Transitions" msgstr "Transitions" @@ -3318,17 +3353,17 @@ msgid "Triggering" msgstr "Activation" -#: ../Beremiz_service.py:476 +#: ../Beremiz_service.py:478 msgid "Twisted unavailable." msgstr "" -#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 -#: ../controls/VariablePanel.py:54 +#: ../dialogs/ActionBlockDialog.py:39 ../editors/ResourceEditor.py:83 +#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739 +#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 msgid "Type" msgstr "Type" -#: ../dialogs/BrowseLocationsDialog.py:48 +#: ../dialogs/BrowseLocationsDialog.py:49 msgid "Type and derivated" msgstr "Type et ses dérivés" @@ -3345,13 +3380,13 @@ msgid "Type infos:" msgstr "Propriétés du type :" -#: ../dialogs/BrowseLocationsDialog.py:49 +#: ../dialogs/BrowseLocationsDialog.py:50 msgid "Type strict" msgstr "Type uniquement" -#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57 -#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99 -#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58 +#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58 +#: ../dialogs/LDPowerRailDialog.py:57 ../dialogs/BrowseLocationsDialog.py:100 +#: ../dialogs/FBDBlockDialog.py:66 ../dialogs/ConnectionDialog.py:59 msgid "Type:" msgstr "Type :" @@ -3379,20 +3414,20 @@ msgid "Undo" msgstr "Défaire" -#: ../ProjectController.py:382 +#: ../ProjectController.py:423 msgid "Unknown" msgstr "Inconnu" -#: ../editors/Viewer.py:393 +#: ../editors/Viewer.py:394 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "Variable \"%s\" inconnue dans ce POU !" -#: ../ProjectController.py:379 ../ProjectController.py:380 +#: ../ProjectController.py:420 ../ProjectController.py:421 msgid "Unnamed" msgstr "SansNom" -#: ../PLCControler.py:636 +#: ../PLCControler.py:638 #, python-format msgid "Unnamed%d" msgstr "Sansnom%d" @@ -3402,7 +3437,7 @@ msgid "Unrecognized data size \"%s\"" msgstr "Taille de donnée \"%s\" non identifié !" -#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:810 +#: ../editors/DataTypeEditor.py:630 ../controls/VariablePanel.py:827 msgid "User Data Types" msgstr "Types de donnée du projet" @@ -3410,11 +3445,11 @@ msgid "User Type" msgstr "Type utilisateur" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "User-defined POUs" msgstr "POUs du projet" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Value" msgstr "Valeur" @@ -3422,28 +3457,28 @@ msgid "Values:" msgstr "Valeurs" -#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 -#: ../editors/Viewer.py:2385 +#: ../dialogs/ActionBlockDialog.py:43 ../editors/Viewer.py:585 +#: ../editors/Viewer.py:2423 msgid "Variable" msgstr "Variable" -#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 +#: ../editors/Viewer.py:309 ../editors/Viewer.py:339 ../editors/Viewer.py:361 #: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343 #: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329 msgid "Variable Drop" msgstr "" -#: ../dialogs/FBDVariableDialog.py:63 +#: ../dialogs/FBDVariableDialog.py:64 msgid "Variable Properties" msgstr "Propriétés de la variable" -#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 #: ../controls/VariablePanel.py:350 msgid "Variable class" msgstr "Direction de la variable" -#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387 +#: ../editors/Viewer.py:396 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!" msgstr "La variable n'appartient pas à ce POU !" @@ -3455,11 +3490,11 @@ msgid "Variables" msgstr "Variables" -#: ../controls/ProjectPropertiesPanel.py:151 +#: ../controls/ProjectPropertiesPanel.py:152 msgid "Vertical:" msgstr "Vertical :" -#: ../Beremiz_service.py:586 +#: ../Beremiz_service.py:588 msgid "WAMP client startup failed. " msgstr "" @@ -3477,19 +3512,19 @@ msgid "WAMP connection to '%s' failed.\n" msgstr "" -#: ../Beremiz_service.py:562 +#: ../Beremiz_service.py:564 msgid "WAMP import failed :" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:35 +#: ../wxglade_hmi/wxglade_hmi.py:37 msgid "WXGLADE GUI" msgstr "IHM WXGlade" -#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891 +#: ../dialogs/PouDialog.py:129 ../editors/LDViewer.py:891 msgid "Warning" msgstr "Attention" -#: ../ProjectController.py:666 +#: ../ProjectController.py:707 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "Mises en garde du generateur de code ST/IL/SFC :\n" @@ -3497,11 +3532,11 @@ msgid "Whole Project" msgstr "Tout le projet" -#: ../controls/ProjectPropertiesPanel.py:119 +#: ../controls/ProjectPropertiesPanel.py:120 msgid "Width:" msgstr "Longueur :" -#: ../dialogs/FindInPouDialog.py:93 +#: ../dialogs/FindInPouDialog.py:91 msgid "Wrap search" msgstr "Boucler" @@ -3513,7 +3548,7 @@ msgid "WxGlade GUI" msgstr "Interface WxGlade" -#: ../svgui/svgui.py:139 +#: ../svgui/svgui.py:142 msgid "" "You don't have write permissions.\n" "Open Inkscape anyway ?" @@ -3521,7 +3556,7 @@ "Vous n'avez pas les permissions d'écriture.\n" "Ouvrir Inkscape tout de même ?" -#: ../wxglade_hmi/wxglade_hmi.py:137 +#: ../wxglade_hmi/wxglade_hmi.py:154 msgid "" "You don't have write permissions.\n" "Open wxGlade anyway ?" @@ -3529,7 +3564,7 @@ "Vous n'avez pas les permissions d'écriture.\n" "Ouvrir wxGlade tout de même ?" -#: ../ProjectController.py:342 +#: ../ProjectController.py:371 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" @@ -3554,7 +3589,7 @@ msgid "You must type a name!" msgstr "Vous devez saisir un nom !" -#: ../dialogs/ForceVariableDialog.py:175 +#: ../dialogs/ForceVariableDialog.py:193 msgid "You must type a value!" msgstr "Vous devez saisir une valeur !" @@ -3562,11 +3597,11 @@ msgid "Zoom" msgstr "Zoom" -#: ../dialogs/DurationEditorDialog.py:151 +#: ../dialogs/DurationEditorDialog.py:155 msgid "days" msgstr "jours" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:343 #, python-format msgid "error: %s\n" msgstr "erreur: %s\n" @@ -3576,43 +3611,43 @@ msgid "exited with status {a1} (pid {a2})\n" msgstr "" -#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 +#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 msgid "file : " msgstr "fichier :" -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "function" msgstr "fonction" -#: ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:409 msgid "function : " msgstr "fonction :" -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "functionBlock" msgstr "Bloc fonctionnel" -#: ../dialogs/DurationEditorDialog.py:151 +#: ../dialogs/DurationEditorDialog.py:155 msgid "hours" msgstr "heures" -#: ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:409 msgid "line : " msgstr "ligne :" -#: ../dialogs/DurationEditorDialog.py:153 +#: ../dialogs/DurationEditorDialog.py:157 msgid "milliseconds" msgstr "" -#: ../dialogs/DurationEditorDialog.py:152 +#: ../dialogs/DurationEditorDialog.py:156 msgid "minutes" msgstr "minutes" -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "program" msgstr "programme" -#: ../dialogs/DurationEditorDialog.py:152 +#: ../dialogs/DurationEditorDialog.py:156 msgid "seconds" msgstr "secondes" @@ -3628,16 +3663,16 @@ msgid "string right of" msgstr "Caractères à droite de" -#: ../Beremiz.py:126 +#: ../Beremiz.py:164 msgid "update info unavailable." msgstr "Information de mise à jour non disponible." -#: ../PLCOpenEditor.py:331 +#: ../PLCOpenEditor.py:341 #, python-format msgid "warning: %s\n" msgstr "attention: %s\n" -#: ../PLCControler.py:970 +#: ../PLCControler.py:972 #, python-brace-format msgid "{a1} \"{a2}\" can't be pasted as a {a3}." msgstr "" @@ -3704,9 +3739,6 @@ msgid "LDFLAGS" msgstr "LDFLAGS" -msgid "PLC" -msgstr "PLC" - msgid "Linux" msgstr "Linux"