--- a/i18n/messages.po Fri Jun 15 16:30:06 2018 +0300
+++ b/i18n/messages.po Fri Jun 15 16:41:55 2018 +0300
@@ -1,14 +1,14 @@
# English translations for Beremiz package.
-# Copyright (C) 2017 THE Beremiz'S COPYRIGHT HOLDER
+# Copyright (C) 2018 THE Beremiz'S COPYRIGHT HOLDER # This file is distributed under the same license as the Beremiz package.
-# Automatically generated, 2017.
+# Automatically generated, 2018. "Project-Id-Version: Beremiz\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-07-05 13:02+0300\n"
-"PO-Revision-Date: 2017-07-05 13:02+0300\n"
+"POT-Creation-Date: 2018-06-15 16:39+0300\n" +"PO-Revision-Date: 2018-06-15 16:39+0300\n" "Last-Translator: Automatically generated\n"
@@ -17,7 +17,7 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../BeremizIDE.py:1095 ../PLCOpenEditor.py:418
+#: ../util/ExceptionHandler.py:58 @@ -42,151 +42,156 @@
-#: ../controls/VariablePanel.py:72
+#: ../controls/VariablePanel.py:90 -#: ../controls/VariablePanel.py:71
+#: ../controls/VariablePanel.py:89 -#: ../controls/VariablePanel.py:71
+#: ../controls/VariablePanel.py:89 -#: ../controls/VariablePanel.py:72
+#: ../controls/VariablePanel.py:90 -#: ../controls/VariablePanel.py:71
+#: ../controls/VariablePanel.py:89 -#: ../controls/VariablePanel.py:73
+#: ../controls/VariablePanel.py:91 -#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:69
-#: ../dialogs/PouActionDialog.py:92 ../dialogs/PouDialog.py:114
+#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122 -#: ../ProjectController.py:1151
+#: ../ProjectController.py:1182 msgid " generation failed !\n"
msgstr " generation failed !\n"
-#: ../plcopen/plcopen.py:886
+#: ../plcopen/plcopen.py:1029 msgid "\"%s\" Data Type doesn't exist !!!"
msgstr "\"%s\" Data Type doesn't exist !!!"
-#: ../plcopen/plcopen.py:904
+#: ../plcopen/plcopen.py:1047 msgid "\"%s\" POU already exists !!!"
msgstr "\"%s\" POU already exists !!!"
-#: ../plcopen/plcopen.py:925
+#: ../plcopen/plcopen.py:1068 msgid "\"%s\" POU doesn't exist !!!"
msgstr "\"%s\" POU doesn't exist !!!"
-#: ../editors/Viewer.py:247
+#: ../editors/Viewer.py:288 msgid "\"%s\" can't use itself!"
msgstr "\"%s\" can't use itself!"
-#: ../IDEFrame.py:1655 ../IDEFrame.py:1674
+#: ../IDEFrame.py:1688 ../IDEFrame.py:1707 msgid "\"%s\" config already exists!"
msgstr "\"%s\" config already exists!"
-#: ../plcopen/plcopen.py:472
+#: ../plcopen/plcopen.py:531 msgid "\"%s\" configuration already exists !!!"
msgstr "\"%s\" configuration already exists !!!"
+#: ../plcopen/plcopen.py:540 +msgid "\"%s\" configuration doesn't exist !!!" +msgstr "\"%s\" configuration doesn't exist !!!" msgid "\"%s\" data type already exists!"
msgstr "\"%s\" data type already exists!"
-#: ../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
+#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouActionDialog.py:110 ../editors/Viewer.py:304 +#: ../editors/Viewer.py:374 ../editors/Viewer.py:398 ../editors/Viewer.py:418 +#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299 +#: ../controls/VariablePanel.py:425 msgid "\"%s\" element for this pou already exists!"
msgstr "\"%s\" element for this pou already exists!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
msgstr "\"%s\" folder is not a valid Beremiz project\n"
-#: ../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:587
-#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:773
+#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108 +#: ../dialogs/BlockPreviewDialog.py:209 ../dialogs/PouNameDialog.py:54 +#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:129 +#: ../editors/ResourceEditor.py:483 ../editors/ResourceEditor.py:518 +#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:603 +#: ../editors/CodeFileEditor.py:774 ../controls/VariablePanel.py:787 msgid "\"%s\" is a keyword. It can't be used!"
msgstr "\"%s\" is a keyword. It can't be used!"
-#: ../plcopen/plcopen.py:2417
+#: ../plcopen/plcopen.py:2836 msgid "\"%s\" is an invalid value!"
msgstr "\"%s\" is an invalid value!"
-#: ../PLCOpenEditor.py:349 ../PLCOpenEditor.py:391
+#: ../PLCOpenEditor.py:323 ../PLCOpenEditor.py:365 msgid "\"%s\" is not a valid folder!"
msgstr "\"%s\" is not a valid folder!"
-#: ../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:585 ../editors/CodeFileEditor.py:774
-#: ../controls/VariablePanel.py:771 ../IDEFrame.py:1594
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106 +#: ../dialogs/BlockPreviewDialog.py:205 ../dialogs/PouNameDialog.py:52 +#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:127 +#: ../editors/ResourceEditor.py:481 ../editors/ResourceEditor.py:516 +#: ../editors/DataTypeEditor.py:601 ../editors/CodeFileEditor.py:772 +#: ../controls/VariablePanel.py:785 ../IDEFrame.py:1627 msgid "\"%s\" is not a valid identifier!"
msgstr "\"%s\" is not a valid identifier!"
msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
msgstr "\"%s\" is used by one or more POUs. Do you wish to continue?"
-#: ../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
+#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:131 +#: ../editors/Viewer.py:302 ../editors/Viewer.py:359 ../editors/Viewer.py:389 +#: ../editors/Viewer.py:411 ../editors/TextViewer.py:268 +#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:351 +#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:364 msgid "\"%s\" pou already exists!"
msgstr "\"%s\" pou already exists!"
-#: ../dialogs/SFCStepNameDialog.py:58
+#: ../dialogs/SFCStepNameDialog.py:62 msgid "\"%s\" step already exists!"
msgstr "\"%s\" step already exists!"
-#: ../editors/DataTypeEditor.py:550
+#: ../editors/DataTypeEditor.py:566 msgid "\"%s\" value already defined!"
msgstr "\"%s\" value already defined!"
-#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:743
+#: ../dialogs/ArrayTypeDialog.py:105 ../editors/DataTypeEditor.py:759 msgid "\"%s\" value isn't a valid array dimension!"
msgstr "\"%s\" value isn't a valid array dimension!"
-#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:750
+#: ../dialogs/ArrayTypeDialog.py:109 ../editors/DataTypeEditor.py:766 "\"%s\" value isn't a valid array dimension!\n"
@@ -195,207 +200,203 @@
"\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
-#: ../PLCGenerator.py:1101
+#: ../PLCGenerator.py:1133 msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
msgstr "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
-#: ../editors/Viewer.py:251
+#: ../editors/Viewer.py:292 msgid "\"{a1}\" is already used by \"{a2}\"!"
msgstr "\"{a1}\" is already used by \"{a2}\"!"
-#: ../plcopen/plcopen.py:496
+#: ../plcopen/plcopen.py:557 msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
msgstr "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
-#: ../plcopen/plcopen.py:514
+#: ../plcopen/plcopen.py:577 msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
msgstr "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:58 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574 -#: ../PLCControler.py:1533
+#: ../PLCControler.py:1114 -#: ../PLCControler.py:1516
+#: ../PLCControler.py:1097 -#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:90
+#: ../canfestival/SlaveEditor.py:73 ../canfestival/NetworkEditor.py:97 -#: ../plcopen/plcopen.py:1650 ../plcopen/plcopen.py:1657
-#: ../plcopen/plcopen.py:1669 ../plcopen/plcopen.py:1677
-#: ../plcopen/plcopen.py:1687
+#: ../plcopen/plcopen.py:1901 ../plcopen/plcopen.py:1908 +#: ../plcopen/plcopen.py:1921 ../plcopen/plcopen.py:1929 +#: ../plcopen/plcopen.py:1939 ../plcopen/plcopen.py:1950 msgid "%s body don't have instances!"
msgstr "%s body don't have instances!"
-#: ../plcopen/plcopen.py:1705 ../plcopen/plcopen.py:1712
-#: ../plcopen/plcopen.py:1719
+#: ../plcopen/plcopen.py:1957 ../plcopen/plcopen.py:1964 +#: ../plcopen/plcopen.py:1971 msgid "%s body don't have text!"
msgstr "%s body don't have text!"
-#: ../dialogs/AboutDialog.py:73 ../dialogs/AboutDialog.py:121
-#: ../dialogs/AboutDialog.py:158
+#: ../dialogs/AboutDialog.py:71 ../dialogs/AboutDialog.py:117 +#: ../dialogs/AboutDialog.py:152
-#: ../dialogs/AboutDialog.py:72
+#: ../dialogs/AboutDialog.py:70
-#: ../PLCOpenEditor.py:127
+#: ../PLCOpenEditor.py:98
msgstr "&Recent Projects"
-#: ../controls/SearchResultPanel.py:239
+#: ../controls/SearchResultPanel.py:247 msgid "'{a1}' - {a2} match in project"
msgstr "'{a1}' - {a2} match in project"
-#: ../controls/SearchResultPanel.py:241
+#: ../controls/SearchResultPanel.py:249 msgid "'{a1}' - {a2} matches in project"
msgstr "'{a1}' - {a2} matches in project"
-#: ../connectors/PYRO/__init__.py:90
+#: ../connectors/PYRO/__init__.py:98 msgid "'{a1}' is located at {a2}\n"
msgstr "'{a1}' is located at {a2}\n"
-#: ../controls/SearchResultPanel.py:291
+#: ../controls/SearchResultPanel.py:298 -#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 ../PLCOpenEditor.py:409
-#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:94
-#: ../dialogs/PouDialog.py:116
+#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101 +#: ../dialogs/PouDialog.py:124 -#: ../PLCOpenEditor.py:404
-#: ../controls/LogViewer.py:279
+#: ../controls/UriLocationEditor.py:49 +msgid "- Select URI type -" +msgstr "- Select URI type -" +#: ../controls/LogViewer.py:287 -#: ../controls/LogViewer.py:280
+#: ../controls/LogViewer.py:288 -#: ../controls/LogViewer.py:281
+#: ../controls/LogViewer.py:289 -#: ../controls/LogViewer.py:282
+#: ../controls/LogViewer.py:290 -#: ../dialogs/PouDialog.py:125 ../IDEFrame.py:1617 ../IDEFrame.py:1663
+#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
-#: ../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
+#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:110 +#: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108 +#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677 msgid "A POU named \"%s\" already exists!"
msgstr "A POU named \"%s\" already exists!"
@@ -405,26 +406,26 @@
msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
msgstr "A child named \"{a1}\" already exists -> \"{a2}\"\n"
-#: ../dialogs/BrowseLocationsDialog.py:218
+#: ../dialogs/BrowseLocationsDialog.py:229 msgid "A location must be selected!"
msgstr "A location must be selected!"
-#: ../editors/ResourceEditor.py:451
+#: ../editors/ResourceEditor.py:485 msgid "A task with the same name already exists!"
msgstr "A task with the same name already exists!"
-#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:777
-#: ../IDEFrame.py:1633 ../IDEFrame.py:1646
+#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791 +#: ../IDEFrame.py:1666 ../IDEFrame.py:1679 msgid "A variable with \"%s\" as name already exists in this pou!"
msgstr "A variable with \"%s\" as name already exists in this pou!"
-#: ../editors/CodeFileEditor.py:780
+#: ../editors/CodeFileEditor.py:778 msgid "A variable with \"%s\" as name already exists!"
msgstr "A variable with \"%s\" as name already exists!"
-#: ../BeremizIDE.py:283 ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:168
+#: ../BeremizIDE.py:311 ../dialogs/AboutDialog.py:46 ../PLCOpenEditor.py:142 @@ -432,125 +433,125 @@
-#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:43
+#: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47 -#: ../editors/Viewer.py:614 ../editors/Viewer.py:2394
+#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427 -#: ../dialogs/PouActionDialog.py:82
+#: ../dialogs/PouActionDialog.py:89 -#: ../dialogs/PouActionDialog.py:49
+#: ../dialogs/PouActionDialog.py:56 -#: ../plcopen/plcopen.py:1364
+#: ../plcopen/plcopen.py:1567 msgid "Action with name %s doesn't exist!"
msgstr "Action with name %s doesn't exist!"
-#: ../PLCControler.py:98
+#: ../plcopen/types_enums.py:76 -#: ../dialogs/ActionBlockDialog.py:133
+#: ../dialogs/ActionBlockDialog.py:139 -#: ../editors/Viewer.py:431
+#: ../editors/Viewer.py:473 -#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../BeremizIDE.py:965 ../editors/Viewer.py:647
+#: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108 +#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686 -#: ../IDEFrame.py:1893 ../IDEFrame.py:1928
+#: ../IDEFrame.py:1924 ../IDEFrame.py:1959
msgid "Add C code accessing located variables synchronously"
msgstr "Add C code accessing located variables synchronously"
msgid "Add Configuration"
msgstr "Add Configuration"
-#: ../editors/Viewer.py:572
+#: ../editors/Viewer.py:609 msgid "Add Divergence Branch"
msgstr "Add Divergence Branch"
-#: ../dialogs/DiscoveryDialog.py:117
+#: ../dialogs/DiscoveryDialog.py:121
msgid "Add Python code executed asynchronously"
msgstr "Add Python code executed asynchronously"
-#: ../IDEFrame.py:1904 ../IDEFrame.py:1954
+#: ../IDEFrame.py:1935 ../IDEFrame.py:1985 -#: ../IDEFrame.py:1882 ../IDEFrame.py:1925
+#: ../IDEFrame.py:1913 ../IDEFrame.py:1956 -#: ../editors/Viewer.py:559
+#: ../editors/Viewer.py:596 msgstr "Add Wire Segment"
-#: ../editors/SFCViewer.py:433
+#: ../editors/SFCViewer.py:447 msgid "Add a new initial step"
msgstr "Add a new initial step"
-#: ../editors/Viewer.py:2757 ../editors/SFCViewer.py:770
+#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784 -#: ../editors/SFCViewer.py:455
+#: ../editors/SFCViewer.py:469
msgid "Add a simple WxGlade based GUI."
msgstr "Add a simple WxGlade based GUI."
-#: ../dialogs/ActionBlockDialog.py:137
+#: ../dialogs/ActionBlockDialog.py:143 -#: ../editors/DataTypeEditor.py:352
+#: ../editors/DataTypeEditor.py:364 -#: ../editors/ResourceEditor.py:268
+#: ../editors/ResourceEditor.py:283 -#: ../canfestival/NetworkEditor.py:103
+#: ../canfestival/NetworkEditor.py:110 -#: ../editors/ResourceEditor.py:239
+#: ../editors/ResourceEditor.py:252 -#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450
+#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481 @@ -558,44 +559,44 @@
-#: ../plcopen/definitions.py:49
+#: ../plcopen/definitions.py:51 msgid "Additional function blocks"
msgstr "Additional function blocks"
-#: ../editors/Viewer.py:630
+#: ../editors/Viewer.py:669 msgid "Adjust Block Size"
msgstr "Adjust Block Size"
-#: ../editors/Viewer.py:1686
+#: ../editors/Viewer.py:1720 -#: ../dialogs/BrowseLocationsDialog.py:40
-#: ../dialogs/BrowseLocationsDialog.py:48
-#: ../dialogs/BrowseLocationsDialog.py:141
-#: ../dialogs/BrowseLocationsDialog.py:144 ../controls/LogViewer.py:298
-#: ../controls/VariablePanel.py:70
+#: ../dialogs/BrowseLocationsDialog.py:42 +#: ../dialogs/BrowseLocationsDialog.py:53 +#: ../dialogs/BrowseLocationsDialog.py:152 +#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307 +#: ../controls/VariablePanel.py:88 -#: ../editors/FileManagementPanel.py:35
+#: ../editors/FileManagementPanel.py:37 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
msgstr "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1670 msgid "Already connected. Please disconnect\n"
msgstr "Already connected. Please disconnect\n"
-#: ../editors/DataTypeEditor.py:591
+#: ../editors/DataTypeEditor.py:607 msgid "An element named \"%s\" already exists in this structure!"
msgstr "An element named \"%s\" already exists in this structure!"
-#: ../editors/ResourceEditor.py:486
+#: ../editors/ResourceEditor.py:520 msgid "An instance with the same name already exists!"
msgstr "An instance with the same name already exists!"
-#: ../dialogs/ConnectionDialog.py:100
+#: ../dialogs/ConnectionDialog.py:103 msgid "Apply name modification to all continuations with the same name"
msgstr "Apply name modification to all continuations with the same name"
@@ -615,8 +616,8 @@
-#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:633
-#: ../controls/VariablePanel.py:858
+#: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649 +#: ../controls/VariablePanel.py:872 @@ -624,45 +625,37 @@
-#: ../dialogs/FBDVariableDialog.py:222
+#: ../dialogs/FBDVariableDialog.py:226 msgid "At least a variable or an expression must be selected!"
msgstr "At least a variable or an expression must be selected!"
-#: ../controls/ProjectPropertiesPanel.py:100
+#: ../controls/ProjectPropertiesPanel.py:111 -#: ../controls/ProjectPropertiesPanel.py:97
+#: ../controls/ProjectPropertiesPanel.py:108 msgid "Author Name (optional):"
msgstr "Author Name (optional):"
-#: ../dialogs/FindInPouDialog.py:77
+#: ../dialogs/FindInPouDialog.py:80 -#: ../util/Zeroconf.py:599
-msgid "Bad domain name (circular) at "
-msgstr "Bad domain name (circular) at "
-#: ../util/Zeroconf.py:602
-msgid "Bad domain name at "
-msgstr "Bad domain name at "
-#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:630
+#: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672 msgid "Bad location size : %s"
msgstr "Bad location size : %s"
-#: ../dialogs/ArrayTypeDialog.py:54 ../editors/DataTypeEditor.py:175
-#: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297
+#: ../dialogs/ArrayTypeDialog.py:57 ../editors/DataTypeEditor.py:183 +#: ../editors/DataTypeEditor.py:213 ../editors/DataTypeEditor.py:307 -#: ../editors/DataTypeEditor.py:623 ../controls/VariablePanel.py:816
+#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830
@@ -694,85 +687,85 @@
msgid "Bitwise inverting"
msgstr "Bitwise inverting"
-#: ../editors/Viewer.py:584 ../editors/Viewer.py:2407
+#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440 -#: ../dialogs/FBDBlockDialog.py:60
+#: ../dialogs/FBDBlockDialog.py:63 msgstr "Block Properties"
-#: ../editors/TextViewer.py:262
+#: ../editors/TextViewer.py:260 -#: ../editors/Viewer.py:550
+#: ../editors/Viewer.py:586 -#: ../ProjectController.py:1363
+#: ../ProjectController.py:1400 -#: ../dialogs/BrowseValuesLibraryDialog.py:38
+#: ../dialogs/BrowseValuesLibraryDialog.py:40 msgid "Browse %s values library"
msgstr "Browse %s values library"
-#: ../dialogs/BrowseLocationsDialog.py:65
+#: ../dialogs/BrowseLocationsDialog.py:72 msgstr "Browse Locations"
-#: ../ProjectController.py:1832
+#: ../ProjectController.py:1815 -#: ../ProjectController.py:1297
+#: ../ProjectController.py:1335 msgid "Build directory already clean\n"
msgstr "Build directory already clean\n"
-#: ../ProjectController.py:1833
+#: ../ProjectController.py:1816 msgid "Build project into build folder"
msgstr "Build project into build folder"
-#: ../ProjectController.py:1080
+#: ../ProjectController.py:1108 msgid "C Build crashed !\n"
msgstr "C Build crashed !\n"
-#: ../ProjectController.py:1077
+#: ../ProjectController.py:1105 msgid "C Build failed.\n"
msgstr "C Build failed.\n"
-#: ../c_ext/CFileEditor.py:63
+#: ../c_ext/CFileEditor.py:66 -#: ../ProjectController.py:1155
+#: ../ProjectController.py:1186 msgid "C code generated successfully.\n"
msgstr "C code generated successfully.\n"
-#: ../targets/toolchain_makefile.py:122
+#: ../targets/toolchain_makefile.py:126 msgid "C compilation failed.\n"
msgstr "C compilation failed.\n"
-#: ../targets/toolchain_gcc.py:192
+#: ../targets/toolchain_gcc.py:199 msgid "C compilation of %s failed.\n"
msgstr "C compilation of %s failed.\n"
-#: ../dialogs/AboutDialog.py:71
+#: ../dialogs/AboutDialog.py:69 -#: ../canfestival/NetworkEditor.py:52
+#: ../canfestival/NetworkEditor.py:58 -#: ../canfestival/SlaveEditor.py:44
+#: ../canfestival/SlaveEditor.py:48 @@ -780,34 +773,34 @@
-#: ../plcopen/plcopen.py:1589 ../plcopen/plcopen.py:1603
-#: ../plcopen/plcopen.py:1627 ../plcopen/plcopen.py:1643
+#: ../plcopen/plcopen.py:1839 ../plcopen/plcopen.py:1853 +#: ../plcopen/plcopen.py:1878 ../plcopen/plcopen.py:1894 msgid "Can only generate execution order on FBD networks!"
msgstr "Can only generate execution order on FBD networks!"
-#: ../controls/VariablePanel.py:267
+#: ../controls/VariablePanel.py:291 msgid "Can only give a location to local or global variables"
msgstr "Can only give a location to local or global variables"
-#: ../PLCOpenEditor.py:344
+#: ../PLCOpenEditor.py:318 msgid "Can't generate program to file %s!"
msgstr "Can't generate program to file %s!"
-#: ../controls/VariablePanel.py:265
+#: ../controls/VariablePanel.py:289 msgid "Can't give a location to a function block instance"
msgstr "Can't give a location to a function block instance"
-#: ../PLCOpenEditor.py:389
+#: ../PLCOpenEditor.py:363 msgid "Can't save project to file %s!"
msgstr "Can't save project to file %s!"
-#: ../controls/VariablePanel.py:313
+#: ../controls/VariablePanel.py:339 msgid "Can't set an initial value to a function block instance"
msgstr "Can't set an initial value to a function block instance"
-#: ../ConfigTreeNode.py:529
+#: ../ConfigTreeNode.py:532 msgid "Cannot create child {a1} of type {a2} "
msgstr "Cannot create child {a1} of type {a2} "
@@ -817,44 +810,48 @@
msgid "Cannot find lower free IEC channel than %d\n"
msgstr "Cannot find lower free IEC channel than %d\n"
-#: ../connectors/PYRO/__init__.py:131
+#: ../connectors/PYRO/__init__.py:139 msgid "Cannot get PLC status - connection failed.\n"
msgstr "Cannot get PLC status - connection failed.\n"
-#: ../ProjectController.py:943
+#: ../ProjectController.py:967 msgid "Cannot open/parse VARIABLES.csv!\n"
msgstr "Cannot open/parse VARIABLES.csv!\n"
-#: ../canfestival/config_utils.py:374
+#: ../canfestival/config_utils.py:400 msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
msgstr "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
-#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:86
+#: ../ProjectController.py:1761 +msgid "Cannot transfer while PLC is running. Stop it now?" +msgstr "Cannot transfer while PLC is running. Stop it now?" +#: ../dialogs/SearchInProjectDialog.py:63 ../dialogs/FindInPouDialog.py:89 -#: ../editors/Viewer.py:545
+#: ../editors/Viewer.py:581 -#: ../Beremiz_service.py:268
+#: ../Beremiz_service.py:276 msgid "Change IP of interface to bind"
msgstr "Change IP of interface to bind"
-#: ../Beremiz_service.py:267
+#: ../Beremiz_service.py:275
msgid "Change POU Type To"
msgstr "Change POU Type To"
-#: ../Beremiz_service.py:269
+#: ../Beremiz_service.py:277 msgid "Change Port Number"
msgstr "Change Port Number"
-#: ../Beremiz_service.py:270
+#: ../Beremiz_service.py:278 msgid "Change working directory"
msgstr "Change working directory"
@@ -862,115 +859,119 @@
msgstr "Character string"
-#: ../svgui/svgui.py:128
+#: ../svgui/svgui.py:136 msgid "Choose a SVG file"
msgstr "Choose a SVG file"
-#: ../ProjectController.py:542
+#: ../ProjectController.py:561 msgid "Choose a directory to save project"
msgstr "Choose a directory to save project"
-#: ../canfestival/canfestival.py:162 ../PLCOpenEditor.py:302
-#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:383
+#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276 +#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357 -#: ../BeremizIDE.py:833 ../BeremizIDE.py:869
msgstr "Choose a project"
-#: ../dialogs/BrowseValuesLibraryDialog.py:41
+#: ../dialogs/BrowseValuesLibraryDialog.py:43 msgid "Choose a value for %s:"
msgstr "Choose a value for %s:"
-#: ../Beremiz_service.py:325
+#: ../Beremiz_service.py:333 msgid "Choose a working directory "
msgstr "Choose a working directory "
-#: ../ProjectController.py:449
+msgid "Choose an empty directory for new project" +msgstr "Choose an empty directory for new project" +#: ../ProjectController.py:468 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
msgstr "Chosen folder doesn't contain a program. It's not a valid project!"
-#: ../ProjectController.py:416
+#: ../ProjectController.py:435 msgid "Chosen folder isn't empty. You can't use it for a new project!"
msgstr "Chosen folder isn't empty. You can't use it for a new project!"
-#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+#: ../controls/VariablePanel.py:60 -#: ../controls/VariablePanel.py:441
+#: ../controls/VariablePanel.py:472 -#: ../dialogs/FBDVariableDialog.py:70
+#: ../dialogs/FBDVariableDialog.py:74 -#: ../ProjectController.py:1836
+#: ../ProjectController.py:1821 -#: ../controls/LogViewer.py:318
+#: ../controls/LogViewer.py:327 msgid "Clean log messages"
msgstr "Clean log messages"
-#: ../ProjectController.py:1838
+#: ../ProjectController.py:1822 msgid "Clean project build folder"
msgstr "Clean project build folder"
-#: ../ProjectController.py:1294
+#: ../ProjectController.py:1332 msgid "Cleaning the build directory\n"
msgstr "Cleaning the build directory\n"
-#: ../editors/Viewer.py:641
+#: ../editors/Viewer.py:680 msgid "Clear Execution Order"
msgstr "Clear Execution Order"
-#: ../dialogs/SearchInProjectDialog.py:103 ../dialogs/FindInPouDialog.py:109
+#: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112 -#: ../BeremizIDE.py:595 ../PLCOpenEditor.py:209
+#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183 msgid "Close Application"
msgstr "Close Application"
-#: ../BeremizIDE.py:228 ../BeremizIDE.py:539 ../PLCOpenEditor.py:110
+#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81 -#: ../BeremizIDE.py:226 ../PLCOpenEditor.py:108
+#: ../BeremizIDE.py:251 ../PLCOpenEditor.py:79 -#: ../editors/Viewer.py:600 ../editors/Viewer.py:2415
+#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448 -#: ../editors/Viewer.py:620 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517 -#: ../BeremizIDE.py:276 ../BeremizIDE.py:279 ../PLCOpenEditor.py:161
-#: ../PLCOpenEditor.py:164
+#: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134 +#: ../PLCOpenEditor.py:138 msgid "Community support"
msgstr "Community support"
-#: ../dialogs/ProjectDialog.py:60
+#: ../dialogs/ProjectDialog.py:65 -#: ../controls/ProjectPropertiesPanel.py:95
+#: ../controls/ProjectPropertiesPanel.py:106 msgid "Company Name (required):"
msgstr "Company Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:96
+#: ../controls/ProjectPropertiesPanel.py:107 msgid "Company URL (optional):"
msgstr "Company URL (optional):"
@@ -978,7 +979,7 @@
-#: ../ProjectController.py:734
+#: ../ProjectController.py:756 msgid "Compiling IEC Program into C code...\n"
msgstr "Compiling IEC Program into C code...\n"
@@ -986,93 +987,93 @@
-#: ../editors/ConfTreeNodeEditor.py:230
+#: ../editors/ConfTreeNodeEditor.py:241 -#: ../editors/ProjectNodeEditor.py:36
+#: ../editors/ProjectNodeEditor.py:39 msgstr "Config variables"
-#: ../dialogs/SearchInProjectDialog.py:40
+#: ../dialogs/SearchInProjectDialog.py:43 -#: ../PLCControler.py:99
+#: ../plcopen/types_enums.py:77 -#: ../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
+#: ../editors/Viewer.py:351 ../editors/Viewer.py:381 ../editors/Viewer.py:403 +#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:343 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:354 msgid "Confirm or change variable name"
msgstr "Confirm or change variable name"
-#: ../ProjectController.py:1851
+#: ../ProjectController.py:1842 -#: ../ProjectController.py:1852
+#: ../ProjectController.py:1843 msgid "Connect to the target PLC"
msgstr "Connect to the target PLC"
-#: ../ProjectController.py:1354
+#: ../ProjectController.py:1391 msgid "Connected to URI: %s"
msgstr "Connected to URI: %s"
-#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:586
-#: ../editors/Viewer.py:2408
+#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623 +#: ../editors/Viewer.py:2441 -#: ../dialogs/ConnectionDialog.py:53
+#: ../dialogs/ConnectionDialog.py:55 msgid "Connection Properties"
msgstr "Connection Properties"
-#: ../ProjectController.py:1709
+#: ../ProjectController.py:1691 msgid "Connection canceled!\n"
msgstr "Connection canceled!\n"
-#: ../ProjectController.py:1734
+#: ../ProjectController.py:1714 msgid "Connection failed to %s!\n"
msgstr "Connection failed to %s!\n"
-#: ../connectors/PYRO/__init__.py:115 ../connectors/WAMP/__init__.py:111
+#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120 msgid "Connection lost!\n"
msgstr "Connection lost!\n"
-#: ../connectors/PYRO/__init__.py:102
+#: ../connectors/PYRO/__init__.py:110 msgid "Connection to '%s' failed.\n"
msgstr "Connection to '%s' failed.\n"
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1643
+#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676 -#: ../dialogs/SFCStepDialog.py:66
+#: ../dialogs/SFCStepDialog.py:68
-#: ../controls/VariablePanel.py:60
+#: ../controls/VariablePanel.py:75 -#: ../editors/Viewer.py:596 ../editors/Viewer.py:2411
+#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444 -#: ../controls/ProjectPropertiesPanel.py:198
+#: ../controls/ProjectPropertiesPanel.py:217 msgid "Content Description (optional):"
msgstr "Content Description (optional):"
-#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1644
+#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677 @@ -1092,20 +1093,20 @@
msgid "Conversion to time-of-day"
msgstr "Conversion to time-of-day"
-#: ../editors/Viewer.py:656 ../controls/LogViewer.py:704 ../IDEFrame.py:370
+#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372
-#: ../editors/FileManagementPanel.py:65
+#: ../editors/FileManagementPanel.py:68 msgid "Copy file from left folder to right"
msgstr "Copy file from left folder to right"
-#: ../editors/FileManagementPanel.py:64
+#: ../editors/FileManagementPanel.py:67 msgid "Copy file from right folder to left"
msgstr "Copy file from right folder to left"
@@ -1113,7 +1114,7 @@
-#: ../ConfigTreeNode.py:656
+#: ../ConfigTreeNode.py:660 "Could not add child \"{a1}\", type {a2} :\n"
@@ -1122,12 +1123,12 @@
"Could not add child \"{a1}\", type {a2} :\n"
-#: ../py_ext/PythonFileCTNMixin.py:78
+#: ../py_ext/PythonFileCTNMixin.py:81 msgid "Couldn't import old %s file."
msgstr "Couldn't import old %s file."
-#: ../ConfigTreeNode.py:626
+#: ../ConfigTreeNode.py:630 "Couldn't load confnode base parameters {a1} :\n"
@@ -1136,7 +1137,7 @@
"Couldn't load confnode base parameters {a1} :\n"
-#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124
+#: ../ConfigTreeNode.py:647 ../CodeFileTreeNode.py:127 "Couldn't load confnode parameters {a1} :\n"
@@ -1145,111 +1146,107 @@
"Couldn't load confnode parameters {a1} :\n"
-#: ../PLCControler.py:948
+#: ../PLCControler.py:552 msgid "Couldn't paste non-POU object."
msgstr "Couldn't paste non-POU object."
-#: ../ProjectController.py:1651
+#: ../ProjectController.py:1636 msgid "Couldn't start PLC !\n"
msgstr "Couldn't start PLC !\n"
-#: ../ProjectController.py:1659
+#: ../ProjectController.py:1644 msgid "Couldn't stop PLC !\n"
msgstr "Couldn't stop PLC !\n"
-#: ../ProjectController.py:1623
-msgid "Couldn't stop debugger.\n"
-msgstr "Couldn't stop debugger.\n"
-#: ../dialogs/PouDialog.py:46
+#: ../dialogs/PouDialog.py:54 msgstr "Create a new POU"
-#: ../dialogs/PouActionDialog.py:38
+#: ../dialogs/PouActionDialog.py:45 msgid "Create a new action"
msgstr "Create a new action"
msgid "Create a new action block"
msgstr "Create a new action block"
-#: ../IDEFrame.py:108 ../IDEFrame.py:138 ../IDEFrame.py:171
+#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178 msgid "Create a new block"
msgstr "Create a new block"
msgid "Create a new branch"
msgstr "Create a new branch"
msgid "Create a new coil"
msgstr "Create a new coil"
-#: ../IDEFrame.py:102 ../IDEFrame.py:117 ../IDEFrame.py:147
+#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154 msgid "Create a new comment"
msgstr "Create a new comment"
-#: ../IDEFrame.py:111 ../IDEFrame.py:141 ../IDEFrame.py:174
+#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181 msgid "Create a new connection"
msgstr "Create a new connection"
-#: ../IDEFrame.py:129 ../IDEFrame.py:180
+#: ../IDEFrame.py:136 ../IDEFrame.py:187 msgid "Create a new contact"
msgstr "Create a new contact"
msgid "Create a new divergence"
msgstr "Create a new divergence"
-#: ../dialogs/SFCDivergenceDialog.py:53
+#: ../dialogs/SFCDivergenceDialog.py:54 msgid "Create a new divergence or convergence"
msgstr "Create a new divergence or convergence"
msgid "Create a new initial step"
msgstr "Create a new initial step"
msgid "Create a new jump"
msgstr "Create a new jump"
-#: ../IDEFrame.py:120 ../IDEFrame.py:177
+#: ../IDEFrame.py:127 ../IDEFrame.py:184 msgid "Create a new power rail"
msgstr "Create a new power rail"
msgid "Create a new rung"
msgstr "Create a new rung"
msgid "Create a new step"
msgstr "Create a new step"
-#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156
+#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163 msgid "Create a new transition"
msgstr "Create a new transition"
-#: ../IDEFrame.py:105 ../IDEFrame.py:135 ../IDEFrame.py:168
+#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175 msgid "Create a new variable"
msgstr "Create a new variable"
-#: ../dialogs/AboutDialog.py:113
+#: ../dialogs/AboutDialog.py:109 -#: ../Beremiz_service.py:434
+#: ../Beremiz_service.py:424 msgid "Current working directory :"
msgstr "Current working directory :"
-#: ../editors/Viewer.py:655 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426 -#: ../editors/ResourceEditor.py:72
+#: ../editors/ResourceEditor.py:81 @@ -1261,19 +1258,19 @@
-#: ../canfestival/SlaveEditor.py:76 ../canfestival/NetworkEditor.py:97
+#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:104 -#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:98
+#: ../canfestival/SlaveEditor.py:81 ../canfestival/NetworkEditor.py:105 -#: ../dialogs/SearchInProjectDialog.py:36
+#: ../dialogs/SearchInProjectDialog.py:39 -#: ../PLCControler.py:98
+#: ../plcopen/types_enums.py:76 @@ -1294,66 +1291,58 @@
msgstr "Date subtraction"
-#: ../dialogs/DurationEditorDialog.py:44
+#: ../dialogs/DurationEditorDialog.py:46 -#: ../ProjectController.py:1756
+#: ../ProjectController.py:1729 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
msgstr "Debug does not match PLC - stop/transfert/start to re-enable\n"
-#: ../controls/PouInstanceVariablesPanel.py:134
+#: ../controls/PouInstanceVariablesPanel.py:144 -#: ../editors/Viewer.py:448
+#: ../editors/Viewer.py:490 -#: ../ProjectController.py:1412
+#: ../ProjectController.py:1471 msgid "Debug: Unknown variable '%s'\n"
msgstr "Debug: Unknown variable '%s'\n"
-#: ../ProjectController.py:1410
+#: ../ProjectController.py:1469 msgid "Debug: Unsupported type to debug '%s'\n"
msgstr "Debug: Unsupported type to debug '%s'\n"
-#: ../ProjectController.py:1592
-msgid "Debugger disabled\n"
-msgstr "Debugger disabled\n"
-#: ../ProjectController.py:1753
+#: ../ProjectController.py:1726 msgstr "Debugger ready\n"
-#: ../ProjectController.py:1625
-msgid "Debugger stopped.\n"
-msgstr "Debugger stopped.\n"
-#: ../BeremizIDE.py:968 ../editors/Viewer.py:631 ../IDEFrame.py:1962
+#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993 -#: ../editors/Viewer.py:573
+#: ../editors/Viewer.py:610 msgid "Delete Divergence Branch"
msgstr "Delete Divergence Branch"
-#: ../editors/FileManagementPanel.py:153
+#: ../editors/FileManagementPanel.py:157 -#: ../editors/Viewer.py:560
+#: ../editors/Viewer.py:597 msgid "Delete Wire Segment"
msgstr "Delete Wire Segment"
-#: ../controls/CustomEditableListBox.py:41
+#: ../controls/CustomEditableListBox.py:44 @@ -1361,47 +1350,47 @@
msgid "Deletion (within)"
msgstr "Deletion (within)"
-#: ../editors/DataTypeEditor.py:153
+#: ../editors/DataTypeEditor.py:161 msgstr "Derivation Type:"
-#: ../editors/CodeFileEditor.py:739
+#: ../editors/CodeFileEditor.py:735 -#: ../controls/VariablePanel.py:432
+#: ../controls/VariablePanel.py:463 -#: ../dialogs/ArrayTypeDialog.py:60 ../editors/DataTypeEditor.py:321
+#: ../dialogs/ArrayTypeDialog.py:63 ../editors/DataTypeEditor.py:332 -#: ../dialogs/FindInPouDialog.py:66
+#: ../dialogs/FindInPouDialog.py:69 -#: ../dialogs/BrowseLocationsDialog.py:91
+#: ../dialogs/BrowseLocationsDialog.py:102 -#: ../editors/DataTypeEditor.py:54
+#: ../editors/DataTypeEditor.py:60 -#: ../ProjectController.py:1860
+#: ../ProjectController.py:1855 -#: ../ProjectController.py:1862
+#: ../ProjectController.py:1856 msgid "Disconnect from PLC"
msgstr "Disconnect from PLC"
-#: ../ProjectController.py:1364
+#: ../ProjectController.py:1401 -#: ../editors/Viewer.py:615 ../editors/Viewer.py:2403
+#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436 @@ -1409,120 +1398,120 @@
-#: ../editors/FileManagementPanel.py:152
+#: ../editors/FileManagementPanel.py:156 msgid "Do you really want to delete the file '%s'?"
msgstr "Do you really want to delete the file '%s'?"
-#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+#: ../controls/VariablePanel.py:65 -#: ../PLCOpenEditor.py:338
+#: ../PLCOpenEditor.py:312 -#: ../dialogs/ActionBlockDialog.py:39
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../canfestival/canfestival.py:165
+#: ../canfestival/canfestival.py:174 msgid "EDS files (*.eds)|*.eds|All files|*.*"
msgstr "EDS files (*.eds)|*.eds|All files|*.*"
-#: ../editors/Viewer.py:629
+#: ../editors/Viewer.py:668 -#: ../dialogs/LDElementDialog.py:56
+#: ../dialogs/LDElementDialog.py:58 msgstr "Edit Coil Values"
-#: ../dialogs/LDElementDialog.py:54
+#: ../dialogs/LDElementDialog.py:56 msgid "Edit Contact Values"
msgstr "Edit Contact Values"
-#: ../dialogs/DurationEditorDialog.py:59
+#: ../dialogs/DurationEditorDialog.py:62 -#: ../dialogs/SFCStepDialog.py:51
+#: ../dialogs/SFCStepDialog.py:53 -#: ../wxglade_hmi/wxglade_hmi.py:38
+#: ../wxglade_hmi/wxglade_hmi.py:45 msgid "Edit a WxWidgets GUI with WXGlade"
msgstr "Edit a WxWidgets GUI with WXGlade"
-#: ../dialogs/ActionBlockDialog.py:121
+#: ../dialogs/ActionBlockDialog.py:127 msgid "Edit action block properties"
msgstr "Edit action block properties"
-#: ../dialogs/ArrayTypeDialog.py:44
+#: ../dialogs/ArrayTypeDialog.py:47 msgid "Edit array type properties"
msgstr "Edit array type properties"
-#: ../editors/Viewer.py:2626 ../editors/Viewer.py:3055
+#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102 -#: ../editors/FileManagementPanel.py:66
+#: ../editors/FileManagementPanel.py:69 -#: ../controls/CustomEditableListBox.py:39
+#: ../controls/CustomEditableListBox.py:42 -#: ../editors/Viewer.py:3014
+#: ../editors/Viewer.py:3059 msgstr "Edit jump target"
-#: ../ProjectController.py:1874
+#: ../ProjectController.py:1873 msgid "Edit raw IEC code added to code generated by PLCGenerator"
msgstr "Edit raw IEC code added to code generated by PLCGenerator"
-#: ../editors/SFCViewer.py:799
+#: ../editors/SFCViewer.py:815 -#: ../dialogs/SFCTransitionDialog.py:52
+#: ../dialogs/SFCTransitionDialog.py:53
-#: ../ProjectController.py:1257
+#: ../ProjectController.py:1294 msgstr "Editor selection"
-#: ../editors/DataTypeEditor.py:348
+#: ../editors/DataTypeEditor.py:360 -#: ../ProjectController.py:1362
+#: ../ProjectController.py:1399
-msgid "Enable Undo/Redo"
-msgstr "Enable Undo/Redo"
-#: ../Beremiz_service.py:333
+#: ../dialogs/ArrayTypeDialog.py:100 +msgid "Empty dimension isn't allowed." +msgstr "Empty dimension isn't allowed." +#: ../Beremiz_service.py:341 -#: ../Beremiz_service.py:318
+#: ../Beremiz_service.py:326 msgid "Enter a port number "
msgstr "Enter a port number "
-#: ../Beremiz_service.py:309
+#: ../Beremiz_service.py:317 msgid "Enter the IP of the interface to bind"
msgstr "Enter the IP of the interface to bind"
-#: ../editors/DataTypeEditor.py:54
+#: ../editors/DataTypeEditor.py:60 @@ -1530,44 +1519,44 @@
-#: ../BeremizIDE.py:1107 ../dialogs/ForceVariableDialog.py:197
-#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60
-#: ../dialogs/DurationEditorDialog.py:121
-#: ../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:218
-#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../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: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:759
-#: ../IDEFrame.py:1007 ../IDEFrame.py:1617 ../IDEFrame.py:1658
-#: ../IDEFrame.py:1663 ../IDEFrame.py:1677 ../IDEFrame.py:1682
-#: ../Beremiz_service.py:213
+#: ../dialogs/ForceVariableDialog.py:213 +#: ../dialogs/SearchInProjectDialog.py:172 ../dialogs/SFCStepNameDialog.py:64 +#: ../dialogs/DurationEditorDialog.py:124 +#: ../dialogs/DurationEditorDialog.py:170 ../dialogs/PouTransitionDialog.py:114 +#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:80 +#: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58 +#: ../dialogs/BrowseLocationsDialog.py:229 +#: ../dialogs/BrowseValuesLibraryDialog.py:87 ../dialogs/PouActionDialog.py:112 +#: ../dialogs/PouDialog.py:143 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324 +#: ../editors/ResourceEditor.py:470 ../editors/Viewer.py:467 +#: ../editors/LDViewer.py:677 ../editors/LDViewer.py:893 +#: ../editors/LDViewer.py:897 ../editors/DataTypeEditor.py:566 +#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:590 +#: ../editors/DataTypeEditor.py:759 ../editors/DataTypeEditor.py:766 +#: ../editors/TextViewer.py:390 ../editors/CodeFileEditor.py:760 +#: ../ProjectController.py:391 ../ProjectController.py:531 +#: ../ProjectController.py:538 ../controls/FolderTree.py:222 +#: ../controls/ProjectPropertiesPanel.py:306 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:173 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:138 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:227 +#: ../controls/VariablePanel.py:431 ../controls/VariablePanel.py:773 +#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1036 ../IDEFrame.py:1650 +#: ../IDEFrame.py:1691 ../IDEFrame.py:1696 ../IDEFrame.py:1710 +#: ../IDEFrame.py:1715 ../Beremiz_service.py:221 -#: ../ProjectController.py:789
+#: ../ProjectController.py:811 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
msgstr "Error : At least one configuration and one resource must be declared in PLC !\n"
-#: ../ProjectController.py:781
+#: ../ProjectController.py:803 msgid "Error : IEC to C compiler returned %d\n"
msgstr "Error : IEC to C compiler returned %d\n"
-#: ../ProjectController.py:712
+#: ../ProjectController.py:731 "Error in ST/IL/SFC code generator :\n"
@@ -1576,37 +1565,42 @@
"Error in ST/IL/SFC code generator :\n"
-#: ../ConfigTreeNode.py:216
+#: ../ConfigTreeNode.py:219 msgid "Error while saving \"%s\"\n"
msgstr "Error while saving \"%s\"\n"
-#: ../canfestival/canfestival.py:170
+#: ../canfestival/canfestival.py:179 msgid "Error: Export slave failed\n"
msgstr "Error: Export slave failed\n"
-#: ../canfestival/canfestival.py:371
+#: ../modbus/modbus.py:601 +msgid "Error: Modbus/IP Servers %{a1}.x and %{a2}.x use the same port number {a3}.\n" +msgstr "Error: Modbus/IP Servers %{a1}.x and %{a2}.x use the same port number {a3}.\n" +#: ../canfestival/canfestival.py:388 msgid "Error: No Master generated\n"
msgstr "Error: No Master generated\n"
-#: ../canfestival/canfestival.py:366
+#: ../canfestival/canfestival.py:383 msgid "Error: No PLC built\n"
msgstr "Error: No PLC built\n"
-#: ../ProjectController.py:1728
+#: ../ProjectController.py:1708 msgid "Exception while connecting %s!\n"
msgstr "Exception while connecting %s!\n"
-#: ../dialogs/FBDBlockDialog.py:120
+#: ../dialogs/FBDBlockDialog.py:123 msgid "Execution Control:"
msgstr "Execution Control:"
-#: ../dialogs/FBDVariableDialog.py:80 ../dialogs/FBDBlockDialog.py:108
+#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111 msgstr "Execution Order:"
msgid "Experimental web based HMI"
msgstr "Experimental web based HMI"
@@ -1618,77 +1612,77 @@
-#: ../canfestival/canfestival.py:176
+#: ../canfestival/canfestival.py:186 msgid "Export CanOpen slave to EDS file"
msgstr "Export CanOpen slave to EDS file"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246 msgid "Export graph values to clipboard"
msgstr "Export graph values to clipboard"
-#: ../canfestival/canfestival.py:175
+#: ../canfestival/canfestival.py:185 -#: ../dialogs/FBDVariableDialog.py:90
+#: ../dialogs/FBDVariableDialog.py:94 -#: ../controls/VariablePanel.py:72
+#: ../controls/VariablePanel.py:90 -#: ../ProjectController.py:802
+#: ../ProjectController.py:826 msgid "Extracting Located Variables...\n"
msgstr "Extracting Located Variables...\n"
-#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
-#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../ProjectController.py:1791
+#: ../ProjectController.py:1773 msgid "Failed : Must build before transfer.\n"
msgstr "Failed : Must build before transfer.\n"
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:521
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556 -#: ../ProjectController.py:1070
+#: ../ProjectController.py:1098 msgid "Fatal : cannot get builder.\n"
msgstr "Fatal : cannot get builder.\n"
-#: ../dialogs/DurationEditorDialog.py:164
+#: ../dialogs/DurationEditorDialog.py:167 msgid "Field %s hasn't a valid value!"
msgstr "Field %s hasn't a valid value!"
-#: ../dialogs/DurationEditorDialog.py:166
+#: ../dialogs/DurationEditorDialog.py:169 msgid "Fields %s haven't a valid value!"
msgstr "Fields %s haven't a valid value!"
-#: ../controls/FolderTree.py:216
+#: ../controls/FolderTree.py:221 msgid "File '%s' already exists!"
msgstr "File '%s' already exists!"
-#: ../dialogs/SearchInProjectDialog.py:98 ../dialogs/FindInPouDialog.py:37
-#: ../dialogs/FindInPouDialog.py:104 ../IDEFrame.py:375
+#: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40 +#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377
@@ -1696,93 +1690,89 @@
-#: ../dialogs/FindInPouDialog.py:55
+#: ../dialogs/FindInPouDialog.py:58 -#: ../connectors/PYRO/__init__.py:163
-msgid "Force runtime reload\n"
-msgstr "Force runtime reload\n"
-#: ../editors/Viewer.py:1600
+#: ../editors/Viewer.py:1633 -#: ../dialogs/ForceVariableDialog.py:162
+#: ../dialogs/ForceVariableDialog.py:176 msgid "Forcing Variable Value"
msgstr "Forcing Variable Value"
-#: ../dialogs/SFCTransitionDialog.py:182 ../dialogs/PouTransitionDialog.py:97
-#: ../dialogs/ProjectDialog.py:73 ../dialogs/PouActionDialog.py:95
-#: ../dialogs/PouDialog.py:117
+#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104 +#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102 +#: ../dialogs/PouDialog.py:125 msgid "Form isn't complete. %s must be filled!"
msgstr "Form isn't complete. %s must be filled!"
-#: ../dialogs/SFCStepDialog.py:147 ../dialogs/FBDBlockDialog.py:236
-#: ../dialogs/ConnectionDialog.py:163
+#: ../dialogs/SFCStepDialog.py:150 ../dialogs/FBDBlockDialog.py:239 +#: ../dialogs/ConnectionDialog.py:166 msgid "Form isn't complete. Name must be filled!"
msgstr "Form isn't complete. Name must be filled!"
-#: ../dialogs/FBDBlockDialog.py:232
+#: ../dialogs/FBDBlockDialog.py:235 msgid "Form isn't complete. Valid block type must be selected!"
msgstr "Form isn't complete. Valid block type must be selected!"
-#: ../dialogs/FindInPouDialog.py:72
+#: ../dialogs/FindInPouDialog.py:75 -#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1749
+#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780
-#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1748
+#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779 -#: ../controls/VariablePanel.py:854
+#: ../controls/VariablePanel.py:868 msgid "Function Block Types"
msgstr "Function Block Types"
-#: ../PLCControler.py:97
+#: ../plcopen/types_enums.py:75 -#: ../editors/Viewer.py:249
+#: ../editors/Viewer.py:290 msgid "Function Blocks can't be used in Functions!"
msgstr "Function Blocks can't be used in Functions!"
-#: ../PLCControler.py:2343
+#: ../PLCControler.py:1907 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
msgstr "FunctionBlock \"%s\" can't be pasted in a Function!!!"
-#: ../PLCControler.py:97
+#: ../plcopen/types_enums.py:75 -#: ../PLCOpenEditor.py:117
+#: ../PLCOpenEditor.py:88 msgstr "Generate Program"
-#: ../ProjectController.py:703
+#: ../ProjectController.py:722 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
msgstr "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
-#: ../controls/VariablePanel.py:73
+#: ../controls/VariablePanel.py:91 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245 msgid "Go to current value"
msgstr "Go to current value"
-#: ../controls/ProjectPropertiesPanel.py:174
+#: ../controls/ProjectPropertiesPanel.py:189 @@ -1794,110 +1784,114 @@
msgid "Greater than or equal to"
msgstr "Greater than or equal to"
-#: ../controls/ProjectPropertiesPanel.py:135
+#: ../controls/ProjectPropertiesPanel.py:149 msgstr "Grid Resolution:"
-#: ../runtime/NevowServer.py:182
+#: ../runtime/NevowServer.py:192 msgid "HTTP interface port :"
msgstr "HTTP interface port :"
-#: ../controls/ProjectPropertiesPanel.py:121
+#: ../controls/ProjectPropertiesPanel.py:135 -#: ../editors/FileManagementPanel.py:85
+#: ../editors/FileManagementPanel.py:89 -#: ../controls/ProjectPropertiesPanel.py:151
+#: ../controls/ProjectPropertiesPanel.py:165 -#: ../dialogs/DurationEditorDialog.py:45
+#: ../dialogs/DurationEditorDialog.py:47 -#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
-#: ../dialogs/PouDialog.py:37
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 -#: ../dialogs/DiscoveryDialog.py:94
+#: ../dialogs/DiscoveryDialog.py:91 -#: ../Beremiz_service.py:310 ../Beremiz_service.py:311
+#: ../Beremiz_service.py:318 ../Beremiz_service.py:320 msgstr "IP is not valid!"
-#: ../svgui/svgui.py:44 ../svgui/svgui.py:45
+#: ../svgui/svgui.py:50 ../svgui/svgui.py:51 -#: ../dialogs/FBDVariableDialog.py:39 ../editors/Viewer.py:1629
-#: ../controls/VariablePanel.py:71
+#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662 +#: ../controls/VariablePanel.py:89 -#: ../editors/Viewer.py:431
+#: ../PLCGenerator.py:1040 +msgid "InOut variable {a1} in block {a2} in POU {a3} must be connected." +msgstr "InOut variable {a1} in block {a2} in POU {a3} must be connected." +#: ../editors/Viewer.py:473 -#: ../controls/VariablePanel.py:276
+#: ../controls/VariablePanel.py:300 msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
msgstr "Incompatible data types between \"{a1}\" and \"{a2}\""
-#: ../controls/VariablePanel.py:282
+#: ../controls/VariablePanel.py:306 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Incompatible size of data between \"%s\" and \"BOOL\""
-#: ../controls/VariablePanel.py:286
+#: ../controls/VariablePanel.py:310 msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
msgstr "Incompatible size of data between \"{a1}\" and \"{a2}\""
-#: ../dialogs/ActionBlockDialog.py:39
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../editors/CodeFileEditor.py:739
+#: ../editors/CodeFileEditor.py:734 -#: ../editors/Viewer.py:611
+#: ../editors/Viewer.py:650 -#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
-#: ../controls/VariablePanel.py:54
+#: ../editors/DataTypeEditor.py:55 ../controls/VariablePanel.py:63 -#: ../editors/DataTypeEditor.py:185 ../editors/DataTypeEditor.py:216
-#: ../editors/DataTypeEditor.py:272 ../editors/DataTypeEditor.py:310
+#: ../editors/DataTypeEditor.py:193 ../editors/DataTypeEditor.py:224 +#: ../editors/DataTypeEditor.py:281 ../editors/DataTypeEditor.py:320
-#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:43
+#: ../dialogs/SFCTransitionDialog.py:77 ../dialogs/ActionBlockDialog.py:47 -#: ../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
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:333 +#: ../editors/Viewer.py:1660 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380 -#: ../dialogs/FBDBlockDialog.py:96
+#: ../dialogs/FBDBlockDialog.py:99 @@ -1905,64 +1899,72 @@
msgstr "Insertion (into)"
-#: ../plcopen/plcopen.py:1696
+#: ../plcopen/plcopen.py:1948 msgid "Instance with id %d doesn't exist!"
msgstr "Instance with id %d doesn't exist!"
-#: ../editors/ResourceEditor.py:264
+#: ../editors/ResourceEditor.py:279 -#: ../controls/VariablePanel.py:70
+#: ../controls/VariablePanel.py:88 -#: ../editors/ResourceEditor.py:72
+#: ../editors/ResourceEditor.py:81 -#: ../editors/ResourceEditor.py:68
+#: ../editors/ResourceEditor.py:76 -#: ../PLCControler.py:2331
+#: ../controls/ProjectPropertiesPanel.py:304 +"Please enter correct URL address." +"Please enter correct URL address." +#: ../PLCControler.py:1895 msgid "Invalid plcopen element(s)!!!"
msgstr "Invalid plcopen element(s)!!!"
-#: ../canfestival/config_utils.py:381
+#: ../canfestival/config_utils.py:407 -msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\""
-msgstr "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\""
-#: ../canfestival/config_utils.py:645
+msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" +msgstr "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" +#: ../canfestival/config_utils.py:689 msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
msgstr "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
-#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
-#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:166
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162 msgid "Invalid value \"%s\" for debug variable"
msgstr "Invalid value \"%s\" for debug variable"
-#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258
+#: ../controls/VariablePanel.py:279 ../controls/VariablePanel.py:282 msgid "Invalid value \"%s\" for variable grid element"
msgstr "Invalid value \"%s\" for variable grid element"
-#: ../editors/Viewer.py:234 ../editors/Viewer.py:237
+#: ../editors/Viewer.py:276 ../editors/Viewer.py:279 msgid "Invalid value \"%s\" for viewer block"
msgstr "Invalid value \"%s\" for viewer block"
-#: ../dialogs/ForceVariableDialog.py:195
+#: ../dialogs/ForceVariableDialog.py:211 msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
msgstr "Invalid value \"{a1}\" for \"{a2}\" variable!"
-#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:124 "You must fill a numeric value."
@@ -1970,51 +1972,55 @@
"You must fill a numeric value."
-#: ../editors/Viewer.py:616 ../editors/Viewer.py:2392
+#: ../connectors/WAMP/dialog.py:38 +msgid "Is connection secure?" +msgstr "Is connection secure?" +#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425 -#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
-#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../editors/LDViewer.py:215 ../editors/LDViewer.py:231
+#: ../editors/LDViewer.py:221 ../editors/LDViewer.py:240 msgid "Ladder element with id %d is on more than one rung."
msgstr "Ladder element with id %d is on more than one rung."
-#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:84
-#: ../dialogs/PouDialog.py:105
+#: ../dialogs/PouTransitionDialog.py:93 ../dialogs/PouActionDialog.py:91 +#: ../dialogs/PouDialog.py:113 -#: ../controls/ProjectPropertiesPanel.py:187
+#: ../controls/ProjectPropertiesPanel.py:206 msgid "Language (optional):"
msgstr "Language (optional):"
-#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
-#: ../dialogs/PouDialog.py:73
+#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63 +#: ../dialogs/PouDialog.py:81 -#: ../ProjectController.py:1797
+#: ../ProjectController.py:1779 msgid "Latest build already matches current target. Transfering anyway...\n"
msgstr "Latest build already matches current target. Transfering anyway...\n"
-#: ../Beremiz_service.py:273
+#: ../Beremiz_service.py:281 msgid "Launch WX GUI inspector"
msgstr "Launch WX GUI inspector"
-#: ../Beremiz_service.py:272
+#: ../Beremiz_service.py:280 msgid "Launch a live Python shell"
msgstr "Launch a live Python shell"
-#: ../editors/Viewer.py:544
+#: ../editors/Viewer.py:580 -#: ../dialogs/LDPowerRailDialog.py:63
+#: ../dialogs/LDPowerRailDialog.py:64 @@ -2030,11 +2036,11 @@
msgid "Less than or equal to"
msgstr "Less than or equal to"
-#: ../dialogs/AboutDialog.py:151
+#: ../dialogs/AboutDialog.py:145 @@ -2042,27 +2048,27 @@
-#: ../targets/toolchain_gcc.py:202
+#: ../targets/toolchain_gcc.py:209 -#: ../dialogs/DiscoveryDialog.py:112 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90 -#: ../canfestival/canfestival.py:348
+#: ../canfestival/canfestival.py:359 -#: ../ProjectController.py:1703
+#: ../ProjectController.py:1685 msgid "Local service discovery failed!\n"
msgstr "Local service discovery failed!\n"
-#: ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:62 -#: ../dialogs/BrowseLocationsDialog.py:72
+#: ../dialogs/BrowseLocationsDialog.py:79 msgid "Locations available:"
msgstr "Locations available:"
@@ -2070,12 +2076,12 @@
msgid "Logarithm to base 10"
msgstr "Logarithm to base 10"
-#: ../connectors/PYRO/__init__.py:94
+#: ../connectors/PYRO/__init__.py:102 msgid "MDNS resolution failure for '%s'\n"
msgstr "MDNS resolution failure for '%s'\n"
-#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85
+#: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92 @@ -2083,11 +2089,15 @@
msgid "Map located variables over CANopen"
msgstr "Map located variables over CANopen"
-#: ../canfestival/NetworkEditor.py:106
+msgid "Map located variables over Modbus" +msgstr "Map located variables over Modbus" +#: ../canfestival/NetworkEditor.py:113 -#: ../ConfigTreeNode.py:539
+#: ../ConfigTreeNode.py:544 msgid "Max count ({a1}) reached for this confnode of type {a2} "
msgstr "Max count ({a1}) reached for this confnode of type {a2} "
@@ -2096,29 +2106,29 @@
-#: ../editors/DataTypeEditor.py:239
+#: ../editors/DataTypeEditor.py:246 -#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:290
-#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98
-#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
+#: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333 +#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103 +#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
-#: ../dialogs/DurationEditorDialog.py:49
+#: ../dialogs/DurationEditorDialog.py:51 -#: ../editors/Viewer.py:549
+#: ../editors/Viewer.py:585 -#: ../dialogs/DurationEditorDialog.py:48
+#: ../dialogs/DurationEditorDialog.py:50 @@ -2126,76 +2136,80 @@
-#: ../editors/DataTypeEditor.py:226
+#: ../editors/DataTypeEditor.py:233 -#: ../dialogs/DurationEditorDialog.py:46
+#: ../dialogs/DurationEditorDialog.py:48 -#: ../controls/ProjectPropertiesPanel.py:211
+#: ../controls/ProjectPropertiesPanel.py:231 -#: ../dialogs/LDElementDialog.py:63
+#: ../dialogs/LDElementDialog.py:65 -#: ../PLCGenerator.py:786 ../PLCGenerator.py:1230
+#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269 msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
msgstr "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
-#: ../dialogs/ActionBlockDialog.py:140
+#: ../dialogs/ActionBlockDialog.py:146 msgstr "Move action down"
-#: ../dialogs/ActionBlockDialog.py:139
+#: ../dialogs/ActionBlockDialog.py:145 -#: ../controls/CustomEditableListBox.py:43
+#: ../controls/CustomEditableListBox.py:46 -#: ../editors/DataTypeEditor.py:355
+#: ../editors/DataTypeEditor.py:367 msgid "Move element down"
msgstr "Move element down"
-#: ../editors/DataTypeEditor.py:354
+#: ../editors/DataTypeEditor.py:366 -#: ../editors/ResourceEditor.py:271
+#: ../editors/ResourceEditor.py:286 msgid "Move instance down"
msgstr "Move instance down"
-#: ../editors/ResourceEditor.py:270
+#: ../editors/ResourceEditor.py:285 msgstr "Move instance up"
-#: ../editors/ResourceEditor.py:242
+#: ../editors/ResourceEditor.py:255 -#: ../editors/ResourceEditor.py:241
+#: ../editors/ResourceEditor.py:254 -#: ../IDEFrame.py:99 ../IDEFrame.py:114 ../IDEFrame.py:144 ../IDEFrame.py:185
+#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192 -#: ../controls/CustomEditableListBox.py:42
+#: ../controls/CustomEditableListBox.py:45 -#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453
+#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484 msgid "Move variable down"
msgstr "Move variable down"
-#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452
+#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483 msgstr "Move variable up"
@@ -2207,26 +2221,26 @@
-#: ../editors/FileManagementPanel.py:83
+#: ../editors/FileManagementPanel.py:87 -#: ../dialogs/DiscoveryDialog.py:92
+#: ../dialogs/DiscoveryDialog.py:89 -#: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83
-#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
-#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732 +#: ../controls/VariablePanel.py:59 -#: ../Beremiz_service.py:334
+#: ../Beremiz_service.py:342 msgid "Name must not be null!"
msgstr "Name must not be null!"
-#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:86
-#: ../dialogs/ConnectionDialog.py:76
+#: ../dialogs/SFCStepDialog.py:59 ../dialogs/FBDBlockDialog.py:89 +#: ../dialogs/ConnectionDialog.py:78 @@ -2234,46 +2248,46 @@
msgid "Natural logarithm"
msgstr "Natural logarithm"
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:519
+#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554 +#: ../Beremiz_service.py:610 +msgid "Nevow Web service failed. " +msgstr "Nevow Web service failed. " #: ../Beremiz_service.py:580
-msgid "Nevow Web service failed. "
-msgstr "Nevow Web service failed. "
-#: ../Beremiz_service.py:556
msgid "Nevow/Athena import failed :"
msgstr "Nevow/Athena import failed :"
-#: ../BeremizIDE.py:216 ../BeremizIDE.py:251 ../PLCOpenEditor.py:104
-#: ../PLCOpenEditor.py:146
+#: ../BeremizIDE.py:241 ../BeremizIDE.py:276 ../PLCOpenEditor.py:75 +#: ../PLCOpenEditor.py:117 -#: ../controls/CustomEditableListBox.py:40
+#: ../controls/CustomEditableListBox.py:43 -#: ../editors/Viewer.py:518
+#: ../editors/Viewer.py:553 -#: ../ProjectController.py:1826
+#: ../ProjectController.py:1808 msgid "No PLC to transfer (did build succeed ?)\n"
msgstr "No PLC to transfer (did build succeed ?)\n"
-#: ../PLCGenerator.py:1631
+#: ../PLCGenerator.py:1678 msgid "No body defined in \"%s\" POU"
msgstr "No body defined in \"%s\" POU"
-#: ../PLCGenerator.py:806 ../PLCGenerator.py:1241
+#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281 msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
msgstr "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
-#: ../PLCOpenEditor.py:357
+#: ../PLCOpenEditor.py:331 "No documentation available.\n"
@@ -2281,58 +2295,58 @@
"No documentation available.\n"
-#: ../PLCGenerator.py:829
+#: ../PLCGenerator.py:841 msgid "No informations found for \"%s\" block"
msgstr "No informations found for \"%s\" block"
-#: ../PLCGenerator.py:1194
+#: ../PLCGenerator.py:1232 msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
msgstr "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
-#: ../controls/SearchResultPanel.py:169
+#: ../controls/SearchResultPanel.py:175 msgid "No search results available."
msgstr "No search results available."
-#: ../svgui/svgui.py:134
+#: ../svgui/svgui.py:142 msgid "No such SVG file: %s\n"
msgstr "No such SVG file: %s\n"
-#: ../canfestival/config_utils.py:639
+#: ../canfestival/config_utils.py:682 msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
msgstr "No such index/subindex ({a1},{a2}) (variable {a3})"
-#: ../canfestival/config_utils.py:362
+#: ../canfestival/config_utils.py:387 msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
msgstr "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
-#: ../dialogs/BrowseValuesLibraryDialog.py:83
+#: ../dialogs/BrowseValuesLibraryDialog.py:87 msgid "No valid value selected!"
msgstr "No valid value selected!"
-#: ../PLCGenerator.py:1629
+#: ../PLCGenerator.py:1676 msgid "No variable defined in \"%s\" POU"
msgstr "No variable defined in \"%s\" POU"
-#: ../canfestival/config_utils.py:355
+#: ../canfestival/config_utils.py:379 msgid "Non existing node ID : {a1} (variable {a2})"
msgstr "Non existing node ID : {a1} (variable {a2})"
-#: ../controls/VariablePanel.py:64
+#: ../controls/VariablePanel.py:79 -#: ../dialogs/LDElementDialog.py:75
+#: ../dialogs/LDElementDialog.py:78 -#: ../canfestival/config_utils.py:389
+#: ../canfestival/config_utils.py:426 msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
msgstr "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
@@ -2341,7 +2355,7 @@
-#: ../dialogs/SFCDivergenceDialog.py:89
+#: ../dialogs/SFCDivergenceDialog.py:91 msgid "Number of sequences:"
msgstr "Number of sequences:"
@@ -2349,88 +2363,88 @@
-#: ../editors/CodeFileEditor.py:739
+#: ../editors/CodeFileEditor.py:736 -#: ../dialogs/SearchInProjectDialog.py:84
+#: ../dialogs/SearchInProjectDialog.py:88 -#: ../BeremizIDE.py:218 ../BeremizIDE.py:252 ../PLCOpenEditor.py:106
-#: ../PLCOpenEditor.py:147
+#: ../BeremizIDE.py:243 ../BeremizIDE.py:277 ../PLCOpenEditor.py:77 +#: ../PLCOpenEditor.py:118 -#: ../svgui/svgui.py:143
+#: ../svgui/svgui.py:151
msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
msgstr "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
-#: ../ProjectController.py:1878
+#: ../ProjectController.py:1879 msgid "Open a file explorer to manage project files"
msgstr "Open a file explorer to manage project files"
-#: ../wxglade_hmi/wxglade_hmi.py:155
+#: ../wxglade_hmi/wxglade_hmi.py:161 -#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+#: ../controls/VariablePanel.py:64 -#: ../dialogs/FindInPouDialog.py:81 ../editors/CodeFileEditor.py:739
+#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737 -#: ../controls/ProjectPropertiesPanel.py:98
+#: ../controls/ProjectPropertiesPanel.py:109 msgid "Organization (optional):"
msgstr "Organization (optional):"
-#: ../canfestival/SlaveEditor.py:74 ../canfestival/NetworkEditor.py:95
+#: ../canfestival/SlaveEditor.py:78 ../canfestival/NetworkEditor.py:102 -#: ../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
+#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42 +#: ../dialogs/BrowseLocationsDialog.py:44 ../editors/Viewer.py:333 +#: ../editors/Viewer.py:1661 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380 -#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84
+#: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91 -#: ../canfestival/SlaveEditor.py:62 ../canfestival/NetworkEditor.py:83
+#: ../canfestival/SlaveEditor.py:66 ../canfestival/NetworkEditor.py:90 -#: ../targets/toolchain_gcc.py:167
+#: ../targets/toolchain_gcc.py:174
-#: ../ProjectController.py:1054
+#: ../ProjectController.py:1082 msgid "PLC code generation failed !\n"
msgstr "PLC code generation failed !\n"
-#: ../Beremiz_service.py:297
+#: ../Beremiz_service.py:305 msgid "PLC is empty or already started."
msgstr "PLC is empty or already started."
-#: ../Beremiz_service.py:304
+#: ../Beremiz_service.py:312 msgid "PLC is not started."
msgstr "PLC is not started."
-#: ../PLCOpenEditor.py:206 ../PLCOpenEditor.py:319
+#: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293 "PLC syntax error at line {a1}:\n"
@@ -2439,15 +2453,15 @@
"PLC syntax error at line {a1}:\n"
-#: ../PLCOpenEditor.py:302 ../PLCOpenEditor.py:383
+#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:357 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
msgstr "PLCOpen files (*.xml)|*.xml|All files|*.*"
-#: ../PLCOpenEditor.py:154 ../PLCOpenEditor.py:219
+#: ../PLCOpenEditor.py:125 ../PLCOpenEditor.py:193 -#: ../PLCOpenEditor.py:365
+#: ../PLCOpenEditor.py:339 "PLCOpenEditor is part of Beremiz project.\n"
@@ -2457,205 +2471,205 @@
-#: ../dialogs/DiscoveryDialog.py:95
+#: ../dialogs/DiscoveryDialog.py:92 -#: ../dialogs/PouDialog.py:101
+#: ../dialogs/PouDialog.py:109 -#: ../dialogs/PouDialog.py:58
+#: ../dialogs/PouDialog.py:66 -#: ../dialogs/PouDialog.py:103
+#: ../dialogs/PouDialog.py:111 -#: ../dialogs/PouDialog.py:65
+#: ../dialogs/PouDialog.py:73 -#: ../connectors/PYRO/__init__.py:45
+#: ../connectors/PYRO/__init__.py:52 msgid "PYRO connecting to URI : %s\n"
msgstr "PYRO connecting to URI : %s\n"
-#: ../connectors/PYRO/__init__.py:61
+#: ../connectors/PYRO/__init__.py:68 msgid "PYRO using certificates in '%s' \n"
msgstr "PYRO using certificates in '%s' \n"
-#: ../BeremizIDE.py:231 ../PLCOpenEditor.py:120
+#: ../BeremizIDE.py:256 ../PLCOpenEditor.py:91 -#: ../controls/ProjectPropertiesPanel.py:111
+#: ../controls/ProjectPropertiesPanel.py:124 msgid "Page Size (optional):"
msgstr "Page Size (optional):"
-#: ../controls/PouInstanceVariablesPanel.py:124
+#: ../controls/PouInstanceVariablesPanel.py:134 -#: ../editors/Viewer.py:657 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428
-#: ../dialogs/SearchInProjectDialog.py:56
+#: ../dialogs/SearchInProjectDialog.py:60 msgid "Pattern to search:"
msgstr "Pattern to search:"
-#: ../dialogs/LDPowerRailDialog.py:74
+#: ../dialogs/LDPowerRailDialog.py:75 -#: ../editors/Viewer.py:2757 ../editors/Viewer.py:3014
-#: ../editors/SFCViewer.py:770
+#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060 +#: ../editors/SFCViewer.py:785 msgid "Please choose a target"
msgstr "Please choose a target"
-#: ../editors/TextViewer.py:262
+#: ../editors/TextViewer.py:260 msgid "Please enter a block name"
msgstr "Please enter a block name"
-#: ../editors/Viewer.py:2627 ../editors/Viewer.py:3056
+#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103 msgid "Please enter comment text"
msgstr "Please enter comment text"
-#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455
-#: ../editors/SFCViewer.py:799
+#: ../editors/SFCViewer.py:447 ../editors/SFCViewer.py:469 +#: ../editors/SFCViewer.py:815 msgid "Please enter step name"
msgstr "Please enter step name"
-#: ../Beremiz_service.py:196
+#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209 msgid "Please enter text"
msgstr "Please enter text"
-#: ../dialogs/ForceVariableDialog.py:163
+#: ../dialogs/ForceVariableDialog.py:177 msgid "Please enter value for a \"%s\" variable:"
msgstr "Please enter value for a \"%s\" variable:"
-#: ../Beremiz_service.py:319
+#: ../Beremiz_service.py:327 msgid "Port number must be 0 <= port <= 65535!"
msgstr "Port number must be 0 <= port <= 65535!"
-#: ../Beremiz_service.py:319
+#: ../Beremiz_service.py:327 msgid "Port number must be an integer!"
msgstr "Port number must be an integer!"
-#: ../editors/Viewer.py:595 ../editors/Viewer.py:2416
+#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449 -#: ../dialogs/LDPowerRailDialog.py:51
+#: ../dialogs/LDPowerRailDialog.py:52 msgid "Power Rail Properties"
msgstr "Power Rail Properties"
-#: ../BeremizIDE.py:233 ../PLCOpenEditor.py:122
+#: ../BeremizIDE.py:258 ../PLCOpenEditor.py:93 -#: ../dialogs/BlockPreviewDialog.py:57
+#: ../dialogs/BlockPreviewDialog.py:59 -#: ../BeremizIDE.py:235 ../BeremizIDE.py:255 ../PLCOpenEditor.py:124
-#: ../PLCOpenEditor.py:150
+#: ../BeremizIDE.py:260 ../BeremizIDE.py:280 ../PLCOpenEditor.py:95 +#: ../PLCOpenEditor.py:121
-#: ../editors/ResourceEditor.py:68
+#: ../editors/ResourceEditor.py:76 -#: ../dialogs/SFCTransitionDialog.py:90
+#: ../dialogs/SFCTransitionDialog.py:91 -#: ../runtime/PLCObject.py:369
+#: ../runtime/PLCObject.py:518 msgid "Problem starting PLC : error %d"
msgstr "Problem starting PLC : error %d"
-#: ../dialogs/ProjectDialog.py:58
+#: ../dialogs/ProjectDialog.py:63 -#: ../controls/ProjectPropertiesPanel.py:81
+#: ../controls/ProjectPropertiesPanel.py:90 msgid "Product Name (required):"
msgstr "Product Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:83
+#: ../controls/ProjectPropertiesPanel.py:92 msgid "Product Release (optional):"
msgstr "Product Release (optional):"
-#: ../dialogs/ProjectDialog.py:59
+#: ../dialogs/ProjectDialog.py:64 -#: ../controls/ProjectPropertiesPanel.py:82
+#: ../controls/ProjectPropertiesPanel.py:91 msgid "Product Version (required):"
msgstr "Product Version (required):"
-#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1747
+#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778 -#: ../PLCOpenEditor.py:347
+#: ../PLCOpenEditor.py:321 msgid "Program was successfully generated!"
msgstr "Program was successfully generated!"
-#: ../PLCControler.py:98
+#: ../plcopen/types_enums.py:76 -#: ../editors/Viewer.py:243
+#: ../editors/Viewer.py:285 msgid "Programs can't be used by other POUs!"
msgstr "Programs can't be used by other POUs!"
-#: ../controls/ProjectPropertiesPanel.py:85 ../IDEFrame.py:584
+#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601 -#: ../controls/SearchResultPanel.py:173
+#: ../controls/SearchResultPanel.py:180 -#: ../ProjectController.py:1877
+#: ../ProjectController.py:1878 -#: ../dialogs/ProjectDialog.py:57
+#: ../dialogs/ProjectDialog.py:62 -#: ../controls/ProjectPropertiesPanel.py:79
+#: ../controls/ProjectPropertiesPanel.py:88 msgid "Project Name (required):"
msgstr "Project Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:80
+#: ../controls/ProjectPropertiesPanel.py:89 msgid "Project Version (optional):"
msgstr "Project Version (optional):"
-#: ../PLCControler.py:3164
+#: ../PLCControler.py:2717 "Project file syntax error:\n"
@@ -2663,90 +2677,90 @@
"Project file syntax error:\n"
-#: ../dialogs/ProjectDialog.py:33 ../editors/ProjectNodeEditor.py:37
+#: ../dialogs/ProjectDialog.py:36 ../editors/ProjectNodeEditor.py:40 msgid "Project properties"
msgstr "Project properties"
-#: ../ConfigTreeNode.py:566
+#: ../ConfigTreeNode.py:571 msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
msgstr "Project tree layout do not match confnode.xml {a1}!={a2} "
-#: ../dialogs/ConnectionDialog.py:98
+#: ../dialogs/ConnectionDialog.py:101 -#: ../PLCControler.py:99
+#: ../plcopen/types_enums.py:77 -#: ../Beremiz_service.py:442
+#: ../Beremiz_service.py:427 msgid "Publishing service on local network"
msgstr "Publishing service on local network"
-#: ../connectors/PYRO/__init__.py:118
+#: ../connectors/PYRO/__init__.py:126 msgid "Pyro exception: %s\n"
msgstr "Pyro exception: %s\n"
-#: ../Beremiz_service.py:429
-msgid "Pyro object's uri :"
-msgstr "Pyro object's uri :"
-#: ../Beremiz_service.py:428
+#: ../Beremiz_service.py:420 -#: ../py_ext/PythonEditor.py:81
+#: ../py_ext/PythonEditor.py:84
-#: ../dialogs/ActionBlockDialog.py:39
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../BeremizIDE.py:238 ../PLCOpenEditor.py:130 ../Beremiz_service.py:275
+#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:225
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227 -#: ../ProjectController.py:1873
+#: ../ProjectController.py:1872 -#: ../BeremizIDE.py:1047
+#: ../BeremizIDE.py:1083 msgid "Really delete node '%s'?"
msgstr "Really delete node '%s'?"
-#: ../IDEFrame.py:362 ../IDEFrame.py:422
+#: ../connectors/WAMP/dialog.py:50 +#: ../IDEFrame.py:367 ../IDEFrame.py:424 -#: ../dialogs/SFCTransitionDialog.py:75
+#: ../dialogs/SFCTransitionDialog.py:76 -#: ../dialogs/DiscoveryDialog.py:107 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434 -#: ../dialogs/SearchInProjectDialog.py:66
+#: ../dialogs/SearchInProjectDialog.py:70 msgid "Regular expression"
msgstr "Regular expression"
-#: ../dialogs/FindInPouDialog.py:96
+#: ../dialogs/FindInPouDialog.py:99 msgid "Regular expressions"
msgstr "Regular expressions"
-#: ../editors/Viewer.py:1603
+#: ../editors/Viewer.py:1636 @@ -2754,56 +2768,56 @@
msgid "Remainder (modulo)"
msgstr "Remainder (modulo)"
-#: ../BeremizIDE.py:1048
+#: ../BeremizIDE.py:1084
-#: ../dialogs/ActionBlockDialog.py:138
+#: ../dialogs/ActionBlockDialog.py:144 -#: ../editors/DataTypeEditor.py:353
+#: ../editors/DataTypeEditor.py:365 -#: ../editors/FileManagementPanel.py:63
+#: ../editors/FileManagementPanel.py:66 msgid "Remove file from left folder"
msgstr "Remove file from left folder"
-#: ../editors/ResourceEditor.py:269
+#: ../editors/ResourceEditor.py:284 -#: ../canfestival/NetworkEditor.py:104
+#: ../canfestival/NetworkEditor.py:111 -#: ../editors/ResourceEditor.py:240
+#: ../editors/ResourceEditor.py:253 -#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451
+#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482
-#: ../editors/FileManagementPanel.py:181
+#: ../editors/FileManagementPanel.py:187 -#: ../editors/Viewer.py:561
+#: ../editors/Viewer.py:598 msgid "Replace Wire by connections"
msgstr "Replace Wire by connections"
@@ -2811,43 +2825,43 @@
msgid "Replacement (within)"
msgstr "Replacement (within)"
-#: ../dialogs/LDElementDialog.py:76
+#: ../dialogs/LDElementDialog.py:79 -#: ../editors/Viewer.py:642
+#: ../editors/Viewer.py:681 msgid "Reset Execution Order"
msgstr "Reset Execution Order"
msgid "Reset Perspective"
msgstr "Reset Perspective"
-#: ../controls/SearchResultPanel.py:105
+#: ../controls/SearchResultPanel.py:103 msgid "Reset search result"
msgstr "Reset search result"
-#: ../BeremizIDE.py:979 ../PLCControler.py:99
+#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77 -#: ../controls/VariablePanel.py:62
+#: ../controls/VariablePanel.py:77 -#: ../controls/VariablePanel.py:424
+#: ../controls/VariablePanel.py:455 -#: ../editors/Viewer.py:546
+#: ../editors/Viewer.py:582 -#: ../dialogs/LDPowerRailDialog.py:64
+#: ../dialogs/LDPowerRailDialog.py:65 -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:520
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555 @@ -2863,113 +2877,113 @@
msgstr "Rounding up/down"
-#: ../ProjectController.py:1841
+#: ../ProjectController.py:1828 -#: ../ProjectController.py:1099
+#: ../ProjectController.py:1127 msgid "Runtime IO extensions C code generation failed !\n"
msgstr "Runtime IO extensions C code generation failed !\n"
-#: ../ProjectController.py:1108
+#: ../ProjectController.py:1136 msgid "Runtime library extensions C code generation failed !\n"
msgstr "Runtime library extensions C code generation failed !\n"
-#: ../canfestival/SlaveEditor.py:61 ../canfestival/NetworkEditor.py:82
+#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:89 -#: ../canfestival/SlaveEditor.py:60 ../canfestival/NetworkEditor.py:81
+#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:88 -#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144
+#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../PLCGenerator.py:1392
+#: ../PLCGenerator.py:1433 msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
msgstr "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
-#: ../PLCGenerator.py:773
+#: ../PLCGenerator.py:780 msgid "SFC transition in POU \"%s\" must be connected."
msgstr "SFC transition in POU \"%s\" must be connected."
-#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32
-#: ../dialogs/PouDialog.py:37
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 -#: ../PLCOpenEditor.py:334
+#: ../PLCOpenEditor.py:308 msgid "ST files (*.st)|*.st|All files|*.*"
msgstr "ST files (*.st)|*.st|All files|*.*"
-#: ../svgui/svgui.py:128
+#: ../svgui/svgui.py:136 msgid "SVG files (*.svg)|*.svg|All files|*.*"
msgstr "SVG files (*.svg)|*.svg|All files|*.*"
-#: ../BeremizIDE.py:222 ../BeremizIDE.py:253 ../PLCOpenEditor.py:113
-#: ../PLCOpenEditor.py:148
+#: ../BeremizIDE.py:247 ../BeremizIDE.py:278 ../PLCOpenEditor.py:84 +#: ../PLCOpenEditor.py:119 -#: ../BeremizIDE.py:254 ../PLCOpenEditor.py:115 ../PLCOpenEditor.py:149
+#: ../BeremizIDE.py:279 ../PLCOpenEditor.py:86 ../PLCOpenEditor.py:120
-#: ../ProjectController.py:511
+#: ../ProjectController.py:530 msgid "Save path is the same as path of a project! \n"
msgstr "Save path is the same as path of a project! \n"
-#: ../dialogs/SearchInProjectDialog.py:69
+#: ../dialogs/SearchInProjectDialog.py:73
-#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:382 ../IDEFrame.py:428
+#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430 msgid "Search in Project"
msgstr "Search in Project"
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:49
-#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
-#: ../controls/VariablePanel.py:350
+#: ../editors/Viewer.py:331 ../editors/TextViewer.py:305 +#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315 +#: ../controls/VariablePanel.py:378 msgid "Select a variable class:"
msgstr "Select a variable class:"
-#: ../ProjectController.py:1257
+#: ../ProjectController.py:1293 msgid "Select an editor:"
msgstr "Select an editor:"
-#: ../controls/PouInstanceVariablesPanel.py:281
+#: ../controls/PouInstanceVariablesPanel.py:292 msgid "Select an instance"
msgstr "Select an instance"
msgstr "Select an object"
-#: ../ProjectController.py:518
+#: ../ProjectController.py:537 msgid "Selected directory already contains another project. Overwrite? \n"
msgstr "Selected directory already contains another project. Overwrite? \n"
@@ -2977,23 +2991,23 @@
-#: ../dialogs/SFCDivergenceDialog.py:65
+#: ../dialogs/SFCDivergenceDialog.py:66 msgid "Selection Convergence"
msgstr "Selection Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:64
+#: ../dialogs/SFCDivergenceDialog.py:65 msgid "Selection Divergence"
msgstr "Selection Divergence"
-#: ../dialogs/DiscoveryDialog.py:82
+#: ../dialogs/DiscoveryDialog.py:135 msgid "Service Discovery"
msgstr "Service Discovery"
-#: ../dialogs/DiscoveryDialog.py:85
+#: ../dialogs/DiscoveryDialog.py:104 msgid "Services available:"
msgstr "Services available:"
-#: ../dialogs/LDElementDialog.py:76
+#: ../dialogs/LDElementDialog.py:79 @@ -3005,27 +3019,27 @@
-#: ../ProjectController.py:1867
+#: ../ProjectController.py:1863 msgid "Show IEC code generated by PLCGenerator"
msgstr "Show IEC code generated by PLCGenerator"
-#: ../canfestival/canfestival.py:389
+#: ../canfestival/canfestival.py:407 -#: ../canfestival/canfestival.py:390
+#: ../canfestival/canfestival.py:408 msgid "Show Master generated by config_utils"
msgstr "Show Master generated by config_utils"
-#: ../ProjectController.py:1865
+#: ../ProjectController.py:1862 +#: ../dialogs/SFCDivergenceDialog.py:68 +msgid "Simultaneous Convergence" +msgstr "Simultaneous Convergence" #: ../dialogs/SFCDivergenceDialog.py:67
-msgid "Simultaneous Convergence"
-msgstr "Simultaneous Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:66
msgid "Simultaneous Divergence"
msgstr "Simultaneous Divergence"
@@ -3033,15 +3047,15 @@
-#: ../editors/ResourceEditor.py:68
+#: ../editors/ResourceEditor.py:76 -#: ../targets/toolchain_makefile.py:126
+#: ../targets/toolchain_makefile.py:130 msgid "Source didn't change, no build.\n"
msgstr "Source didn't change, no build.\n"
-#: ../PLCGenerator.py:397
+#: ../PLCGenerator.py:404 msgid "Source signal has to be defined for single task '{a1}' in resource '{a2}.{a3}'."
msgstr "Source signal has to be defined for single task '{a1}' in resource '{a2}.{a3}'."
@@ -3050,60 +3064,56 @@
msgid "Square root (base 2)"
msgstr "Square root (base 2)"
-#: ../plcopen/definitions.py:48
+#: ../plcopen/definitions.py:50 msgid "Standard function blocks"
msgstr "Standard function blocks"
-#: ../ProjectController.py:1843 ../Beremiz_service.py:263
+#: ../ProjectController.py:1829 ../Beremiz_service.py:271 -#: ../ProjectController.py:1046
+#: ../ProjectController.py:1074 msgid "Start build in %s\n"
msgstr "Start build in %s\n"
-#: ../ProjectController.py:1360
+#: ../ProjectController.py:1397 -#: ../ProjectController.py:1648
+#: ../ProjectController.py:1633
-#: ../editors/Viewer.py:612 ../editors/Viewer.py:2391
+#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424 -#: ../ProjectController.py:1846
+#: ../ProjectController.py:1835 -#: ../Beremiz_service.py:264
+#: ../Beremiz_service.py:272 -#: ../ProjectController.py:1848
+#: ../ProjectController.py:1836 msgstr "Stop Running PLC"
-#: ../ProjectController.py:1361
+#: ../ProjectController.py:1398 -#: ../ProjectController.py:1620
-msgid "Stopping debugger...\n"
-msgstr "Stopping debugger...\n"
-#: ../editors/DataTypeEditor.py:54
+#: ../editors/DataTypeEditor.py:60 -#: ../editors/DataTypeEditor.py:54
+#: ../editors/DataTypeEditor.py:60 @@ -3111,19 +3121,19 @@
-#: ../ProjectController.py:1085
+#: ../ProjectController.py:1113 msgid "Successfully built.\n"
msgstr "Successfully built.\n"
msgid "Switch perspective"
msgstr "Switch perspective"
-#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:115
+#: ../dialogs/SearchInProjectDialog.py:169 ../dialogs/FindInPouDialog.py:118 msgid "Syntax error in regular expression of pattern to search!"
msgstr "Syntax error in regular expression of pattern to search!"
-#: ../dialogs/DiscoveryDialog.py:93
+#: ../dialogs/DiscoveryDialog.py:90 @@ -3131,19 +3141,19 @@
-#: ../editors/ResourceEditor.py:83
+#: ../editors/ResourceEditor.py:97 -#: ../editors/ResourceEditor.py:235
+#: ../editors/ResourceEditor.py:248 -#: ../controls/VariablePanel.py:73
+#: ../controls/VariablePanel.py:91
"The best place to ask questions about Beremiz/PLCOpenEditor\n"
"is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
@@ -3163,7 +3173,7 @@
"You can subscribe to the list here:\n"
"https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
-#: ../editors/FileManagementPanel.py:180
+#: ../editors/FileManagementPanel.py:186 "The file '%s' already exist.\n"
@@ -3172,20 +3182,20 @@
"The file '%s' already exist.\n"
"Do you want to replace it?"
-#: ../editors/LDViewer.py:882
+#: ../editors/LDViewer.py:893 msgid "The group of block must be coherent!"
msgstr "The group of block must be coherent!"
-#: ../BeremizIDE.py:542 ../IDEFrame.py:1015
+#: ../BeremizIDE.py:573 ../IDEFrame.py:1046 msgid "There are changes, do you want to save?"
msgstr "There are changes, do you want to save?"
-#: ../IDEFrame.py:1658 ../IDEFrame.py:1677
+#: ../IDEFrame.py:1691 ../IDEFrame.py:1710 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr "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?"
@@ -3193,11 +3203,11 @@
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
-#: ../editors/LDViewer.py:891
+#: ../editors/LDViewer.py:902 msgid "This option isn't available yet!"
msgstr "This option isn't available yet!"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:565
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567 @@ -3235,89 +3245,89 @@
msgid "Time-of-day subtraction"
msgstr "Time-of-day subtraction"
-#: ../dialogs/ForceVariableDialog.py:172
+#: ../dialogs/ForceVariableDialog.py:188 -#: ../editors/Viewer.py:548
+#: ../editors/Viewer.py:584 -#: ../ProjectController.py:1855
+#: ../ProjectController.py:1848 -#: ../ProjectController.py:1857
+#: ../ProjectController.py:1849 -#: ../ProjectController.py:1820
+#: ../ProjectController.py:1802 msgid "Transfer completed successfully.\n"
msgstr "Transfer completed successfully.\n"
-#: ../ProjectController.py:1823
+#: ../ProjectController.py:1805 msgid "Transfer failed\n"
msgstr "Transfer failed\n"
-#: ../editors/Viewer.py:613 ../editors/Viewer.py:2393 ../editors/Viewer.py:2420
+#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453 -#: ../PLCGenerator.py:1518
+#: ../PLCGenerator.py:1564 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
msgstr "Transition \"%s\" body must contain an output variable or coil referring to its name"
-#: ../dialogs/PouTransitionDialog.py:84
+#: ../dialogs/PouTransitionDialog.py:91 -#: ../dialogs/PouTransitionDialog.py:53
+#: ../dialogs/PouTransitionDialog.py:60 msgstr "Transition Name:"
-#: ../PLCGenerator.py:1609
+#: ../PLCGenerator.py:1657 msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
msgstr "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
-#: ../PLCGenerator.py:1598
+#: ../PLCGenerator.py:1646 msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
msgstr "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
-#: ../plcopen/plcopen.py:1323
+#: ../plcopen/plcopen.py:1526 msgid "Transition with name %s doesn't exist!"
msgstr "Transition with name %s doesn't exist!"
-#: ../PLCControler.py:98
+#: ../plcopen/types_enums.py:76 -#: ../dialogs/AboutDialog.py:131
+#: ../dialogs/AboutDialog.py:127 -#: ../editors/ResourceEditor.py:68
+#: ../editors/ResourceEditor.py:76 -#: ../Beremiz_service.py:478
+#: ../Beremiz_service.py:490 msgid "Twisted unavailable."
msgstr "Twisted unavailable."
-#: ../dialogs/ActionBlockDialog.py:39 ../editors/ResourceEditor.py:83
-#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:739
-#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733 +#: ../controls/VariablePanel.py:61 -#: ../dialogs/BrowseLocationsDialog.py:49
+#: ../dialogs/BrowseLocationsDialog.py:54 msgid "Type and derivated"
msgstr "Type and derivated"
-#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624
+#: ../canfestival/config_utils.py:359 ../canfestival/config_utils.py:666 msgid "Type conflict for location \"%s\""
msgstr "Type conflict for location \"%s\""
@@ -3326,179 +3336,233 @@
-#: ../editors/DataTypeEditor.py:162
+#: ../editors/DataTypeEditor.py:170 -#: ../dialogs/BrowseLocationsDialog.py:50
+#: ../dialogs/BrowseLocationsDialog.py:55 -#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58
-#: ../dialogs/LDPowerRailDialog.py:57 ../dialogs/BrowseLocationsDialog.py:100
-#: ../dialogs/FBDBlockDialog.py:66 ../dialogs/ConnectionDialog.py:59
+#: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59 +#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111 +#: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61 -#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476
+#: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42 +#: ../connectors/PYRO/dialog.py:43 ../connectors/WAMP/dialog.py:46 +#: ../controls/UriLocationEditor.py:35 +#: ../canfestival/config_utils.py:500 ../canfestival/config_utils.py:515 msgid "Unable to define PDO mapping for node %02x"
msgstr "Unable to define PDO mapping for node %02x"
-#: ../targets/Xenomai/__init__.py:39
+#: ../targets/Xenomai/__init__.py:43 msgid "Unable to get Xenomai's %s \n"
msgstr "Unable to get Xenomai's %s \n"
-#: ../PLCGenerator.py:961 ../PLCGenerator.py:1214
+#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252 msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
msgstr "Undefined block type \"{a1}\" in \"{a2}\" POU"
-#: ../PLCGenerator.py:254
+#: ../PLCGenerator.py:261 msgid "Undefined pou type \"%s\""
msgstr "Undefined pou type \"%s\""
-#: ../IDEFrame.py:360 ../IDEFrame.py:421
+#: ../IDEFrame.py:365 ../IDEFrame.py:423 -#: ../ProjectController.py:423
+#: ../ProjectController.py:442 -#: ../editors/Viewer.py:394
+#: ../editors/Viewer.py:437 msgid "Unknown variable \"%s\" for this POU!"
msgstr "Unknown variable \"%s\" for this POU!"
-#: ../ProjectController.py:420 ../ProjectController.py:421
+#: ../ProjectController.py:439 ../ProjectController.py:440 -#: ../PLCControler.py:638
+#: ../PLCControler.py:263 -#: ../controls/VariablePanel.py:284
+#: ../controls/VariablePanel.py:308 msgid "Unrecognized data size \"%s\""
msgstr "Unrecognized data size \"%s\""
-#: ../editors/DataTypeEditor.py:630 ../controls/VariablePanel.py:827
+#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841 -#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:86
+#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:93 -#: ../PLCControler.py:97
+#: ../plcopen/types_enums.py:75 msgid "User-defined POUs"
msgstr "User-defined POUs"
-#: ../dialogs/ActionBlockDialog.py:39
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../editors/DataTypeEditor.py:259
+#: ../editors/DataTypeEditor.py:267 -#: ../dialogs/ActionBlockDialog.py:43 ../editors/Viewer.py:585
-#: ../editors/Viewer.py:2423
+#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622 +#: ../editors/Viewer.py:2456 -#: ../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
+#: ../editors/Viewer.py:352 ../editors/Viewer.py:382 ../editors/Viewer.py:404 +#: ../editors/TextViewer.py:290 ../editors/TextViewer.py:344 +#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:355 -#: ../dialogs/FBDVariableDialog.py:64
+#: ../dialogs/FBDVariableDialog.py:68 msgid "Variable Properties"
msgstr "Variable Properties"
-#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290
-#: ../controls/VariablePanel.py:350
+#: ../editors/Viewer.py:332 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316 +#: ../controls/VariablePanel.py:379 -#: ../editors/Viewer.py:396 ../editors/TextViewer.py:387
+#: ../editors/Viewer.py:439 ../editors/TextViewer.py:388 msgid "Variable don't belong to this POU!"
msgstr "Variable don't belong to this POU!"
-#: ../dialogs/LDElementDialog.py:89
+#: ../dialogs/LDElementDialog.py:92 -#: ../controls/VariablePanel.py:72
+#: ../controls/VariablePanel.py:90 -#: ../controls/ProjectPropertiesPanel.py:152
+#: ../controls/ProjectPropertiesPanel.py:166 -#: ../Beremiz_service.py:588
+#: ../runtime/WampClient.py:113 +msgid "WAMP Client connection failed (%s) .. retrying .." +msgstr "WAMP Client connection failed (%s) .. retrying .." +#: ../runtime/WampClient.py:117 +msgid "WAMP Client connection lost (%s) .. retrying .." +msgstr "WAMP Client connection lost (%s) .. retrying .." +#: ../connectors/WAMP/dialog.py:54 +#: ../runtime/WampClient.py:172 +msgid "WAMP client connecting to :" +msgstr "WAMP client connecting to :" +#: ../runtime/WampClient.py:148 +msgid "WAMP client connection not established!" +msgstr "WAMP client connection not established!" +#: ../Beremiz_service.py:625 msgid "WAMP client startup failed. "
msgstr "WAMP client startup failed. "
-#: ../connectors/WAMP/__init__.py:91
+#: ../Beremiz_service.py:621 +msgid "WAMP config is incomplete." +msgstr "WAMP config is incomplete." +#: ../Beremiz_service.py:623 +msgid "WAMP config is missing." +msgstr "WAMP config is missing." +#: ../connectors/WAMP/__init__.py:99 msgid "WAMP connecting to URL : %s\n"
msgstr "WAMP connecting to URL : %s\n"
-#: ../connectors/WAMP/__init__.py:131
+#: ../connectors/WAMP/__init__.py:140 msgid "WAMP connection timeout"
msgstr "WAMP connection timeout"
-#: ../connectors/WAMP/__init__.py:150
+#: ../connectors/WAMP/__init__.py:158 msgid "WAMP connection to '%s' failed.\n"
msgstr "WAMP connection to '%s' failed.\n"
-#: ../Beremiz_service.py:564
+#: ../Beremiz_service.py:595 msgid "WAMP import failed :"
msgstr "WAMP import failed :"
-#: ../wxglade_hmi/wxglade_hmi.py:37
+#: ../runtime/WampClient.py:126 +msgid "WAMP load error: " +msgstr "WAMP load error: " +#: ../runtime/WampClient.py:108 +msgid "WAMP session left" +msgstr "WAMP session left" +#: ../wxglade_hmi/wxglade_hmi.py:44 -#: ../dialogs/PouDialog.py:129 ../editors/LDViewer.py:891
+#: ../runtime/WampClient.py:137 +msgid "Wamp secret load error:" +msgstr "Wamp secret load error:" +#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902 -#: ../ProjectController.py:707
+#: ../ProjectController.py:726 msgid "Warnings in ST/IL/SFC code generator :\n"
msgstr "Warnings in ST/IL/SFC code generator :\n"
-#: ../dialogs/SearchInProjectDialog.py:78
+#: ../dialogs/SearchInProjectDialog.py:82 -#: ../controls/ProjectPropertiesPanel.py:120
+#: ../controls/ProjectPropertiesPanel.py:134 -#: ../dialogs/FindInPouDialog.py:91
+#: ../dialogs/FindInPouDialog.py:94 -#: ../dialogs/AboutDialog.py:130
+#: ../dialogs/AboutDialog.py:126
-#: ../svgui/svgui.py:142
+#: ../svgui/svgui.py:150 "You don't have write permissions.\n"
@@ -3506,7 +3570,7 @@
"You don't have write permissions.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:154
+#: ../wxglade_hmi/wxglade_hmi.py:160 "You don't have write permissions.\n"
@@ -3514,7 +3578,7 @@
"You don't have write permissions.\n"
-#: ../ProjectController.py:371
+#: ../ProjectController.py:390 "You must have permission to work on the project\n"
"Work on a project copy ?"
@@ -3522,77 +3586,69 @@
"You must have permission to work on the project\n"
"Work on a project copy ?"
-#: ../editors/LDViewer.py:886
+#: ../editors/LDViewer.py:897 msgid "You must select the block or group of blocks around which a branch should be added!"
msgstr "You must select the block or group of blocks around which a branch should be added!"
-#: ../editors/LDViewer.py:666
+#: ../editors/LDViewer.py:677 msgid "You must select the wire where a contact should be added!"
msgstr "You must select the wire where a contact should be added!"
-#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouNameDialog.py:50 msgid "You must type a name!"
msgstr "You must type a name!"
-#: ../dialogs/ForceVariableDialog.py:193
+#: ../dialogs/ForceVariableDialog.py:209 msgid "You must type a value!"
msgstr "You must type a value!"
-#: ../dialogs/DurationEditorDialog.py:155
+#: ../dialogs/DurationEditorDialog.py:158 -#: ../PLCOpenEditor.py:343
+#: ../PLCOpenEditor.py:317 -#: ../util/ProcessLogger.py:169
+#: ../util/ProcessLogger.py:178 msgid "exited with status {a1} (pid {a2})\n"
msgstr "exited with status {a1} (pid {a2})\n"
-#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408
-#: ../dialogs/PouDialog.py:32
+#: ../dialogs/PouDialog.py:36 -#: ../PLCOpenEditor.py:409
-#: ../dialogs/PouDialog.py:32
+#: ../dialogs/PouDialog.py:36 -#: ../dialogs/DurationEditorDialog.py:155
+#: ../dialogs/DurationEditorDialog.py:158 -#: ../PLCOpenEditor.py:409
-#: ../dialogs/DurationEditorDialog.py:157
+#: ../ProjectController.py:753 +msgid "matiec installation is not found\n" +msgstr "matiec installation is not found\n" +#: ../dialogs/DurationEditorDialog.py:160 -#: ../dialogs/DurationEditorDialog.py:156
+#: ../dialogs/DurationEditorDialog.py:159 -#: ../dialogs/PouDialog.py:32
+#: ../dialogs/PouDialog.py:36 -#: ../dialogs/DurationEditorDialog.py:156
+#: ../dialogs/DurationEditorDialog.py:159 @@ -3608,27 +3664,27 @@
msgid "update info unavailable."
msgstr "update info unavailable."
-#: ../PLCOpenEditor.py:341
+#: ../PLCOpenEditor.py:315 -#: ../PLCControler.py:972
+#: ../PLCControler.py:576 msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
msgstr "{a1} \"{a2}\" can't be pasted as a {a3}."
-#: ../ConfigTreeNode.py:56
+#: ../ConfigTreeNode.py:58 -"{a1} XML file doesn't follow XSD schema at line %{a2}:\n"
+"{a1} XML file doesn't follow XSD schema at line {a2}:\n" -"{a1} XML file doesn't follow XSD schema at line %{a2}:\n"
+"{a1} XML file doesn't follow XSD schema at line {a2}:\n" @@ -3692,6 +3748,72 @@
+msgstr "ModbusTCPclient" +msgid "Remote_IP_Address" +msgstr "Remote_IP_Address" +msgid "Remote_Port_Number" +msgstr "Remote_Port_Number" +msgid "Invocation_Rate_in_ms" +msgstr "Invocation_Rate_in_ms" +msgid "ModbusServerNode" +msgstr "ModbusServerNode" +msgid "Local_IP_Address" +msgstr "Local_IP_Address" +msgid "Local_Port_Number" +msgstr "Local_Port_Number" +msgstr "ModbusRTUclient" +msgid "MaxRemoteTCPclients" +msgstr "MaxRemoteTCPclients" @@ -3855,8 +3977,8 @@
msgid "The RS bistable is a latch where the Reset dominates."
msgstr "The RS bistable is a latch where the Reset dominates."
-msgid "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
-msgstr "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
+msgid "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain resources." +msgstr "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain resources." msgid "The output produces a single pulse when a rising edge is detected."
msgstr "The output produces a single pulse when a rising edge is detected."
--- a/i18n/messages.pot Fri Jun 15 16:30:06 2018 +0300
+++ b/i18n/messages.pot Fri Jun 15 16:41:55 2018 +0300
@@ -8,7 +8,7 @@
"Project-Id-Version: Beremiz\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-09-13 15:37+0300\n"
+"POT-Creation-Date: 2018-06-15 16: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"
-#: ../util/ExceptionHandler.py:56
+#: ../util/ExceptionHandler.py:58 @@ -32,244 +32,244 @@
-#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:90 -#: ../controls/VariablePanel.py:88
-#: ../controls/VariablePanel.py:88
#: ../controls/VariablePanel.py:89
-#: ../controls/VariablePanel.py:88
+#: ../controls/VariablePanel.py:89 #: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:91 -#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/ProjectDialog.py:72
-#: ../dialogs/PouActionDialog.py:97 ../dialogs/PouDialog.py:120
+#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122 -#: ../ProjectController.py:1177
+#: ../ProjectController.py:1182 msgid " generation failed !\n"
-#: ../plcopen/plcopen.py:936
+#: ../plcopen/plcopen.py:1029 msgid "\"%s\" Data Type doesn't exist !!!"
-#: ../plcopen/plcopen.py:954
+#: ../plcopen/plcopen.py:1047 msgid "\"%s\" POU already exists !!!"
-#: ../plcopen/plcopen.py:975
+#: ../plcopen/plcopen.py:1068 msgid "\"%s\" POU doesn't exist !!!"
-#: ../editors/Viewer.py:285
+#: ../editors/Viewer.py:288 msgid "\"%s\" can't use itself!"
-#: ../IDEFrame.py:1692 ../IDEFrame.py:1711
+#: ../IDEFrame.py:1688 ../IDEFrame.py:1707 msgid "\"%s\" config already exists!"
-#: ../plcopen/plcopen.py:509
+#: ../plcopen/plcopen.py:531 msgid "\"%s\" configuration already exists !!!"
-#: ../plcopen/plcopen.py:518
+#: ../plcopen/plcopen.py:540 msgid "\"%s\" configuration doesn't exist !!!"
msgid "\"%s\" data type already exists!"
-#: ../dialogs/PouTransitionDialog.py:110 ../dialogs/BlockPreviewDialog.py:220
-#: ../dialogs/PouActionDialog.py:108 ../editors/Viewer.py:301
-#: ../editors/Viewer.py:371 ../editors/Viewer.py:395 ../editors/Viewer.py:415
-#: ../editors/TextViewer.py:275 ../editors/TextViewer.py:304
+#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouActionDialog.py:110 ../editors/Viewer.py:304 +#: ../editors/Viewer.py:374 ../editors/Viewer.py:398 ../editors/Viewer.py:418 +#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299 #: ../controls/VariablePanel.py:425
msgid "\"%s\" element for this pou already exists!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
-#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouTransitionDialog.py:106
-#: ../dialogs/BlockPreviewDialog.py:209 ../dialogs/PouNameDialog.py:51
-#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:127
-#: ../editors/ResourceEditor.py:464 ../editors/ResourceEditor.py:499
-#: ../editors/DataTypeEditor.py:570 ../editors/DataTypeEditor.py:602
-#: ../editors/CodeFileEditor.py:789 ../controls/VariablePanel.py:808
+#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108 +#: ../dialogs/BlockPreviewDialog.py:209 ../dialogs/PouNameDialog.py:54 +#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:129 +#: ../editors/ResourceEditor.py:483 ../editors/ResourceEditor.py:518 +#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:603 +#: ../editors/CodeFileEditor.py:774 ../controls/VariablePanel.py:787 msgid "\"%s\" is a keyword. It can't be used!"
-#: ../plcopen/plcopen.py:2531
+#: ../plcopen/plcopen.py:2836 msgid "\"%s\" is an invalid value!"
-#: ../PLCOpenEditor.py:370 ../PLCOpenEditor.py:412
+#: ../PLCOpenEditor.py:323 ../PLCOpenEditor.py:365 msgid "\"%s\" is not a valid folder!"
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:104
-#: ../dialogs/BlockPreviewDialog.py:205 ../dialogs/PouNameDialog.py:49
-#: ../dialogs/PouActionDialog.py:102 ../dialogs/PouDialog.py:125
-#: ../editors/ResourceEditor.py:462 ../editors/ResourceEditor.py:497
-#: ../editors/DataTypeEditor.py:600 ../editors/CodeFileEditor.py:787
-#: ../controls/VariablePanel.py:806 ../IDEFrame.py:1631
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106 +#: ../dialogs/BlockPreviewDialog.py:205 ../dialogs/PouNameDialog.py:52 +#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:127 +#: ../editors/ResourceEditor.py:481 ../editors/ResourceEditor.py:516 +#: ../editors/DataTypeEditor.py:601 ../editors/CodeFileEditor.py:772 +#: ../controls/VariablePanel.py:785 ../IDEFrame.py:1627 msgid "\"%s\" is not a valid identifier!"
msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
-#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:129
-#: ../editors/Viewer.py:299 ../editors/Viewer.py:356 ../editors/Viewer.py:386
-#: ../editors/Viewer.py:408 ../editors/TextViewer.py:273
-#: ../editors/TextViewer.py:302 ../editors/TextViewer.py:356
-#: ../editors/TextViewer.py:379 ../controls/VariablePanel.py:364
+#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:131 +#: ../editors/Viewer.py:302 ../editors/Viewer.py:359 ../editors/Viewer.py:389 +#: ../editors/Viewer.py:411 ../editors/TextViewer.py:268 +#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:351 +#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:364 msgid "\"%s\" pou already exists!"
-#: ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/SFCStepNameDialog.py:62 msgid "\"%s\" step already exists!"
-#: ../editors/DataTypeEditor.py:565
+#: ../editors/DataTypeEditor.py:566 msgid "\"%s\" value already defined!"
-#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:758
+#: ../dialogs/ArrayTypeDialog.py:105 ../editors/DataTypeEditor.py:759 msgid "\"%s\" value isn't a valid array dimension!"
-#: ../dialogs/ArrayTypeDialog.py:107 ../editors/DataTypeEditor.py:765
+#: ../dialogs/ArrayTypeDialog.py:109 ../editors/DataTypeEditor.py:766 "\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
-#: ../PLCGenerator.py:1114
+#: ../PLCGenerator.py:1133 msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
-#: ../editors/Viewer.py:289
+#: ../editors/Viewer.py:292 msgid "\"{a1}\" is already used by \"{a2}\"!"
-#: ../plcopen/plcopen.py:535
+#: ../plcopen/plcopen.py:557 msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
-#: ../plcopen/plcopen.py:555
+#: ../plcopen/plcopen.py:577 msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:577
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:568
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573 #: ../controls/DebugVariablePanel/DebugVariablePanel.py:58
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:57
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574 -#: ../PLCControler.py:1591
+#: ../PLCControler.py:1114 -#: ../PLCControler.py:1574
+#: ../PLCControler.py:1097 -#: ../canfestival/SlaveEditor.py:72 ../canfestival/NetworkEditor.py:97
+#: ../canfestival/SlaveEditor.py:73 ../canfestival/NetworkEditor.py:97 -#: ../plcopen/plcopen.py:1727 ../plcopen/plcopen.py:1734
-#: ../plcopen/plcopen.py:1747 ../plcopen/plcopen.py:1755
-#: ../plcopen/plcopen.py:1765 ../plcopen/plcopen.py:1776
+#: ../plcopen/plcopen.py:1901 ../plcopen/plcopen.py:1908 +#: ../plcopen/plcopen.py:1921 ../plcopen/plcopen.py:1929 +#: ../plcopen/plcopen.py:1939 ../plcopen/plcopen.py:1950 msgid "%s body don't have instances!"
-#: ../plcopen/plcopen.py:1783 ../plcopen/plcopen.py:1790
-#: ../plcopen/plcopen.py:1797
+#: ../plcopen/plcopen.py:1957 ../plcopen/plcopen.py:1964 +#: ../plcopen/plcopen.py:1971 msgid "%s body don't have text!"
@@ -278,35 +278,35 @@
@@ -314,19 +314,19 @@
-#: ../PLCOpenEditor.py:145
+#: ../PLCOpenEditor.py:98
@@ -340,52 +340,56 @@
msgid "'{a1}' - {a2} matches in project"
-#: ../connectors/PYRO/__init__.py:93
+#: ../connectors/PYRO/__init__.py:98 msgid "'{a1}' is located at {a2}\n"
-#: ../controls/SearchResultPanel.py:299
+#: ../controls/SearchResultPanel.py:298 -#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/PouActionDialog.py:99
-#: ../dialogs/PouDialog.py:122
+#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101 +#: ../dialogs/PouDialog.py:124 -#: ../controls/LogViewer.py:286
+#: ../controls/UriLocationEditor.py:49 +msgid "- Select URI type -" #: ../controls/LogViewer.py:287
#: ../controls/LogViewer.py:288
#: ../controls/LogViewer.py:289
+#: ../controls/LogViewer.py:290 -#: ../dialogs/PouDialog.py:131 ../IDEFrame.py:1654 ../IDEFrame.py:1700
+#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
-#: ../dialogs/SFCStepNameDialog.py:55 ../dialogs/PouTransitionDialog.py:108
-#: ../dialogs/PouNameDialog.py:53 ../dialogs/PouActionDialog.py:106
-#: ../controls/VariablePanel.py:810 ../IDEFrame.py:1668 ../IDEFrame.py:1681
+#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:110 +#: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108 +#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677 msgid "A POU named \"%s\" already exists!"
-#: ../ConfigTreeNode.py:427
+#: ../ConfigTreeNode.py:424 msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
@@ -394,22 +398,22 @@
msgid "A location must be selected!"
-#: ../editors/ResourceEditor.py:466
+#: ../editors/ResourceEditor.py:485 msgid "A task with the same name already exists!"
-#: ../dialogs/SFCStepNameDialog.py:57 ../controls/VariablePanel.py:812
-#: ../IDEFrame.py:1670 ../IDEFrame.py:1683
+#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791 +#: ../IDEFrame.py:1666 ../IDEFrame.py:1679 msgid "A variable with \"%s\" as name already exists in this pou!"
-#: ../editors/CodeFileEditor.py:793
+#: ../editors/CodeFileEditor.py:778 msgid "A variable with \"%s\" as name already exists!"
-#: ../BeremizIDE.py:316 ../dialogs/AboutDialog.py:46 ../PLCOpenEditor.py:189
+#: ../BeremizIDE.py:311 ../dialogs/AboutDialog.py:46 ../PLCOpenEditor.py:142 @@ -417,113 +421,113 @@
-#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:45
+#: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47 -#: ../editors/Viewer.py:656 ../editors/Viewer.py:2437
+#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427 -#: ../dialogs/PouActionDialog.py:87
+#: ../dialogs/PouActionDialog.py:89 -#: ../dialogs/PouActionDialog.py:54
+#: ../dialogs/PouActionDialog.py:56 -#: ../plcopen/plcopen.py:1423
+#: ../plcopen/plcopen.py:1567 msgid "Action with name %s doesn't exist!"
-#: ../PLCControler.py:105
+#: ../plcopen/types_enums.py:76 -#: ../dialogs/ActionBlockDialog.py:137
+#: ../dialogs/ActionBlockDialog.py:139 -#: ../editors/Viewer.py:470
+#: ../editors/Viewer.py:473 -#: ../canfestival/SlaveEditor.py:83 ../canfestival/NetworkEditor.py:108
-#: ../BeremizIDE.py:1001 ../editors/Viewer.py:689
+#: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108 +#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686 -#: ../IDEFrame.py:1930 ../IDEFrame.py:1965
+#: ../IDEFrame.py:1924 ../IDEFrame.py:1959
-msgid "Add C code accessing located variables synchronously"
-msgid "Add Configuration"
-#: ../editors/Viewer.py:612
-msgid "Add Divergence Branch"
-#: ../dialogs/DiscoveryDialog.py:127
-msgid "Add Python code executed asynchronously"
-#: ../IDEFrame.py:1941 ../IDEFrame.py:1991
-#: ../IDEFrame.py:1919 ../IDEFrame.py:1962
-#: ../editors/Viewer.py:599
-msgid "Add Wire Segment"
-#: ../editors/SFCViewer.py:433
-msgid "Add a new initial step"
-#: ../editors/Viewer.py:2801 ../editors/SFCViewer.py:770
-#: ../editors/SFCViewer.py:455
+msgid "Add C code accessing located variables synchronously" +msgid "Add Configuration" +#: ../editors/Viewer.py:609 +msgid "Add Divergence Branch" +#: ../dialogs/DiscoveryDialog.py:121 +msgid "Add Python code executed asynchronously" +#: ../IDEFrame.py:1935 ../IDEFrame.py:1985 +#: ../IDEFrame.py:1913 ../IDEFrame.py:1956 +#: ../editors/Viewer.py:596 +msgid "Add Wire Segment" +#: ../editors/SFCViewer.py:447 +msgid "Add a new initial step" +#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784 +#: ../editors/SFCViewer.py:469 msgid "Add a simple WxGlade based GUI."
-#: ../dialogs/ActionBlockDialog.py:141
+#: ../dialogs/ActionBlockDialog.py:143 -#: ../editors/DataTypeEditor.py:365
+#: ../editors/DataTypeEditor.py:364 -#: ../editors/ResourceEditor.py:281
+#: ../editors/ResourceEditor.py:283 @@ -531,11 +535,11 @@
-#: ../editors/ResourceEditor.py:250
+#: ../editors/ResourceEditor.py:252 -#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:481
+#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481 @@ -543,44 +547,44 @@
-#: ../plcopen/definitions.py:50
+#: ../plcopen/definitions.py:51 msgid "Additional function blocks"
-#: ../editors/Viewer.py:672
+#: ../editors/Viewer.py:669 msgid "Adjust Block Size"
-#: ../editors/Viewer.py:1728
+#: ../editors/Viewer.py:1720 #: ../dialogs/BrowseLocationsDialog.py:42
#: ../dialogs/BrowseLocationsDialog.py:53
#: ../dialogs/BrowseLocationsDialog.py:152
-#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:306
-#: ../controls/VariablePanel.py:87
+#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307 +#: ../controls/VariablePanel.py:88 -#: ../editors/FileManagementPanel.py:35
+#: ../editors/FileManagementPanel.py:37 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1716
+#: ../ProjectController.py:1670 msgid "Already connected. Please disconnect\n"
-#: ../editors/DataTypeEditor.py:606
+#: ../editors/DataTypeEditor.py:607 msgid "An element named \"%s\" already exists in this structure!"
-#: ../editors/ResourceEditor.py:501
+#: ../editors/ResourceEditor.py:520 msgid "An instance with the same name already exists!"
-#: ../dialogs/ConnectionDialog.py:101
+#: ../dialogs/ConnectionDialog.py:103 msgid "Apply name modification to all continuations with the same name"
@@ -600,8 +604,8 @@
-#: ../editors/DataTypeEditor.py:58 ../editors/DataTypeEditor.py:648
-#: ../controls/VariablePanel.py:893
+#: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649 +#: ../controls/VariablePanel.py:872 @@ -609,45 +613,37 @@
-#: ../dialogs/FBDVariableDialog.py:225
+#: ../dialogs/FBDVariableDialog.py:226 msgid "At least a variable or an expression must be selected!"
-#: ../controls/ProjectPropertiesPanel.py:103
+#: ../controls/ProjectPropertiesPanel.py:111 -#: ../controls/ProjectPropertiesPanel.py:100
+#: ../controls/ProjectPropertiesPanel.py:108 msgid "Author Name (optional):"
-#: ../dialogs/FindInPouDialog.py:78
+#: ../dialogs/FindInPouDialog.py:80 -#: ../util/Zeroconf.py:619
-msgid "Bad domain name (circular) at "
-#: ../util/Zeroconf.py:622
-msgid "Bad domain name at "
-#: ../canfestival/config_utils.py:359 ../canfestival/config_utils.py:666
+#: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672 msgid "Bad location size : %s"
-#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:183
-#: ../editors/DataTypeEditor.py:213 ../editors/DataTypeEditor.py:308
+#: ../dialogs/ArrayTypeDialog.py:57 ../editors/DataTypeEditor.py:183 +#: ../editors/DataTypeEditor.py:213 ../editors/DataTypeEditor.py:307 -#: ../editors/DataTypeEditor.py:638 ../controls/VariablePanel.py:851
+#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830
@@ -679,27 +675,27 @@
msgid "Bitwise inverting"
-#: ../editors/Viewer.py:624 ../editors/Viewer.py:2450
+#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440 -#: ../dialogs/FBDBlockDialog.py:61
+#: ../dialogs/FBDBlockDialog.py:63 -#: ../editors/TextViewer.py:265
+#: ../editors/TextViewer.py:260 -#: ../editors/Viewer.py:590
+#: ../editors/Viewer.py:586 -#: ../ProjectController.py:1395
+#: ../ProjectController.py:1400 -#: ../dialogs/BrowseValuesLibraryDialog.py:38
+#: ../dialogs/BrowseValuesLibraryDialog.py:40 msgid "Browse %s values library"
@@ -708,44 +704,44 @@
-#: ../ProjectController.py:1858
+#: ../ProjectController.py:1815 -#: ../ProjectController.py:1330
+#: ../ProjectController.py:1335 msgid "Build directory already clean\n"
-#: ../ProjectController.py:1859
+#: ../ProjectController.py:1816 msgid "Build project into build folder"
-#: ../ProjectController.py:1106
+#: ../ProjectController.py:1108 msgid "C Build crashed !\n"
-#: ../ProjectController.py:1103
+#: ../ProjectController.py:1105 msgid "C Build failed.\n"
-#: ../c_ext/CFileEditor.py:64
+#: ../c_ext/CFileEditor.py:66 -#: ../ProjectController.py:1181
+#: ../ProjectController.py:1186 msgid "C code generated successfully.\n"
-#: ../targets/toolchain_makefile.py:124
+#: ../targets/toolchain_makefile.py:126 msgid "C compilation failed.\n"
-#: ../targets/toolchain_gcc.py:195
+#: ../targets/toolchain_gcc.py:199 msgid "C compilation of %s failed.\n"
@@ -757,7 +753,7 @@
-#: ../canfestival/SlaveEditor.py:47
+#: ../canfestival/SlaveEditor.py:48 @@ -765,8 +761,8 @@
-#: ../plcopen/plcopen.py:1665 ../plcopen/plcopen.py:1679
-#: ../plcopen/plcopen.py:1704 ../plcopen/plcopen.py:1720
+#: ../plcopen/plcopen.py:1839 ../plcopen/plcopen.py:1853 +#: ../plcopen/plcopen.py:1878 ../plcopen/plcopen.py:1894 msgid "Can only generate execution order on FBD networks!"
@@ -774,7 +770,7 @@
msgid "Can only give a location to local or global variables"
-#: ../PLCOpenEditor.py:365
+#: ../PLCOpenEditor.py:318 msgid "Can't generate program to file %s!"
@@ -783,7 +779,7 @@
msgid "Can't give a location to a function block instance"
-#: ../PLCOpenEditor.py:410
+#: ../PLCOpenEditor.py:363 msgid "Can't save project to file %s!"
@@ -797,29 +793,33 @@
msgid "Cannot create child {a1} of type {a2} "
-#: ../ConfigTreeNode.py:457
+#: ../ConfigTreeNode.py:454 msgid "Cannot find lower free IEC channel than %d\n"
-#: ../connectors/PYRO/__init__.py:134
+#: ../connectors/PYRO/__init__.py:139 msgid "Cannot get PLC status - connection failed.\n"
-#: ../ProjectController.py:965
+#: ../ProjectController.py:967 msgid "Cannot open/parse VARIABLES.csv!\n"
-#: ../canfestival/config_utils.py:394
+#: ../canfestival/config_utils.py:400 msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
-#: ../dialogs/SearchInProjectDialog.py:62 ../dialogs/FindInPouDialog.py:87
+#: ../ProjectController.py:1761 +msgid "Cannot transfer while PLC is running. Stop it now?" +#: ../dialogs/SearchInProjectDialog.py:63 ../dialogs/FindInPouDialog.py:89 -#: ../editors/Viewer.py:585
+#: ../editors/Viewer.py:581 @@ -831,7 +831,7 @@
msgid "Change POU Type To"
@@ -847,24 +847,24 @@
-#: ../svgui/svgui.py:135
+#: ../svgui/svgui.py:136 msgid "Choose a SVG file"
-#: ../ProjectController.py:559
+#: ../ProjectController.py:561 msgid "Choose a directory to save project"
-#: ../canfestival/canfestival.py:179 ../PLCOpenEditor.py:323
-#: ../PLCOpenEditor.py:355 ../PLCOpenEditor.py:404
+#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276 +#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357
-#: ../dialogs/BrowseValuesLibraryDialog.py:41
+#: ../dialogs/BrowseValuesLibraryDialog.py:43 msgid "Choose a value for %s:"
@@ -873,19 +873,19 @@
msgid "Choose a working directory "
msgid "Choose an empty directory for new project"
-#: ../ProjectController.py:466
+#: ../ProjectController.py:468 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
-#: ../ProjectController.py:433
+#: ../ProjectController.py:435 msgid "Chosen folder isn't empty. You can't use it for a new project!"
-#: ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:60 @@ -893,73 +893,73 @@
-#: ../dialogs/FBDVariableDialog.py:73
+#: ../dialogs/FBDVariableDialog.py:74 -#: ../ProjectController.py:1864
+#: ../ProjectController.py:1821 -#: ../controls/LogViewer.py:326
+#: ../controls/LogViewer.py:327 msgid "Clean log messages"
-#: ../ProjectController.py:1865
+#: ../ProjectController.py:1822 msgid "Clean project build folder"
-#: ../ProjectController.py:1327
+#: ../ProjectController.py:1332 msgid "Cleaning the build directory\n"
-#: ../editors/Viewer.py:683
+#: ../editors/Viewer.py:680 msgid "Clear Execution Order"
-#: ../dialogs/SearchInProjectDialog.py:106 ../dialogs/FindInPouDialog.py:110
+#: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112 -#: ../BeremizIDE.py:631 ../PLCOpenEditor.py:230
+#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183 msgid "Close Application"
-#: ../BeremizIDE.py:258 ../BeremizIDE.py:570 ../PLCOpenEditor.py:128
+#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81 -#: ../BeremizIDE.py:256 ../PLCOpenEditor.py:126
+#: ../BeremizIDE.py:251 ../PLCOpenEditor.py:79 -#: ../editors/Viewer.py:641 ../editors/Viewer.py:2458
+#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448 -#: ../editors/Viewer.py:662 ../editors/LDViewer.py:515
+#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517 -#: ../BeremizIDE.py:308 ../BeremizIDE.py:312 ../PLCOpenEditor.py:181
-#: ../PLCOpenEditor.py:185
+#: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134 +#: ../PLCOpenEditor.py:138 msgid "Community support"
-#: ../dialogs/ProjectDialog.py:63
+#: ../dialogs/ProjectDialog.py:65 -#: ../controls/ProjectPropertiesPanel.py:98
+#: ../controls/ProjectPropertiesPanel.py:106 msgid "Company Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:99
+#: ../controls/ProjectPropertiesPanel.py:107 msgid "Company URL (optional):"
@@ -967,7 +967,7 @@
-#: ../ProjectController.py:754
+#: ../ProjectController.py:756 msgid "Compiling IEC Program into C code...\n"
@@ -975,93 +975,93 @@
-#: ../editors/ConfTreeNodeEditor.py:240
+#: ../editors/ConfTreeNodeEditor.py:241 -#: ../editors/ProjectNodeEditor.py:37
+#: ../editors/ProjectNodeEditor.py:39 -#: ../dialogs/SearchInProjectDialog.py:42
+#: ../dialogs/SearchInProjectDialog.py:43 -#: ../PLCControler.py:106
+#: ../plcopen/types_enums.py:77 -#: ../editors/Viewer.py:348 ../editors/Viewer.py:378 ../editors/Viewer.py:400
-#: ../editors/TextViewer.py:294 ../editors/TextViewer.py:348
-#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:354
+#: ../editors/Viewer.py:351 ../editors/Viewer.py:381 ../editors/Viewer.py:403 +#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:343 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:354 msgid "Confirm or change variable name"
-#: ../ProjectController.py:1885
+#: ../ProjectController.py:1842 -#: ../ProjectController.py:1886
+#: ../ProjectController.py:1843 msgid "Connect to the target PLC"
-#: ../ProjectController.py:1386
+#: ../ProjectController.py:1391 msgid "Connected to URI: %s"
-#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:626
-#: ../editors/Viewer.py:2451
+#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623 +#: ../editors/Viewer.py:2441 -#: ../dialogs/ConnectionDialog.py:53
+#: ../dialogs/ConnectionDialog.py:55 msgid "Connection Properties"
-#: ../ProjectController.py:1737
+#: ../ProjectController.py:1691 msgid "Connection canceled!\n"
-#: ../ProjectController.py:1760
+#: ../ProjectController.py:1714 msgid "Connection failed to %s!\n"
-#: ../connectors/PYRO/__init__.py:118 ../connectors/WAMP/__init__.py:119
+#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120 msgid "Connection lost!\n"
-#: ../connectors/PYRO/__init__.py:105
+#: ../connectors/PYRO/__init__.py:110 msgid "Connection to '%s' failed.\n"
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1684
+#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676 -#: ../dialogs/SFCStepDialog.py:66
+#: ../dialogs/SFCStepDialog.py:68
-#: ../controls/VariablePanel.py:74
+#: ../controls/VariablePanel.py:75 -#: ../editors/Viewer.py:637 ../editors/Viewer.py:2454
+#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444 -#: ../controls/ProjectPropertiesPanel.py:203
+#: ../controls/ProjectPropertiesPanel.py:217 msgid "Content Description (optional):"
-#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1685
+#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677 @@ -1081,20 +1081,20 @@
msgid "Conversion to time-of-day"
-#: ../editors/Viewer.py:698 ../controls/LogViewer.py:712 ../IDEFrame.py:384
+#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372
-#: ../editors/FileManagementPanel.py:66
+#: ../editors/FileManagementPanel.py:68 msgid "Copy file from left folder to right"
-#: ../editors/FileManagementPanel.py:65
+#: ../editors/FileManagementPanel.py:67 msgid "Copy file from right folder to left"
@@ -1102,121 +1102,117 @@
-#: ../ConfigTreeNode.py:661
+#: ../ConfigTreeNode.py:660 "Could not add child \"{a1}\", type {a2} :\n"
-#: ../py_ext/PythonFileCTNMixin.py:80
+#: ../py_ext/PythonFileCTNMixin.py:81 msgid "Couldn't import old %s file."
-#: ../ConfigTreeNode.py:631
+#: ../ConfigTreeNode.py:630 "Couldn't load confnode base parameters {a1} :\n"
-#: ../ConfigTreeNode.py:648 ../CodeFileTreeNode.py:127
+#: ../ConfigTreeNode.py:647 ../CodeFileTreeNode.py:127 "Couldn't load confnode parameters {a1} :\n"
-#: ../PLCControler.py:1004
+#: ../PLCControler.py:552 msgid "Couldn't paste non-POU object."
-#: ../ProjectController.py:1682
+#: ../ProjectController.py:1636 msgid "Couldn't start PLC !\n"
-#: ../ProjectController.py:1690
+#: ../ProjectController.py:1644 msgid "Couldn't stop PLC !\n"
-#: ../ProjectController.py:1654
-msgid "Couldn't stop debugger.\n"
-#: ../dialogs/PouDialog.py:52
+#: ../dialogs/PouDialog.py:54 -#: ../dialogs/PouActionDialog.py:43
+#: ../dialogs/PouActionDialog.py:45 msgid "Create a new action"
msgid "Create a new action block"
-#: ../IDEFrame.py:114 ../IDEFrame.py:144 ../IDEFrame.py:177
+#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178 msgid "Create a new block"
msgid "Create a new branch"
msgid "Create a new coil"
-#: ../IDEFrame.py:108 ../IDEFrame.py:123 ../IDEFrame.py:153
+#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154 msgid "Create a new comment"
-#: ../IDEFrame.py:117 ../IDEFrame.py:147 ../IDEFrame.py:180
+#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181 msgid "Create a new connection"
-#: ../IDEFrame.py:135 ../IDEFrame.py:186
+#: ../IDEFrame.py:136 ../IDEFrame.py:187 msgid "Create a new contact"
msgid "Create a new divergence"
-#: ../dialogs/SFCDivergenceDialog.py:53
+#: ../dialogs/SFCDivergenceDialog.py:54 msgid "Create a new divergence or convergence"
msgid "Create a new initial step"
msgid "Create a new jump"
-#: ../IDEFrame.py:126 ../IDEFrame.py:183
+#: ../IDEFrame.py:127 ../IDEFrame.py:184 msgid "Create a new power rail"
msgid "Create a new rung"
msgid "Create a new step"
-#: ../dialogs/PouTransitionDialog.py:47 ../IDEFrame.py:162
+#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163 msgid "Create a new transition"
-#: ../IDEFrame.py:111 ../IDEFrame.py:141 ../IDEFrame.py:174
+#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175 msgid "Create a new variable"
@@ -1224,15 +1220,15 @@
-#: ../Beremiz_service.py:442
+#: ../Beremiz_service.py:424 msgid "Current working directory :"
-#: ../editors/Viewer.py:697 ../IDEFrame.py:382 ../IDEFrame.py:438
+#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426 -#: ../editors/ResourceEditor.py:79
+#: ../editors/ResourceEditor.py:81 @@ -1244,19 +1240,19 @@
-#: ../canfestival/SlaveEditor.py:79 ../canfestival/NetworkEditor.py:104
+#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:104 -#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:105
+#: ../canfestival/SlaveEditor.py:81 ../canfestival/NetworkEditor.py:105 -#: ../dialogs/SearchInProjectDialog.py:38
+#: ../dialogs/SearchInProjectDialog.py:39 -#: ../PLCControler.py:105
+#: ../plcopen/types_enums.py:76 @@ -1277,66 +1273,58 @@
-#: ../dialogs/DurationEditorDialog.py:44
+#: ../dialogs/DurationEditorDialog.py:46 -#: ../ProjectController.py:1782
+#: ../ProjectController.py:1729 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
-#: ../controls/PouInstanceVariablesPanel.py:150
+#: ../controls/PouInstanceVariablesPanel.py:144 -#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:490 -#: ../ProjectController.py:1444
+#: ../ProjectController.py:1471 msgid "Debug: Unknown variable '%s'\n"
-#: ../ProjectController.py:1442
+#: ../ProjectController.py:1469 msgid "Debug: Unsupported type to debug '%s'\n"
-#: ../ProjectController.py:1623
-msgid "Debugger disabled\n"
-#: ../ProjectController.py:1779
+#: ../ProjectController.py:1726 -#: ../ProjectController.py:1656
-msgid "Debugger stopped.\n"
-#: ../BeremizIDE.py:1004 ../editors/Viewer.py:673 ../IDEFrame.py:1999
+#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993 -#: ../editors/Viewer.py:613
+#: ../editors/Viewer.py:610 msgid "Delete Divergence Branch"
-#: ../editors/FileManagementPanel.py:155
+#: ../editors/FileManagementPanel.py:157 -#: ../editors/Viewer.py:600
+#: ../editors/Viewer.py:597 msgid "Delete Wire Segment"
-#: ../controls/CustomEditableListBox.py:42
+#: ../controls/CustomEditableListBox.py:44 @@ -1348,7 +1336,7 @@
-#: ../editors/CodeFileEditor.py:750
+#: ../editors/CodeFileEditor.py:735 @@ -1356,11 +1344,11 @@
-#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:333
+#: ../dialogs/ArrayTypeDialog.py:63 ../editors/DataTypeEditor.py:332 -#: ../dialogs/FindInPouDialog.py:67
+#: ../dialogs/FindInPouDialog.py:69 @@ -1368,23 +1356,23 @@
-#: ../editors/DataTypeEditor.py:58
+#: ../editors/DataTypeEditor.py:60 -#: ../ProjectController.py:1898
+#: ../ProjectController.py:1855 -#: ../ProjectController.py:1899
+#: ../ProjectController.py:1856 msgid "Disconnect from PLC"
-#: ../ProjectController.py:1396
+#: ../ProjectController.py:1401 -#: ../editors/Viewer.py:657 ../editors/Viewer.py:2446
+#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436 @@ -1392,111 +1380,107 @@
-#: ../editors/FileManagementPanel.py:154
+#: ../editors/FileManagementPanel.py:156 msgid "Do you really want to delete the file '%s'?"
-#: ../controls/VariablePanel.py:64
+#: ../controls/VariablePanel.py:65 -#: ../PLCOpenEditor.py:359
+#: ../PLCOpenEditor.py:312 -#: ../dialogs/ActionBlockDialog.py:40
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../canfestival/canfestival.py:182
+#: ../canfestival/canfestival.py:174 msgid "EDS files (*.eds)|*.eds|All files|*.*"
-#: ../editors/Viewer.py:671
+#: ../editors/Viewer.py:668 +#: ../dialogs/LDElementDialog.py:58 +msgid "Edit Coil Values" #: ../dialogs/LDElementDialog.py:56
-msgid "Edit Coil Values"
-#: ../dialogs/LDElementDialog.py:54
msgid "Edit Contact Values"
-#: ../dialogs/DurationEditorDialog.py:60
+#: ../dialogs/DurationEditorDialog.py:62 -#: ../dialogs/SFCStepDialog.py:51
+#: ../dialogs/SFCStepDialog.py:53 -#: ../wxglade_hmi/wxglade_hmi.py:42
+#: ../wxglade_hmi/wxglade_hmi.py:45 msgid "Edit a WxWidgets GUI with WXGlade"
-#: ../dialogs/ActionBlockDialog.py:125
+#: ../dialogs/ActionBlockDialog.py:127 msgid "Edit action block properties"
-#: ../dialogs/ArrayTypeDialog.py:45
+#: ../dialogs/ArrayTypeDialog.py:47 msgid "Edit array type properties"
-#: ../editors/Viewer.py:2670 ../editors/Viewer.py:3112
+#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102 -#: ../editors/FileManagementPanel.py:67
+#: ../editors/FileManagementPanel.py:69 -#: ../controls/CustomEditableListBox.py:40
+#: ../controls/CustomEditableListBox.py:42 -#: ../editors/Viewer.py:3069
+#: ../editors/Viewer.py:3059 -#: ../ProjectController.py:1916
+#: ../ProjectController.py:1873 msgid "Edit raw IEC code added to code generated by PLCGenerator"
-#: ../editors/SFCViewer.py:801
+#: ../editors/SFCViewer.py:815 -#: ../dialogs/SFCTransitionDialog.py:52
+#: ../dialogs/SFCTransitionDialog.py:53
-#: ../ProjectController.py:1289
+#: ../ProjectController.py:1294 -#: ../editors/DataTypeEditor.py:361
+#: ../editors/DataTypeEditor.py:360 -#: ../ProjectController.py:1394
+#: ../ProjectController.py:1399 -#: ../dialogs/ArrayTypeDialog.py:98
+#: ../dialogs/ArrayTypeDialog.py:100 msgid "Empty dimension isn't allowed."
-msgid "Enable Undo/Redo"
#: ../Beremiz_service.py:341
@@ -1509,7 +1493,7 @@
msgid "Enter the IP of the interface to bind"
-#: ../editors/DataTypeEditor.py:58
+#: ../editors/DataTypeEditor.py:60 @@ -1517,43 +1501,44 @@
-#: ../dialogs/ForceVariableDialog.py:211
-#: ../dialogs/SearchInProjectDialog.py:171 ../dialogs/SFCStepNameDialog.py:61
-#: ../dialogs/DurationEditorDialog.py:122
-#: ../dialogs/DurationEditorDialog.py:168 ../dialogs/PouTransitionDialog.py:112
-#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:78
-#: ../dialogs/ArrayTypeDialog.py:112 ../dialogs/PouNameDialog.py:55
+#: ../dialogs/ForceVariableDialog.py:213 +#: ../dialogs/SearchInProjectDialog.py:172 ../dialogs/SFCStepNameDialog.py:64 +#: ../dialogs/DurationEditorDialog.py:124 +#: ../dialogs/DurationEditorDialog.py:170 ../dialogs/PouTransitionDialog.py:114 +#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:80 +#: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58 #: ../dialogs/BrowseLocationsDialog.py:229
-#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:110
-#: ../dialogs/PouDialog.py:141 ../PLCOpenEditor.py:366 ../PLCOpenEditor.py:371
-#: ../editors/ResourceEditor.py:451 ../editors/Viewer.py:464
-#: ../editors/LDViewer.py:675 ../editors/LDViewer.py:891
-#: ../editors/LDViewer.py:895 ../editors/DataTypeEditor.py:565
-#: ../editors/DataTypeEditor.py:570 ../editors/DataTypeEditor.py:589
-#: ../editors/DataTypeEditor.py:758 ../editors/DataTypeEditor.py:765
-#: ../editors/TextViewer.py:395 ../editors/CodeFileEditor.py:775
-#: ../ProjectController.py:389 ../ProjectController.py:529
-#: ../ProjectController.py:536 ../controls/FolderTree.py:220
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:170
-#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
-#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:232
-#: ../controls/VariablePanel.py:431 ../controls/VariablePanel.py:794
-#: ../util/ExceptionHandler.py:68 ../IDEFrame.py:1042 ../IDEFrame.py:1654
-#: ../IDEFrame.py:1695 ../IDEFrame.py:1700 ../IDEFrame.py:1714
-#: ../IDEFrame.py:1719 ../Beremiz_service.py:221
+#: ../dialogs/BrowseValuesLibraryDialog.py:87 ../dialogs/PouActionDialog.py:112 +#: ../dialogs/PouDialog.py:143 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324 +#: ../editors/ResourceEditor.py:470 ../editors/Viewer.py:467 +#: ../editors/LDViewer.py:677 ../editors/LDViewer.py:893 +#: ../editors/LDViewer.py:897 ../editors/DataTypeEditor.py:566 +#: ../editors/DataTypeEditor.py:571 ../editors/DataTypeEditor.py:590 +#: ../editors/DataTypeEditor.py:759 ../editors/DataTypeEditor.py:766 +#: ../editors/TextViewer.py:390 ../editors/CodeFileEditor.py:760 +#: ../ProjectController.py:391 ../ProjectController.py:531 +#: ../ProjectController.py:538 ../controls/FolderTree.py:222 +#: ../controls/ProjectPropertiesPanel.py:306 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:173 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:138 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:227 +#: ../controls/VariablePanel.py:431 ../controls/VariablePanel.py:773 +#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1036 ../IDEFrame.py:1650 +#: ../IDEFrame.py:1691 ../IDEFrame.py:1696 ../IDEFrame.py:1710 +#: ../IDEFrame.py:1715 ../Beremiz_service.py:221 -#: ../ProjectController.py:809
+#: ../ProjectController.py:811 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
-#: ../ProjectController.py:801
+#: ../ProjectController.py:803 msgid "Error : IEC to C compiler returned %d\n"
-#: ../ProjectController.py:729
+#: ../ProjectController.py:731 "Error in ST/IL/SFC code generator :\n"
@@ -1565,32 +1550,37 @@
msgid "Error while saving \"%s\"\n"
-#: ../canfestival/canfestival.py:187
+#: ../canfestival/canfestival.py:179 msgid "Error: Export slave failed\n"
-#: ../canfestival/canfestival.py:397
+#: ../modbus/modbus.py:601 +msgid "Error: Modbus/IP Servers %{a1}.x and %{a2}.x use the same port number {a3}.\n" +#: ../canfestival/canfestival.py:388 msgid "Error: No Master generated\n"
-#: ../canfestival/canfestival.py:392
+#: ../canfestival/canfestival.py:383 msgid "Error: No PLC built\n"
-#: ../ProjectController.py:1754
+#: ../ProjectController.py:1708 msgid "Exception while connecting %s!\n"
-#: ../dialogs/FBDBlockDialog.py:121
+#: ../dialogs/FBDBlockDialog.py:123 msgid "Execution Control:"
-#: ../dialogs/FBDVariableDialog.py:83 ../dialogs/FBDBlockDialog.py:109
+#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111
msgid "Experimental web based HMI"
@@ -1602,77 +1592,77 @@
-#: ../canfestival/canfestival.py:194
+#: ../canfestival/canfestival.py:186 msgid "Export CanOpen slave to EDS file"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246 msgid "Export graph values to clipboard"
-#: ../canfestival/canfestival.py:193
+#: ../canfestival/canfestival.py:185 -#: ../dialogs/FBDVariableDialog.py:93
+#: ../dialogs/FBDVariableDialog.py:94 -#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:90 -#: ../ProjectController.py:824
+#: ../ProjectController.py:826 msgid "Extracting Located Variables...\n"
-#: ../dialogs/PouTransitionDialog.py:38 ../dialogs/PouActionDialog.py:34
-#: ../dialogs/PouDialog.py:42 ../controls/ProjectPropertiesPanel.py:148
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../ProjectController.py:1816
+#: ../ProjectController.py:1773 msgid "Failed : Must build before transfer.\n"
-#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:560
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556 -#: ../ProjectController.py:1096
+#: ../ProjectController.py:1098 msgid "Fatal : cannot get builder.\n"
-#: ../dialogs/DurationEditorDialog.py:165
-msgid "Field %s hasn't a valid value!"
#: ../dialogs/DurationEditorDialog.py:167
+msgid "Field %s hasn't a valid value!" +#: ../dialogs/DurationEditorDialog.py:169 msgid "Fields %s haven't a valid value!"
-#: ../controls/FolderTree.py:219
+#: ../controls/FolderTree.py:221 msgid "File '%s' already exists!"
-#: ../dialogs/SearchInProjectDialog.py:101 ../dialogs/FindInPouDialog.py:38
-#: ../dialogs/FindInPouDialog.py:105 ../IDEFrame.py:389
+#: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40 +#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377
@@ -1680,93 +1670,89 @@
-#: ../dialogs/FindInPouDialog.py:56
+#: ../dialogs/FindInPouDialog.py:58 -#: ../connectors/PYRO/__init__.py:166
-msgid "Force runtime reload\n"
-#: ../editors/Viewer.py:1641
+#: ../editors/Viewer.py:1633 -#: ../dialogs/ForceVariableDialog.py:174
+#: ../dialogs/ForceVariableDialog.py:176 msgid "Forcing Variable Value"
-#: ../dialogs/SFCTransitionDialog.py:183 ../dialogs/PouTransitionDialog.py:102
-#: ../dialogs/ProjectDialog.py:77 ../dialogs/PouActionDialog.py:100
-#: ../dialogs/PouDialog.py:123
+#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104 +#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102 +#: ../dialogs/PouDialog.py:125 msgid "Form isn't complete. %s must be filled!"
-#: ../dialogs/SFCStepDialog.py:148 ../dialogs/FBDBlockDialog.py:237
-#: ../dialogs/ConnectionDialog.py:164
+#: ../dialogs/SFCStepDialog.py:150 ../dialogs/FBDBlockDialog.py:239 +#: ../dialogs/ConnectionDialog.py:166 msgid "Form isn't complete. Name must be filled!"
-#: ../dialogs/FBDBlockDialog.py:233
+#: ../dialogs/FBDBlockDialog.py:235 msgid "Form isn't complete. Valid block type must be selected!"
-#: ../dialogs/FindInPouDialog.py:73
+#: ../dialogs/FindInPouDialog.py:75 -#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1786
+#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780
-#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1785
+#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779 -#: ../controls/VariablePanel.py:889
+#: ../controls/VariablePanel.py:868 msgid "Function Block Types"
-#: ../PLCControler.py:104
+#: ../plcopen/types_enums.py:75 -#: ../editors/Viewer.py:287
+#: ../editors/Viewer.py:290 msgid "Function Blocks can't be used in Functions!"
-#: ../PLCControler.py:2409
+#: ../PLCControler.py:1907 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
-#: ../PLCControler.py:104
+#: ../plcopen/types_enums.py:75 -#: ../PLCOpenEditor.py:135
+#: ../PLCOpenEditor.py:88 -#: ../ProjectController.py:720
+#: ../ProjectController.py:722 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
-#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:91 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245 msgid "Go to current value"
-#: ../controls/ProjectPropertiesPanel.py:179
+#: ../controls/ProjectPropertiesPanel.py:189 @@ -1778,36 +1764,36 @@
msgid "Greater than or equal to"
-#: ../controls/ProjectPropertiesPanel.py:139
+#: ../controls/ProjectPropertiesPanel.py:149 -#: ../runtime/NevowServer.py:188
+#: ../runtime/NevowServer.py:192 msgid "HTTP interface port :"
-#: ../controls/ProjectPropertiesPanel.py:125
+#: ../controls/ProjectPropertiesPanel.py:135 -#: ../editors/FileManagementPanel.py:87
+#: ../editors/FileManagementPanel.py:89 -#: ../controls/ProjectPropertiesPanel.py:155
+#: ../controls/ProjectPropertiesPanel.py:165 -#: ../dialogs/DurationEditorDialog.py:45
+#: ../dialogs/DurationEditorDialog.py:47 -#: ../dialogs/PouTransitionDialog.py:38 ../dialogs/PouActionDialog.py:34
-#: ../dialogs/PouDialog.py:42
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 -#: ../dialogs/DiscoveryDialog.py:101
+#: ../dialogs/DiscoveryDialog.py:91 @@ -1815,16 +1801,21 @@
-#: ../svgui/svgui.py:49 ../svgui/svgui.py:50
+#: ../svgui/svgui.py:50 ../svgui/svgui.py:51 -#: ../dialogs/FBDVariableDialog.py:40 ../editors/Viewer.py:1670
-#: ../controls/VariablePanel.py:88
+#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662 +#: ../controls/VariablePanel.py:89 -#: ../editors/Viewer.py:470
+#: ../PLCGenerator.py:1040 +msgid "InOut variable {a1} in block {a2} in POU {a3} must be connected." +#: ../editors/Viewer.py:473 @@ -1843,44 +1834,44 @@
msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
-#: ../dialogs/ActionBlockDialog.py:40
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../editors/CodeFileEditor.py:749
+#: ../editors/CodeFileEditor.py:734 -#: ../editors/Viewer.py:653
+#: ../editors/Viewer.py:650 -#: ../editors/DataTypeEditor.py:53 ../controls/VariablePanel.py:62
+#: ../editors/DataTypeEditor.py:55 ../controls/VariablePanel.py:63 #: ../editors/DataTypeEditor.py:193 ../editors/DataTypeEditor.py:224
-#: ../editors/DataTypeEditor.py:282 ../editors/DataTypeEditor.py:321
+#: ../editors/DataTypeEditor.py:281 ../editors/DataTypeEditor.py:320
-#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:45
+#: ../dialogs/SFCTransitionDialog.py:77 ../dialogs/ActionBlockDialog.py:47 -#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39
-#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:330
-#: ../editors/Viewer.py:1668 ../editors/TextViewer.py:312
-#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:88
+#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:333 +#: ../editors/Viewer.py:1660 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89 #: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
-#: ../dialogs/FBDBlockDialog.py:97
+#: ../dialogs/FBDBlockDialog.py:99 @@ -1888,44 +1879,50 @@
-#: ../plcopen/plcopen.py:1774
+#: ../plcopen/plcopen.py:1948 msgid "Instance with id %d doesn't exist!"
-#: ../editors/ResourceEditor.py:277
+#: ../editors/ResourceEditor.py:279 -#: ../controls/VariablePanel.py:87
+#: ../controls/VariablePanel.py:88 -#: ../editors/ResourceEditor.py:79
+#: ../editors/ResourceEditor.py:81 -#: ../editors/ResourceEditor.py:74
+#: ../editors/ResourceEditor.py:76 -#: ../PLCControler.py:2397
+#: ../controls/ProjectPropertiesPanel.py:304 +"Please enter correct URL address." +#: ../PLCControler.py:1895 msgid "Invalid plcopen element(s)!!!"
-#: ../canfestival/config_utils.py:401
+#: ../canfestival/config_utils.py:407 msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
-#: ../canfestival/config_utils.py:683
+#: ../canfestival/config_utils.py:689 msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:136
-#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
-#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:167
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139 +#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162 msgid "Invalid value \"%s\" for debug variable"
@@ -1935,51 +1932,55 @@
msgid "Invalid value \"%s\" for variable grid element"
-#: ../editors/Viewer.py:272 ../editors/Viewer.py:275
+#: ../editors/Viewer.py:276 ../editors/Viewer.py:279 msgid "Invalid value \"%s\" for viewer block"
-#: ../dialogs/ForceVariableDialog.py:209
+#: ../dialogs/ForceVariableDialog.py:211 msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
-#: ../dialogs/DurationEditorDialog.py:122
+#: ../dialogs/DurationEditorDialog.py:124 "You must fill a numeric value."
-#: ../editors/Viewer.py:658 ../editors/Viewer.py:2435
+#: ../connectors/WAMP/dialog.py:38 +msgid "Is connection secure?" +#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425 -#: ../dialogs/PouTransitionDialog.py:38 ../dialogs/PouActionDialog.py:34
-#: ../dialogs/PouDialog.py:42 ../controls/ProjectPropertiesPanel.py:148
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../editors/LDViewer.py:219 ../editors/LDViewer.py:238
+#: ../editors/LDViewer.py:221 ../editors/LDViewer.py:240 msgid "Ladder element with id %d is on more than one rung."
-#: ../dialogs/PouTransitionDialog.py:91 ../dialogs/PouActionDialog.py:89
-#: ../dialogs/PouDialog.py:111
+#: ../dialogs/PouTransitionDialog.py:93 ../dialogs/PouActionDialog.py:91 +#: ../dialogs/PouDialog.py:113 -#: ../controls/ProjectPropertiesPanel.py:192
+#: ../controls/ProjectPropertiesPanel.py:206 msgid "Language (optional):"
-#: ../dialogs/PouTransitionDialog.py:65 ../dialogs/PouActionDialog.py:61
-#: ../dialogs/PouDialog.py:79
+#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63 +#: ../dialogs/PouDialog.py:81 -#: ../ProjectController.py:1822
+#: ../ProjectController.py:1779 msgid "Latest build already matches current target. Transfering anyway...\n"
@@ -1991,11 +1992,11 @@
msgid "Launch a live Python shell"
-#: ../editors/Viewer.py:584
+#: ../editors/Viewer.py:580 -#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:64 @@ -2011,7 +2012,7 @@
msgid "Less than or equal to"
@@ -2023,23 +2024,23 @@
-#: ../targets/toolchain_gcc.py:205
+#: ../targets/toolchain_gcc.py:209 -#: ../dialogs/DiscoveryDialog.py:121 ../controls/VariablePanel.py:89
+#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90 -#: ../canfestival/canfestival.py:368
+#: ../canfestival/canfestival.py:359 -#: ../ProjectController.py:1731
+#: ../ProjectController.py:1685 msgid "Local service discovery failed!\n"
-#: ../controls/VariablePanel.py:61
+#: ../controls/VariablePanel.py:62 @@ -2051,12 +2052,12 @@
msgid "Logarithm to base 10"
-#: ../connectors/PYRO/__init__.py:97
+#: ../connectors/PYRO/__init__.py:102 msgid "MDNS resolution failure for '%s'\n"
-#: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:92
+#: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92 @@ -2064,6 +2065,10 @@
msgid "Map located variables over CANopen"
+msgid "Map located variables over Modbus" #: ../canfestival/NetworkEditor.py:113
@@ -2077,29 +2082,29 @@
-#: ../editors/DataTypeEditor.py:247
+#: ../editors/DataTypeEditor.py:246 -#: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:330
-#: ../editors/TextViewer.py:312 ../controls/LocationCellEditor.py:101
+#: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333 +#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103 #: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
-#: ../dialogs/DurationEditorDialog.py:49
+#: ../dialogs/DurationEditorDialog.py:51 -#: ../editors/Viewer.py:589
+#: ../editors/Viewer.py:585 -#: ../dialogs/DurationEditorDialog.py:48
+#: ../dialogs/DurationEditorDialog.py:50 @@ -2107,76 +2112,80 @@
-#: ../editors/DataTypeEditor.py:234
+#: ../editors/DataTypeEditor.py:233 -#: ../dialogs/DurationEditorDialog.py:46
+#: ../dialogs/DurationEditorDialog.py:48 -#: ../controls/ProjectPropertiesPanel.py:217
+#: ../controls/ProjectPropertiesPanel.py:231 -#: ../dialogs/LDElementDialog.py:63
+#: ../dialogs/LDElementDialog.py:65 -#: ../PLCGenerator.py:794 ../PLCGenerator.py:1245
+#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269 msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
-#: ../dialogs/ActionBlockDialog.py:144
+#: ../dialogs/ActionBlockDialog.py:146 -#: ../dialogs/ActionBlockDialog.py:143
+#: ../dialogs/ActionBlockDialog.py:145 -#: ../controls/CustomEditableListBox.py:44
+#: ../controls/CustomEditableListBox.py:46 -#: ../editors/DataTypeEditor.py:368
-msgid "Move element down"
#: ../editors/DataTypeEditor.py:367
+msgid "Move element down" +#: ../editors/DataTypeEditor.py:366 -#: ../editors/ResourceEditor.py:284
+#: ../editors/ResourceEditor.py:286 msgid "Move instance down"
-#: ../editors/ResourceEditor.py:283
+#: ../editors/ResourceEditor.py:285 -#: ../editors/ResourceEditor.py:253
+#: ../editors/ResourceEditor.py:255 -#: ../editors/ResourceEditor.py:252
+#: ../editors/ResourceEditor.py:254 -#: ../IDEFrame.py:105 ../IDEFrame.py:120 ../IDEFrame.py:150 ../IDEFrame.py:191
+#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192 -#: ../controls/CustomEditableListBox.py:43
+#: ../controls/CustomEditableListBox.py:45 -#: ../editors/CodeFileEditor.py:662 ../controls/VariablePanel.py:484
+#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484 msgid "Move variable down"
-#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:483
+#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483 @@ -2188,17 +2197,17 @@
-#: ../editors/FileManagementPanel.py:85
+#: ../editors/FileManagementPanel.py:87 -#: ../dialogs/DiscoveryDialog.py:99
+#: ../dialogs/DiscoveryDialog.py:89 -#: ../editors/ResourceEditor.py:74 ../editors/ResourceEditor.py:95
-#: ../editors/DataTypeEditor.py:53 ../editors/CodeFileEditor.py:747
-#: ../controls/VariablePanel.py:58
+#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732 +#: ../controls/VariablePanel.py:59 @@ -2206,8 +2215,8 @@
msgid "Name must not be null!"
-#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:87
-#: ../dialogs/ConnectionDialog.py:76
+#: ../dialogs/SFCStepDialog.py:59 ../dialogs/FBDBlockDialog.py:89 +#: ../dialogs/ConnectionDialog.py:78 @@ -2215,57 +2224,57 @@
msgid "Natural logarithm"
-#: ../dialogs/LDElementDialog.py:76 ../editors/Viewer.py:558
+#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554 -#: ../Beremiz_service.py:597
+#: ../Beremiz_service.py:610 msgid "Nevow Web service failed. "
-#: ../Beremiz_service.py:573
+#: ../Beremiz_service.py:580 msgid "Nevow/Athena import failed :"
-#: ../BeremizIDE.py:246 ../BeremizIDE.py:281 ../PLCOpenEditor.py:122
-#: ../PLCOpenEditor.py:164
+#: ../BeremizIDE.py:241 ../BeremizIDE.py:276 ../PLCOpenEditor.py:75 +#: ../PLCOpenEditor.py:117 -#: ../controls/CustomEditableListBox.py:41
+#: ../controls/CustomEditableListBox.py:43 -#: ../editors/Viewer.py:557
+#: ../editors/Viewer.py:553 -#: ../ProjectController.py:1851
+#: ../ProjectController.py:1808 msgid "No PLC to transfer (did build succeed ?)\n"
-#: ../PLCGenerator.py:1654
+#: ../PLCGenerator.py:1678 msgid "No body defined in \"%s\" POU"
-#: ../PLCGenerator.py:815 ../PLCGenerator.py:1257
+#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281 msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
-#: ../PLCOpenEditor.py:378
+#: ../PLCOpenEditor.py:331 "No documentation available.\n"
-#: ../PLCGenerator.py:840
+#: ../PLCGenerator.py:841 msgid "No informations found for \"%s\" block"
-#: ../PLCGenerator.py:1208
+#: ../PLCGenerator.py:1232 msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
@@ -2274,44 +2283,44 @@
msgid "No search results available."
-#: ../svgui/svgui.py:141
+#: ../svgui/svgui.py:142 msgid "No such SVG file: %s\n"
-#: ../canfestival/config_utils.py:676
+#: ../canfestival/config_utils.py:682 msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
-#: ../canfestival/config_utils.py:381
+#: ../canfestival/config_utils.py:387 msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
-#: ../dialogs/BrowseValuesLibraryDialog.py:83
+#: ../dialogs/BrowseValuesLibraryDialog.py:87 msgid "No valid value selected!"
-#: ../PLCGenerator.py:1652
+#: ../PLCGenerator.py:1676 msgid "No variable defined in \"%s\" POU"
-#: ../canfestival/config_utils.py:373
+#: ../canfestival/config_utils.py:379 msgid "Non existing node ID : {a1} (variable {a2})"
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:79 -#: ../dialogs/LDElementDialog.py:76
+#: ../dialogs/LDElementDialog.py:78 -#: ../canfestival/config_utils.py:420
+#: ../canfestival/config_utils.py:426 msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
@@ -2320,7 +2329,7 @@
-#: ../dialogs/SFCDivergenceDialog.py:90
+#: ../dialogs/SFCDivergenceDialog.py:91 msgid "Number of sequences:"
@@ -2328,76 +2337,76 @@
-#: ../editors/CodeFileEditor.py:751
+#: ../editors/CodeFileEditor.py:736 -#: ../dialogs/SearchInProjectDialog.py:87
+#: ../dialogs/SearchInProjectDialog.py:88 -#: ../BeremizIDE.py:248 ../BeremizIDE.py:282 ../PLCOpenEditor.py:124
-#: ../PLCOpenEditor.py:165
+#: ../BeremizIDE.py:243 ../BeremizIDE.py:277 ../PLCOpenEditor.py:77 +#: ../PLCOpenEditor.py:118 -#: ../svgui/svgui.py:150
+#: ../svgui/svgui.py:151
msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
-#: ../ProjectController.py:1922
+#: ../ProjectController.py:1879 msgid "Open a file explorer to manage project files"
-#: ../wxglade_hmi/wxglade_hmi.py:159
+#: ../wxglade_hmi/wxglade_hmi.py:161 -#: ../controls/VariablePanel.py:63
+#: ../controls/VariablePanel.py:64 -#: ../dialogs/FindInPouDialog.py:82 ../editors/CodeFileEditor.py:752
+#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737 -#: ../controls/ProjectPropertiesPanel.py:101
+#: ../controls/ProjectPropertiesPanel.py:109 msgid "Organization (optional):"
-#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:102
+#: ../canfestival/SlaveEditor.py:78 ../canfestival/NetworkEditor.py:102 -#: ../dialogs/SFCStepDialog.py:72 ../dialogs/FBDVariableDialog.py:41
-#: ../dialogs/BrowseLocationsDialog.py:44 ../editors/Viewer.py:330
-#: ../editors/Viewer.py:1669 ../editors/TextViewer.py:312
-#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:88
+#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42 +#: ../dialogs/BrowseLocationsDialog.py:44 ../editors/Viewer.py:333 +#: ../editors/Viewer.py:1661 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:89 #: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380
-#: ../canfestival/SlaveEditor.py:66 ../canfestival/NetworkEditor.py:91
+#: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91 -#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:90
+#: ../canfestival/SlaveEditor.py:66 ../canfestival/NetworkEditor.py:90 -#: ../targets/toolchain_gcc.py:170
+#: ../targets/toolchain_gcc.py:174
-#: ../ProjectController.py:1080
+#: ../ProjectController.py:1082 msgid "PLC code generation failed !\n"
@@ -2409,114 +2418,114 @@
msgid "PLC is not started."
-#: ../PLCOpenEditor.py:227 ../PLCOpenEditor.py:340
+#: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293 "PLC syntax error at line {a1}:\n"
-#: ../PLCOpenEditor.py:323 ../PLCOpenEditor.py:404
+#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:357 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
-#: ../PLCOpenEditor.py:172 ../PLCOpenEditor.py:240
+#: ../PLCOpenEditor.py:125 ../PLCOpenEditor.py:193 -#: ../PLCOpenEditor.py:386
+#: ../PLCOpenEditor.py:339 "PLCOpenEditor is part of Beremiz project.\n"
-#: ../dialogs/DiscoveryDialog.py:102
+#: ../dialogs/DiscoveryDialog.py:92 -#: ../dialogs/PouDialog.py:107
-#: ../dialogs/PouDialog.py:64
#: ../dialogs/PouDialog.py:109
+#: ../dialogs/PouDialog.py:66 +#: ../dialogs/PouDialog.py:111 -#: ../dialogs/PouDialog.py:71
+#: ../dialogs/PouDialog.py:73 -#: ../connectors/PYRO/__init__.py:47
+#: ../connectors/PYRO/__init__.py:52 msgid "PYRO connecting to URI : %s\n"
-#: ../connectors/PYRO/__init__.py:63
+#: ../connectors/PYRO/__init__.py:68 msgid "PYRO using certificates in '%s' \n"
-#: ../BeremizIDE.py:261 ../PLCOpenEditor.py:138
+#: ../BeremizIDE.py:256 ../PLCOpenEditor.py:91 -#: ../controls/ProjectPropertiesPanel.py:114
+#: ../controls/ProjectPropertiesPanel.py:124 msgid "Page Size (optional):"
-#: ../controls/PouInstanceVariablesPanel.py:140
+#: ../controls/PouInstanceVariablesPanel.py:134 -#: ../editors/Viewer.py:699 ../IDEFrame.py:386 ../IDEFrame.py:440
+#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428
-#: ../dialogs/SearchInProjectDialog.py:59
+#: ../dialogs/SearchInProjectDialog.py:60 msgid "Pattern to search:"
-#: ../dialogs/LDPowerRailDialog.py:73
+#: ../dialogs/LDPowerRailDialog.py:75 -#: ../editors/Viewer.py:2802 ../editors/Viewer.py:3070
-#: ../editors/SFCViewer.py:771
+#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060 +#: ../editors/SFCViewer.py:785 msgid "Please choose a target"
-#: ../editors/TextViewer.py:265
+#: ../editors/TextViewer.py:260 msgid "Please enter a block name"
-#: ../editors/Viewer.py:2671 ../editors/Viewer.py:3113
+#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103 msgid "Please enter comment text"
-#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455
-#: ../editors/SFCViewer.py:801
+#: ../editors/SFCViewer.py:447 ../editors/SFCViewer.py:469 +#: ../editors/SFCViewer.py:815 msgid "Please enter step name"
-#: ../dialogs/PouNameDialog.py:34 ../Beremiz_service.py:204
+#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209 msgid "Please enter text"
-#: ../dialogs/ForceVariableDialog.py:175
+#: ../dialogs/ForceVariableDialog.py:177 msgid "Please enter value for a \"%s\" variable:"
@@ -2529,82 +2538,82 @@
msgid "Port number must be an integer!"
-#: ../editors/Viewer.py:636 ../editors/Viewer.py:2459
+#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449 -#: ../dialogs/LDPowerRailDialog.py:50
+#: ../dialogs/LDPowerRailDialog.py:52 msgid "Power Rail Properties"
-#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:140
+#: ../BeremizIDE.py:258 ../PLCOpenEditor.py:93 -#: ../dialogs/BlockPreviewDialog.py:57
+#: ../dialogs/BlockPreviewDialog.py:59 -#: ../BeremizIDE.py:265 ../BeremizIDE.py:285 ../PLCOpenEditor.py:142
-#: ../PLCOpenEditor.py:168
+#: ../BeremizIDE.py:260 ../BeremizIDE.py:280 ../PLCOpenEditor.py:95 +#: ../PLCOpenEditor.py:121
-#: ../editors/ResourceEditor.py:74
+#: ../editors/ResourceEditor.py:76 -#: ../dialogs/SFCTransitionDialog.py:90
+#: ../dialogs/SFCTransitionDialog.py:91 -#: ../runtime/PLCObject.py:375
+#: ../runtime/PLCObject.py:518 msgid "Problem starting PLC : error %d"
-#: ../dialogs/ProjectDialog.py:61
+#: ../dialogs/ProjectDialog.py:63 -#: ../controls/ProjectPropertiesPanel.py:84
+#: ../controls/ProjectPropertiesPanel.py:90 msgid "Product Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:86
+#: ../controls/ProjectPropertiesPanel.py:92 msgid "Product Release (optional):"
-#: ../dialogs/ProjectDialog.py:62
+#: ../dialogs/ProjectDialog.py:64 -#: ../controls/ProjectPropertiesPanel.py:85
+#: ../controls/ProjectPropertiesPanel.py:91 msgid "Product Version (required):"
-#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1784
+#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778 -#: ../PLCOpenEditor.py:368
+#: ../PLCOpenEditor.py:321 msgid "Program was successfully generated!"
-#: ../PLCControler.py:105
+#: ../plcopen/types_enums.py:76 -#: ../editors/Viewer.py:281
+#: ../editors/Viewer.py:285 msgid "Programs can't be used by other POUs!"
-#: ../controls/ProjectPropertiesPanel.py:88 ../IDEFrame.py:616
+#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601 @@ -2613,112 +2622,112 @@
-#: ../ProjectController.py:1921
+#: ../ProjectController.py:1878 -#: ../dialogs/ProjectDialog.py:60
+#: ../dialogs/ProjectDialog.py:62 -#: ../controls/ProjectPropertiesPanel.py:82
+#: ../controls/ProjectPropertiesPanel.py:88 msgid "Project Name (required):"
-#: ../controls/ProjectPropertiesPanel.py:83
+#: ../controls/ProjectPropertiesPanel.py:89 msgid "Project Version (optional):"
-#: ../PLCControler.py:3230
+#: ../PLCControler.py:2717 "Project file syntax error:\n"
-#: ../dialogs/ProjectDialog.py:34 ../editors/ProjectNodeEditor.py:38
+#: ../dialogs/ProjectDialog.py:36 ../editors/ProjectNodeEditor.py:40 msgid "Project properties"
-#: ../ConfigTreeNode.py:572
+#: ../ConfigTreeNode.py:571 msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
-#: ../dialogs/ConnectionDialog.py:99
+#: ../dialogs/ConnectionDialog.py:101 -#: ../PLCControler.py:106
+#: ../plcopen/types_enums.py:77 -#: ../Beremiz_service.py:450
+#: ../Beremiz_service.py:427 msgid "Publishing service on local network"
-#: ../connectors/PYRO/__init__.py:121
+#: ../connectors/PYRO/__init__.py:126 msgid "Pyro exception: %s\n"
-#: ../Beremiz_service.py:437
-msgid "Pyro object's uri :"
-#: ../Beremiz_service.py:436
+#: ../Beremiz_service.py:420 -#: ../py_ext/PythonEditor.py:82
+#: ../py_ext/PythonEditor.py:84
-#: ../dialogs/ActionBlockDialog.py:40
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../BeremizIDE.py:268 ../PLCOpenEditor.py:148 ../Beremiz_service.py:283
+#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:224
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227 -#: ../ProjectController.py:1915
+#: ../ProjectController.py:1872 -#: ../BeremizIDE.py:1085
+#: ../BeremizIDE.py:1083 msgid "Really delete node '%s'?"
-#: ../IDEFrame.py:376 ../IDEFrame.py:436
+#: ../connectors/WAMP/dialog.py:50 +#: ../IDEFrame.py:367 ../IDEFrame.py:424 -#: ../dialogs/SFCTransitionDialog.py:75
+#: ../dialogs/SFCTransitionDialog.py:76 -#: ../dialogs/DiscoveryDialog.py:115 ../IDEFrame.py:446
+#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434 -#: ../dialogs/SearchInProjectDialog.py:69
+#: ../dialogs/SearchInProjectDialog.py:70 msgid "Regular expression"
-#: ../dialogs/FindInPouDialog.py:97
+#: ../dialogs/FindInPouDialog.py:99 msgid "Regular expressions"
-#: ../editors/Viewer.py:1644
+#: ../editors/Viewer.py:1636 @@ -2726,32 +2735,32 @@
msgid "Remainder (modulo)"
-#: ../BeremizIDE.py:1086
+#: ../BeremizIDE.py:1084
-#: ../dialogs/ActionBlockDialog.py:142
+#: ../dialogs/ActionBlockDialog.py:144 -#: ../editors/DataTypeEditor.py:366
+#: ../editors/DataTypeEditor.py:365 -#: ../editors/FileManagementPanel.py:64
+#: ../editors/FileManagementPanel.py:66 msgid "Remove file from left folder"
-#: ../editors/ResourceEditor.py:282
+#: ../editors/ResourceEditor.py:284 @@ -2759,23 +2768,23 @@
-#: ../editors/ResourceEditor.py:251
+#: ../editors/ResourceEditor.py:253 -#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:482
+#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482
-#: ../editors/FileManagementPanel.py:185
+#: ../editors/FileManagementPanel.py:187 -#: ../editors/Viewer.py:601
+#: ../editors/Viewer.py:598 msgid "Replace Wire by connections"
@@ -2783,27 +2792,27 @@
msgid "Replacement (within)"
-#: ../dialogs/LDElementDialog.py:77
+#: ../dialogs/LDElementDialog.py:79 -#: ../editors/Viewer.py:684
+#: ../editors/Viewer.py:681 msgid "Reset Execution Order"
msgid "Reset Perspective"
-#: ../controls/SearchResultPanel.py:111
+#: ../controls/SearchResultPanel.py:103 msgid "Reset search result"
-#: ../BeremizIDE.py:1015 ../PLCControler.py:106
+#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77 -#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:77 @@ -2811,15 +2820,15 @@
-#: ../editors/Viewer.py:586
+#: ../editors/Viewer.py:582 -#: ../dialogs/LDPowerRailDialog.py:63
+#: ../dialogs/LDPowerRailDialog.py:65 -#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:559
+#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555 @@ -2835,113 +2844,113 @@
-#: ../ProjectController.py:1871
+#: ../ProjectController.py:1828 -#: ../ProjectController.py:1125
+#: ../ProjectController.py:1127 msgid "Runtime IO extensions C code generation failed !\n"
-#: ../ProjectController.py:1134
+#: ../ProjectController.py:1136 msgid "Runtime library extensions C code generation failed !\n"
-#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:89
+#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:89 -#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:88
+#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:88 -#: ../dialogs/PouDialog.py:42 ../controls/ProjectPropertiesPanel.py:148
+#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 -#: ../PLCGenerator.py:1409
+#: ../PLCGenerator.py:1433 msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\""
-#: ../PLCGenerator.py:779
+#: ../PLCGenerator.py:780 msgid "SFC transition in POU \"%s\" must be connected."
-#: ../dialogs/PouTransitionDialog.py:38 ../dialogs/PouActionDialog.py:34
-#: ../dialogs/PouDialog.py:42
+#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 +#: ../dialogs/PouDialog.py:44 -#: ../PLCOpenEditor.py:355
+#: ../PLCOpenEditor.py:308 msgid "ST files (*.st)|*.st|All files|*.*"
-#: ../svgui/svgui.py:135
+#: ../svgui/svgui.py:136 msgid "SVG files (*.svg)|*.svg|All files|*.*"
-#: ../BeremizIDE.py:252 ../BeremizIDE.py:283 ../PLCOpenEditor.py:131
-#: ../PLCOpenEditor.py:166
+#: ../BeremizIDE.py:247 ../BeremizIDE.py:278 ../PLCOpenEditor.py:84 +#: ../PLCOpenEditor.py:119 -#: ../BeremizIDE.py:284 ../PLCOpenEditor.py:133 ../PLCOpenEditor.py:167
+#: ../BeremizIDE.py:279 ../PLCOpenEditor.py:86 ../PLCOpenEditor.py:120
-#: ../ProjectController.py:528
+#: ../ProjectController.py:530 msgid "Save path is the same as path of a project! \n"
-#: ../dialogs/SearchInProjectDialog.py:72
+#: ../dialogs/SearchInProjectDialog.py:73
-#: ../dialogs/SearchInProjectDialog.py:48 ../IDEFrame.py:396 ../IDEFrame.py:442
+#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430 msgid "Search in Project"
-#: ../dialogs/DurationEditorDialog.py:47
+#: ../dialogs/DurationEditorDialog.py:49
-#: ../editors/Viewer.py:328 ../editors/TextViewer.py:310
-#: ../controls/LocationCellEditor.py:99 ../controls/VariablePanel.py:315
+#: ../editors/Viewer.py:331 ../editors/TextViewer.py:305 +#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315 #: ../controls/VariablePanel.py:378
msgid "Select a variable class:"
-#: ../ProjectController.py:1288
+#: ../ProjectController.py:1293 msgid "Select an editor:"
-#: ../controls/PouInstanceVariablesPanel.py:298
+#: ../controls/PouInstanceVariablesPanel.py:292 msgid "Select an instance"
-#: ../ProjectController.py:535
+#: ../ProjectController.py:537 msgid "Selected directory already contains another project. Overwrite? \n"
@@ -2949,23 +2958,23 @@
-#: ../dialogs/SFCDivergenceDialog.py:65
+#: ../dialogs/SFCDivergenceDialog.py:66 msgid "Selection Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:64
+#: ../dialogs/SFCDivergenceDialog.py:65 msgid "Selection Divergence"
-#: ../dialogs/DiscoveryDialog.py:87
+#: ../dialogs/DiscoveryDialog.py:135 msgid "Service Discovery"
-#: ../dialogs/DiscoveryDialog.py:91
+#: ../dialogs/DiscoveryDialog.py:104 msgid "Services available:"
-#: ../dialogs/LDElementDialog.py:77
+#: ../dialogs/LDElementDialog.py:79 @@ -2977,27 +2986,27 @@
-#: ../ProjectController.py:1906
+#: ../ProjectController.py:1863 msgid "Show IEC code generated by PLCGenerator"
-#: ../canfestival/canfestival.py:416
+#: ../canfestival/canfestival.py:407 -#: ../canfestival/canfestival.py:417
+#: ../canfestival/canfestival.py:408 msgid "Show Master generated by config_utils"
-#: ../ProjectController.py:1905
+#: ../ProjectController.py:1862 +#: ../dialogs/SFCDivergenceDialog.py:68 +msgid "Simultaneous Convergence" #: ../dialogs/SFCDivergenceDialog.py:67
-msgid "Simultaneous Convergence"
-#: ../dialogs/SFCDivergenceDialog.py:66
msgid "Simultaneous Divergence"
@@ -3005,15 +3014,15 @@
-#: ../editors/ResourceEditor.py:74
+#: ../editors/ResourceEditor.py:76 -#: ../targets/toolchain_makefile.py:128
+#: ../targets/toolchain_makefile.py:130 msgid "Source didn't change, no build.\n"
-#: ../PLCGenerator.py:401
+#: ../PLCGenerator.py:404 msgid "Source signal has to be defined for single task '{a1}' in resource '{a2}.{a3}'."
@@ -3022,36 +3031,36 @@
msgid "Square root (base 2)"
-#: ../plcopen/definitions.py:49
+#: ../plcopen/definitions.py:50 msgid "Standard function blocks"
-#: ../ProjectController.py:1872 ../Beremiz_service.py:271
+#: ../ProjectController.py:1829 ../Beremiz_service.py:271 -#: ../ProjectController.py:1072
+#: ../ProjectController.py:1074 msgid "Start build in %s\n"
-#: ../ProjectController.py:1392
+#: ../ProjectController.py:1397 -#: ../ProjectController.py:1679
+#: ../ProjectController.py:1633
-#: ../editors/Viewer.py:654 ../editors/Viewer.py:2434
+#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424 -#: ../ProjectController.py:1878
+#: ../ProjectController.py:1835 @@ -3059,23 +3068,19 @@
-#: ../ProjectController.py:1879
+#: ../ProjectController.py:1836 -#: ../ProjectController.py:1393
+#: ../ProjectController.py:1398 -#: ../ProjectController.py:1651
-msgid "Stopping debugger...\n"
-#: ../editors/DataTypeEditor.py:58
+#: ../editors/DataTypeEditor.py:60 -#: ../editors/DataTypeEditor.py:58
+#: ../editors/DataTypeEditor.py:60 @@ -3083,19 +3088,19 @@
-#: ../ProjectController.py:1111
+#: ../ProjectController.py:1113 msgid "Successfully built.\n"
msgid "Switch perspective"
-#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/FindInPouDialog.py:116
+#: ../dialogs/SearchInProjectDialog.py:169 ../dialogs/FindInPouDialog.py:118 msgid "Syntax error in regular expression of pattern to search!"
-#: ../dialogs/DiscoveryDialog.py:100
+#: ../dialogs/DiscoveryDialog.py:90 @@ -3103,19 +3108,19 @@
-#: ../editors/ResourceEditor.py:95
+#: ../editors/ResourceEditor.py:97 -#: ../editors/ResourceEditor.py:246
+#: ../editors/ResourceEditor.py:248 -#: ../controls/VariablePanel.py:90
+#: ../controls/VariablePanel.py:91
"The best place to ask questions about Beremiz/PLCOpenEditor\n"
"is project's mailing list: beremiz-devel@lists.sourceforge.net\n"
@@ -3127,37 +3132,37 @@
"https://lists.sourceforge.net/lists/listinfo/beremiz-devel"
-#: ../editors/FileManagementPanel.py:184
+#: ../editors/FileManagementPanel.py:186 "The file '%s' already exist.\n"
"Do you want to replace it?"
-#: ../editors/LDViewer.py:891
+#: ../editors/LDViewer.py:893 msgid "The group of block must be coherent!"
-#: ../BeremizIDE.py:577 ../IDEFrame.py:1052
+#: ../BeremizIDE.py:573 ../IDEFrame.py:1046 msgid "There are changes, do you want to save?"
-#: ../IDEFrame.py:1695 ../IDEFrame.py:1714
+#: ../IDEFrame.py:1691 ../IDEFrame.py:1710 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?"
-#: ../editors/LDViewer.py:900
+#: ../editors/LDViewer.py:902 msgid "This option isn't available yet!"
-#: ../controls/DebugVariablePanel/DebugVariablePanel.py:564
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567 @@ -3195,63 +3200,63 @@
msgid "Time-of-day subtraction"
-#: ../dialogs/ForceVariableDialog.py:186
+#: ../dialogs/ForceVariableDialog.py:188 -#: ../editors/Viewer.py:588
+#: ../editors/Viewer.py:584 -#: ../ProjectController.py:1891
-#: ../ProjectController.py:1892
-#: ../ProjectController.py:1845
-msgid "Transfer completed successfully.\n"
#: ../ProjectController.py:1848
+#: ../ProjectController.py:1849 +#: ../ProjectController.py:1802 +msgid "Transfer completed successfully.\n" +#: ../ProjectController.py:1805 msgid "Transfer failed\n"
-#: ../editors/Viewer.py:655 ../editors/Viewer.py:2436 ../editors/Viewer.py:2463
+#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453 -#: ../PLCGenerator.py:1540
+#: ../PLCGenerator.py:1564 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
-#: ../dialogs/PouTransitionDialog.py:89
+#: ../dialogs/PouTransitionDialog.py:91 -#: ../dialogs/PouTransitionDialog.py:58
+#: ../dialogs/PouTransitionDialog.py:60 -#: ../PLCGenerator.py:1633
+#: ../PLCGenerator.py:1657 msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
-#: ../PLCGenerator.py:1622
+#: ../PLCGenerator.py:1646 msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
-#: ../plcopen/plcopen.py:1382
+#: ../plcopen/plcopen.py:1526 msgid "Transition with name %s doesn't exist!"
-#: ../PLCControler.py:105
+#: ../plcopen/types_enums.py:76 @@ -3259,17 +3264,17 @@
-#: ../editors/ResourceEditor.py:74
+#: ../editors/ResourceEditor.py:76 -#: ../Beremiz_service.py:487
+#: ../Beremiz_service.py:490 msgid "Twisted unavailable."
-#: ../dialogs/ActionBlockDialog.py:40 ../editors/ResourceEditor.py:95
-#: ../editors/DataTypeEditor.py:53 ../editors/CodeFileEditor.py:748
-#: ../controls/VariablePanel.py:60
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733 +#: ../controls/VariablePanel.py:61 @@ -3277,7 +3282,7 @@
msgid "Type and derivated"
-#: ../canfestival/config_utils.py:353 ../canfestival/config_utils.py:660
+#: ../canfestival/config_utils.py:359 ../canfestival/config_utils.py:666 msgid "Type conflict for location \"%s\""
@@ -3294,50 +3299,62 @@
-#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58
-#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:111
-#: ../dialogs/FBDBlockDialog.py:67 ../dialogs/ConnectionDialog.py:59
+#: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59 +#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111 +#: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61 -#: ../canfestival/config_utils.py:494 ../canfestival/config_utils.py:509
+#: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42 +#: ../connectors/PYRO/dialog.py:43 ../connectors/WAMP/dialog.py:46 +#: ../controls/UriLocationEditor.py:35 +#: ../canfestival/config_utils.py:500 ../canfestival/config_utils.py:515 msgid "Unable to define PDO mapping for node %02x"
-#: ../targets/Xenomai/__init__.py:41
+#: ../targets/Xenomai/__init__.py:43 msgid "Unable to get Xenomai's %s \n"
-#: ../PLCGenerator.py:973 ../PLCGenerator.py:1228
+#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252 msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
-#: ../PLCGenerator.py:257
+#: ../PLCGenerator.py:261 msgid "Undefined pou type \"%s\""
-#: ../IDEFrame.py:374 ../IDEFrame.py:435
+#: ../IDEFrame.py:365 ../IDEFrame.py:423 -#: ../ProjectController.py:440
+#: ../ProjectController.py:442 -#: ../editors/Viewer.py:434
+#: ../editors/Viewer.py:437 msgid "Unknown variable \"%s\" for this POU!"
-#: ../ProjectController.py:437 ../ProjectController.py:438
+#: ../ProjectController.py:439 ../ProjectController.py:440 -#: ../PLCControler.py:667
+#: ../PLCControler.py:263 @@ -3347,73 +3364,103 @@
msgid "Unrecognized data size \"%s\""
-#: ../editors/DataTypeEditor.py:645 ../controls/VariablePanel.py:862
+#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841 -#: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:93
+#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:93 -#: ../PLCControler.py:104
+#: ../plcopen/types_enums.py:75 msgid "User-defined POUs"
-#: ../dialogs/ActionBlockDialog.py:40
+#: ../dialogs/ActionBlockDialog.py:42 -#: ../editors/DataTypeEditor.py:268
+#: ../editors/DataTypeEditor.py:267 -#: ../dialogs/ActionBlockDialog.py:45 ../editors/Viewer.py:625
-#: ../editors/Viewer.py:2466
+#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622 +#: ../editors/Viewer.py:2456 -#: ../editors/Viewer.py:349 ../editors/Viewer.py:379 ../editors/Viewer.py:401
-#: ../editors/TextViewer.py:295 ../editors/TextViewer.py:349
-#: ../editors/TextViewer.py:372 ../controls/VariablePanel.py:355
+#: ../editors/Viewer.py:352 ../editors/Viewer.py:382 ../editors/Viewer.py:404 +#: ../editors/TextViewer.py:290 ../editors/TextViewer.py:344 +#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:355 -#: ../dialogs/FBDVariableDialog.py:67
+#: ../dialogs/FBDVariableDialog.py:68 msgid "Variable Properties"
-#: ../editors/Viewer.py:329 ../editors/TextViewer.py:311
-#: ../controls/LocationCellEditor.py:100 ../controls/VariablePanel.py:316
+#: ../editors/Viewer.py:332 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316 #: ../controls/VariablePanel.py:379
-#: ../editors/Viewer.py:436 ../editors/TextViewer.py:393
+#: ../editors/Viewer.py:439 ../editors/TextViewer.py:388 msgid "Variable don't belong to this POU!"
-#: ../dialogs/LDElementDialog.py:90
+#: ../dialogs/LDElementDialog.py:92 -#: ../controls/VariablePanel.py:89
+#: ../controls/VariablePanel.py:90 -#: ../controls/ProjectPropertiesPanel.py:156
+#: ../controls/ProjectPropertiesPanel.py:166 -#: ../Beremiz_service.py:605
+#: ../runtime/WampClient.py:113 +msgid "WAMP Client connection failed (%s) .. retrying .." +#: ../runtime/WampClient.py:117 +msgid "WAMP Client connection lost (%s) .. retrying .." +#: ../connectors/WAMP/dialog.py:54 +#: ../runtime/WampClient.py:172 +msgid "WAMP client connecting to :" +#: ../runtime/WampClient.py:148 +msgid "WAMP client connection not established!" +#: ../Beremiz_service.py:625 msgid "WAMP client startup failed. "
-#: ../connectors/WAMP/__init__.py:97
+#: ../Beremiz_service.py:621 +msgid "WAMP config is incomplete." +#: ../Beremiz_service.py:623 +msgid "WAMP config is missing." +#: ../connectors/WAMP/__init__.py:99 msgid "WAMP connecting to URL : %s\n"
-#: ../connectors/WAMP/__init__.py:139
+#: ../connectors/WAMP/__init__.py:140 msgid "WAMP connection timeout"
@@ -3422,31 +3469,43 @@
msgid "WAMP connection to '%s' failed.\n"
-#: ../Beremiz_service.py:581
+#: ../Beremiz_service.py:595 msgid "WAMP import failed :"
-#: ../wxglade_hmi/wxglade_hmi.py:41
+#: ../runtime/WampClient.py:126 +msgid "WAMP load error: " +#: ../runtime/WampClient.py:108 +msgid "WAMP session left" +#: ../wxglade_hmi/wxglade_hmi.py:44 -#: ../dialogs/PouDialog.py:135 ../editors/LDViewer.py:900
+#: ../runtime/WampClient.py:137 +msgid "Wamp secret load error:" +#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902 -#: ../ProjectController.py:724
+#: ../ProjectController.py:726 msgid "Warnings in ST/IL/SFC code generator :\n"
-#: ../dialogs/SearchInProjectDialog.py:81
+#: ../dialogs/SearchInProjectDialog.py:82 -#: ../controls/ProjectPropertiesPanel.py:124
+#: ../controls/ProjectPropertiesPanel.py:134 -#: ../dialogs/FindInPouDialog.py:92
+#: ../dialogs/FindInPouDialog.py:94 @@ -3454,91 +3513,91 @@
-#: ../svgui/svgui.py:149
+#: ../svgui/svgui.py:150 "You don't have write permissions.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:158
+#: ../wxglade_hmi/wxglade_hmi.py:160 "You don't have write permissions.\n"
-#: ../ProjectController.py:388
+#: ../ProjectController.py:390 "You must have permission to work on the project\n"
"Work on a project copy ?"
-#: ../editors/LDViewer.py:895
+#: ../editors/LDViewer.py:897 msgid "You must select the block or group of blocks around which a branch should be added!"
-#: ../editors/LDViewer.py:675
+#: ../editors/LDViewer.py:677 msgid "You must select the wire where a contact should be added!"
-#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouNameDialog.py:50 msgid "You must type a name!"
-#: ../dialogs/ForceVariableDialog.py:207
+#: ../dialogs/ForceVariableDialog.py:209 msgid "You must type a value!"
-#: ../dialogs/DurationEditorDialog.py:156
-#: ../PLCOpenEditor.py:364
-#: ../util/ProcessLogger.py:174
-msgid "exited with status {a1} (pid {a2})\n"
-#: ../dialogs/PouDialog.py:34
-#: ../dialogs/PouDialog.py:34
-#: ../dialogs/DurationEditorDialog.py:156
-#: ../ProjectController.py:751
-msgid "matiec installation is not found\n"
#: ../dialogs/DurationEditorDialog.py:158
+#: ../PLCOpenEditor.py:317 +#: ../util/ProcessLogger.py:178 +msgid "exited with status {a1} (pid {a2})\n" +#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:36 +#: ../dialogs/DurationEditorDialog.py:158 +#: ../ProjectController.py:753 +msgid "matiec installation is not found\n" +#: ../dialogs/DurationEditorDialog.py:160 -#: ../dialogs/DurationEditorDialog.py:157
+#: ../dialogs/DurationEditorDialog.py:159 -#: ../dialogs/PouDialog.py:34
+#: ../dialogs/PouDialog.py:36 -#: ../dialogs/DurationEditorDialog.py:157
+#: ../dialogs/DurationEditorDialog.py:159 @@ -3554,16 +3613,16 @@
msgid "update info unavailable."
-#: ../PLCOpenEditor.py:362
+#: ../PLCOpenEditor.py:315 -#: ../PLCControler.py:1028
+#: ../PLCControler.py:576 msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
@@ -3638,6 +3697,72 @@
+msgid "Remote_IP_Address" +msgid "Remote_Port_Number" +msgid "Invocation_Rate_in_ms" +msgid "ModbusServerNode" +msgid "Local_IP_Address" +msgid "Local_Port_Number" +msgid "MaxRemoteTCPclients"