--- a/i18n/messages.pot Wed Apr 20 16:14:25 2016 +0300
+++ b/i18n/messages.pot Wed Apr 20 16:20:53 2016 +0300
@@ -8,7 +8,7 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 22:55+0100\n"
+"POT-Creation-Date: 2016-04-20 13:39+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:405
+#: ../PLCOpenEditor.py:396 "An error has occurred.\n"
@@ -30,7 +30,7 @@
@@ -45,164 +45,158 @@
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72 -#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71 -#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71 -#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72 -#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71 -#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73 -#: ../PLCOpenEditor.py:415
+#: ../PLCOpenEditor.py:406 #: ../dialogs/PouTransitionDialog.py:94 ../dialogs/PouActionDialog.py:91
-#: ../dialogs/PouDialog.py:111 ../dialogs/SFCTransitionDialog.py:144
+#: ../dialogs/PouDialog.py:113 -#: ../ProjectController.py:917
+#: ../ProjectController.py:1027 msgid " generation failed !\n"
-#: ../plcopen/plcopen.py:1051
+#: ../plcopen/plcopen.py:883 msgid "\"%s\" Data Type doesn't exist !!!"
-#: ../plcopen/plcopen.py:1069
+#: ../plcopen/plcopen.py:901 msgid "\"%s\" POU already exists !!!"
-#: ../plcopen/plcopen.py:1090
+#: ../plcopen/plcopen.py:922 msgid "\"%s\" POU doesn't exist !!!"
-#: ../editors/Viewer.py:234
+#: ../editors/Viewer.py:242 msgid "\"%s\" can't use itself!"
-#: ../IDEFrame.py:1587 ../IDEFrame.py:1606
+#: ../IDEFrame.py:1618 ../IDEFrame.py:1637 msgid "\"%s\" config already exists!"
-#: ../plcopen/plcopen.py:315
+#: ../plcopen/plcopen.py:471 msgid "\"%s\" configuration already exists !!!"
msgid "\"%s\" data type already exists!"
-#: ../PLCControler.py:2165 ../PLCControler.py:2169
-msgid "\"%s\" element can't be pasted here!!!"
-#: ../editors/TextViewer.py:298 ../editors/TextViewer.py:318
-#: ../editors/Viewer.py:250 ../dialogs/PouTransitionDialog.py:105
-#: ../dialogs/ConnectionDialog.py:157 ../dialogs/PouActionDialog.py:102
-#: ../dialogs/FBDBlockDialog.py:162
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:219 +#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:258 +#: ../editors/Viewer.py:326 ../editors/Viewer.py:350 ../editors/Viewer.py:370 +#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299 +#: ../controls/VariablePanel.py:386 msgid "\"%s\" element for this pou already exists!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
-#: ../plcopen/structures.py:105
+#: ../PLCGenerator.py:1091 msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
-#: ../controls/VariablePanel.py:659 ../IDEFrame.py:1532
+#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101 +#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49 +#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120 #: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583
-#: ../dialogs/PouNameDialog.py:49 ../dialogs/PouTransitionDialog.py:101
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/ConnectionDialog.py:153
-#: ../dialogs/FBDVariableDialog.py:199 ../dialogs/PouActionDialog.py:98
-#: ../dialogs/PouDialog.py:118 ../dialogs/SFCStepDialog.py:122
-#: ../dialogs/FBDBlockDialog.py:158
+#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733 msgid "\"%s\" is a keyword. It can't be used!"
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:246 msgid "\"%s\" is already used by \"%s\"!"
-#: ../plcopen/plcopen.py:2836
+#: ../plcopen/plcopen.py:2405 msgid "\"%s\" is an invalid value!"
-#: ../PLCOpenEditor.py:341 ../PLCOpenEditor.py:378
+#: ../PLCOpenEditor.py:332 ../PLCOpenEditor.py:369 msgid "\"%s\" is not a valid folder!"
-#: ../controls/VariablePanel.py:657 ../IDEFrame.py:1530
-#: ../editors/DataTypeEditor.py:578 ../dialogs/PouNameDialog.py:47
-#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/SFCStepNameDialog.py:49
-#: ../dialogs/ConnectionDialog.py:151 ../dialogs/PouActionDialog.py:96
-#: ../dialogs/PouDialog.py:116 ../dialogs/SFCStepDialog.py:120
-#: ../dialogs/FBDBlockDialog.py:156
+#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99 +#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47 +#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 +#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748 +#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1561 msgid "\"%s\" is not a valid identifier!"
-#: ../IDEFrame.py:221 ../IDEFrame.py:2313 ../IDEFrame.py:2332
-msgid "\"%s\" is used by one or more POUs. It can't be removed!"
-#: ../controls/VariablePanel.py:313 ../IDEFrame.py:1550
-#: ../editors/TextViewer.py:296 ../editors/TextViewer.py:316
-#: ../editors/TextViewer.py:353 ../editors/Viewer.py:248
-#: ../editors/Viewer.py:293 ../editors/Viewer.py:311
-#: ../dialogs/ConnectionDialog.py:155 ../dialogs/PouDialog.py:120
-#: ../dialogs/FBDBlockDialog.py:160
+msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" +#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122 +#: ../editors/Viewer.py:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341 +#: ../editors/Viewer.py:363 ../editors/TextViewer.py:268 +#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:348 +#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:328 msgid "\"%s\" pou already exists!"
-#: ../plcopen/plcopen.py:346
+#: ../plcopen/plcopen.py:495 msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-#: ../plcopen/plcopen.py:362
+#: ../plcopen/plcopen.py:512 msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-#: ../dialogs/SFCStepNameDialog.py:57 ../dialogs/SFCStepDialog.py:128
+#: ../dialogs/SFCStepNameDialog.py:57 msgid "\"%s\" step already exists!"
@@ -212,34 +206,29 @@
msgid "\"%s\" value already defined!"
-#: ../editors/DataTypeEditor.py:744 ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744 msgid "\"%s\" value isn't a valid array dimension!"
-#: ../editors/DataTypeEditor.py:751 ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751 "\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
-#: ../PLCControler.py:847
+#: ../PLCControler.py:970 msgid "%s \"%s\" can't be pasted as a %s."
-#: ../PLCControler.py:1476
+#: ../PLCControler.py:1530 -#: ../editors/GraphicViewer.py:278
-#: ../PLCControler.py:1471
+#: ../PLCControler.py:1513 @@ -249,67 +238,75 @@
-#: ../plcopen/plcopen.py:1790 ../plcopen/plcopen.py:1800
-#: ../plcopen/plcopen.py:1810 ../plcopen/plcopen.py:1820
-#: ../plcopen/plcopen.py:1829
+#: ../ConfigTreeNode.py:32 +"%s XML file doesn't follow XSD schema at line %d:\n" +#: ../plcopen/plcopen.py:1638 ../plcopen/plcopen.py:1645 +#: ../plcopen/plcopen.py:1657 ../plcopen/plcopen.py:1665 +#: ../plcopen/plcopen.py:1675 msgid "%s body don't have instances!"
-#: ../plcopen/plcopen.py:1852 ../plcopen/plcopen.py:1859
+#: ../plcopen/plcopen.py:1693 ../plcopen/plcopen.py:1700 +#: ../plcopen/plcopen.py:1707 msgid "%s body don't have text!"
-#: ../PLCOpenEditor.py:129
+#: ../PLCOpenEditor.py:119
@@ -323,7 +320,7 @@
msgid "'%s' - %d matches in project"
-#: ../connectors/PYRO/__init__.py:51
+#: ../connectors/PYRO/__init__.py:86 msgid "'%s' is located at %s\n"
@@ -333,62 +330,78 @@
-#: ../PLCOpenEditor.py:393 ../PLCOpenEditor.py:395 ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 ../PLCOpenEditor.py:387 #: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
-#: ../dialogs/PouDialog.py:113 ../dialogs/SFCTransitionDialog.py:146
+#: ../dialogs/PouDialog.py:115 -#: ../PLCOpenEditor.py:391
+#: ../PLCOpenEditor.py:382 -#: ../ProjectController.py:1294
-msgid "... debugger recovered\n"
-#: ../IDEFrame.py:1553 ../IDEFrame.py:1595 ../IDEFrame.py:1614
-#: ../dialogs/PouDialog.py:122
+#: ../controls/LogViewer.py:278 +#: ../controls/LogViewer.py:279 +#: ../controls/LogViewer.py:280 +#: ../controls/LogViewer.py:281 +#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1584 ../IDEFrame.py:1626 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
-#: ../controls/VariablePanel.py:661 ../IDEFrame.py:1565 ../IDEFrame.py:1576
-#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouTransitionDialog.py:103
-#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouActionDialog.py:100
-#: ../dialogs/SFCStepDialog.py:124
+#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouActionDialog.py:100 +#: ../controls/VariablePanel.py:735 ../IDEFrame.py:1596 ../IDEFrame.py:1607 msgid "A POU named \"%s\" already exists!"
-#: ../ConfigTreeNode.py:388
+#: ../ConfigTreeNode.py:400 msgid "A child named \"%s\" already exist -> \"%s\"\n"
-#: ../dialogs/BrowseLocationsDialog.py:212
+#: ../dialogs/BrowseLocationsDialog.py:211 msgid "A location must be selected!"
-#: ../controls/VariablePanel.py:663 ../IDEFrame.py:1567 ../IDEFrame.py:1578
-#: ../dialogs/SFCStepNameDialog.py:55 ../dialogs/SFCStepDialog.py:126
+#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737 +#: ../IDEFrame.py:1598 ../IDEFrame.py:1609 msgid "A variable with \"%s\" as name already exists in this pou!"
-#: ../Beremiz.py:364 ../PLCOpenEditor.py:162
+#: ../editors/CodeFileEditor.py:754 +msgid "A variable with \"%s\" as name already exists!" +#: ../PLCOpenEditor.py:152 ../Beremiz.py:374
-#: ../PLCOpenEditor.py:355
+#: ../PLCOpenEditor.py:346 msgid "About PLCOpenEditor"
@@ -396,11 +409,11 @@
-#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCStepDialog.py:69
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42 -#: ../editors/Viewer.py:494
+#: ../editors/Viewer.py:551 ../editors/Viewer.py:2069 @@ -412,29 +425,29 @@
-#: ../plcopen/plcopen.py:1490
+#: ../plcopen/plcopen.py:1356 msgid "Action with name %s doesn't exist!"
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96 -#: ../dialogs/ActionBlockDialog.py:134
+#: ../dialogs/ActionBlockDialog.py:133 -#: ../editors/Viewer.py:999
+#: ../editors/Viewer.py:1087 #: ../canfestival/SlaveEditor.py:57 ../canfestival/NetworkEditor.py:78
-#: ../Beremiz.py:987 ../editors/Viewer.py:527
+#: ../editors/Viewer.py:584 ../Beremiz.py:1026 -#: ../IDEFrame.py:1801 ../IDEFrame.py:1832
+#: ../IDEFrame.py:1858 ../IDEFrame.py:1893 @@ -442,15 +455,15 @@
msgid "Add C code accessing located variables synchronously"
msgid "Add Configuration"
-#: ../editors/Viewer.py:452
+#: ../editors/Viewer.py:509 msgid "Add Divergence Branch"
@@ -458,7 +471,7 @@
@@ -466,15 +479,15 @@
msgid "Add Python code executed asynchronously"
-#: ../IDEFrame.py:1812 ../IDEFrame.py:1858
+#: ../IDEFrame.py:1869 ../IDEFrame.py:1919 -#: ../IDEFrame.py:1790 ../IDEFrame.py:1829
+#: ../IDEFrame.py:1847 ../IDEFrame.py:1890 -#: ../editors/Viewer.py:441
+#: ../editors/Viewer.py:496 @@ -482,7 +495,7 @@
msgid "Add a new initial step"
-#: ../editors/Viewer.py:2363 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2672 ../editors/SFCViewer.py:696 @@ -494,7 +507,7 @@
msgid "Add a simple WxGlade based GUI."
-#: ../dialogs/ActionBlockDialog.py:138
+#: ../dialogs/ActionBlockDialog.py:137 @@ -502,7 +515,7 @@
-#: ../editors/ResourceEditor.py:259
+#: ../editors/ResourceEditor.py:268 @@ -510,11 +523,11 @@
-#: ../editors/ResourceEditor.py:230
+#: ../editors/ResourceEditor.py:239 -#: ../controls/VariablePanel.py:380 ../c_ext/CFileEditor.py:517
+#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440 @@ -522,22 +535,23 @@
-#: ../plcopen/structures.py:249
+#: ../plcopen/definitions.py:22 msgid "Additional function blocks"
-#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:567 msgid "Adjust Block Size"
-#: ../editors/Viewer.py:1458
+#: ../editors/Viewer.py:1612 -#: ../controls/VariablePanel.py:75 ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:43
-#: ../dialogs/BrowseLocationsDialog.py:136
-#: ../dialogs/BrowseLocationsDialog.py:139
+#: ../dialogs/BrowseLocationsDialog.py:34 +#: ../dialogs/BrowseLocationsDialog.py:42 +#: ../dialogs/BrowseLocationsDialog.py:135 +#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297 +#: ../controls/VariablePanel.py:70 @@ -545,7 +559,7 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1373
+#: ../ProjectController.py:1523 msgid "Already connected. Please disconnect\n"
@@ -554,7 +568,7 @@
msgid "An element named \"%s\" already exists in this structure!"
-#: ../dialogs/ConnectionDialog.py:98
+#: ../dialogs/ConnectionDialog.py:96 msgid "Apply name modification to all continuations with the same name"
@@ -574,8 +588,8 @@
-#: ../controls/VariablePanel.py:732 ../editors/DataTypeEditor.py:54
-#: ../editors/DataTypeEditor.py:634
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634 +#: ../controls/VariablePanel.py:811 @@ -583,7 +597,7 @@
-#: ../dialogs/FBDVariableDialog.py:197
+#: ../dialogs/FBDVariableDialog.py:217 msgid "At least a variable or an expression must be selected!"
@@ -595,7 +609,7 @@
msgid "Author Name (optional):"
-#: ../dialogs/FindInPouDialog.py:72
+#: ../dialogs/FindInPouDialog.py:78 @@ -607,21 +621,21 @@
msgid "Bad domain name at "
-#: ../canfestival/config_utils.py:341 ../canfestival/config_utils.py:623
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624 msgid "Bad location size : %s"
-#: ../editors/DataTypeEditor.py:174 ../editors/DataTypeEditor.py:204
-#: ../editors/DataTypeEditor.py:296 ../dialogs/ArrayTypeDialog.py:55
+#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:174 +#: ../editors/DataTypeEditor.py:204 ../editors/DataTypeEditor.py:296 -#: ../controls/VariablePanel.py:702 ../editors/DataTypeEditor.py:624
+#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769
@@ -653,15 +667,19 @@
msgid "Bitwise inverting"
-#: ../editors/Viewer.py:464
+#: ../editors/Viewer.py:521 ../editors/Viewer.py:2073 -#: ../dialogs/FBDBlockDialog.py:38
+#: ../dialogs/FBDBlockDialog.py:59 -#: ../editors/Viewer.py:433
+#: ../editors/TextViewer.py:261 +#: ../editors/Viewer.py:487 @@ -670,38 +688,42 @@
msgid "Browse %s values library"
-#: ../dialogs/BrowseLocationsDialog.py:61
+#: ../dialogs/BrowseLocationsDialog.py:60 -#: ../ProjectController.py:1519
+#: ../ProjectController.py:1668 -#: ../ProjectController.py:1079
+#: ../ProjectController.py:1166 msgid "Build directory already clean\n"
-#: ../ProjectController.py:1520
+#: ../ProjectController.py:1669 msgid "Build project into build folder"
-#: ../ProjectController.py:937
+#: ../ProjectController.py:956 msgid "C Build crashed !\n"
-#: ../ProjectController.py:934
+#: ../ProjectController.py:953 msgid "C Build failed.\n"
-#: ../c_ext/CFileEditor.py:731
+#: ../c_ext/CFileEditor.py:40 -#: ../ProjectController.py:922
+#: ../ProjectController.py:1031 msgid "C code generated successfully.\n"
+#: ../targets/toolchain_makefile.py:108 +msgid "C compilation failed.\n" #: ../targets/toolchain_gcc.py:132
msgid "C compilation of %s failed.\n"
@@ -723,81 +745,81 @@
-#: ../plcopen/plcopen.py:1732 ../plcopen/plcopen.py:1746
-#: ../plcopen/plcopen.py:1767 ../plcopen/plcopen.py:1783
+#: ../plcopen/plcopen.py:1580 ../plcopen/plcopen.py:1594 +#: ../plcopen/plcopen.py:1615 ../plcopen/plcopen.py:1631 msgid "Can only generate execution order on FBD networks!"
-#: ../controls/VariablePanel.py:256
+#: ../controls/VariablePanel.py:259 msgid "Can only give a location to local or global variables"
-#: ../PLCOpenEditor.py:336
+#: ../PLCOpenEditor.py:327 msgid "Can't generate program to file %s!"
-#: ../controls/VariablePanel.py:254
+#: ../controls/VariablePanel.py:257 msgid "Can't give a location to a function block instance"
-#: ../PLCOpenEditor.py:376
+#: ../PLCOpenEditor.py:367 msgid "Can't save project to file %s!"
-#: ../controls/VariablePanel.py:300
+#: ../controls/VariablePanel.py:303 msgid "Can't set an initial value to a function block instance"
-#: ../ConfigTreeNode.py:490
+#: ../ConfigTreeNode.py:504 msgid "Cannot create child %s of type %s "
-#: ../ConfigTreeNode.py:417
+#: ../ConfigTreeNode.py:429 msgid "Cannot find lower free IEC channel than %d\n"
-#: ../connectors/PYRO/__init__.py:92
+#: ../connectors/PYRO/__init__.py:127 msgid "Cannot get PLC status - connection failed.\n"
-#: ../ProjectController.py:737
+#: ../ProjectController.py:817 msgid "Cannot open/parse VARIABLES.csv!\n"
-#: ../canfestival/config_utils.py:371
+#: ../canfestival/config_utils.py:372 msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
-#: ../dialogs/FindInPouDialog.py:81 ../dialogs/SearchInProjectDialog.py:67
+#: ../dialogs/SearchInProjectDialog.py:67 ../dialogs/FindInPouDialog.py:87 -#: ../editors/Viewer.py:428
+#: ../editors/Viewer.py:482 -#: ../Beremiz_service.py:326
+#: ../Beremiz_service.py:245 msgid "Change IP of interface to bind"
-#: ../Beremiz_service.py:325
+#: ../Beremiz_service.py:244
msgid "Change POU Type To"
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:246 msgid "Change Port Number"
-#: ../Beremiz_service.py:328
+#: ../Beremiz_service.py:247 msgid "Change working directory"
@@ -805,20 +827,20 @@
+#: ../svgui/svgui.py:101 msgid "Choose a SVG file"
-#: ../ProjectController.py:364
+#: ../ProjectController.py:420 msgid "Choose a directory to save project"
-#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:294
-#: ../PLCOpenEditor.py:326 ../PLCOpenEditor.py:370
+#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285 +#: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361 -#: ../Beremiz.py:858 ../Beremiz.py:893
+#: ../Beremiz.py:901 ../Beremiz.py:936 @@ -827,72 +849,76 @@
msgid "Choose a value for %s:"
-#: ../Beremiz_service.py:378
+#: ../Beremiz_service.py:293 msgid "Choose a working directory "
-#: ../ProjectController.py:288
+#: ../ProjectController.py:334 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
-#: ../ProjectController.py:255
+#: ../ProjectController.py:301 msgid "Chosen folder isn't empty. You can't use it for a new project!"
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 -#: ../controls/VariablePanel.py:371
+#: ../controls/VariablePanel.py:431 -#: ../dialogs/FBDVariableDialog.py:62
+#: ../dialogs/FBDVariableDialog.py:69 -#: ../ProjectController.py:1523
+#: ../ProjectController.py:1672 -#: ../ProjectController.py:1525
+#: ../controls/LogViewer.py:317 +msgid "Clean log messages" +#: ../ProjectController.py:1674 msgid "Clean project build folder"
-#: ../ProjectController.py:1076
+#: ../ProjectController.py:1163 msgid "Cleaning the build directory\n"
-#: ../editors/Viewer.py:520
+#: ../editors/Viewer.py:577 msgid "Clear Execution Order"
-#: ../editors/GraphicViewer.py:125
-msgid "Clear the graph values"
-#: ../Beremiz.py:633 ../PLCOpenEditor.py:202
+#: ../dialogs/FindInPouDialog.py:110 +#: ../PLCOpenEditor.py:192 ../Beremiz.py:669 msgid "Close Application"
-#: ../IDEFrame.py:972 ../Beremiz.py:321 ../Beremiz.py:587
-#: ../PLCOpenEditor.py:112
+#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:613 -#: ../Beremiz.py:319 ../PLCOpenEditor.py:110
+#: ../PLCOpenEditor.py:100 ../Beremiz.py:324 -#: ../editors/Viewer.py:480
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2084 -#: ../editors/Viewer.py:500 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506 @@ -908,7 +934,7 @@
-#: ../ProjectController.py:552
+#: ../ProjectController.py:609 msgid "Compiling IEC Program into C code...\n"
@@ -916,7 +942,7 @@
-#: ../editors/ConfTreeNodeEditor.py:249
+#: ../editors/ConfTreeNodeEditor.py:206 @@ -928,67 +954,69 @@
-#: ../PLCControler.py:96
+#: ../PLCControler.py:97 -#: ../ProjectController.py:1538
+#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355 +#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:340 +#: ../editors/TextViewer.py:363 ../controls/VariablePanel.py:318 +msgid "Confirm or change variable name" +#: ../ProjectController.py:1687 -#: ../ProjectController.py:1539
+#: ../ProjectController.py:1688 msgid "Connect to the target PLC"
-#: ../ProjectController.py:1125
+#: ../ProjectController.py:1212 msgid "Connected to URI: %s"
-#: ../connectors/PYRO/__init__.py:40
-msgid "Connecting to URI : %s\n"
-#: ../editors/Viewer.py:466 ../dialogs/SFCTransitionDialog.py:76
+#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523 +#: ../editors/Viewer.py:2075 -#: ../dialogs/ConnectionDialog.py:37
+#: ../dialogs/ConnectionDialog.py:52 msgid "Connection Properties"
-#: ../ProjectController.py:1397
+#: ../ProjectController.py:1547 msgid "Connection canceled!\n"
-#: ../ProjectController.py:1422
+#: ../ProjectController.py:1572 msgid "Connection failed to %s!\n"
-#: ../connectors/PYRO/__init__.py:63
+#: ../connectors/PYRO/__init__.py:98 msgid "Connection to '%s' failed.\n"
-#: ../editors/Viewer.py:1426 ../dialogs/ConnectionDialog.py:56
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1569 -#: ../dialogs/SFCStepDialog.py:58
+#: ../dialogs/SFCStepDialog.py:64
-#: ../controls/VariablePanel.py:65
+#: ../controls/VariablePanel.py:60 -#: ../editors/Viewer.py:476
+#: ../editors/Viewer.py:533 ../editors/Viewer.py:2080 @@ -996,7 +1024,7 @@
msgid "Content Description (optional):"
-#: ../editors/Viewer.py:1427 ../dialogs/ConnectionDialog.py:61
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1570 @@ -1016,11 +1044,12 @@
msgid "Conversion to time-of-day"
-#: ../IDEFrame.py:353 ../IDEFrame.py:406 ../editors/Viewer.py:536
+#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346
@@ -1036,48 +1065,53 @@
-#: ../ConfigTreeNode.py:602
+#: ../ConfigTreeNode.py:626 "Could not add child \"%s\", type %s :\n"
-#: ../ConfigTreeNode.py:579
+#: ../py_ext/PythonFileCTNMixin.py:53 +msgid "Couldn't import old %s file." +#: ../ConfigTreeNode.py:598 "Couldn't load confnode base parameters %s :\n"
-#: ../ConfigTreeNode.py:590
+#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99 "Couldn't load confnode parameters %s :\n"
-#: ../PLCControler.py:819 ../PLCControler.py:856
+#: ../PLCControler.py:946 msgid "Couldn't paste non-POU object."
-#: ../ProjectController.py:1344
+#: ../ProjectController.py:1486 msgid "Couldn't start PLC !\n"
-#: ../ProjectController.py:1352
+#: ../ProjectController.py:1494 msgid "Couldn't stop PLC !\n"
-#: ../ProjectController.py:1321
+#: ../ProjectController.py:1458 msgid "Couldn't stop debugger.\n"
-#: ../dialogs/PouDialog.py:43
+#: ../dialogs/PouDialog.py:45 @@ -1085,71 +1119,71 @@
msgid "Create a new action"
msgid "Create a new action block"
-#: ../IDEFrame.py:91 ../IDEFrame.py:121 ../IDEFrame.py:154
+#: ../IDEFrame.py:84 ../IDEFrame.py:114 ../IDEFrame.py:147 msgid "Create a new block"
msgid "Create a new branch"
msgid "Create a new coil"
-#: ../IDEFrame.py:85 ../IDEFrame.py:100 ../IDEFrame.py:130
+#: ../IDEFrame.py:78 ../IDEFrame.py:93 ../IDEFrame.py:123 msgid "Create a new comment"
-#: ../IDEFrame.py:94 ../IDEFrame.py:124 ../IDEFrame.py:157
+#: ../IDEFrame.py:87 ../IDEFrame.py:117 ../IDEFrame.py:150 msgid "Create a new connection"
-#: ../IDEFrame.py:112 ../IDEFrame.py:163
+#: ../IDEFrame.py:105 ../IDEFrame.py:156 msgid "Create a new contact"
msgid "Create a new divergence"
-#: ../dialogs/SFCDivergenceDialog.py:36
+#: ../dialogs/SFCDivergenceDialog.py:51 msgid "Create a new divergence or convergence"
msgid "Create a new initial step"
msgid "Create a new jump"
-#: ../IDEFrame.py:103 ../IDEFrame.py:160
+#: ../IDEFrame.py:96 ../IDEFrame.py:153 msgid "Create a new power rail"
msgid "Create a new rung"
msgid "Create a new step"
-#: ../IDEFrame.py:139 ../dialogs/PouTransitionDialog.py:42
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132 msgid "Create a new transition"
-#: ../IDEFrame.py:88 ../IDEFrame.py:118 ../IDEFrame.py:151
+#: ../IDEFrame.py:81 ../IDEFrame.py:111 ../IDEFrame.py:144 msgid "Create a new variable"
-#: ../IDEFrame.py:351 ../IDEFrame.py:405 ../editors/Viewer.py:535
+#: ../editors/Viewer.py:592 ../IDEFrame.py:344 ../IDEFrame.py:400 @@ -1177,7 +1211,7 @@
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96 @@ -1202,50 +1236,50 @@
-#: ../ProjectController.py:1444
+#: ../ProjectController.py:1594 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
-#: ../controls/PouInstanceVariablesPanel.py:59
+#: ../controls/PouInstanceVariablesPanel.py:134 -#: ../editors/Viewer.py:1016 ../editors/Viewer.py:3326
+#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3596 -#: ../ProjectController.py:1153
+#: ../ProjectController.py:1247 msgid "Debug: Unknown variable '%s'\n"
-#: ../ProjectController.py:1151
+#: ../ProjectController.py:1245 msgid "Debug: Unsupported type to debug '%s'\n"
-#: ../ProjectController.py:1311
+#: ../ProjectController.py:1427 msgid "Debugger disabled\n"
-#: ../ProjectController.py:1441
+#: ../ProjectController.py:1591 -#: ../ProjectController.py:1323
+#: ../ProjectController.py:1460 msgid "Debugger stopped.\n"
-#: ../IDEFrame.py:1866 ../Beremiz.py:991 ../editors/Viewer.py:511
+#: ../editors/Viewer.py:568 ../Beremiz.py:1030 ../IDEFrame.py:1927 -#: ../editors/Viewer.py:453
+#: ../editors/Viewer.py:510 msgid "Delete Divergence Branch"
@@ -1253,7 +1287,7 @@
-#: ../editors/Viewer.py:442
+#: ../editors/Viewer.py:497 msgid "Delete Wire Segment"
@@ -1269,25 +1303,25 @@
-#: ../plcopen/structures.py:263
+#: ../plcopen/definitions.py:41 "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
-#: ../controls/VariablePanel.py:362
+#: ../controls/VariablePanel.py:422 -#: ../editors/DataTypeEditor.py:320 ../dialogs/ArrayTypeDialog.py:61
+#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320 -#: ../dialogs/FindInPouDialog.py:61
+#: ../dialogs/FindInPouDialog.py:67 -#: ../dialogs/BrowseLocationsDialog.py:86
+#: ../dialogs/BrowseLocationsDialog.py:85 @@ -1295,15 +1329,15 @@
-#: ../ProjectController.py:1547
+#: ../ProjectController.py:1696 -#: ../ProjectController.py:1549
+#: ../ProjectController.py:1698 msgid "Disconnect from PLC"
-#: ../editors/Viewer.py:495
+#: ../editors/Viewer.py:552 ../editors/Viewer.py:2061 @@ -1316,21 +1350,21 @@
msgid "Do you really want to delete the file '%s'?"
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 -#: ../PLCOpenEditor.py:330
+#: ../PLCOpenEditor.py:321 -#: ../plcopen/structures.py:226
+#: ../plcopen/definitions.py:34 "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value."
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 @@ -1338,15 +1372,15 @@
msgid "EDS files (*.eds)|*.eds|All files|*.*"
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:566 -#: ../dialogs/LDElementDialog.py:41
+#: ../dialogs/LDElementDialog.py:56 -#: ../dialogs/LDElementDialog.py:38
+#: ../dialogs/LDElementDialog.py:54 msgid "Edit Contact Values"
@@ -1354,7 +1388,7 @@
-#: ../dialogs/SFCStepDialog.py:35
+#: ../dialogs/SFCStepDialog.py:49 @@ -1362,7 +1396,7 @@
msgid "Edit a WxWidgets GUI with WXGlade"
-#: ../dialogs/ActionBlockDialog.py:122
+#: ../dialogs/ActionBlockDialog.py:121 msgid "Edit action block properties"
@@ -1370,8 +1404,7 @@
msgid "Edit array type properties"
-#: ../editors/Viewer.py:2186 ../editors/Viewer.py:2188
-#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2708
+#: ../editors/Viewer.py:2541 ../editors/Viewer.py:2952 @@ -1383,11 +1416,11 @@
-#: ../editors/Viewer.py:2670
+#: ../editors/Viewer.py:2916 -#: ../ProjectController.py:1561
+#: ../ProjectController.py:1710 msgid "Edit raw IEC code added to code generated by PLCGenerator"
@@ -1395,15 +1428,15 @@
-#: ../dialogs/SFCTransitionDialog.py:38
+#: ../dialogs/SFCTransitionDialog.py:50
-#: ../ProjectController.py:1039
+#: ../ProjectController.py:1126 @@ -1411,19 +1444,19 @@
-#: ../Beremiz_service.py:385
+#: ../Beremiz_service.py:299 -#: ../Beremiz_service.py:370
+#: ../Beremiz_service.py:286 msgid "Enter a port number "
-#: ../Beremiz_service.py:360
+#: ../Beremiz_service.py:277 msgid "Enter the IP of the interface to bind"
@@ -1435,50 +1468,50 @@
-#: ../Beremiz_service.py:271 ../controls/VariablePanel.py:332
-#: ../controls/VariablePanel.py:681 ../controls/DebugVariablePanel.py:379
-#: ../IDEFrame.py:966 ../IDEFrame.py:1553 ../IDEFrame.py:1590
-#: ../IDEFrame.py:1595 ../IDEFrame.py:1609 ../IDEFrame.py:1614
-#: ../IDEFrame.py:2290 ../Beremiz.py:1131 ../PLCOpenEditor.py:337
-#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:416 ../PLCOpenEditor.py:426
-#: ../editors/TextViewer.py:369 ../editors/DataTypeEditor.py:549
+#: ../dialogs/ForceVariableDialog.py:179 +#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepNameDialog.py:59 +#: ../dialogs/DurationEditorDialog.py:121 +#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107 +#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71 +#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103 +#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211 +#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104 +#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419 +#: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882 +#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549 #: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578
#: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593
#: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751
-#: ../editors/Viewer.py:365 ../editors/LDViewer.py:666
-#: ../editors/LDViewer.py:882 ../editors/LDViewer.py:886
-#: ../ProjectController.py:225 ../dialogs/PouNameDialog.py:53
-#: ../dialogs/PouTransitionDialog.py:107
-#: ../dialogs/BrowseLocationsDialog.py:212 ../dialogs/ProjectDialog.py:71
-#: ../dialogs/SFCStepNameDialog.py:59 ../dialogs/ConnectionDialog.py:159
-#: ../dialogs/FBDVariableDialog.py:201 ../dialogs/PouActionDialog.py:104
-#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouDialog.py:132
-#: ../dialogs/SFCTransitionDialog.py:147
-#: ../dialogs/DurationEditorDialog.py:121
-#: ../dialogs/DurationEditorDialog.py:163
-#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepDialog.py:130
-#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
-#: ../dialogs/FBDBlockDialog.py:164 ../dialogs/ForceVariableDialog.py:179
+#: ../editors/TextViewer.py:387 ../editors/CodeFileEditor.py:763 +#: ../ProjectController.py:269 ../controls/FolderTree.py:217 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:225 +#: ../controls/VariablePanel.py:392 ../controls/VariablePanel.py:754 +#: ../Beremiz.py:1169 ../IDEFrame.py:978 ../IDEFrame.py:1584 +#: ../IDEFrame.py:1621 ../IDEFrame.py:1626 ../IDEFrame.py:1640 +#: ../IDEFrame.py:1645 ../Beremiz_service.py:190 -#: ../ProjectController.py:601
+#: ../ProjectController.py:663 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
-#: ../ProjectController.py:593
+#: ../ProjectController.py:655 msgid "Error : IEC to C compiler returned %d\n"
-#: ../ProjectController.py:534
+#: ../ProjectController.py:589 "Error in ST/IL/SFC code generator :\n"
-#: ../ConfigTreeNode.py:183
+#: ../ConfigTreeNode.py:192 msgid "Error while saving \"%s\"\n"
@@ -1495,16 +1528,16 @@
msgid "Error: No PLC built\n"
-#: ../ProjectController.py:1416
+#: ../ProjectController.py:1566 msgid "Exception while connecting %s!\n"
-#: ../dialogs/FBDBlockDialog.py:95
+#: ../dialogs/FBDBlockDialog.py:117 msgid "Execution Control:"
-#: ../dialogs/FBDVariableDialog.py:76 ../dialogs/FBDBlockDialog.py:87
+#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105 @@ -1524,7 +1557,7 @@
msgid "Export CanOpen slave to EDS file"
-#: ../controls/DebugVariablePanel.py:1472 ../editors/GraphicViewer.py:144
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243 msgid "Export graph values to clipboard"
@@ -1532,39 +1565,38 @@
-#: ../dialogs/FBDVariableDialog.py:69
+#: ../dialogs/FBDVariableDialog.py:89 -#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72 -#: ../ProjectController.py:605
+#: ../ProjectController.py:676 msgid "Extracting Located Variables...\n"
-#: ../controls/ProjectPropertiesPanel.py:143
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 -#: ../ProjectController.py:1480
+#: ../ProjectController.py:1629 msgid "Failed : Must build before transfer.\n"
-#: ../editors/Viewer.py:404 ../dialogs/LDElementDialog.py:84
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458 -#: ../plcopen/structures.py:216
+#: ../plcopen/definitions.py:32 "Falling edge detector\n"
"The output produces a single pulse when a falling edge is detected."
-#: ../ProjectController.py:927
+#: ../ProjectController.py:946 msgid "Fatal : cannot get builder.\n"
@@ -1578,16 +1610,21 @@
msgid "Fields %s haven't a valid value!"
-#: ../IDEFrame.py:358 ../dialogs/FindInPouDialog.py:30
-#: ../dialogs/FindInPouDialog.py:99
+#: ../controls/FolderTree.py:216 +msgid "File '%s' already exists!" +#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105
@@ -1595,15 +1632,15 @@
-#: ../dialogs/FindInPouDialog.py:51
+#: ../dialogs/FindInPouDialog.py:57 -#: ../connectors/PYRO/__init__.py:125
+#: ../connectors/PYRO/__init__.py:159 msgid "Force runtime reload\n"
-#: ../controls/DebugVariablePanel.py:1934 ../editors/Viewer.py:1385
+#: ../editors/Viewer.py:1528 @@ -1611,14 +1648,15 @@
msgid "Forcing Variable Value"
-#: ../dialogs/PouTransitionDialog.py:97 ../dialogs/ProjectDialog.py:70
-#: ../dialogs/PouActionDialog.py:94 ../dialogs/PouDialog.py:114
-#: ../dialogs/SFCTransitionDialog.py:147
+#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97 +#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94 +#: ../dialogs/PouDialog.py:116 msgid "Form isn't complete. %s must be filled!"
-#: ../dialogs/ConnectionDialog.py:149 ../dialogs/FBDBlockDialog.py:154
+#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232 +#: ../dialogs/ConnectionDialog.py:160 msgid "Form isn't complete. Name must be filled!"
@@ -1626,60 +1664,61 @@
msgid "Form isn't complete. Pattern to search must be filled!"
-#: ../dialogs/FBDBlockDialog.py:152
+#: ../dialogs/FBDBlockDialog.py:228 msgid "Form isn't complete. Valid block type must be selected!"
-#: ../dialogs/FindInPouDialog.py:67
+#: ../dialogs/FindInPouDialog.py:73 -#: ../dialogs/SearchInProjectDialog.py:44
+#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1714
-#: ../IDEFrame.py:1845 ../dialogs/SearchInProjectDialog.py:45
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1713 -#: ../controls/VariablePanel.py:744
+#: ../controls/VariablePanel.py:807 msgid "Function Block Types"
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95 -#: ../editors/Viewer.py:236
+#: ../editors/Viewer.py:244 msgid "Function Blocks can't be used in Functions!"
-#: ../PLCControler.py:2180
+#: ../PLCControler.py:2336 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95 -#: ../PLCOpenEditor.py:119
+#: ../PLCOpenEditor.py:109 -#: ../ProjectController.py:524
+#: ../ProjectController.py:580 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73 -#: ../controls/DebugVariablePanel.py:1471 ../editors/GraphicViewer.py:131
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242 msgid "Go to current value"
@@ -1715,63 +1754,59 @@
-#: ../plcopen/structures.py:278
+#: ../plcopen/definitions.py:44 "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
-#: ../ProjectController.py:851
-msgid "IEC-61131-3 code generation failed !\n"
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36
-#: ../Beremiz_service.py:361 ../Beremiz_service.py:362
+#: ../Beremiz_service.py:278 ../Beremiz_service.py:279 -#: ../svgui/svgui.py:17 ../svgui/svgui.py:18
+#: ../svgui/svgui.py:18 ../svgui/svgui.py:19 -#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1412
-#: ../dialogs/FBDVariableDialog.py:34
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1555 +#: ../controls/VariablePanel.py:71 -#: ../editors/Viewer.py:999
+#: ../editors/Viewer.py:1087 -#: ../controls/VariablePanel.py:265
+#: ../controls/VariablePanel.py:268 msgid "Incompatible data types between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:274
+#: ../controls/VariablePanel.py:277 msgid "Incompatible size of data between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:270
+#: ../controls/VariablePanel.py:273 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 -#: ../editors/Viewer.py:491
+#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058 -#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 +#: ../controls/VariablePanel.py:54 @@ -1780,22 +1815,21 @@
-#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCTransitionDialog.py:66
-#: ../dialogs/SFCTransitionDialog.py:137
+#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42 -#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1410
-#: ../dialogs/BrowseLocationsDialog.py:35 ../dialogs/FBDVariableDialog.py:33
-#: ../dialogs/SFCStepDialog.py:61
+#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37 +#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1553 +#: ../controls/VariablePanel.py:71 -#: ../dialogs/FBDBlockDialog.py:78
+#: ../dialogs/FBDBlockDialog.py:93 @@ -1803,22 +1837,22 @@
-#: ../plcopen/plcopen.py:1843
+#: ../plcopen/plcopen.py:1684 msgid "Instance with id %d doesn't exist!"
-#: ../editors/ResourceEditor.py:255
+#: ../editors/ResourceEditor.py:264 -#: ../plcopen/structures.py:258
+#: ../plcopen/definitions.py:40 "The integral function block integrates the value of input XIN over time."
-#: ../controls/VariablePanel.py:75
+#: ../controls/VariablePanel.py:70 @@ -1830,11 +1864,11 @@
-#: ../PLCControler.py:2157 ../PLCControler.py:2195
+#: ../PLCControler.py:2324 msgid "Invalid plcopen element(s)!!!"
-#: ../canfestival/config_utils.py:376 ../canfestival/config_utils.py:637
+#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638 msgid "Invalid type \"%s\"-> %d != %d for location\"%s\""
@@ -1844,17 +1878,19 @@
msgid "Invalid value \"%s\" for \"%s\" variable!"
-#: ../controls/DebugVariablePanel.py:319 ../controls/DebugVariablePanel.py:322
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160 msgid "Invalid value \"%s\" for debug variable"
-#: ../controls/VariablePanel.py:244 ../controls/VariablePanel.py:247
+#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250 msgid "Invalid value \"%s\" for variable grid element"
-#: ../editors/Viewer.py:221 ../editors/Viewer.py:224
+#: ../editors/Viewer.py:229 ../editors/Viewer.py:232 msgid "Invalid value \"%s\" for viewer block"
@@ -1865,13 +1901,12 @@
"You must fill a numeric value."
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2062 -#: ../controls/ProjectPropertiesPanel.py:143
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 @@ -1881,7 +1916,7 @@
#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:83
-#: ../dialogs/PouDialog.py:102
+#: ../dialogs/PouDialog.py:104 @@ -1890,27 +1925,27 @@
#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
-#: ../dialogs/PouDialog.py:71
+#: ../dialogs/PouDialog.py:73 -#: ../ProjectController.py:1486
+#: ../ProjectController.py:1635 msgid "Latest build already matches current target. Transfering anyway...\n"
-#: ../Beremiz_service.py:331
+#: ../Beremiz_service.py:250 msgid "Launch WX GUI inspector"
-#: ../Beremiz_service.py:330
+#: ../Beremiz_service.py:249 msgid "Launch a live Python shell"
-#: ../editors/Viewer.py:427
+#: ../editors/Viewer.py:481 -#: ../dialogs/LDPowerRailDialog.py:55
+#: ../dialogs/LDPowerRailDialog.py:61 @@ -1926,7 +1961,7 @@
msgid "Less than or equal to"
@@ -1938,7 +1973,7 @@
-#: ../controls/VariablePanel.py:77 ../dialogs/DiscoveryDialog.py:110
+#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72 @@ -1946,15 +1981,15 @@
-#: ../ProjectController.py:1391
+#: ../ProjectController.py:1541 msgid "Local service discovery failed!\n"
-#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:53 -#: ../dialogs/BrowseLocationsDialog.py:68
+#: ../dialogs/BrowseLocationsDialog.py:67 msgid "Locations available:"
@@ -1962,7 +1997,7 @@
msgid "Logarithm to base 10"
-#: ../connectors/PYRO/__init__.py:55
+#: ../connectors/PYRO/__init__.py:90 msgid "MDNS resolution failure for '%s'\n"
@@ -1979,7 +2014,7 @@
-#: ../ConfigTreeNode.py:500
+#: ../ConfigTreeNode.py:514 msgid "Max count (%d) reached for this confnode of type %s "
@@ -1996,7 +2031,7 @@
@@ -2004,7 +2039,7 @@
-#: ../editors/Viewer.py:432
+#: ../editors/Viewer.py:486 @@ -2028,31 +2063,23 @@
-#: ../dialogs/LDElementDialog.py:59
+#: ../dialogs/LDElementDialog.py:63 -#: ../PLCGenerator.py:732 ../PLCGenerator.py:975
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217 msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
-#: ../dialogs/ActionBlockDialog.py:141
-msgid "Move action down"
#: ../dialogs/ActionBlockDialog.py:140
+msgid "Move action down" +#: ../dialogs/ActionBlockDialog.py:139 -#: ../controls/DebugVariablePanel.py:1532
-msgid "Move debug variable down"
-#: ../controls/DebugVariablePanel.py:1531
-msgid "Move debug variable up"
#: ../controls/CustomEditableListBox.py:43
@@ -2065,23 +2092,23 @@
-#: ../editors/ResourceEditor.py:262
+#: ../editors/ResourceEditor.py:271 msgid "Move instance down"
-#: ../editors/ResourceEditor.py:261
+#: ../editors/ResourceEditor.py:270 -#: ../editors/ResourceEditor.py:233
+#: ../editors/ResourceEditor.py:242 -#: ../editors/ResourceEditor.py:232
+#: ../editors/ResourceEditor.py:241 -#: ../IDEFrame.py:82 ../IDEFrame.py:97 ../IDEFrame.py:127 ../IDEFrame.py:168
+#: ../IDEFrame.py:75 ../IDEFrame.py:90 ../IDEFrame.py:120 ../IDEFrame.py:161 @@ -2089,11 +2116,11 @@
-#: ../controls/VariablePanel.py:383 ../c_ext/CFileEditor.py:520
+#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443 msgid "Move variable down"
-#: ../controls/VariablePanel.py:382 ../c_ext/CFileEditor.py:519
+#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442 @@ -2109,19 +2136,18 @@
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50 ../editors/ResourceEditor.py:68
-#: ../editors/ResourceEditor.py:77
+#: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83 +#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 +#: ../controls/VariablePanel.py:54 -#: ../Beremiz_service.py:386
+#: ../Beremiz_service.py:300 msgid "Name must not be null!"
-#: ../dialogs/ConnectionDialog.py:65 ../dialogs/FBDVariableDialog.py:89
-#: ../dialogs/LDElementDialog.py:88 ../dialogs/SFCStepDialog.py:51
-#: ../dialogs/FBDBlockDialog.py:70
+#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83 +#: ../dialogs/ConnectionDialog.py:75 @@ -2129,12 +2155,12 @@
msgid "Natural logarithm"
-#: ../editors/Viewer.py:402 ../dialogs/LDElementDialog.py:67
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456 -#: ../Beremiz.py:309 ../Beremiz.py:344 ../PLCOpenEditor.py:106
-#: ../PLCOpenEditor.py:148
+#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314 @@ -2142,58 +2168,55 @@
-#: ../editors/Viewer.py:401
+#: ../editors/Viewer.py:455 -#: ../PLCControler.py:3054
-msgid "No PLC project found"
-#: ../ProjectController.py:1513
+#: ../ProjectController.py:1662 msgid "No PLC to transfer (did build succeed ?)\n"
-#: ../PLCGenerator.py:1360
+#: ../PLCGenerator.py:1608 msgid "No body defined in \"%s\" POU"
-#: ../PLCGenerator.py:751 ../PLCGenerator.py:984
+#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227 msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
-#: ../PLCOpenEditor.py:349
+#: ../PLCOpenEditor.py:340 "No documentation available.\n"
-#: ../PLCGenerator.py:773
+#: ../PLCGenerator.py:819 msgid "No informations found for \"%s\" block"
-#: ../plcopen/structures.py:166
-msgid "No output variable found"
+#: ../PLCGenerator.py:1183 +msgid "No output %s variable found in block %s in POU %s. Connection must be broken" #: ../controls/SearchResultPanel.py:169
msgid "No search results available."
+#: ../svgui/svgui.py:107 msgid "No such SVG file: %s\n"
-#: ../canfestival/config_utils.py:632
+#: ../canfestival/config_utils.py:633 msgid "No such index/subindex (%x,%x) (variable %s)"
-#: ../canfestival/config_utils.py:361
+#: ../canfestival/config_utils.py:362 msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
@@ -2202,25 +2225,25 @@
msgid "No valid value selected!"
-#: ../PLCGenerator.py:1358
+#: ../PLCGenerator.py:1606 msgid "No variable defined in \"%s\" POU"
-#: ../canfestival/config_utils.py:354
+#: ../canfestival/config_utils.py:355 msgid "Non existing node ID : %d (variable %s)"
-#: ../controls/VariablePanel.py:69
+#: ../controls/VariablePanel.py:64 -#: ../dialogs/LDElementDialog.py:62
+#: ../dialogs/LDElementDialog.py:75 -#: ../canfestival/config_utils.py:383
+#: ../canfestival/config_utils.py:384 msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
@@ -2229,7 +2252,7 @@
-#: ../dialogs/SFCDivergenceDialog.py:80
+#: ../dialogs/SFCDivergenceDialog.py:78 msgid "Number of sequences:"
@@ -2237,13 +2260,13 @@
-#: ../plcopen/structures.py:246
+#: ../plcopen/definitions.py:38 "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false."
-#: ../plcopen/structures.py:241
+#: ../plcopen/definitions.py:37 "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
@@ -2253,28 +2276,28 @@
-#: ../Beremiz.py:311 ../Beremiz.py:345 ../PLCOpenEditor.py:108
-#: ../PLCOpenEditor.py:149
+#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316 -#: ../svgui/svgui.py:107
+#: ../svgui/svgui.py:116 -#: ../ProjectController.py:1565
+#: ../ProjectController.py:1714 msgid "Open a file explorer to manage project files"
-#: ../wxglade_hmi/wxglade_hmi.py:109
+#: ../wxglade_hmi/wxglade_hmi.py:114 -#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 -#: ../dialogs/FindInPouDialog.py:76
+#: ../dialogs/FindInPouDialog.py:82 @@ -2286,9 +2309,9 @@
-#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1411
-#: ../dialogs/BrowseLocationsDialog.py:36 ../dialogs/FBDVariableDialog.py:35
-#: ../dialogs/SFCStepDialog.py:65
+#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1554 +#: ../controls/VariablePanel.py:71 @@ -2300,7 +2323,7 @@
-#: ../plcopen/structures.py:268
+#: ../plcopen/definitions.py:42 "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
@@ -2310,35 +2333,56 @@
-#: ../PLCOpenEditor.py:294 ../PLCOpenEditor.py:370
+#: ../ProjectController.py:930 +msgid "PLC code generation failed !\n" +#: ../PLCOpenEditor.py:189 ../PLCOpenEditor.py:302 +"PLC syntax error at line %d:\n" +#: ../PLCOpenEditor.py:285 ../PLCOpenEditor.py:361 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
-#: ../PLCOpenEditor.py:156 ../PLCOpenEditor.py:212
+#: ../PLCOpenEditor.py:146 ../PLCOpenEditor.py:202 -#: ../dialogs/PouDialog.py:98
-#: ../dialogs/PouDialog.py:56
#: ../dialogs/PouDialog.py:100
+#: ../dialogs/PouDialog.py:58 +#: ../dialogs/PouDialog.py:102 -#: ../dialogs/PouDialog.py:63
+#: ../dialogs/PouDialog.py:65 -#: ../Beremiz.py:324 ../PLCOpenEditor.py:122
+#: ../connectors/PYRO/__init__.py:41 +msgid "PYRO connecting to URI : %s\n" +#: ../connectors/PYRO/__init__.py:57 +msgid "PYRO using certificates in '%s' \n" +#: ../PLCOpenEditor.py:112 ../Beremiz.py:329 @@ -2346,20 +2390,20 @@
msgid "Page Size (optional):"
-#: ../controls/PouInstanceVariablesPanel.py:48
+#: ../controls/PouInstanceVariablesPanel.py:124 -#: ../IDEFrame.py:355 ../IDEFrame.py:407 ../editors/Viewer.py:537
+#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402
@@ -2367,17 +2411,20 @@
msgid "Pattern to search:"
-#: ../dialogs/LDPowerRailDialog.py:64
+#: ../dialogs/LDPowerRailDialog.py:72 -#: ../editors/Viewer.py:2363 ../editors/Viewer.py:2670
+#: ../editors/Viewer.py:2672 ../editors/Viewer.py:2916 #: ../editors/SFCViewer.py:696
msgid "Please choose a target"
-#: ../editors/Viewer.py:2186 ../editors/Viewer.py:2188
-#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2708
+#: ../editors/TextViewer.py:261 +msgid "Please enter a block name" +#: ../editors/Viewer.py:2542 ../editors/Viewer.py:2953 msgid "Please enter comment text"
@@ -2391,43 +2438,36 @@
msgid "Please enter value for a \"%s\" variable:"
-#: ../Beremiz_service.py:371
+#: ../Beremiz_service.py:287 msgid "Port number must be 0 <= port <= 65535!"
-#: ../Beremiz_service.py:371
+#: ../Beremiz_service.py:287 msgid "Port number must be an integer!"
-#: ../editors/GraphicViewer.py:105
-#: ../editors/Viewer.py:475
+#: ../editors/Viewer.py:532 ../editors/Viewer.py:2085 -#: ../dialogs/LDPowerRailDialog.py:36
+#: ../dialogs/LDPowerRailDialog.py:49 msgid "Power Rail Properties"
-#: ../Beremiz.py:326 ../PLCOpenEditor.py:124
+#: ../PLCOpenEditor.py:114 ../Beremiz.py:331 -#: ../dialogs/SFCDivergenceDialog.py:93 ../dialogs/LDPowerRailDialog.py:78
-#: ../dialogs/ConnectionDialog.py:78 ../dialogs/FBDVariableDialog.py:97
-#: ../dialogs/SFCTransitionDialog.py:96 ../dialogs/LDElementDialog.py:101
-#: ../dialogs/SFCStepDialog.py:79 ../dialogs/FBDBlockDialog.py:103
+#: ../dialogs/BlockPreviewDialog.py:57 -#: ../Beremiz.py:328 ../Beremiz.py:348 ../PLCOpenEditor.py:126
-#: ../PLCOpenEditor.py:152
+#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333
@@ -2435,11 +2475,11 @@
-#: ../dialogs/SFCTransitionDialog.py:83
+#: ../dialogs/SFCTransitionDialog.py:88 -#: ../runtime/PLCObject.py:318
+#: ../runtime/PLCObject.py:369 msgid "Problem starting PLC : error %d"
@@ -2456,23 +2496,24 @@
msgid "Product Version (required):"
-#: ../IDEFrame.py:1848 ../dialogs/SearchInProjectDialog.py:46
+#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1712 -#: ../PLCOpenEditor.py:339
+#: ../PLCOpenEditor.py:330 msgid "Program was successfully generated!"
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96 -#: ../editors/Viewer.py:230
+#: ../editors/Viewer.py:238 msgid "Programs can't be used by other POUs!"
-#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:557
+#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:559 @@ -2481,7 +2522,7 @@
-#: ../ProjectController.py:1564
+#: ../ProjectController.py:1713 @@ -2493,36 +2534,36 @@
msgid "Project Version (optional):"
-#: ../PLCControler.py:3041
+#: ../PLCControler.py:3157 "Project file syntax error:\n"
-#: ../editors/ProjectNodeEditor.py:14 ../dialogs/ProjectDialog.py:32
+#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14 msgid "Project properties"
-#: ../ConfigTreeNode.py:526
+#: ../ConfigTreeNode.py:540 msgid "Project tree layout do not match confnode.xml %s!=%s "
-#: ../dialogs/ConnectionDialog.py:96
+#: ../dialogs/ConnectionDialog.py:94 -#: ../PLCControler.py:96
+#: ../PLCControler.py:97 -#: ../plcopen/structures.py:236
+#: ../plcopen/definitions.py:36 "The pulse timer can be used to generate output pulses of a given time duration."
-#: ../py_ext/PythonEditor.py:61
+#: ../py_ext/PythonEditor.py:57 @@ -2530,54 +2571,54 @@
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 -#: ../Beremiz_service.py:333 ../Beremiz.py:331 ../PLCOpenEditor.py:132
+#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252 -#: ../plcopen/structures.py:201
+#: ../plcopen/definitions.py:29 "The RS bistable is a latch where the Reset dominates."
-#: ../plcopen/structures.py:273
+#: ../plcopen/definitions.py:43 "The RAMP function block is modelled on example given in the standard."
-#: ../controls/DebugVariablePanel.py:1462 ../editors/GraphicViewer.py:89
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:225 -#: ../ProjectController.py:1560
+#: ../ProjectController.py:1709 -#: ../plcopen/structures.py:253
+#: ../plcopen/definitions.py:39 "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on."
msgid "Really delete node '%s'?"
-#: ../IDEFrame.py:345 ../IDEFrame.py:403
+#: ../IDEFrame.py:338 ../IDEFrame.py:398 -#: ../dialogs/SFCTransitionDialog.py:57 ../dialogs/SFCTransitionDialog.py:135
+#: ../dialogs/SFCTransitionDialog.py:73 -#: ../IDEFrame.py:413 ../dialogs/DiscoveryDialog.py:105
+#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408 @@ -2585,11 +2626,11 @@
msgid "Regular expression"
-#: ../dialogs/FindInPouDialog.py:91
+#: ../dialogs/FindInPouDialog.py:97 msgid "Regular expressions"
-#: ../controls/DebugVariablePanel.py:1938 ../editors/Viewer.py:1388
+#: ../editors/Viewer.py:1531 @@ -2597,19 +2638,23 @@
msgid "Remainder (modulo)"
-#: ../dialogs/ActionBlockDialog.py:139
+#: ../dialogs/ActionBlockDialog.py:138 -#: ../controls/DebugVariablePanel.py:1530
-msgid "Remove debug variable"
#: ../editors/DataTypeEditor.py:352
@@ -2618,7 +2663,7 @@
msgid "Remove file from left folder"
-#: ../editors/ResourceEditor.py:260
+#: ../editors/ResourceEditor.py:269 @@ -2626,15 +2671,15 @@
-#: ../editors/ResourceEditor.py:231
+#: ../editors/ResourceEditor.py:240 -#: ../controls/VariablePanel.py:381 ../c_ext/CFileEditor.py:518
+#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441
@@ -2642,6 +2687,10 @@
+#: ../editors/Viewer.py:498 +msgid "Replace Wire by connections" #: ../plcopen/iec_std.csv:89
msgid "Replacement (within)"
@@ -2650,11 +2699,11 @@
-#: ../editors/Viewer.py:521
+#: ../editors/Viewer.py:578 msgid "Reset Execution Order"
msgid "Reset Perspective"
@@ -2662,35 +2711,31 @@
msgid "Reset search result"
-#: ../editors/GraphicViewer.py:137
-msgid "Reset zoom and offset"
-#: ../PLCControler.py:96
+#: ../PLCControler.py:97 ../Beremiz.py:1041 -#: ../controls/VariablePanel.py:67
+#: ../controls/VariablePanel.py:62 -#: ../controls/VariablePanel.py:354
+#: ../controls/VariablePanel.py:414 -#: ../editors/Viewer.py:429
+#: ../editors/Viewer.py:483 -#: ../dialogs/LDPowerRailDialog.py:60
+#: ../dialogs/LDPowerRailDialog.py:62 -#: ../editors/Viewer.py:403 ../dialogs/LDElementDialog.py:80
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457 -#: ../plcopen/structures.py:211
+#: ../plcopen/definitions.py:31 "The output produces a single pulse when a rising edge is detected."
@@ -2708,12 +2753,16 @@
-#: ../ProjectController.py:1528
+#: ../ProjectController.py:1677 -#: ../ProjectController.py:865 ../ProjectController.py:874
-msgid "Runtime extensions C code generation failed !\n"
+#: ../ProjectController.py:975 +msgid "Runtime IO extensions C code generation failed !\n" +#: ../ProjectController.py:984 +msgid "Runtime library extensions C code generation failed !\n" #: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59
@@ -2724,11 +2773,11 @@
-#: ../controls/ProjectPropertiesPanel.py:143 ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 -#: ../plcopen/structures.py:196
+#: ../plcopen/definitions.py:28 "The SR bistable is a latch where the Set dominates."
@@ -2739,11 +2788,11 @@
-#: ../PLCOpenEditor.py:326
+#: ../PLCOpenEditor.py:317 msgid "ST files (*.st)|*.st|All files|*.*"
+#: ../svgui/svgui.py:101 msgid "SVG files (*.svg)|*.svg|All files|*.*"
@@ -2751,16 +2800,16 @@
-#: ../Beremiz.py:315 ../Beremiz.py:346 ../PLCOpenEditor.py:115
-#: ../PLCOpenEditor.py:150
+#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320 -#: ../Beremiz.py:347 ../PLCOpenEditor.py:117 ../PLCOpenEditor.py:151
+#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352
@@ -2768,12 +2817,11 @@
-#: ../IDEFrame.py:596 ../dialogs/SearchInProjectDialog.py:105
+#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:598 -#: ../IDEFrame.py:365 ../IDEFrame.py:409
-#: ../dialogs/SearchInProjectDialog.py:52
+#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404 msgid "Search in Project"
@@ -2781,24 +2829,25 @@
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:323 ../editors/Viewer.py:275
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280 +#: ../controls/VariablePanel.py:340 msgid "Select a variable class:"
-#: ../ProjectController.py:1039
+#: ../ProjectController.py:1126 msgid "Select an editor:"
-#: ../controls/PouInstanceVariablesPanel.py:209
+#: ../controls/PouInstanceVariablesPanel.py:276 msgid "Select an instance"
@@ -2806,15 +2855,15 @@
-#: ../dialogs/SFCDivergenceDialog.py:62
+#: ../dialogs/SFCDivergenceDialog.py:65 msgid "Selection Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:55
+#: ../dialogs/SFCDivergenceDialog.py:64 msgid "Selection Divergence"
-#: ../plcopen/structures.py:206
+#: ../plcopen/definitions.py:30 "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
@@ -2824,7 +2873,7 @@
msgid "Services available:"
-#: ../dialogs/LDElementDialog.py:72
+#: ../dialogs/LDElementDialog.py:76 @@ -2836,7 +2885,7 @@
-#: ../ProjectController.py:1554
+#: ../ProjectController.py:1703 msgid "Show IEC code generated by PLCGenerator"
@@ -2848,15 +2897,15 @@
msgid "Show Master generated by config_utils"
-#: ../ProjectController.py:1552
+#: ../ProjectController.py:1701 -#: ../dialogs/SFCDivergenceDialog.py:74
+#: ../dialogs/SFCDivergenceDialog.py:67 msgid "Simultaneous Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:68
+#: ../dialogs/SFCDivergenceDialog.py:66 msgid "Simultaneous Divergence"
@@ -2868,48 +2917,52 @@
+#: ../targets/toolchain_makefile.py:112 +msgid "Source didn't change, no build.\n" #: ../plcopen/iec_std.csv:23
msgid "Square root (base 2)"
-#: ../plcopen/structures.py:192
+#: ../plcopen/definitions.py:21 msgid "Standard function blocks"
-#: ../Beremiz_service.py:321 ../ProjectController.py:1530
+#: ../ProjectController.py:1679 ../Beremiz_service.py:240 -#: ../ProjectController.py:843
+#: ../ProjectController.py:922 msgid "Start build in %s\n"
-#: ../ProjectController.py:1341
+#: ../ProjectController.py:1483
-#: ../editors/Viewer.py:492
+#: ../editors/Viewer.py:549 ../editors/Viewer.py:2059 -#: ../ProjectController.py:1533
+#: ../ProjectController.py:1682 -#: ../Beremiz_service.py:322
+#: ../Beremiz_service.py:241 -#: ../ProjectController.py:1535
+#: ../ProjectController.py:1684 -#: ../ProjectController.py:1318
+#: ../ProjectController.py:1455 msgid "Stopping debugger...\n"
@@ -2925,7 +2978,7 @@
-#: ../ProjectController.py:942
+#: ../ProjectController.py:961 msgid "Successfully built.\n"
@@ -2937,15 +2990,15 @@
-#: ../editors/ResourceEditor.py:77
+#: ../editors/ResourceEditor.py:83 -#: ../editors/ResourceEditor.py:226
+#: ../editors/ResourceEditor.py:235 -#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73 @@ -2960,16 +3013,16 @@
msgid "The group of block must be coherent!"
-#: ../IDEFrame.py:974 ../Beremiz.py:590
+#: ../Beremiz.py:616 ../IDEFrame.py:986 msgid "There are changes, do you want to save?"
-#: ../IDEFrame.py:1590 ../IDEFrame.py:1609
+#: ../IDEFrame.py:1621 ../IDEFrame.py:1640 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -2979,10 +3032,6 @@
msgid "This option isn't available yet!"
-#: ../editors/GraphicViewer.py:278
#: ../plcopen/iec_std.csv:40
@@ -3016,31 +3065,31 @@
msgid "Time-of-day subtraction"
-#: ../editors/Viewer.py:431
+#: ../editors/Viewer.py:485 -#: ../ProjectController.py:1542
+#: ../ProjectController.py:1691 -#: ../ProjectController.py:1544
+#: ../ProjectController.py:1693 -#: ../ProjectController.py:1509
+#: ../ProjectController.py:1658 msgid "Transfer completed successfully.\n"
-#: ../ProjectController.py:1511
+#: ../ProjectController.py:1660 msgid "Transfer failed\n"
-#: ../editors/Viewer.py:493
+#: ../editors/Viewer.py:550 ../editors/Viewer.py:2060 ../editors/Viewer.py:2089 -#: ../PLCGenerator.py:1252
+#: ../PLCGenerator.py:1499 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
@@ -3053,22 +3102,22 @@
-#: ../PLCGenerator.py:1340
+#: ../PLCGenerator.py:1588 msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-#: ../PLCGenerator.py:1331
+#: ../PLCGenerator.py:1579 msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
-#: ../plcopen/plcopen.py:1447
+#: ../plcopen/plcopen.py:1315 msgid "Transition with name %s doesn't exist!"
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96 @@ -3076,17 +3125,17 @@
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50 ../editors/ResourceEditor.py:77
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83 +#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 +#: ../controls/VariablePanel.py:54 -#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:43 msgid "Type and derivated"
-#: ../canfestival/config_utils.py:335 ../canfestival/config_utils.py:617
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618 msgid "Type conflict for location \"%s\""
@@ -3099,76 +3148,76 @@
-#: ../dialogs/BrowseLocationsDialog.py:45
+#: ../dialogs/BrowseLocationsDialog.py:44 -#: ../dialogs/SFCDivergenceDialog.py:51 ../dialogs/LDPowerRailDialog.py:51
-#: ../dialogs/BrowseLocationsDialog.py:95 ../dialogs/ConnectionDialog.py:52
-#: ../dialogs/SFCTransitionDialog.py:53 ../dialogs/FBDBlockDialog.py:48
+#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56 +#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94 +#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58 -#: ../canfestival/config_utils.py:455 ../canfestival/config_utils.py:469
+#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470 msgid "Unable to define PDO mapping for node %02x"
-#: ../targets/Xenomai/__init__.py:14
+#: ../targets/Xenomai/__init__.py:15 msgid "Unable to get Xenomai's %s \n"
-#: ../PLCGenerator.py:904 ../PLCGenerator.py:963
+#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202 msgid "Undefined block type \"%s\" in \"%s\" POU"
-#: ../PLCGenerator.py:252
+#: ../PLCGenerator.py:254 msgid "Undefined pou type \"%s\""
-#: ../IDEFrame.py:343 ../IDEFrame.py:402
+#: ../IDEFrame.py:336 ../IDEFrame.py:397 -#: ../ProjectController.py:262
+#: ../ProjectController.py:308 -#: ../editors/Viewer.py:335
+#: ../editors/Viewer.py:389 msgid "Unknown variable \"%s\" for this POU!"
-#: ../ProjectController.py:259 ../ProjectController.py:260
+#: ../ProjectController.py:305 ../ProjectController.py:306 -#: ../PLCControler.py:305
+#: ../PLCControler.py:636 -#: ../controls/VariablePanel.py:272
+#: ../controls/VariablePanel.py:275 msgid "Unrecognized data size \"%s\""
-#: ../plcopen/structures.py:221
+#: ../plcopen/definitions.py:33 "The up-counter can be used to signal when a count has reached a maximum value."
-#: ../plcopen/structures.py:231
+#: ../plcopen/definitions.py:35 "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other."
-#: ../controls/VariablePanel.py:712 ../editors/DataTypeEditor.py:631
+#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780 @@ -3176,41 +3225,42 @@
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95 msgid "User-defined POUs"
-#: ../controls/DebugVariablePanel.py:58 ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 -#: ../editors/GraphicViewer.py:278
#: ../editors/DataTypeEditor.py:258
-#: ../controls/DebugVariablePanel.py:58 ../editors/Viewer.py:465
-#: ../dialogs/ActionBlockDialog.py:41
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522 +#: ../editors/Viewer.py:2074 -#: ../dialogs/FBDVariableDialog.py:47
+#: ../dialogs/FBDVariableDialog.py:63 msgid "Variable Properties"
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:323 ../editors/Viewer.py:275
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280 +#: ../controls/VariablePanel.py:340 -#: ../editors/TextViewer.py:367 ../editors/Viewer.py:337
+#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385 msgid "Variable don't belong to this POU!"
-#: ../controls/VariablePanel.py:77
+#: ../dialogs/LDElementDialog.py:89 +#: ../controls/VariablePanel.py:72 @@ -3218,19 +3268,29 @@
+#: ../connectors/WAMP/__init__.py:88 +msgid "WAMP connecting to URL : %s\n" +#: ../connectors/WAMP/__init__.py:128 +msgid "WAMP connection timeout" +#: ../connectors/WAMP/__init__.py:147 +msgid "WAMP connection to '%s' failed.\n" #: ../wxglade_hmi/wxglade_hmi.py:11
-#: ../ProjectController.py:1302
-msgid "Waiting debugger to recover...\n"
-#: ../editors/LDViewer.py:891 ../dialogs/PouDialog.py:126
+#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891 -#: ../ProjectController.py:529
+#: ../ProjectController.py:584 msgid "Warnings in ST/IL/SFC code generator :\n"
@@ -3242,7 +3302,7 @@
-#: ../dialogs/FindInPouDialog.py:86
+#: ../dialogs/FindInPouDialog.py:92 @@ -3250,19 +3310,19 @@
-#: ../svgui/svgui.py:106
+#: ../svgui/svgui.py:115 "You don't have write permissions.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:108
+#: ../wxglade_hmi/wxglade_hmi.py:113 "You don't have write permissions.\n"
-#: ../ProjectController.py:224
+#: ../ProjectController.py:268 "You must have permission to work on the project\n"
"Work on a project copy ?"
@@ -3276,8 +3336,7 @@
msgid "You must select the wire where a contact should be added!"
-#: ../dialogs/PouNameDialog.py:45 ../dialogs/SFCStepNameDialog.py:47
-#: ../dialogs/SFCStepDialog.py:118
+#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45 msgid "You must type a name!"
@@ -3285,25 +3344,21 @@
msgid "You must type a value!"
-#: ../editors/GraphicViewer.py:97
-#: ../PLCOpenEditor.py:335
+#: ../PLCOpenEditor.py:326 -#: ../util/ProcessLogger.py:161
+#: ../util/ProcessLogger.py:166 msgid "exited with status %s (pid %s)\n"
-#: ../PLCOpenEditor.py:393 ../PLCOpenEditor.py:395
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 @@ -3311,7 +3366,7 @@
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:387 @@ -3319,7 +3374,7 @@
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:387 @@ -3339,7 +3394,7 @@
-#: ../PLCOpenEditor.py:333
+#: ../PLCOpenEditor.py:324 @@ -3376,15 +3431,36 @@
@@ -3394,24 +3470,6 @@
@@ -3426,3 +3484,33 @@
msgid "Disable_Extensions"
+msgid "%(codefile_name)s"