# HG changeset patch # User Andrey Skvortsov # Date 1538565657 -10800 # Node ID aef7f2ca4e69e21208f3877759a942dd52da3537 # Parent 68e7da937162932a166ed26ef915e005819da40d Update localization template diff -r 68e7da937162 -r aef7f2ca4e69 i18n/app.fil --- a/i18n/app.fil Wed Oct 03 14:19:41 2018 +0300 +++ b/i18n/app.fil Wed Oct 03 14:20:57 2018 +0300 @@ -21,6 +21,7 @@ ../dialogs/ArrayTypeDialog.py ../dialogs/PouNameDialog.py ../dialogs/BrowseLocationsDialog.py +../dialogs/CommentEditDialog.py ../dialogs/FBDBlockDialog.py ../dialogs/ConnectionDialog.py ../dialogs/BrowseValuesLibraryDialog.py @@ -35,6 +36,12 @@ ../graphics/LD_Objects.py ../graphics/SFC_Objects.py ../graphics/GraphicCommons.py +../bacnet/BacnetSlaveEditor.py +../bacnet/bacnet.py +../bacnet/ede_files/template_ObjTypes.csv +../bacnet/ede_files/template_Units.csv +../bacnet/ede_files/template_EDE.csv +../bacnet/ede_files/template_StateTexts.csv ../connectors/PYRO/__init__.py ../connectors/PYRO/dialog.py ../connectors/__init__.py @@ -56,8 +63,17 @@ ../py_ext/PythonFileCTNMixin.py ../wxglade_hmi/wxglade_hmi.py ../modbus/modbus.py +../etherlab/EthercatCIA402Slave.py +../etherlab/EtherCATManagementEditor.py +../etherlab/CommonEtherCATFunction.py +../etherlab/EthercatSlave.py +../etherlab/etherlab.py +../etherlab/EthercatCFileGenerator.py +../etherlab/ConfigEditor.py +../etherlab/EthercatMaster.py ../runtime/NevowServer.py ../runtime/WampClient.py +../runtime/PlcStatus.py ../runtime/PLCObject.py ../runtime/ServicePublisher.py ../ConfigTreeNode.py diff -r 68e7da937162 -r aef7f2ca4e69 i18n/messages.po --- a/i18n/messages.po Wed Oct 03 14:19:41 2018 +0300 +++ b/i18n/messages.po Wed Oct 03 14:20:57 2018 +0300 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: Beremiz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-15 16:39+0300\n" -"PO-Revision-Date: 2018-06-15 16:39+0300\n" +"POT-Creation-Date: 2018-10-03 14:20+0300\n" +"PO-Revision-Date: 2018-10-03 14:20+0300\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en_US\n" @@ -42,37 +42,46 @@ "\n" "Traceback:\n" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid " External" msgstr " External" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " InOut" msgstr " InOut" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " Input" msgstr " Input" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid " Local" msgstr " Local" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " Output" msgstr " Output" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid " Temp" msgstr " Temp" -#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74 -#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122 +#: ../etherlab/etherlab.py:301 +#, python-format +msgid " (rev. %s)" +msgstr " (rev. %s)" + +#: ../etherlab/CommonEtherCATFunction.py:1599 +msgid " Warning..." +msgstr " Warning..." + +#: ../dialogs/PouTransitionDialog.py:100 ../dialogs/ProjectDialog.py:72 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:157 #, python-format msgid " and %s" msgstr " and %s" -#: ../ProjectController.py:1182 +#: ../ProjectController.py:1236 msgid " generation failed !\n" msgstr " generation failed !\n" @@ -96,7 +105,7 @@ msgid "\"%s\" can't use itself!" msgstr "\"%s\" can't use itself!" -#: ../IDEFrame.py:1688 ../IDEFrame.py:1707 +#: ../IDEFrame.py:1705 ../IDEFrame.py:1724 #, python-format msgid "\"%s\" config already exists!" msgstr "\"%s\" config already exists!" @@ -111,32 +120,32 @@ msgid "\"%s\" configuration doesn't exist !!!" msgstr "\"%s\" configuration doesn't exist !!!" -#: ../IDEFrame.py:1638 +#: ../IDEFrame.py:1655 #, python-format msgid "\"%s\" data type already exists!" msgstr "\"%s\" data type already exists!" -#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouTransitionDialog.py:111 ../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 +#: ../controls/VariablePanel.py:424 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "\"%s\" element for this pou already exists!" -#: ../BeremizIDE.py:928 +#: ../BeremizIDE.py:925 #, python-format msgid "\"%s\" folder is not a valid Beremiz project\n" msgstr "\"%s\" folder is not a valid Beremiz project\n" -#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108 +#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:107 #: ../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 -#: ../IDEFrame.py:1629 +#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:164 +#: ../etherlab/ConfigEditor.py:973 ../editors/ResourceEditor.py:481 +#: ../editors/ResourceEditor.py:518 ../editors/DataTypeEditor.py:571 +#: ../editors/DataTypeEditor.py:603 ../editors/CodeFileEditor.py:793 +#: ../controls/VariablePanel.py:798 ../IDEFrame.py:1646 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "\"%s\" is a keyword. It can't be used!" @@ -151,27 +160,28 @@ msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" is not a valid folder!" -#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106 +#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:105 #: ../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 +#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:162 +#: ../etherlab/ConfigEditor.py:971 ../editors/ResourceEditor.py:479 +#: ../editors/ResourceEditor.py:516 ../editors/DataTypeEditor.py:601 +#: ../editors/CodeFileEditor.py:791 ../controls/VariablePanel.py:796 +#: ../IDEFrame.py:1644 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" is not a valid identifier!" -#: ../IDEFrame.py:2436 +#: ../IDEFrame.py:2454 #, python-format 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:213 ../dialogs/PouDialog.py:131 +#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:166 #: ../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 -#: ../IDEFrame.py:1647 +#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:363 +#: ../IDEFrame.py:1664 #, python-format msgid "\"%s\" pou already exists!" msgstr "\"%s\" pou already exists!" @@ -200,7 +210,7 @@ "\"%s\" value isn't a valid array dimension!\n" "Right value must be greater than left value." -#: ../PLCGenerator.py:1133 +#: ../PLCGenerator.py:1182 #, python-brace-format msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" msgstr "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" @@ -220,35 +230,35 @@ msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" msgstr "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:559 #, python-format msgid "%03gms" msgstr "%03gms" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:550 #, python-format msgid "%dd" msgstr "%dd" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:189 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:551 #, python-format msgid "%dh" msgstr "%dh" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:188 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:552 #, python-format msgid "%dm" msgstr "%dm" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:58 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:186 #, python-format msgid "%dms" msgstr "%dms" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:187 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:553 #, python-format msgid "%ds" msgstr "%ds" @@ -281,7 +291,12 @@ msgid "%s body don't have text!" msgstr "%s body don't have text!" -#: ../IDEFrame.py:388 +#: ../etherlab/ConfigEditor.py:856 +#, python-format +msgid "%s's nodes" +msgstr "%s's nodes" + +#: ../IDEFrame.py:391 msgid "&Add Element" msgstr "&Add Element" @@ -290,35 +305,35 @@ msgid "&Close" msgstr "&Close" -#: ../IDEFrame.py:361 +#: ../IDEFrame.py:364 msgid "&Configuration" msgstr "&Configuration" -#: ../IDEFrame.py:350 +#: ../IDEFrame.py:353 msgid "&Data Type" msgstr "&Data Type" -#: ../IDEFrame.py:392 +#: ../IDEFrame.py:395 msgid "&Delete" msgstr "&Delete" -#: ../IDEFrame.py:342 +#: ../IDEFrame.py:345 msgid "&Display" msgstr "&Display" -#: ../IDEFrame.py:341 +#: ../IDEFrame.py:344 msgid "&Edit" msgstr "&Edit" -#: ../IDEFrame.py:340 +#: ../IDEFrame.py:343 msgid "&File" msgstr "&File" -#: ../IDEFrame.py:352 +#: ../IDEFrame.py:355 msgid "&Function" msgstr "&Function" -#: ../IDEFrame.py:343 +#: ../IDEFrame.py:346 msgid "&Help" msgstr "&Help" @@ -326,7 +341,7 @@ msgid "&License" msgstr "&License" -#: ../IDEFrame.py:356 +#: ../IDEFrame.py:359 msgid "&Program" msgstr "&Program" @@ -338,10 +353,14 @@ msgid "&Recent Projects" msgstr "&Recent Projects" -#: ../IDEFrame.py:358 +#: ../IDEFrame.py:361 msgid "&Resource" msgstr "&Resource" +#: ../etherlab/ConfigEditor.py:450 +msgid "'Read from' and 'Write to' variables types are not compatible" +msgstr "'Read from' and 'Write to' variables types are not compatible" + #: ../controls/SearchResultPanel.py:247 #, python-brace-format msgid "'{a1}' - {a2} match in project" @@ -352,7 +371,7 @@ msgid "'{a1}' - {a2} matches in project" msgstr "'{a1}' - {a2} matches in project" -#: ../connectors/PYRO/__init__.py:98 +#: ../connectors/PYRO/__init__.py:99 #, python-brace-format msgid "'{a1}' is located at {a2}\n" msgstr "'{a1}' is located at {a2}\n" @@ -362,8 +381,8 @@ msgid "(%d matches)" msgstr "(%d matches)" -#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101 -#: ../dialogs/PouDialog.py:124 +#: ../dialogs/PouTransitionDialog.py:102 ../dialogs/PouActionDialog.py:101 +#: ../dialogs/PouDialog.py:159 #, python-format msgid ", %s" msgstr ", %s" @@ -388,15 +407,15 @@ msgid "1s" msgstr "1s" -#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696 -#: ../IDEFrame.py:1715 +#: ../dialogs/PouDialog.py:168 ../IDEFrame.py:1667 ../IDEFrame.py:1713 +#: ../IDEFrame.py:1732 #, python-format 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:58 ../dialogs/PouTransitionDialog.py:110 +#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:109 #: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108 -#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677 +#: ../controls/VariablePanel.py:800 ../IDEFrame.py:1681 ../IDEFrame.py:1694 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "A POU named \"%s\" already exists!" @@ -406,21 +425,21 @@ msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" msgstr "A child named \"{a1}\" already exists -> \"{a2}\"\n" -#: ../dialogs/BrowseLocationsDialog.py:229 +#: ../dialogs/BrowseLocationsDialog.py:228 msgid "A location must be selected!" msgstr "A location must be selected!" -#: ../editors/ResourceEditor.py:485 +#: ../editors/ResourceEditor.py:483 msgid "A task with the same name already exists!" msgstr "A task with the same name already exists!" -#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791 -#: ../IDEFrame.py:1666 ../IDEFrame.py:1679 +#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:802 +#: ../IDEFrame.py:1683 ../IDEFrame.py:1696 #, python-format 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:778 +#: ../editors/CodeFileEditor.py:797 #, python-format msgid "A variable with \"%s\" as name already exists!" msgstr "A variable with \"%s\" as name already exists!" @@ -433,11 +452,15 @@ msgid "Absolute number" msgstr "Absolute number" +#: ../etherlab/ConfigEditor.py:48 +msgid "Access" +msgstr "Access" + #: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47 msgid "Action" msgstr "Action" -#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427 +#: ../editors/Viewer.py:656 ../editors/Viewer.py:2429 msgid "Action Block" msgstr "Action Block" @@ -462,56 +485,64 @@ msgid "Actions:" msgstr "Actions:" -#: ../editors/Viewer.py:473 +#: ../editors/Viewer.py:484 msgid "Active" msgstr "Active" #: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108 -#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686 +#: ../BeremizIDE.py:998 ../editors/Viewer.py:689 msgid "Add" msgstr "Add" -#: ../IDEFrame.py:1924 ../IDEFrame.py:1959 +#: ../IDEFrame.py:1941 ../IDEFrame.py:1976 msgid "Add Action" msgstr "Add Action" -#: ../features.py:33 +#: ../features.py:22 msgid "Add C code accessing located variables synchronously" msgstr "Add C code accessing located variables synchronously" -#: ../IDEFrame.py:1907 +#: ../IDEFrame.py:1924 msgid "Add Configuration" msgstr "Add Configuration" -#: ../IDEFrame.py:1887 +#: ../IDEFrame.py:1904 msgid "Add DataType" msgstr "Add DataType" -#: ../editors/Viewer.py:609 +#: ../editors/Viewer.py:612 msgid "Add Divergence Branch" msgstr "Add Divergence Branch" +#: ../etherlab/EthercatMaster.py:297 +msgid "Add Ethercat Slave" +msgstr "Add Ethercat Slave" + +#: ../etherlab/EthercatMaster.py:297 +msgid "Add Ethercat Slave to Master" +msgstr "Add Ethercat Slave to Master" + #: ../dialogs/DiscoveryDialog.py:121 msgid "Add IP" msgstr "Add IP" -#: ../IDEFrame.py:1895 +#: ../IDEFrame.py:1912 msgid "Add POU" msgstr "Add POU" -#: ../features.py:34 +#: ../features.py:23 msgid "Add Python code executed asynchronously" msgstr "Add Python code executed asynchronously" -#: ../IDEFrame.py:1935 ../IDEFrame.py:1985 +#: ../IDEFrame.py:1952 ../IDEFrame.py:2002 msgid "Add Resource" msgstr "Add Resource" -#: ../IDEFrame.py:1913 ../IDEFrame.py:1956 +#: ../IDEFrame.py:1930 ../IDEFrame.py:1973 msgid "Add Transition" msgstr "Add Transition" -#: ../editors/Viewer.py:596 +#: ../editors/Viewer.py:599 msgid "Add Wire Segment" msgstr "Add Wire Segment" @@ -519,7 +550,7 @@ msgid "Add a new initial step" msgstr "Add a new initial step" -#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784 +#: ../editors/Viewer.py:2790 ../editors/SFCViewer.py:784 msgid "Add a new jump" msgstr "Add a new jump" @@ -527,7 +558,7 @@ msgid "Add a new step" msgstr "Add a new step" -#: ../features.py:35 +#: ../features.py:24 msgid "Add a simple WxGlade based GUI." msgstr "Add a simple WxGlade based GUI." @@ -539,22 +570,49 @@ msgid "Add element" msgstr "Add element" -#: ../editors/ResourceEditor.py:283 +#: ../etherlab/ConfigEditor.py:1388 +msgid "Add file from ESI files database" +msgstr "Add file from ESI files database" + +#: ../etherlab/ConfigEditor.py:1360 +msgid "Add file to project" +msgstr "Add file to project" + +#: ../editors/ResourceEditor.py:281 msgid "Add instance" msgstr "Add instance" +#: ../etherlab/ConfigEditor.py:652 +msgid "Add process variable" +msgstr "Add process variable" + #: ../canfestival/NetworkEditor.py:110 msgid "Add slave" msgstr "Add slave" -#: ../editors/ResourceEditor.py:252 +#: ../etherlab/ConfigEditor.py:679 +msgid "Add startup service variable" +msgstr "Add startup service variable" + +#: ../editors/ResourceEditor.py:250 msgid "Add task" msgstr "Add task" -#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481 +#: ../bacnet/BacnetSlaveEditor.py:811 ../editors/CodeFileEditor.py:672 +#: ../controls/VariablePanel.py:483 msgid "Add variable" msgstr "Add variable" +#: ../etherlab/etherlab.py:186 +msgid "" +"Adding a PDO not defined in default configuration\n" +"for mapping needed location variables\n" +"(1 if possible)" +msgstr "" +"Adding a PDO not defined in default configuration\n" +"for mapping needed location variables\n" +"(1 if possible)" + #: ../plcopen/iec_std.csv:33 msgid "Addition" msgstr "Addition" @@ -563,27 +621,28 @@ msgid "Additional function blocks" msgstr "Additional function blocks" -#: ../editors/Viewer.py:669 +#: ../editors/Viewer.py:672 msgid "Adjust Block Size" msgstr "Adjust Block Size" -#: ../editors/Viewer.py:1720 +#: ../editors/Viewer.py:1722 msgid "Alignment" msgstr "Alignment" #: ../dialogs/BrowseLocationsDialog.py:42 -#: ../dialogs/BrowseLocationsDialog.py:53 -#: ../dialogs/BrowseLocationsDialog.py:152 -#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307 -#: ../controls/VariablePanel.py:88 +#: ../dialogs/BrowseLocationsDialog.py:50 +#: ../dialogs/BrowseLocationsDialog.py:151 +#: ../dialogs/BrowseLocationsDialog.py:154 ../etherlab/ConfigEditor.py:65 +#: ../etherlab/ConfigEditor.py:853 ../controls/LogViewer.py:307 +#: ../controls/VariablePanel.py:85 msgid "All" msgstr "All" -#: ../editors/FileManagementPanel.py:37 +#: ../editors/FileManagementPanel.py:51 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "All files (*.*)|*.*|CSV files (*.csv)|*.csv" -#: ../ProjectController.py:1670 +#: ../ProjectController.py:1752 msgid "Already connected. Please disconnect\n" msgstr "Already connected. Please disconnect\n" @@ -596,6 +655,23 @@ msgid "An instance with the same name already exists!" msgstr "An instance with the same name already exists!" +#: ../etherlab/ConfigEditor.py:975 +#, python-format +msgid "An variable named \"%s\" already exists!" +msgstr "An variable named \"%s\" already exists!" + +#: ../bacnet/BacnetSlaveEditor.py:935 +msgid "Analog Input Objects" +msgstr "Analog Input Objects" + +#: ../bacnet/BacnetSlaveEditor.py:934 +msgid "Analog Output Objects" +msgstr "Analog Output Objects" + +#: ../bacnet/BacnetSlaveEditor.py:933 +msgid "Analog Value Objects" +msgstr "Analog Value Objects" + #: ../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" @@ -617,7 +693,7 @@ msgstr "Arithmetic" #: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649 -#: ../controls/VariablePanel.py:872 +#: ../controls/VariablePanel.py:883 msgid "Array" msgstr "Array" @@ -625,22 +701,34 @@ msgid "Assignment" msgstr "Assignment" -#: ../dialogs/FBDVariableDialog.py:226 +#: ../dialogs/FBDVariableDialog.py:227 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:111 +#: ../controls/ProjectPropertiesPanel.py:113 msgid "Author" msgstr "Author" -#: ../controls/ProjectPropertiesPanel.py:108 +#: ../controls/ProjectPropertiesPanel.py:110 msgid "Author Name (optional):" msgstr "Author Name (optional):" +#: ../etherlab/EthercatCIA402Slave.py:125 +msgid "Axis Pos" +msgstr "Axis Pos" + +#: ../etherlab/EthercatCIA402Slave.py:118 +msgid "Axis Ref" +msgstr "Axis Ref" + #: ../dialogs/FindInPouDialog.py:80 msgid "Backward" msgstr "Backward" +#: ../features.py:19 +msgid "Bacnet support" +msgstr "Bacnet support" + #: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672 #, python-format msgid "Bad location size : %s" @@ -651,14 +739,30 @@ msgid "Base Type:" msgstr "Base Type:" -#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830 +#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:841 msgid "Base Types" msgstr "Base Types" -#: ../BeremizIDE.py:483 +#: ../BeremizIDE.py:479 msgid "Beremiz" msgstr "Beremiz" +#: ../runtime/NevowServer.py:201 +msgid "Beremiz Runtime Settings" +msgstr "Beremiz Runtime Settings" + +#: ../bacnet/BacnetSlaveEditor.py:938 +msgid "Binary Input Objects" +msgstr "Binary Input Objects" + +#: ../bacnet/BacnetSlaveEditor.py:937 +msgid "Binary Output Objects" +msgstr "Binary Output Objects" + +#: ../bacnet/BacnetSlaveEditor.py:936 +msgid "Binary Value Objects" +msgstr "Binary Value Objects" + #: ../plcopen/iec_std.csv:70 msgid "Binary selection (1 of 2)" msgstr "Binary selection (1 of 2)" @@ -687,7 +791,7 @@ msgid "Bitwise inverting" msgstr "Bitwise inverting" -#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440 +#: ../editors/Viewer.py:624 ../editors/Viewer.py:2442 msgid "Block" msgstr "Block" @@ -699,11 +803,11 @@ msgid "Block name" msgstr "Block name" -#: ../editors/Viewer.py:586 +#: ../editors/Viewer.py:589 msgid "Bottom" msgstr "Bottom" -#: ../ProjectController.py:1400 +#: ../runtime/PlcStatus.py:11 msgid "Broken" msgstr "Broken" @@ -712,27 +816,27 @@ msgid "Browse %s values library" msgstr "Browse %s values library" -#: ../dialogs/BrowseLocationsDialog.py:72 +#: ../dialogs/BrowseLocationsDialog.py:69 msgid "Browse Locations" msgstr "Browse Locations" -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1898 msgid "Build" msgstr "Build" -#: ../ProjectController.py:1335 +#: ../ProjectController.py:1397 msgid "Build directory already clean\n" msgstr "Build directory already clean\n" -#: ../ProjectController.py:1816 +#: ../ProjectController.py:1899 msgid "Build project into build folder" msgstr "Build project into build folder" -#: ../ProjectController.py:1108 +#: ../ProjectController.py:1155 msgid "C Build crashed !\n" msgstr "C Build crashed !\n" -#: ../ProjectController.py:1105 +#: ../ProjectController.py:1152 msgid "C Build failed.\n" msgstr "C Build failed.\n" @@ -740,7 +844,7 @@ msgid "C code" msgstr "C code" -#: ../ProjectController.py:1186 +#: ../ProjectController.py:1240 msgid "C code generated successfully.\n" msgstr "C code generated successfully.\n" @@ -753,7 +857,7 @@ msgid "C compilation of %s failed.\n" msgstr "C compilation of %s failed.\n" -#: ../features.py:33 +#: ../features.py:22 msgid "C extension" msgstr "C extension" @@ -769,16 +873,20 @@ msgid "CANOpen slave" msgstr "CANOpen slave" -#: ../features.py:31 +#: ../features.py:18 msgid "CANopen support" msgstr "CANopen support" +#: ../etherlab/ConfigEditor.py:858 +msgid "CIA402 nodes" +msgstr "CIA402 nodes" + #: ../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:291 +#: ../controls/VariablePanel.py:290 msgid "Can only give a location to local or global variables" msgstr "Can only give a location to local or global variables" @@ -787,7 +895,7 @@ msgid "Can't generate program to file %s!" msgstr "Can't generate program to file %s!" -#: ../controls/VariablePanel.py:289 +#: ../controls/VariablePanel.py:288 msgid "Can't give a location to a function block instance" msgstr "Can't give a location to a function block instance" @@ -796,7 +904,7 @@ msgid "Can't save project to file %s!" msgstr "Can't save project to file %s!" -#: ../controls/VariablePanel.py:339 +#: ../controls/VariablePanel.py:338 msgid "Can't set an initial value to a function block instance" msgstr "Can't set an initial value to a function block instance" @@ -810,11 +918,11 @@ msgid "Cannot find lower free IEC channel than %d\n" msgstr "Cannot find lower free IEC channel than %d\n" -#: ../connectors/PYRO/__init__.py:139 +#: ../connectors/PYRO/__init__.py:140 msgid "Cannot get PLC status - connection failed.\n" msgstr "Cannot get PLC status - connection failed.\n" -#: ../ProjectController.py:967 +#: ../ProjectController.py:1013 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "Cannot open/parse VARIABLES.csv!\n" @@ -823,7 +931,7 @@ 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}))" -#: ../ProjectController.py:1761 +#: ../ProjectController.py:1842 msgid "Cannot transfer while PLC is running. Stop it now?" msgstr "Cannot transfer while PLC is running. Stop it now?" @@ -831,27 +939,27 @@ msgid "Case sensitive" msgstr "Case sensitive" -#: ../editors/Viewer.py:581 +#: ../editors/Viewer.py:584 msgid "Center" msgstr "Center" -#: ../Beremiz_service.py:276 +#: ../Beremiz_service.py:289 msgid "Change IP of interface to bind" msgstr "Change IP of interface to bind" -#: ../Beremiz_service.py:275 +#: ../Beremiz_service.py:288 msgid "Change Name" msgstr "Change Name" -#: ../IDEFrame.py:1977 +#: ../IDEFrame.py:1994 msgid "Change POU Type To" msgstr "Change POU Type To" -#: ../Beremiz_service.py:277 +#: ../Beremiz_service.py:290 msgid "Change Port Number" msgstr "Change Port Number" -#: ../Beremiz_service.py:278 +#: ../Beremiz_service.py:291 msgid "Change working directory" msgstr "Change working directory" @@ -863,16 +971,21 @@ msgid "Choose a SVG file" msgstr "Choose a SVG file" -#: ../ProjectController.py:561 +#: ../etherlab/EtherCATManagementEditor.py:911 +#: ../etherlab/EtherCATManagementEditor.py:1306 +msgid "Choose a binary file" +msgstr "Choose a binary file" + +#: ../ProjectController.py:582 msgid "Choose a directory to save project" msgstr "Choose a directory to save project" -#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276 -#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357 +#: ../canfestival/canfestival.py:171 ../bacnet/bacnet.py:434 +#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357 msgid "Choose a file" msgstr "Choose a file" -#: ../BeremizIDE.py:900 +#: ../BeremizIDE.py:897 msgid "Choose a project" msgstr "Choose a project" @@ -881,19 +994,23 @@ msgid "Choose a value for %s:" msgstr "Choose a value for %s:" -#: ../Beremiz_service.py:333 +#: ../Beremiz_service.py:346 msgid "Choose a working directory " msgstr "Choose a working directory " -#: ../BeremizIDE.py:864 +#: ../etherlab/ConfigEditor.py:1234 +msgid "Choose an XML file" +msgstr "Choose an XML file" + +#: ../BeremizIDE.py:861 msgid "Choose an empty directory for new project" msgstr "Choose an empty directory for new project" -#: ../ProjectController.py:468 +#: ../ProjectController.py:483 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:435 +#: ../ProjectController.py:450 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!" @@ -901,15 +1018,15 @@ msgid "Class" msgstr "Class" -#: ../controls/VariablePanel.py:472 +#: ../controls/VariablePanel.py:474 msgid "Class Filter:" msgstr "Class Filter:" -#: ../dialogs/FBDVariableDialog.py:74 +#: ../dialogs/FBDVariableDialog.py:75 msgid "Class:" msgstr "Class:" -#: ../ProjectController.py:1821 +#: ../ProjectController.py:1904 msgid "Clean" msgstr "Clean" @@ -917,32 +1034,33 @@ msgid "Clean log messages" msgstr "Clean log messages" -#: ../ProjectController.py:1822 +#: ../ProjectController.py:1905 msgid "Clean project build folder" msgstr "Clean project build folder" -#: ../ProjectController.py:1332 +#: ../ProjectController.py:1394 msgid "Cleaning the build directory\n" msgstr "Cleaning the build directory\n" -#: ../IDEFrame.py:437 +#: ../IDEFrame.py:439 msgid "Clear Errors" msgstr "Clear Errors" -#: ../editors/Viewer.py:680 +#: ../editors/Viewer.py:683 msgid "Clear Execution Order" msgstr "Clear Execution Order" #: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112 +#: ../etherlab/ConfigEditor.py:1361 msgid "Close" msgstr "Close" -#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183 +#: ../BeremizIDE.py:623 ../PLCOpenEditor.py:183 msgid "Close Application" msgstr "Close Application" -#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81 -#: ../IDEFrame.py:1040 +#: ../BeremizIDE.py:253 ../BeremizIDE.py:562 ../PLCOpenEditor.py:81 +#: ../IDEFrame.py:1053 msgid "Close Project" msgstr "Close Project" @@ -950,28 +1068,32 @@ msgid "Close Tab" msgstr "Close Tab" -#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448 +#: ../editors/Viewer.py:641 ../editors/Viewer.py:2450 msgid "Coil" msgstr "Coil" -#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517 +#: ../editors/Viewer.py:662 ../editors/LDViewer.py:517 msgid "Comment" msgstr "Comment" +#: ../etherlab/ConfigEditor.py:66 +msgid "Communication Parameters" +msgstr "Communication Parameters" + #: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134 #: ../PLCOpenEditor.py:138 msgid "Community support" msgstr "Community support" -#: ../dialogs/ProjectDialog.py:65 +#: ../dialogs/ProjectDialog.py:63 msgid "Company Name" msgstr "Company Name" -#: ../controls/ProjectPropertiesPanel.py:106 +#: ../controls/ProjectPropertiesPanel.py:108 msgid "Company Name (required):" msgstr "Company Name (required):" -#: ../controls/ProjectPropertiesPanel.py:107 +#: ../controls/ProjectPropertiesPanel.py:109 msgid "Company URL (optional):" msgstr "Company URL (optional):" @@ -979,7 +1101,7 @@ msgid "Comparison" msgstr "Comparison" -#: ../ProjectController.py:756 +#: ../ProjectController.py:787 msgid "Compiling IEC Program into C code...\n" msgstr "Compiling IEC Program into C code...\n" @@ -1005,25 +1127,25 @@ #: ../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 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:353 msgid "Confirm or change variable name" msgstr "Confirm or change variable name" -#: ../ProjectController.py:1842 +#: ../ProjectController.py:1925 msgid "Connect" msgstr "Connect" -#: ../ProjectController.py:1843 +#: ../ProjectController.py:1926 msgid "Connect to the target PLC" msgstr "Connect to the target PLC" -#: ../ProjectController.py:1391 +#: ../ProjectController.py:1469 #, python-format msgid "Connected to URI: %s" msgstr "Connected to URI: %s" -#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623 -#: ../editors/Viewer.py:2441 +#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:626 +#: ../editors/Viewer.py:2443 msgid "Connection" msgstr "Connection" @@ -1031,25 +1153,25 @@ msgid "Connection Properties" msgstr "Connection Properties" -#: ../ProjectController.py:1691 +#: ../ProjectController.py:1773 msgid "Connection canceled!\n" msgstr "Connection canceled!\n" -#: ../ProjectController.py:1714 +#: ../ProjectController.py:1797 #, python-format msgid "Connection failed to %s!\n" msgstr "Connection failed to %s!\n" -#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120 +#: ../connectors/PYRO/__init__.py:124 ../connectors/WAMP/__init__.py:121 msgid "Connection lost!\n" msgstr "Connection lost!\n" -#: ../connectors/PYRO/__init__.py:110 +#: ../connectors/PYRO/__init__.py:111 #, python-format msgid "Connection to '%s' failed.\n" msgstr "Connection to '%s' failed.\n" -#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676 +#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1678 msgid "Connector" msgstr "Connector" @@ -1057,7 +1179,7 @@ msgid "Connectors:" msgstr "Connectors:" -#: ../BeremizIDE.py:378 +#: ../BeremizIDE.py:374 msgid "Console" msgstr "Console" @@ -1065,18 +1187,22 @@ msgid "Constant" msgstr "Constant" -#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444 +#: ../editors/Viewer.py:637 ../editors/Viewer.py:2446 msgid "Contact" msgstr "Contact" -#: ../controls/ProjectPropertiesPanel.py:217 +#: ../controls/ProjectPropertiesPanel.py:219 msgid "Content Description (optional):" msgstr "Content Description (optional):" -#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677 +#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1679 msgid "Continuation" msgstr "Continuation" +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Control Byte" +msgstr "Control Byte" + #: ../plcopen/iec_std.csv:18 msgid "Conversion from BCD" msgstr "Conversion from BCD" @@ -1093,20 +1219,20 @@ msgid "Conversion to time-of-day" msgstr "Conversion to time-of-day" -#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372 -#: ../IDEFrame.py:427 +#: ../editors/Viewer.py:698 ../controls/LogViewer.py:713 ../IDEFrame.py:375 +#: ../IDEFrame.py:428 msgid "Copy" msgstr "Copy" -#: ../IDEFrame.py:1964 +#: ../IDEFrame.py:1981 msgid "Copy POU" msgstr "Copy POU" -#: ../editors/FileManagementPanel.py:68 +#: ../editors/FileManagementPanel.py:67 msgid "Copy file from left folder to right" msgstr "Copy file from left folder to right" -#: ../editors/FileManagementPanel.py:67 +#: ../editors/FileManagementPanel.py:66 msgid "Copy file from right folder to left" msgstr "Copy file from right folder to left" @@ -1128,6 +1254,16 @@ msgid "Couldn't import old %s file." msgstr "Couldn't import old %s file." +#: ../etherlab/EthercatMaster.py:258 +#, python-format +msgid "Couldn't load %s network configuration file." +msgstr "Couldn't load %s network configuration file." + +#: ../etherlab/EthercatMaster.py:279 +#, python-format +msgid "Couldn't load %s network process variables file." +msgstr "Couldn't load %s network process variables file." + #: ../ConfigTreeNode.py:630 #, python-brace-format msgid "" @@ -1146,15 +1282,24 @@ "Couldn't load confnode parameters {a1} :\n" " {a2}" +#: ../etherlab/etherlab.py:264 +#, python-brace-format +msgid "" +"Couldn't load {a1} XML file:\n" +"{a2}" +msgstr "" +"Couldn't load {a1} XML file:\n" +"{a2}" + #: ../PLCControler.py:552 msgid "Couldn't paste non-POU object." msgstr "Couldn't paste non-POU object." -#: ../ProjectController.py:1636 +#: ../ProjectController.py:1717 msgid "Couldn't start PLC !\n" msgstr "Couldn't start PLC !\n" -#: ../ProjectController.py:1644 +#: ../ProjectController.py:1725 msgid "Couldn't stop PLC !\n" msgstr "Couldn't stop PLC !\n" @@ -1162,43 +1307,43 @@ msgid "Create HMI" msgstr "Create HMI" -#: ../dialogs/PouDialog.py:54 +#: ../dialogs/PouDialog.py:48 msgid "Create a new POU" msgstr "Create a new POU" -#: ../dialogs/PouActionDialog.py:45 +#: ../dialogs/PouActionDialog.py:42 msgid "Create a new action" msgstr "Create a new action" -#: ../IDEFrame.py:166 +#: ../IDEFrame.py:313 msgid "Create a new action block" msgstr "Create a new action block" -#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178 +#: ../IDEFrame.py:262 ../IDEFrame.py:292 ../IDEFrame.py:325 msgid "Create a new block" msgstr "Create a new block" -#: ../IDEFrame.py:139 +#: ../IDEFrame.py:286 msgid "Create a new branch" msgstr "Create a new branch" -#: ../IDEFrame.py:133 +#: ../IDEFrame.py:280 msgid "Create a new coil" msgstr "Create a new coil" -#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154 +#: ../IDEFrame.py:256 ../IDEFrame.py:271 ../IDEFrame.py:301 msgid "Create a new comment" msgstr "Create a new comment" -#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181 +#: ../IDEFrame.py:265 ../IDEFrame.py:295 ../IDEFrame.py:328 msgid "Create a new connection" msgstr "Create a new connection" -#: ../IDEFrame.py:136 ../IDEFrame.py:187 +#: ../IDEFrame.py:283 ../IDEFrame.py:334 msgid "Create a new contact" msgstr "Create a new contact" -#: ../IDEFrame.py:169 +#: ../IDEFrame.py:316 msgid "Create a new divergence" msgstr "Create a new divergence" @@ -1206,43 +1351,55 @@ msgid "Create a new divergence or convergence" msgstr "Create a new divergence or convergence" -#: ../IDEFrame.py:157 +#: ../IDEFrame.py:304 msgid "Create a new initial step" msgstr "Create a new initial step" -#: ../IDEFrame.py:172 +#: ../IDEFrame.py:319 msgid "Create a new jump" msgstr "Create a new jump" -#: ../IDEFrame.py:127 ../IDEFrame.py:184 +#: ../IDEFrame.py:274 ../IDEFrame.py:331 msgid "Create a new power rail" msgstr "Create a new power rail" -#: ../IDEFrame.py:130 +#: ../IDEFrame.py:277 msgid "Create a new rung" msgstr "Create a new rung" -#: ../IDEFrame.py:160 +#: ../IDEFrame.py:307 msgid "Create a new step" msgstr "Create a new step" -#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163 +#: ../dialogs/PouTransitionDialog.py:45 ../IDEFrame.py:310 msgid "Create a new transition" msgstr "Create a new transition" -#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175 +#: ../IDEFrame.py:259 ../IDEFrame.py:289 ../IDEFrame.py:322 msgid "Create a new variable" msgstr "Create a new variable" +#: ../etherlab/etherlab.py:183 +msgid "Creating new PDO" +msgstr "Creating new PDO" + #: ../dialogs/AboutDialog.py:109 msgid "Credits" msgstr "Credits" -#: ../Beremiz_service.py:424 +#: ../runtime/WampClient.py:400 +msgid "Current status" +msgstr "Current status" + +#: ../Beremiz_service.py:437 msgid "Current working directory :" msgstr "Current working directory :" -#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426 +#: ../runtime/WampClient.py:161 +msgid "Custom protocol options failed :" +msgstr "Custom protocol options failed :" + +#: ../editors/Viewer.py:697 ../IDEFrame.py:373 ../IDEFrame.py:427 msgid "Cut" msgstr "Cut" @@ -1291,11 +1448,11 @@ msgid "Date subtraction" msgstr "Date subtraction" -#: ../dialogs/DurationEditorDialog.py:46 +#: ../dialogs/DurationEditorDialog.py:57 msgid "Days:" msgstr "Days:" -#: ../ProjectController.py:1729 +#: ../ProjectController.py:1809 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" @@ -1303,42 +1460,51 @@ msgid "Debug instance" msgstr "Debug instance" -#: ../editors/Viewer.py:490 +#: ../editors/Viewer.py:493 #, python-format msgid "Debug: %s" msgstr "Debug: %s" -#: ../ProjectController.py:1471 +#: ../ProjectController.py:1548 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "Debug: Unknown variable '%s'\n" -#: ../ProjectController.py:1469 +#: ../ProjectController.py:1545 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "Debug: Unsupported type to debug '%s'\n" -#: ../IDEFrame.py:660 +#: ../IDEFrame.py:666 msgid "Debugger" msgstr "Debugger" -#: ../ProjectController.py:1726 +#: ../ProjectController.py:1805 msgid "Debugger ready\n" msgstr "Debugger ready\n" -#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993 +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Default Size" +msgstr "Default Size" + +#: ../etherlab/EthercatCFileGenerator.py:174 +#, python-format +msgid "Definition conflict for location \"%s\"" +msgstr "Definition conflict for location \"%s\"" + +#: ../BeremizIDE.py:1001 ../editors/Viewer.py:673 ../IDEFrame.py:2010 msgid "Delete" msgstr "Delete" -#: ../editors/Viewer.py:610 +#: ../editors/Viewer.py:613 msgid "Delete Divergence Branch" msgstr "Delete Divergence Branch" -#: ../editors/FileManagementPanel.py:157 +#: ../etherlab/ConfigEditor.py:1261 ../editors/FileManagementPanel.py:156 msgid "Delete File" msgstr "Delete File" -#: ../editors/Viewer.py:597 +#: ../editors/Viewer.py:600 msgid "Delete Wire Segment" msgstr "Delete Wire Segment" @@ -1354,11 +1520,12 @@ msgid "Derivation Type:" msgstr "Derivation Type:" -#: ../editors/CodeFileEditor.py:735 +#: ../etherlab/ConfigEditor.py:346 ../etherlab/ConfigEditor.py:465 +#: ../editors/CodeFileEditor.py:754 msgid "Description" msgstr "Description" -#: ../controls/VariablePanel.py:463 +#: ../controls/VariablePanel.py:465 msgid "Description:" msgstr "Description:" @@ -1370,7 +1537,7 @@ msgid "Direction" msgstr "Direction" -#: ../dialogs/BrowseLocationsDialog.py:102 +#: ../dialogs/BrowseLocationsDialog.py:101 msgid "Direction:" msgstr "Direction:" @@ -1378,19 +1545,19 @@ msgid "Directly" msgstr "Directly" -#: ../ProjectController.py:1855 +#: ../ProjectController.py:1938 msgid "Disconnect" msgstr "Disconnect" -#: ../ProjectController.py:1856 +#: ../ProjectController.py:1939 msgid "Disconnect from PLC" msgstr "Disconnect from PLC" -#: ../ProjectController.py:1401 +#: ../runtime/PlcStatus.py:14 msgid "Disconnected" msgstr "Disconnected" -#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436 +#: ../editors/Viewer.py:657 ../editors/Viewer.py:2438 msgid "Divergence" msgstr "Divergence" @@ -1398,7 +1565,7 @@ msgid "Division" msgstr "Division" -#: ../editors/FileManagementPanel.py:156 +#: ../etherlab/ConfigEditor.py:1260 ../editors/FileManagementPanel.py:155 #, python-format msgid "Do you really want to delete the file '%s'?" msgstr "Do you really want to delete the file '%s'?" @@ -1411,15 +1578,31 @@ msgid "Done" msgstr "Done" +#: ../runtime/WampClient.py:384 +msgid "Download" +msgstr "Download" + #: ../dialogs/ActionBlockDialog.py:42 msgid "Duration" msgstr "Duration" +#: ../bacnet/bacnet.py:437 +msgid "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*" +msgstr "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*" + #: ../canfestival/canfestival.py:174 msgid "EDS files (*.eds)|*.eds|All files|*.*" msgstr "EDS files (*.eds)|*.eds|All files|*.*" -#: ../editors/Viewer.py:668 +#: ../etherlab/ConfigEditor.py:1342 +msgid "ESI Files Database management" +msgstr "ESI Files Database management" + +#: ../etherlab/ConfigEditor.py:1109 +msgid "ESI Files:" +msgstr "ESI Files:" + +#: ../editors/Viewer.py:671 msgid "Edit Block" msgstr "Edit Block" @@ -1431,7 +1614,7 @@ msgid "Edit Contact Values" msgstr "Edit Contact Values" -#: ../dialogs/DurationEditorDialog.py:62 +#: ../dialogs/DurationEditorDialog.py:54 msgid "Edit Duration" msgstr "Edit Duration" @@ -1451,11 +1634,11 @@ msgid "Edit array type properties" msgstr "Edit array type properties" -#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102 +#: ../dialogs/CommentEditDialog.py:53 msgid "Edit comment" msgstr "Edit comment" -#: ../editors/FileManagementPanel.py:69 +#: ../editors/FileManagementPanel.py:68 msgid "Edit file" msgstr "Edit file" @@ -1463,11 +1646,11 @@ msgid "Edit item" msgstr "Edit item" -#: ../editors/Viewer.py:3059 +#: ../editors/Viewer.py:3058 msgid "Edit jump target" msgstr "Edit jump target" -#: ../ProjectController.py:1873 +#: ../ProjectController.py:1956 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "Edit raw IEC code added to code generated by PLCGenerator" @@ -1479,11 +1662,11 @@ msgid "Edit transition" msgstr "Edit transition" -#: ../IDEFrame.py:632 +#: ../IDEFrame.py:638 msgid "Editor ToolBar" msgstr "Editor ToolBar" -#: ../ProjectController.py:1294 +#: ../ProjectController.py:1355 msgid "Editor selection" msgstr "Editor selection" @@ -1491,7 +1674,7 @@ msgid "Elements :" msgstr "Elements :" -#: ../ProjectController.py:1399 +#: ../runtime/PlcStatus.py:15 msgid "Empty" msgstr "Empty" @@ -1499,18 +1682,43 @@ msgid "Empty dimension isn't allowed." msgstr "Empty dimension isn't allowed." -#: ../Beremiz_service.py:341 +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Enable" +msgstr "Enable" + +#: ../runtime/WampClient.py:410 +msgid "Enable WAMP connection" +msgstr "Enable WAMP connection" + +#: ../Beremiz_service.py:354 msgid "Enter a name " msgstr "Enter a name " -#: ../Beremiz_service.py:326 +#: ../Beremiz_service.py:339 msgid "Enter a port number " msgstr "Enter a port number " -#: ../Beremiz_service.py:317 +#: ../etherlab/EtherCATManagementEditor.py:627 +msgid "Enter hex or dec value (if enter dec value, it automatically conversed hex value)" +msgstr "Enter hex or dec value (if enter dec value, it automatically conversed hex value)" + +#: ../etherlab/EtherCATManagementEditor.py:1964 +msgid "Enter hex(0xnnnn) or dec(n) value" +msgstr "Enter hex(0xnnnn) or dec(n) value" + +#: ../Beremiz_service.py:330 msgid "Enter the IP of the interface to bind" msgstr "Enter the IP of the interface to bind" +#: ../etherlab/ConfigEditor.py:502 +msgid "Entry can't be write through SDO" +msgstr "Entry can't be write through SDO" + +#: ../etherlab/EthercatCFileGenerator.py:569 +#, python-brace-format +msgid "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}" +msgstr "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}" + #: ../editors/DataTypeEditor.py:60 msgid "Enumerated" msgstr "Enumerated" @@ -1521,42 +1729,45 @@ #: ../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/DurationEditorDialog.py:125 +#: ../dialogs/DurationEditorDialog.py:172 ../dialogs/PouTransitionDialog.py:113 +#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:78 #: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58 -#: ../dialogs/BrowseLocationsDialog.py:229 +#: ../dialogs/BrowseLocationsDialog.py:228 #: ../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 +#: ../dialogs/PouDialog.py:178 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324 +#: ../etherlab/ConfigEditor.py:458 ../etherlab/ConfigEditor.py:510 +#: ../etherlab/ConfigEditor.py:981 ../etherlab/ConfigEditor.py:1047 +#: ../etherlab/ConfigEditor.py:1246 ../etherlab/ConfigEditor.py:1314 +#: ../etherlab/EthercatMaster.py:463 ../editors/ResourceEditor.py:468 +#: ../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:779 ../ProjectController.py:404 +#: ../ProjectController.py:548 ../ProjectController.py:557 +#: ../controls/FolderTree.py:222 ../controls/ProjectPropertiesPanel.py:308 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:163 #: ../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 +#: ../controls/VariablePanel.py:430 ../controls/VariablePanel.py:784 +#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1049 ../IDEFrame.py:1667 +#: ../IDEFrame.py:1708 ../IDEFrame.py:1713 ../IDEFrame.py:1727 +#: ../IDEFrame.py:1732 ../Beremiz_service.py:234 msgid "Error" msgstr "Error" -#: ../ProjectController.py:811 +#: ../ProjectController.py:848 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:803 +#: ../ProjectController.py:838 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "Error : IEC to C compiler returned %d\n" -#: ../ProjectController.py:731 +#: ../ProjectController.py:762 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1570,7 +1781,17 @@ msgid "Error while saving \"%s\"\n" msgstr "Error while saving \"%s\"\n" -#: ../canfestival/canfestival.py:179 +#: ../bacnet/bacnet.py:581 +#, python-brace-format +msgid "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n" +msgstr "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n" + +#: ../bacnet/bacnet.py:573 +#, python-brace-format +msgid "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n" +msgstr "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n" + +#: ../canfestival/canfestival.py:179 ../bacnet/bacnet.py:444 msgid "Error: Export slave failed\n" msgstr "Error: Export slave failed\n" @@ -1587,7 +1808,23 @@ msgid "Error: No PLC built\n" msgstr "Error: No PLC built\n" -#: ../ProjectController.py:1708 +#: ../etherlab/ConfigEditor.py:269 +msgid "EtherCAT Management" +msgstr "EtherCAT Management" + +#: ../features.py:20 +msgid "EtherCAT master" +msgstr "EtherCAT master" + +#: ../etherlab/EthercatMaster.py:302 +msgid "Ethercat Slave Type" +msgstr "Ethercat Slave Type" + +#: ../etherlab/ConfigEditor.py:267 +msgid "Ethercat node" +msgstr "Ethercat node" + +#: ../ProjectController.py:1791 #, python-format msgid "Exception while connecting %s!\n" msgstr "Exception while connecting %s!\n" @@ -1596,11 +1833,11 @@ msgid "Execution Control:" msgstr "Execution Control:" -#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111 +#: ../dialogs/FBDVariableDialog.py:85 ../dialogs/FBDBlockDialog.py:111 msgid "Execution Order:" msgstr "Execution Order:" -#: ../features.py:36 +#: ../features.py:25 msgid "Experimental web based HMI" msgstr "Experimental web based HMI" @@ -1612,44 +1849,48 @@ msgid "Exponentiation" msgstr "Exponentiation" +#: ../bacnet/bacnet.py:156 +msgid "Export BACnet slave to EDE file" +msgstr "Export BACnet slave to EDE file" + #: ../canfestival/canfestival.py:186 msgid "Export CanOpen slave to EDS file" msgstr "Export CanOpen slave to EDS file" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243 msgid "Export graph values to clipboard" msgstr "Export graph values to clipboard" -#: ../canfestival/canfestival.py:185 +#: ../canfestival/canfestival.py:185 ../bacnet/bacnet.py:155 msgid "Export slave" msgstr "Export slave" -#: ../dialogs/FBDVariableDialog.py:94 +#: ../dialogs/FBDVariableDialog.py:95 msgid "Expression:" msgstr "Expression:" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid "External" msgstr "External" -#: ../ProjectController.py:826 +#: ../ProjectController.py:866 msgid "Extracting Located Variables...\n" msgstr "Extracting Located Variables...\n" #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "FBD" msgstr "FBD" -#: ../ProjectController.py:1773 +#: ../ProjectController.py:1855 msgid "Failed : Must build before transfer.\n" msgstr "Failed : Must build before transfer.\n" -#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556 +#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:559 msgid "Falling Edge" msgstr "Falling Edge" -#: ../ProjectController.py:1098 +#: ../ProjectController.py:1145 msgid "Fatal : cannot get builder.\n" msgstr "Fatal : cannot get builder.\n" @@ -1658,12 +1899,12 @@ msgid "Fetching %s" msgstr "Fetching %s" -#: ../dialogs/DurationEditorDialog.py:167 +#: ../dialogs/DurationEditorDialog.py:169 #, python-format msgid "Field %s hasn't a valid value!" msgstr "Field %s hasn't a valid value!" -#: ../dialogs/DurationEditorDialog.py:169 +#: ../dialogs/DurationEditorDialog.py:171 #, python-format msgid "Fields %s haven't a valid value!" msgstr "Fields %s haven't a valid value!" @@ -1673,16 +1914,20 @@ msgid "File '%s' already exists!" msgstr "File '%s' already exists!" +#: ../runtime/WampClient.py:407 +msgid "File containing secret for that ID" +msgstr "File containing secret for that ID" + #: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40 -#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377 +#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:380 msgid "Find" msgstr "Find" -#: ../IDEFrame.py:379 +#: ../IDEFrame.py:382 msgid "Find Next" msgstr "Find Next" -#: ../IDEFrame.py:381 +#: ../IDEFrame.py:384 msgid "Find Previous" msgstr "Find Previous" @@ -1694,7 +1939,7 @@ msgid "Find:" msgstr "Find:" -#: ../editors/Viewer.py:1633 +#: ../editors/Viewer.py:1635 msgid "Force value" msgstr "Force value" @@ -1702,9 +1947,9 @@ msgid "Forcing Variable Value" msgstr "Forcing Variable Value" -#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104 -#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102 -#: ../dialogs/PouDialog.py:125 +#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/ProjectDialog.py:77 ../dialogs/PouActionDialog.py:102 +#: ../dialogs/PouDialog.py:160 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "Form isn't complete. %s must be filled!" @@ -1722,20 +1967,24 @@ msgid "Forward" msgstr "Forward" -#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780 +#: ../IDEFrame.py:455 +msgid "Full screen" +msgstr "Full screen" + +#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1797 msgid "Function" msgstr "Function" -#: ../IDEFrame.py:354 +#: ../IDEFrame.py:357 msgid "Function &Block" msgstr "Function &Block" -#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779 -#: ../IDEFrame.py:1972 +#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1796 +#: ../IDEFrame.py:1989 msgid "Function Block" msgstr "Function Block" -#: ../controls/VariablePanel.py:868 +#: ../controls/VariablePanel.py:879 msgid "Function Block Types" msgstr "Function Block Types" @@ -1760,19 +2009,19 @@ msgid "Generate Program" msgstr "Generate Program" -#: ../ProjectController.py:722 +#: ../ProjectController.py:750 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid "Global" msgstr "Global" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242 msgid "Go to current value" msgstr "Go to current value" -#: ../controls/ProjectPropertiesPanel.py:189 +#: ../controls/ProjectPropertiesPanel.py:192 msgid "Graphics" msgstr "Graphics" @@ -1784,32 +2033,36 @@ msgid "Greater than or equal to" msgstr "Greater than or equal to" -#: ../controls/ProjectPropertiesPanel.py:149 +#: ../controls/ProjectPropertiesPanel.py:152 msgid "Grid Resolution:" msgstr "Grid Resolution:" -#: ../runtime/NevowServer.py:192 +#: ../runtime/NevowServer.py:313 msgid "HTTP interface port :" msgstr "HTTP interface port :" -#: ../controls/ProjectPropertiesPanel.py:135 +#: ../controls/ProjectPropertiesPanel.py:138 msgid "Height:" msgstr "Height:" -#: ../editors/FileManagementPanel.py:89 +#: ../editors/FileManagementPanel.py:88 msgid "Home Directory:" msgstr "Home Directory:" -#: ../controls/ProjectPropertiesPanel.py:165 +#: ../controls/ProjectPropertiesPanel.py:168 msgid "Horizontal:" msgstr "Horizontal:" -#: ../dialogs/DurationEditorDialog.py:47 +#: ../dialogs/DurationEditorDialog.py:58 msgid "Hours:" msgstr "Hours:" +#: ../runtime/WampClient.py:404 +msgid "ID" +msgstr "ID" + #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 +#: ../dialogs/PouDialog.py:128 msgid "IL" msgstr "IL" @@ -1817,52 +2070,64 @@ msgid "IP" msgstr "IP" -#: ../Beremiz_service.py:318 ../Beremiz_service.py:320 +#: ../Beremiz_service.py:331 ../Beremiz_service.py:333 msgid "IP is not valid!" msgstr "IP is not valid!" +#: ../etherlab/ConfigEditor.py:1387 +msgid "Import ESI file" +msgstr "Import ESI file" + #: ../svgui/svgui.py:50 ../svgui/svgui.py:51 msgid "Import SVG" msgstr "Import SVG" -#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662 -#: ../controls/VariablePanel.py:89 +#: ../etherlab/ConfigEditor.py:1352 +msgid "Import file to ESI files database" +msgstr "Import file to ESI files database" + +#: ../dialogs/FBDVariableDialog.py:64 ../editors/Viewer.py:1664 +#: ../controls/VariablePanel.py:86 msgid "InOut" msgstr "InOut" -#: ../PLCGenerator.py:1040 +#: ../PLCGenerator.py:1089 #, python-brace-format 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 +#: ../editors/Viewer.py:484 msgid "Inactive" msgstr "Inactive" -#: ../controls/VariablePanel.py:300 +#: ../controls/VariablePanel.py:299 #, python-brace-format msgid "Incompatible data types between \"{a1}\" and \"{a2}\"" msgstr "Incompatible data types between \"{a1}\" and \"{a2}\"" -#: ../controls/VariablePanel.py:306 +#: ../controls/VariablePanel.py:305 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "Incompatible size of data between \"%s\" and \"BOOL\"" -#: ../controls/VariablePanel.py:310 +#: ../controls/VariablePanel.py:309 #, python-brace-format msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" msgstr "Incompatible size of data between \"{a1}\" and \"{a2}\"" +#: ../etherlab/ConfigEditor.py:48 ../etherlab/ConfigEditor.py:465 +msgid "Index" +msgstr "Index" + #: ../dialogs/ActionBlockDialog.py:42 msgid "Indicator" msgstr "Indicator" -#: ../editors/CodeFileEditor.py:734 +#: ../editors/CodeFileEditor.py:753 msgid "Initial" msgstr "Initial" -#: ../editors/Viewer.py:650 +#: ../editors/Viewer.py:653 msgid "Initial Step" msgstr "Initial Step" @@ -1875,6 +2140,14 @@ msgid "Initial Value:" msgstr "Initial Value:" +#: ../etherlab/EthercatCIA402Slave.py:119 +msgid "Initiate Drag'n drop of Axis ref located variable" +msgstr "Initiate Drag'n drop of Axis ref located variable" + +#: ../etherlab/EthercatCIA402Slave.py:126 +msgid "Initiate Drag'n drop of Network position located variable" +msgstr "Initiate Drag'n drop of Network position located variable" + #: ../svgui/svgui.py:56 msgid "Inkscape" msgstr "Inkscape" @@ -1883,11 +2156,11 @@ msgid "Inline" msgstr "Inline" -#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:63 #: ../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 +#: ../editors/Viewer.py:1662 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Input" msgstr "Input" @@ -1904,11 +2177,11 @@ msgid "Instance with id %d doesn't exist!" msgstr "Instance with id %d doesn't exist!" -#: ../editors/ResourceEditor.py:279 +#: ../editors/ResourceEditor.py:277 msgid "Instances:" msgstr "Instances:" -#: ../controls/VariablePanel.py:88 +#: ../controls/VariablePanel.py:85 msgid "Interface" msgstr "Interface" @@ -1920,7 +2193,7 @@ msgid "Interval" msgstr "Interval" -#: ../controls/ProjectPropertiesPanel.py:304 +#: ../controls/ProjectPropertiesPanel.py:306 msgid "" "Invalid URL!\n" "Please enter correct URL address." @@ -1942,14 +2215,26 @@ msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" msgstr "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:129 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "Invalid value \"%s\" for debug variable" -#: ../controls/VariablePanel.py:279 ../controls/VariablePanel.py:282 +#: ../etherlab/ConfigEditor.py:418 ../etherlab/ConfigEditor.py:421 +#: ../etherlab/ConfigEditor.py:452 +#, python-format +msgid "Invalid value \"%s\" for process variable" +msgstr "Invalid value \"%s\" for process variable" + +#: ../etherlab/ConfigEditor.py:480 ../etherlab/ConfigEditor.py:483 +#: ../etherlab/ConfigEditor.py:504 +#, python-format +msgid "Invalid value \"%s\" for startup command" +msgstr "Invalid value \"%s\" for startup command" + +#: ../controls/VariablePanel.py:278 ../controls/VariablePanel.py:281 #, python-format msgid "Invalid value \"%s\" for variable grid element" msgstr "Invalid value \"%s\" for variable grid element" @@ -1964,7 +2249,12 @@ msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" msgstr "Invalid value \"{a1}\" for \"{a2}\" variable!" -#: ../dialogs/DurationEditorDialog.py:124 +#: ../etherlab/CommonEtherCATFunction.py:31 +#, python-format +msgid "Invalid value for HexDecValue \"%s\"" +msgstr "Invalid value for HexDecValue \"%s\"" + +#: ../dialogs/DurationEditorDialog.py:125 msgid "" "Invalid value!\n" "You must fill a numeric value." @@ -1976,12 +2266,12 @@ msgid "Is connection secure?" msgstr "Is connection secure?" -#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425 +#: ../editors/Viewer.py:658 ../editors/Viewer.py:2427 msgid "Jump" msgstr "Jump" #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "LD" msgstr "LD" @@ -1990,33 +2280,33 @@ 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:93 ../dialogs/PouActionDialog.py:91 -#: ../dialogs/PouDialog.py:113 +#: ../dialogs/PouTransitionDialog.py:92 ../dialogs/PouActionDialog.py:91 +#: ../dialogs/PouDialog.py:148 msgid "Language" msgstr "Language" -#: ../controls/ProjectPropertiesPanel.py:206 +#: ../controls/ProjectPropertiesPanel.py:208 msgid "Language (optional):" msgstr "Language (optional):" -#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63 -#: ../dialogs/PouDialog.py:81 +#: ../dialogs/PouTransitionDialog.py:66 ../dialogs/PouActionDialog.py:63 +#: ../dialogs/PouDialog.py:79 msgid "Language:" msgstr "Language:" -#: ../ProjectController.py:1779 +#: ../ProjectController.py:1861 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "Latest build already matches current target. Transfering anyway...\n" -#: ../Beremiz_service.py:281 +#: ../Beremiz_service.py:294 msgid "Launch WX GUI inspector" msgstr "Launch WX GUI inspector" -#: ../Beremiz_service.py:280 +#: ../Beremiz_service.py:293 msgid "Launch a live Python shell" msgstr "Launch a live Python shell" -#: ../editors/Viewer.py:580 +#: ../editors/Viewer.py:583 msgid "Left" msgstr "Left" @@ -2036,7 +2326,7 @@ msgid "Less than or equal to" msgstr "Less than or equal to" -#: ../IDEFrame.py:652 +#: ../IDEFrame.py:658 msgid "Library" msgstr "Library" @@ -2052,7 +2342,7 @@ msgid "Linking :\n" msgstr "Linking :\n" -#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90 +#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:87 msgid "Local" msgstr "Local" @@ -2060,7 +2350,7 @@ msgid "Local entries" msgstr "Local entries" -#: ../ProjectController.py:1685 +#: ../ProjectController.py:1767 msgid "Local service discovery failed!\n" msgstr "Local service discovery failed!\n" @@ -2068,28 +2358,44 @@ msgid "Location" msgstr "Location" -#: ../dialogs/BrowseLocationsDialog.py:79 +#: ../dialogs/BrowseLocationsDialog.py:78 msgid "Locations available:" msgstr "Locations available:" +#: ../runtime/NevowServer.py:175 +msgid "Log message level" +msgstr "Log message level" + #: ../plcopen/iec_std.csv:25 msgid "Logarithm to base 10" msgstr "Logarithm to base 10" -#: ../connectors/PYRO/__init__.py:102 +#: ../connectors/PYRO/__init__.py:103 #, python-format msgid "MDNS resolution failure for '%s'\n" msgstr "MDNS resolution failure for '%s'\n" +#: ../etherlab/ConfigEditor.py:67 +msgid "Manufacturer Specific" +msgstr "Manufacturer Specific" + #: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92 msgid "Map Variable" msgstr "Map Variable" -#: ../features.py:31 +#: ../features.py:19 +msgid "Map located variables over Bacnet" +msgstr "Map located variables over Bacnet" + +#: ../features.py:18 msgid "Map located variables over CANopen" msgstr "Map located variables over CANopen" -#: ../features.py:32 +#: ../features.py:20 +msgid "Map located variables over EtherCAT" +msgstr "Map located variables over EtherCAT" + +#: ../features.py:21 msgid "Map located variables over Modbus" msgstr "Map located variables over Modbus" @@ -2097,11 +2403,27 @@ msgid "Master" msgstr "Master" +#: ../etherlab/ConfigEditor.py:613 +msgid "Master State" +msgstr "Master State" + #: ../ConfigTreeNode.py:544 #, python-brace-format msgid "Max count ({a1}) reached for this confnode of type {a2} " msgstr "Max count ({a1}) reached for this confnode of type {a2} " +#: ../etherlab/etherlab.py:173 +msgid "Max entries by PDO" +msgstr "Max entries by PDO" + +#: ../etherlab/etherlab.py:176 +msgid "" +"Maximal number of entries mapped in a PDO\n" +"including empty entries used for PDO alignment" +msgstr "" +"Maximal number of entries mapped in a PDO\n" +"including empty entries used for PDO alignment" + #: ../plcopen/iec_std.csv:71 msgid "Maximum" msgstr "Maximum" @@ -2112,26 +2434,34 @@ #: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103 -#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Memory" msgstr "Memory" -#: ../IDEFrame.py:617 +#: ../IDEFrame.py:623 msgid "Menu ToolBar" msgstr "Menu ToolBar" -#: ../dialogs/DurationEditorDialog.py:51 +#: ../runtime/NevowServer.py:176 +msgid "Message text" +msgstr "Message text" + +#: ../dialogs/DurationEditorDialog.py:62 msgid "Microseconds:" msgstr "Microseconds:" -#: ../editors/Viewer.py:585 +#: ../editors/Viewer.py:588 msgid "Middle" msgstr "Middle" -#: ../dialogs/DurationEditorDialog.py:50 +#: ../dialogs/DurationEditorDialog.py:61 msgid "Milliseconds:" msgstr "Milliseconds:" +#: ../etherlab/etherlab.py:167 +msgid "Minimal size in bits between 2 pdo entries" +msgstr "Minimal size in bits between 2 pdo entries" + #: ../plcopen/iec_std.csv:72 msgid "Minimum" msgstr "Minimum" @@ -2140,15 +2470,15 @@ msgid "Minimum:" msgstr "Minimum:" -#: ../dialogs/DurationEditorDialog.py:48 +#: ../dialogs/DurationEditorDialog.py:59 msgid "Minutes:" msgstr "Minutes:" -#: ../controls/ProjectPropertiesPanel.py:231 +#: ../etherlab/etherlab.py:238 ../controls/ProjectPropertiesPanel.py:233 msgid "Miscellaneous" msgstr "Miscellaneous" -#: ../features.py:32 +#: ../features.py:21 msgid "Modbus support" msgstr "Modbus support" @@ -2156,7 +2486,20 @@ msgid "Modifier:" msgstr "Modifier:" -#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269 +#: ../etherlab/ConfigEditor.py:1313 +#, python-format +msgid "Module %s must be an integer!" +msgstr "Module %s must be an integer!" + +#: ../etherlab/ConfigEditor.py:1376 +msgid "Modules Library" +msgstr "Modules Library" + +#: ../etherlab/ConfigEditor.py:1145 +msgid "Modules library:" +msgstr "Modules library:" + +#: ../PLCGenerator.py:795 ../PLCGenerator.py:1318 #, python-brace-format 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" @@ -2181,23 +2524,31 @@ msgid "Move element up" msgstr "Move element up" -#: ../editors/ResourceEditor.py:286 +#: ../editors/ResourceEditor.py:284 msgid "Move instance down" msgstr "Move instance down" -#: ../editors/ResourceEditor.py:285 +#: ../editors/ResourceEditor.py:283 msgid "Move instance up" msgstr "Move instance up" -#: ../editors/ResourceEditor.py:255 +#: ../etherlab/ConfigEditor.py:655 +msgid "Move process variable down" +msgstr "Move process variable down" + +#: ../etherlab/ConfigEditor.py:654 +msgid "Move process variable up" +msgstr "Move process variable up" + +#: ../editors/ResourceEditor.py:253 msgid "Move task down" msgstr "Move task down" -#: ../editors/ResourceEditor.py:254 +#: ../editors/ResourceEditor.py:252 msgid "Move task up" msgstr "Move task up" -#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192 +#: ../IDEFrame.py:253 ../IDEFrame.py:268 ../IDEFrame.py:298 ../IDEFrame.py:339 msgid "Move the view" msgstr "Move the view" @@ -2205,14 +2556,28 @@ msgid "Move up" msgstr "Move up" -#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484 +#: ../bacnet/BacnetSlaveEditor.py:814 ../editors/CodeFileEditor.py:675 +#: ../controls/VariablePanel.py:486 msgid "Move variable down" msgstr "Move variable down" -#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483 +#: ../bacnet/BacnetSlaveEditor.py:813 ../editors/CodeFileEditor.py:674 +#: ../controls/VariablePanel.py:485 msgid "Move variable up" msgstr "Move variable up" +#: ../bacnet/BacnetSlaveEditor.py:941 +msgid "Multi-State Input Objects" +msgstr "Multi-State Input Objects" + +#: ../bacnet/BacnetSlaveEditor.py:940 +msgid "Multi-State Output Objects" +msgstr "Multi-State Output Objects" + +#: ../bacnet/BacnetSlaveEditor.py:939 +msgid "Multi-State Value Objects" +msgstr "Multi-State Value Objects" + #: ../plcopen/iec_std.csv:74 msgid "Multiplexer (select 1 of N)" msgstr "Multiplexer (select 1 of N)" @@ -2221,7 +2586,7 @@ msgid "Multiplication" msgstr "Multiplication" -#: ../editors/FileManagementPanel.py:87 +#: ../editors/FileManagementPanel.py:86 msgid "My Computer:" msgstr "My Computer:" @@ -2229,13 +2594,15 @@ msgid "NAME" msgstr "NAME" -#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97 -#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732 +#: ../etherlab/EtherCATManagementEditor.py:37 ../etherlab/ConfigEditor.py:48 +#: ../etherlab/ConfigEditor.py:343 ../etherlab/ConfigEditor.py:1167 +#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:94 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:751 #: ../controls/VariablePanel.py:59 msgid "Name" msgstr "Name" -#: ../Beremiz_service.py:342 +#: ../Beremiz_service.py:355 msgid "Name must not be null!" msgstr "Name must not be null!" @@ -2248,15 +2615,19 @@ msgid "Natural logarithm" msgstr "Natural logarithm" -#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554 +#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:557 msgid "Negated" msgstr "Negated" -#: ../Beremiz_service.py:610 +#: ../etherlab/ConfigEditor.py:612 +msgid "Network" +msgstr "Network" + +#: ../Beremiz_service.py:620 msgid "Nevow Web service failed. " msgstr "Nevow Web service failed. " -#: ../Beremiz_service.py:580 +#: ../Beremiz_service.py:596 msgid "Nevow/Athena import failed :" msgstr "Nevow/Athena import failed :" @@ -2269,20 +2640,29 @@ msgid "New item" msgstr "New item" -#: ../editors/Viewer.py:553 +#: ../editors/Viewer.py:556 msgid "No Modifier" msgstr "No Modifier" -#: ../ProjectController.py:1808 +#: ../ProjectController.py:1891 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "No PLC to transfer (did build succeed ?)\n" -#: ../PLCGenerator.py:1678 +#: ../etherlab/EthercatCFileGenerator.py:504 +#, python-format +msgid "No Sync manager defined for %s!" +msgstr "No Sync manager defined for %s!" + +#: ../PLCGenerator.py:1727 #, python-format msgid "No body defined in \"%s\" POU" msgstr "No body defined in \"%s\" POU" -#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281 +#: ../etherlab/CommonEtherCATFunction.py:1581 +msgid "No connected slaves" +msgstr "No connected slaves" + +#: ../PLCGenerator.py:816 ../PLCGenerator.py:1330 #, python-brace-format msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" @@ -2300,7 +2680,17 @@ msgid "No informations found for \"%s\" block" msgstr "No informations found for \"%s\" block" -#: ../PLCGenerator.py:1232 +#: ../etherlab/EthercatCFileGenerator.py:224 +#, python-format +msgid "No informations found for device %s!" +msgstr "No informations found for device %s!" + +#: ../etherlab/EthercatCFileGenerator.py:515 +#, python-format +msgid "No more free PDO index available for %s!" +msgstr "No more free PDO index available for %s!" + +#: ../PLCGenerator.py:1281 #, python-brace-format 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" @@ -2309,11 +2699,21 @@ msgid "No search results available." msgstr "No search results available." +#: ../etherlab/ConfigEditor.py:1029 +#, python-format +msgid "No slave defined at position %d!" +msgstr "No slave defined at position %d!" + #: ../svgui/svgui.py:142 #, python-format msgid "No such SVG file: %s\n" msgstr "No such SVG file: %s\n" +#: ../etherlab/ConfigEditor.py:1245 +#, python-format +msgid "No such XML file: %s\n" +msgstr "No such XML file: %s\n" + #: ../canfestival/config_utils.py:682 #, python-brace-format msgid "No such index/subindex ({a1},{a2}) (variable {a3})" @@ -2324,15 +2724,33 @@ msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" msgstr "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" +#: ../etherlab/EthercatCFileGenerator.py:438 +#, python-format +msgid "No sync manager available for %s pdo!" +msgstr "No sync manager available for %s pdo!" + #: ../dialogs/BrowseValuesLibraryDialog.py:87 msgid "No valid value selected!" msgstr "No valid value selected!" -#: ../PLCGenerator.py:1676 +#: ../PLCGenerator.py:1725 #, python-format msgid "No variable defined in \"%s\" POU" msgstr "No variable defined in \"%s\" POU" +#: ../etherlab/ConfigEditor.py:606 +#, python-format +msgid "Node Position: %d" +msgstr "Node Position: %d" + +#: ../etherlab/ConfigEditor.py:697 +msgid "Node filter:" +msgstr "Node filter:" + +#: ../etherlab/ConfigEditor.py:717 +msgid "Nodes variables filter:" +msgstr "Nodes variables filter:" + #: ../canfestival/config_utils.py:379 #, python-brace-format msgid "Non existing node ID : {a1} (variable {a2})" @@ -2355,6 +2773,10 @@ msgid "Not equal to" msgstr "Not equal to" +#: ../etherlab/EtherCATManagementEditor.py:361 +msgid "Now Uploading..." +msgstr "Now Uploading..." + #: ../dialogs/SFCDivergenceDialog.py:91 msgid "Number of sequences:" msgstr "Number of sequences:" @@ -2363,7 +2785,11 @@ msgid "Numerical" msgstr "Numerical" -#: ../editors/CodeFileEditor.py:736 +#: ../bacnet/BacnetSlaveEditor.py:808 +msgid "Object Properties:" +msgstr "Object Properties:" + +#: ../editors/CodeFileEditor.py:755 msgid "OnChange" msgstr "OnChange" @@ -2380,15 +2806,15 @@ msgid "Open Inkscape" msgstr "Open Inkscape" -#: ../version.py:86 +#: ../version.py:88 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:1879 +#: ../ProjectController.py:1962 msgid "Open a file explorer to manage project files" msgstr "Open a file explorer to manage project files" -#: ../wxglade_hmi/wxglade_hmi.py:161 +#: ../wxglade_hmi/wxglade_hmi.py:176 msgid "Open wxGlade" msgstr "Open wxGlade" @@ -2396,11 +2822,11 @@ msgid "Option" msgstr "Option" -#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737 +#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:756 msgid "Options" msgstr "Options" -#: ../controls/ProjectPropertiesPanel.py:109 +#: ../controls/ProjectPropertiesPanel.py:111 msgid "Organization (optional):" msgstr "Organization (optional):" @@ -2408,14 +2834,19 @@ msgid "Other Profile" msgstr "Other Profile" -#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42 +#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:65 #: ../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 +#: ../editors/Viewer.py:1663 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Output" msgstr "Output" +#: ../etherlab/EthercatCFileGenerator.py:170 +#, python-brace-format +msgid "Output variables can't be defined with different locations ({a1} and {a2})" +msgstr "Output variables can't be defined with different locations ({a1} and {a2})" + #: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91 msgid "PDO Receive" msgstr "PDO Receive" @@ -2424,26 +2855,39 @@ msgid "PDO Transmit" msgstr "PDO Transmit" +#: ../etherlab/etherlab.py:164 +msgid "PDO alignment" +msgstr "PDO alignment" + #: ../targets/toolchain_gcc.py:174 msgid "PLC :\n" msgstr "PLC :\n" -#: ../BeremizIDE.py:383 +#: ../BeremizIDE.py:379 msgid "PLC Log" msgstr "PLC Log" -#: ../ProjectController.py:1082 +#: ../ProjectController.py:1129 msgid "PLC code generation failed !\n" msgstr "PLC code generation failed !\n" -#: ../Beremiz_service.py:305 +#: ../etherlab/EtherCATManagementEditor.py:250 +msgid "PLC is Not Started" +msgstr "PLC is Not Started" + +#: ../Beremiz_service.py:318 msgid "PLC is empty or already started." msgstr "PLC is empty or already started." -#: ../Beremiz_service.py:312 +#: ../Beremiz_service.py:325 msgid "PLC is not started." msgstr "PLC is not started." +#: ../etherlab/EtherCATManagementEditor.py:2160 +#: ../etherlab/CommonEtherCATFunction.py:1589 +msgid "PLC not connected!" +msgstr "PLC not connected!" + #: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293 #, python-brace-format msgid "" @@ -2475,28 +2919,28 @@ msgid "PORT" msgstr "PORT" -#: ../dialogs/PouDialog.py:109 +#: ../dialogs/PouDialog.py:144 msgid "POU Name" msgstr "POU Name" -#: ../dialogs/PouDialog.py:66 +#: ../dialogs/PouDialog.py:64 msgid "POU Name:" msgstr "POU Name:" -#: ../dialogs/PouDialog.py:111 +#: ../dialogs/PouDialog.py:146 msgid "POU Type" msgstr "POU Type" -#: ../dialogs/PouDialog.py:73 +#: ../dialogs/PouDialog.py:71 msgid "POU Type:" msgstr "POU Type:" -#: ../connectors/PYRO/__init__.py:52 +#: ../connectors/PYRO/__init__.py:53 #, python-format msgid "PYRO connecting to URI : %s\n" msgstr "PYRO connecting to URI : %s\n" -#: ../connectors/PYRO/__init__.py:68 +#: ../connectors/PYRO/__init__.py:69 #, python-format msgid "PYRO using certificates in '%s' \n" msgstr "PYRO using certificates in '%s' \n" @@ -2505,11 +2949,11 @@ msgid "Page Setup" msgstr "Page Setup" -#: ../controls/ProjectPropertiesPanel.py:124 +#: ../controls/ProjectPropertiesPanel.py:127 msgid "Page Size (optional):" msgstr "Page Size (optional):" -#: ../IDEFrame.py:2640 +#: ../IDEFrame.py:2660 #, python-format msgid "Page: %d" msgstr "Page: %d" @@ -2518,11 +2962,11 @@ msgid "Parent instance" msgstr "Parent instance" -#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428 +#: ../editors/Viewer.py:699 ../IDEFrame.py:377 ../IDEFrame.py:429 msgid "Paste" msgstr "Paste" -#: ../IDEFrame.py:1899 +#: ../IDEFrame.py:1916 msgid "Paste POU" msgstr "Paste POU" @@ -2534,7 +2978,11 @@ msgid "Pin number:" msgstr "Pin number:" -#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060 +#: ../runtime/NevowServer.py:163 +msgid "Platform" +msgstr "Platform" + +#: ../editors/Viewer.py:2791 ../editors/Viewer.py:3059 #: ../editors/SFCViewer.py:785 msgid "Please choose a target" msgstr "Please choose a target" @@ -2543,7 +2991,7 @@ msgid "Please enter a block name" msgstr "Please enter a block name" -#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103 +#: ../dialogs/CommentEditDialog.py:52 msgid "Please enter comment text" msgstr "Please enter comment text" @@ -2552,7 +3000,8 @@ msgid "Please enter step name" msgstr "Please enter step name" -#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209 +#: ../dialogs/SFCStepNameDialog.py:37 ../dialogs/PouNameDialog.py:37 +#: ../Beremiz_service.py:222 msgid "Please enter text" msgstr "Please enter text" @@ -2561,15 +3010,19 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "Please enter value for a \"%s\" variable:" -#: ../Beremiz_service.py:327 +#: ../Beremiz_service.py:340 msgid "Port number must be 0 <= port <= 65535!" msgstr "Port number must be 0 <= port <= 65535!" -#: ../Beremiz_service.py:327 +#: ../Beremiz_service.py:340 msgid "Port number must be an integer!" msgstr "Port number must be an integer!" -#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449 +#: ../etherlab/ConfigEditor.py:47 ../etherlab/ConfigEditor.py:465 +msgid "Position" +msgstr "Position" + +#: ../editors/Viewer.py:636 ../editors/Viewer.py:2451 msgid "Power Rail" msgstr "Power Rail" @@ -2590,7 +3043,7 @@ msgid "Print" msgstr "Print" -#: ../IDEFrame.py:1110 +#: ../IDEFrame.py:1123 msgid "Print preview" msgstr "Print preview" @@ -2602,33 +3055,37 @@ msgid "Priority:" msgstr "Priority:" -#: ../runtime/PLCObject.py:518 +#: ../runtime/PLCObject.py:523 #, python-format msgid "Problem starting PLC : error %d" msgstr "Problem starting PLC : error %d" -#: ../dialogs/ProjectDialog.py:63 +#: ../etherlab/ConfigEditor.py:647 +msgid "Process variables mapped between nodes:" +msgstr "Process variables mapped between nodes:" + +#: ../dialogs/ProjectDialog.py:61 msgid "Product Name" msgstr "Product Name" -#: ../controls/ProjectPropertiesPanel.py:90 +#: ../controls/ProjectPropertiesPanel.py:91 msgid "Product Name (required):" msgstr "Product Name (required):" -#: ../controls/ProjectPropertiesPanel.py:92 +#: ../controls/ProjectPropertiesPanel.py:93 msgid "Product Release (optional):" msgstr "Product Release (optional):" -#: ../dialogs/ProjectDialog.py:64 +#: ../dialogs/ProjectDialog.py:62 msgid "Product Version" msgstr "Product Version" -#: ../controls/ProjectPropertiesPanel.py:91 +#: ../controls/ProjectPropertiesPanel.py:92 msgid "Product Version (required):" msgstr "Product Version (required):" -#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778 -#: ../IDEFrame.py:1975 +#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1795 +#: ../IDEFrame.py:1992 msgid "Program" msgstr "Program" @@ -2644,7 +3101,7 @@ msgid "Programs can't be used by other POUs!" msgstr "Programs can't be used by other POUs!" -#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601 +#: ../controls/ProjectPropertiesPanel.py:95 ../IDEFrame.py:607 msgid "Project" msgstr "Project" @@ -2653,19 +3110,19 @@ msgid "Project '%s':" msgstr "Project '%s':" -#: ../ProjectController.py:1878 +#: ../ProjectController.py:1961 msgid "Project Files" msgstr "Project Files" -#: ../dialogs/ProjectDialog.py:62 +#: ../dialogs/ProjectDialog.py:60 msgid "Project Name" msgstr "Project Name" -#: ../controls/ProjectPropertiesPanel.py:88 +#: ../controls/ProjectPropertiesPanel.py:89 msgid "Project Name (required):" msgstr "Project Name (required):" -#: ../controls/ProjectPropertiesPanel.py:89 +#: ../controls/ProjectPropertiesPanel.py:90 msgid "Project Version (optional):" msgstr "Project Version (optional):" @@ -2694,16 +3151,16 @@ msgid "Properties" msgstr "Properties" -#: ../Beremiz_service.py:427 +#: ../Beremiz_service.py:440 msgid "Publishing service on local network" msgstr "Publishing service on local network" -#: ../connectors/PYRO/__init__.py:126 +#: ../connectors/PYRO/__init__.py:127 #, python-format msgid "Pyro exception: %s\n" msgstr "Pyro exception: %s\n" -#: ../Beremiz_service.py:420 +#: ../Beremiz_service.py:433 msgid "Pyro port :" msgstr "Pyro port :" @@ -2711,7 +3168,7 @@ msgid "Python code" msgstr "Python code" -#: ../features.py:34 +#: ../features.py:23 msgid "Python file" msgstr "Python file" @@ -2719,19 +3176,23 @@ msgid "Qualifier" msgstr "Qualifier" -#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283 +#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:296 msgid "Quit" msgstr "Quit" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:224 msgid "Range:" msgstr "Range:" -#: ../ProjectController.py:1872 +#: ../ProjectController.py:1955 msgid "Raw IEC code" msgstr "Raw IEC code" -#: ../BeremizIDE.py:1083 +#: ../etherlab/ConfigEditor.py:344 +msgid "Read from (nodeid, index, subindex)" +msgstr "Read from (nodeid, index, subindex)" + +#: ../BeremizIDE.py:1080 #, python-format msgid "Really delete node '%s'?" msgstr "Really delete node '%s'?" @@ -2740,7 +3201,7 @@ msgid "Realm:" msgstr "Realm:" -#: ../IDEFrame.py:367 ../IDEFrame.py:424 +#: ../IDEFrame.py:370 ../IDEFrame.py:425 msgid "Redo" msgstr "Redo" @@ -2748,10 +3209,14 @@ msgid "Reference" msgstr "Reference" -#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434 +#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:436 msgid "Refresh" msgstr "Refresh" +#: ../etherlab/EtherCATManagementEditor.py:1965 +msgid "Register Modify Dialog" +msgstr "Register Modify Dialog" + #: ../dialogs/SearchInProjectDialog.py:70 msgid "Regular expression" msgstr "Regular expression" @@ -2760,7 +3225,7 @@ msgid "Regular expressions" msgstr "Regular expressions" -#: ../editors/Viewer.py:1636 +#: ../editors/Viewer.py:1638 msgid "Release value" msgstr "Release value" @@ -2768,16 +3233,16 @@ msgid "Remainder (modulo)" msgstr "Remainder (modulo)" -#: ../BeremizIDE.py:1084 +#: ../BeremizIDE.py:1081 #, python-format msgid "Remove %s node" msgstr "Remove %s node" -#: ../IDEFrame.py:2445 +#: ../IDEFrame.py:2463 msgid "Remove Datatype" msgstr "Remove Datatype" -#: ../IDEFrame.py:2450 +#: ../IDEFrame.py:2468 msgid "Remove Pou" msgstr "Remove Pou" @@ -2789,35 +3254,52 @@ msgid "Remove element" msgstr "Remove element" -#: ../editors/FileManagementPanel.py:66 +#: ../etherlab/ConfigEditor.py:1353 +msgid "Remove file from database" +msgstr "Remove file from database" + +#: ../editors/FileManagementPanel.py:65 msgid "Remove file from left folder" msgstr "Remove file from left folder" -#: ../editors/ResourceEditor.py:284 +#: ../etherlab/ConfigEditor.py:1389 +msgid "Remove file from library" +msgstr "Remove file from library" + +#: ../editors/ResourceEditor.py:282 msgid "Remove instance" msgstr "Remove instance" +#: ../etherlab/ConfigEditor.py:653 +msgid "Remove process variable" +msgstr "Remove process variable" + #: ../canfestival/NetworkEditor.py:111 msgid "Remove slave" msgstr "Remove slave" -#: ../editors/ResourceEditor.py:253 +#: ../etherlab/ConfigEditor.py:680 +msgid "Remove startup service variable" +msgstr "Remove startup service variable" + +#: ../editors/ResourceEditor.py:251 msgid "Remove task" msgstr "Remove task" -#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482 +#: ../bacnet/BacnetSlaveEditor.py:812 ../editors/CodeFileEditor.py:673 +#: ../controls/VariablePanel.py:484 msgid "Remove variable" msgstr "Remove variable" -#: ../IDEFrame.py:1979 +#: ../IDEFrame.py:1996 msgid "Rename" msgstr "Rename" -#: ../editors/FileManagementPanel.py:187 +#: ../editors/FileManagementPanel.py:186 msgid "Replace File" msgstr "Replace File" -#: ../editors/Viewer.py:598 +#: ../editors/Viewer.py:601 msgid "Replace Wire by connections" msgstr "Replace Wire by connections" @@ -2829,11 +3311,11 @@ msgid "Reset" msgstr "Reset" -#: ../editors/Viewer.py:681 +#: ../editors/Viewer.py:684 msgid "Reset Execution Order" msgstr "Reset Execution Order" -#: ../IDEFrame.py:453 +#: ../IDEFrame.py:459 msgid "Reset Perspective" msgstr "Reset Perspective" @@ -2841,7 +3323,7 @@ msgid "Reset search result" msgstr "Reset search result" -#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77 +#: ../BeremizIDE.py:1012 ../plcopen/types_enums.py:77 msgid "Resources" msgstr "Resources" @@ -2849,11 +3331,11 @@ msgid "Retain" msgstr "Retain" -#: ../controls/VariablePanel.py:455 +#: ../controls/VariablePanel.py:457 msgid "Return Type:" msgstr "Return Type:" -#: ../editors/Viewer.py:582 +#: ../editors/Viewer.py:585 msgid "Right" msgstr "Right" @@ -2861,7 +3343,7 @@ msgid "Right PowerRail" msgstr "Right PowerRail" -#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555 +#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:558 msgid "Rising Edge" msgstr "Rising Edge" @@ -2877,15 +3359,15 @@ msgid "Rounding up/down" msgstr "Rounding up/down" -#: ../ProjectController.py:1828 +#: ../ProjectController.py:1911 msgid "Run" msgstr "Run" -#: ../ProjectController.py:1127 +#: ../ProjectController.py:1175 msgid "Runtime IO extensions C code generation failed !\n" msgstr "Runtime IO extensions C code generation failed !\n" -#: ../ProjectController.py:1136 +#: ../ProjectController.py:1186 msgid "Runtime library extensions C code generation failed !\n" msgstr "Runtime library extensions C code generation failed !\n" @@ -2897,11 +3379,11 @@ msgid "SDO Server" msgstr "SDO Server" -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "SFC" msgstr "SFC" -#: ../PLCGenerator.py:1433 +#: ../PLCGenerator.py:1482 #, python-brace-format 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}\"" @@ -2912,7 +3394,7 @@ msgstr "SFC transition in POU \"%s\" must be connected." #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 +#: ../dialogs/PouDialog.py:128 msgid "ST" msgstr "ST" @@ -2924,7 +3406,7 @@ msgid "SVG files (*.svg)|*.svg|All files|*.*" msgstr "SVG files (*.svg)|*.svg|All files|*.*" -#: ../features.py:36 +#: ../features.py:25 msgid "SVGUI" msgstr "SVGUI" @@ -2941,37 +3423,47 @@ msgid "Save as" msgstr "Save as" -#: ../ProjectController.py:530 +#: ../etherlab/EtherCATManagementEditor.py:941 +#: ../etherlab/EtherCATManagementEditor.py:1289 +msgid "Save as..." +msgstr "Save as..." + +#: ../ProjectController.py:546 msgid "Save path is the same as path of a project! \n" msgstr "Save path is the same as path of a project! \n" +#: ../etherlab/EthercatMaster.py:455 ../etherlab/EthercatMaster.py:764 +#: ../etherlab/EthercatMaster.py:765 +msgid "Scan Network" +msgstr "Scan Network" + #: ../dialogs/SearchInProjectDialog.py:73 msgid "Scope" msgstr "Scope" -#: ../IDEFrame.py:644 +#: ../IDEFrame.py:650 msgid "Search" msgstr "Search" -#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430 +#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:387 ../IDEFrame.py:431 msgid "Search in Project" msgstr "Search in Project" -#: ../dialogs/DurationEditorDialog.py:49 +#: ../dialogs/DurationEditorDialog.py:60 msgid "Seconds:" msgstr "Seconds:" -#: ../IDEFrame.py:390 +#: ../IDEFrame.py:393 msgid "Select All" msgstr "Select All" #: ../editors/Viewer.py:331 ../editors/TextViewer.py:305 -#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315 -#: ../controls/VariablePanel.py:378 +#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:314 +#: ../controls/VariablePanel.py:377 msgid "Select a variable class:" msgstr "Select a variable class:" -#: ../ProjectController.py:1293 +#: ../ProjectController.py:1354 msgid "Select an editor:" msgstr "Select an editor:" @@ -2979,11 +3471,11 @@ msgid "Select an instance" msgstr "Select an instance" -#: ../IDEFrame.py:628 +#: ../IDEFrame.py:634 msgid "Select an object" msgstr "Select an object" -#: ../ProjectController.py:537 +#: ../ProjectController.py:555 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "Selected directory already contains another project. Overwrite? \n" @@ -2999,6 +3491,14 @@ msgid "Selection Divergence" msgstr "Selection Divergence" +#: ../runtime/NevowServer.py:182 +msgid "Send" +msgstr "Send" + +#: ../runtime/NevowServer.py:181 +msgid "Send a message to the log" +msgstr "Send a message to the log" + #: ../dialogs/DiscoveryDialog.py:135 msgid "Service Discovery" msgstr "Service Discovery" @@ -3007,7 +3507,7 @@ msgid "Services available:" msgstr "Services available:" -#: ../dialogs/LDElementDialog.py:79 +#: ../dialogs/LDElementDialog.py:79 ../runtime/WampClient.py:434 msgid "Set" msgstr "Set" @@ -3019,7 +3519,7 @@ msgid "Shift right" msgstr "Shift right" -#: ../ProjectController.py:1863 +#: ../ProjectController.py:1946 msgid "Show IEC code generated by PLCGenerator" msgstr "Show IEC code generated by PLCGenerator" @@ -3031,7 +3531,7 @@ msgid "Show Master generated by config_utils" msgstr "Show Master generated by config_utils" -#: ../ProjectController.py:1862 +#: ../ProjectController.py:1945 msgid "Show code" msgstr "Show code" @@ -3051,6 +3551,14 @@ msgid "Single" msgstr "Single" +#: ../etherlab/EtherCATManagementEditor.py:361 +msgid "Slave SDO Monitoring" +msgstr "Slave SDO Monitoring" + +#: ../etherlab/ConfigEditor.py:135 +msgid "Slave entries" +msgstr "Slave entries" + #: ../targets/toolchain_makefile.py:130 msgid "Source didn't change, no build.\n" msgstr "Source didn't change, no build.\n" @@ -3068,44 +3576,56 @@ msgid "Standard function blocks" msgstr "Standard function blocks" -#: ../ProjectController.py:1829 ../Beremiz_service.py:271 +#: ../etherlab/ConfigEditor.py:68 +msgid "Standardized Device Profile" +msgstr "Standardized Device Profile" + +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Start Address" +msgstr "Start Address" + +#: ../ProjectController.py:1912 ../Beremiz_service.py:284 msgid "Start PLC" msgstr "Start PLC" -#: ../ProjectController.py:1074 +#: ../ProjectController.py:1121 #, python-format msgid "Start build in %s\n" msgstr "Start build in %s\n" -#: ../ProjectController.py:1397 +#: ../runtime/PlcStatus.py:12 msgid "Started" msgstr "Started" -#: ../ProjectController.py:1633 +#: ../ProjectController.py:1714 msgid "Starting PLC\n" msgstr "Starting PLC\n" -#: ../BeremizIDE.py:393 +#: ../etherlab/ConfigEditor.py:674 +msgid "Startup service variables assignments:" +msgstr "Startup service variables assignments:" + +#: ../BeremizIDE.py:389 msgid "Status ToolBar" msgstr "Status ToolBar" -#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424 +#: ../editors/Viewer.py:654 ../editors/Viewer.py:2426 msgid "Step" msgstr "Step" -#: ../ProjectController.py:1835 +#: ../ProjectController.py:1918 msgid "Stop" msgstr "Stop" -#: ../Beremiz_service.py:272 +#: ../Beremiz_service.py:285 msgid "Stop PLC" msgstr "Stop PLC" -#: ../ProjectController.py:1836 +#: ../ProjectController.py:1919 msgid "Stop Running PLC" msgstr "Stop Running PLC" -#: ../ProjectController.py:1398 +#: ../runtime/PlcStatus.py:13 msgid "Stopped" msgstr "Stopped" @@ -3113,6 +3633,14 @@ msgid "Structure" msgstr "Structure" +#: ../etherlab/ConfigEditor.py:48 +msgid "SubIndex" +msgstr "SubIndex" + +#: ../etherlab/ConfigEditor.py:465 +msgid "Subindex" +msgstr "Subindex" + #: ../editors/DataTypeEditor.py:60 msgid "Subrange" msgstr "Subrange" @@ -3121,11 +3649,11 @@ msgid "Subtraction" msgstr "Subtraction" -#: ../ProjectController.py:1113 +#: ../ProjectController.py:1160 msgid "Successfully built.\n" msgstr "Successfully built.\n" -#: ../IDEFrame.py:449 +#: ../IDEFrame.py:451 msgid "Switch perspective" msgstr "Switch perspective" @@ -3141,19 +3669,19 @@ msgid "Tangent" msgstr "Tangent" -#: ../editors/ResourceEditor.py:97 +#: ../editors/ResourceEditor.py:94 msgid "Task" msgstr "Task" -#: ../editors/ResourceEditor.py:248 +#: ../editors/ResourceEditor.py:246 msgid "Tasks:" msgstr "Tasks:" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid "Temp" msgstr "Temp" -#: ../version.py:35 +#: ../version.py:37 msgid "" "The best place to ask questions about Beremiz/PLCOpenEditor\n" "is project's mailing list: beremiz-devel@lists.sourceforge.net\n" @@ -3173,7 +3701,15 @@ "You can subscribe to the list here:\n" "https://lists.sourceforge.net/lists/listinfo/beremiz-devel" -#: ../editors/FileManagementPanel.py:186 +#: ../etherlab/EthercatMaster.py:454 +msgid "" +"The current network configuration will be deleted.\n" +"Do you want to continue?" +msgstr "" +"The current network configuration will be deleted.\n" +"Do you want to continue?" + +#: ../editors/FileManagementPanel.py:185 #, python-format msgid "" "The file '%s' already exist.\n" @@ -3182,20 +3718,25 @@ "The file '%s' already exist.\n" "Do you want to replace it?" +#: ../etherlab/EtherCATManagementEditor.py:928 +#: ../etherlab/EtherCATManagementEditor.py:1320 +msgid "The file does not exist!" +msgstr "The file does not exist!" + #: ../editors/LDViewer.py:893 msgid "The group of block must be coherent!" msgstr "The group of block must be coherent!" -#: ../BeremizIDE.py:573 ../IDEFrame.py:1046 +#: ../BeremizIDE.py:569 ../IDEFrame.py:1059 msgid "There are changes, do you want to save?" msgstr "There are changes, do you want to save?" -#: ../IDEFrame.py:1691 ../IDEFrame.py:1710 +#: ../IDEFrame.py:1708 ../IDEFrame.py:1727 #, python-format 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?" -#: ../IDEFrame.py:1133 +#: ../IDEFrame.py:1146 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -3207,7 +3748,7 @@ msgid "This option isn't available yet!" msgstr "This option isn't available yet!" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:546 #, python-format msgid "Tick: %d" msgstr "Tick: %d" @@ -3245,53 +3786,57 @@ msgid "Time-of-day subtraction" msgstr "Time-of-day subtraction" +#: ../IDEFrame.py:432 +msgid "Toggle fullscreen mode" +msgstr "Toggle fullscreen mode" + #: ../dialogs/ForceVariableDialog.py:188 msgid "Toggle value" msgstr "Toggle value" -#: ../editors/Viewer.py:584 +#: ../editors/Viewer.py:587 msgid "Top" msgstr "Top" -#: ../ProjectController.py:1848 +#: ../ProjectController.py:1931 msgid "Transfer" msgstr "Transfer" -#: ../ProjectController.py:1849 +#: ../ProjectController.py:1932 msgid "Transfer PLC" msgstr "Transfer PLC" -#: ../ProjectController.py:1802 +#: ../ProjectController.py:1884 msgid "Transfer completed successfully.\n" msgstr "Transfer completed successfully.\n" -#: ../ProjectController.py:1805 +#: ../ProjectController.py:1887 msgid "Transfer failed\n" msgstr "Transfer failed\n" -#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453 +#: ../editors/Viewer.py:655 ../editors/Viewer.py:2428 ../editors/Viewer.py:2455 msgid "Transition" msgstr "Transition" -#: ../PLCGenerator.py:1564 +#: ../PLCGenerator.py:1613 #, python-format 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:91 +#: ../dialogs/PouTransitionDialog.py:90 msgid "Transition Name" msgstr "Transition Name" -#: ../dialogs/PouTransitionDialog.py:60 +#: ../dialogs/PouTransitionDialog.py:59 msgid "Transition Name:" msgstr "Transition Name:" -#: ../PLCGenerator.py:1657 +#: ../PLCGenerator.py:1706 #, python-brace-format 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:1646 +#: ../PLCGenerator.py:1695 #, python-brace-format 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" @@ -3313,17 +3858,17 @@ msgid "Triggering" msgstr "Triggering" -#: ../Beremiz_service.py:490 +#: ../Beremiz_service.py:503 msgid "Twisted unavailable." msgstr "Twisted unavailable." -#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97 -#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733 -#: ../controls/VariablePanel.py:61 +#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:48 +#: ../editors/ResourceEditor.py:94 ../editors/DataTypeEditor.py:55 +#: ../editors/CodeFileEditor.py:752 ../controls/VariablePanel.py:61 msgid "Type" msgstr "Type" -#: ../dialogs/BrowseLocationsDialog.py:54 +#: ../dialogs/BrowseLocationsDialog.py:51 msgid "Type and derivated" msgstr "Type and derivated" @@ -3340,16 +3885,25 @@ msgid "Type infos:" msgstr "Type infos:" -#: ../dialogs/BrowseLocationsDialog.py:55 +#: ../etherlab/EthercatCFileGenerator.py:76 +#, python-format +msgid "Type of location \"%s\" not yet supported!" +msgstr "Type of location \"%s\" not yet supported!" + +#: ../dialogs/BrowseLocationsDialog.py:52 msgid "Type strict" msgstr "Type strict" #: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59 -#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111 +#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:110 #: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61 msgid "Type:" msgstr "Type:" +#: ../runtime/WampClient.py:129 +msgid "TypeError register option: {}" +msgstr "TypeError register option: {}" + #: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42 msgid "URI host:" msgstr "URI host:" @@ -3372,7 +3926,17 @@ msgid "Unable to get Xenomai's %s \n" msgstr "Unable to get Xenomai's %s \n" -#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252 +#: ../bacnet/bacnet.py:430 +#, python-format +msgid "Unable to load file \"%s\"!" +msgstr "Unable to load file \"%s\"!" + +#: ../bacnet/bacnet.py:420 +#, python-format +msgid "Unable to save to file \"%s\"!" +msgstr "Unable to save to file \"%s\"!" + +#: ../PLCGenerator.py:1023 ../PLCGenerator.py:1301 #, python-brace-format msgid "Undefined block type \"{a1}\" in \"{a2}\" POU" msgstr "Undefined block type \"{a1}\" in \"{a2}\" POU" @@ -3382,20 +3946,25 @@ msgid "Undefined pou type \"%s\"" msgstr "Undefined pou type \"%s\"" -#: ../IDEFrame.py:365 ../IDEFrame.py:423 +#: ../IDEFrame.py:368 ../IDEFrame.py:424 msgid "Undo" msgstr "Undo" -#: ../ProjectController.py:442 +#: ../ProjectController.py:457 msgid "Unknown" msgstr "Unknown" +#: ../etherlab/EthercatCFileGenerator.py:470 +#, python-brace-format +msgid "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}" +msgstr "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}" + #: ../editors/Viewer.py:437 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "Unknown variable \"%s\" for this POU!" -#: ../ProjectController.py:439 ../ProjectController.py:440 +#: ../ProjectController.py:454 ../ProjectController.py:455 msgid "Unnamed" msgstr "Unnamed" @@ -3404,12 +3973,20 @@ msgid "Unnamed%d" msgstr "Unnamed%d" -#: ../controls/VariablePanel.py:308 +#: ../controls/VariablePanel.py:307 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "Unrecognized data size \"%s\"" -#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841 +#: ../etherlab/EtherCATManagementEditor.py:2080 +msgid "Update" +msgstr "Update" + +#: ../runtime/WampClient.py:380 +msgid "Upload:" +msgstr "Upload:" + +#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:852 msgid "User Data Types" msgstr "User Data Types" @@ -3421,7 +3998,7 @@ msgid "User-defined POUs" msgstr "User-defined POUs" -#: ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:465 msgid "Value" msgstr "Value" @@ -3429,24 +4006,29 @@ msgid "Values:" msgstr "Values:" -#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622 -#: ../editors/Viewer.py:2456 +#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:625 +#: ../editors/Viewer.py:2458 msgid "Variable" msgstr "Variable" #: ../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 +#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:354 msgid "Variable Drop" msgstr "Variable Drop" -#: ../dialogs/FBDVariableDialog.py:68 +#: ../etherlab/ConfigEditor.py:70 +#, python-format +msgid "Variable Index: #x%4.4X" +msgstr "Variable Index: #x%4.4X" + +#: ../dialogs/FBDVariableDialog.py:58 msgid "Variable Properties" msgstr "Variable Properties" #: ../editors/Viewer.py:332 ../editors/TextViewer.py:306 -#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316 -#: ../controls/VariablePanel.py:379 +#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:315 +#: ../controls/VariablePanel.py:378 msgid "Variable class" msgstr "Variable class" @@ -3454,24 +4036,28 @@ msgid "Variable don't belong to this POU!" msgstr "Variable don't belong to this POU!" +#: ../etherlab/ConfigEditor.py:280 +msgid "Variable entries:" +msgstr "Variable entries:" + #: ../dialogs/LDElementDialog.py:92 msgid "Variable:" msgstr "Variable:" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid "Variables" msgstr "Variables" -#: ../controls/ProjectPropertiesPanel.py:166 +#: ../controls/ProjectPropertiesPanel.py:169 msgid "Vertical:" msgstr "Vertical:" -#: ../runtime/WampClient.py:113 +#: ../runtime/WampClient.py:170 #, python-format msgid "WAMP Client connection failed (%s) .. retrying .." msgstr "WAMP Client connection failed (%s) .. retrying .." -#: ../runtime/WampClient.py:117 +#: ../runtime/WampClient.py:179 #, python-format msgid "WAMP Client connection lost (%s) .. retrying .." msgstr "WAMP Client connection lost (%s) .. retrying .." @@ -3480,49 +4066,66 @@ msgid "WAMP ID:" msgstr "WAMP ID:" -#: ../runtime/WampClient.py:172 +#: ../runtime/WampClient.py:413 +msgid "WAMP Server URL" +msgstr "WAMP Server URL" + +#: ../runtime/WampClient.py:276 +msgid "WAMP authentication has no secret configured" +msgstr "WAMP authentication has no secret configured" + +#: ../runtime/WampClient.py:304 +msgid "WAMP client can not connect to :" +msgstr "WAMP client can not connect to :" + +#: ../runtime/WampClient.py:301 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 +#: ../Beremiz_service.py:628 msgid "WAMP client startup failed. " msgstr "WAMP client startup failed. " -#: ../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 +#: ../runtime/WampClient.py:206 +msgid "WAMP configuration error : missing '{}' parameter." +msgstr "WAMP configuration error : missing '{}' parameter." + +#: ../runtime/WampClient.py:192 +msgid "WAMP configuration error:" +msgstr "WAMP configuration error:" + +#: ../connectors/WAMP/__init__.py:100 #, python-format msgid "WAMP connecting to URL : %s\n" msgstr "WAMP connecting to URL : %s\n" -#: ../connectors/WAMP/__init__.py:140 +#: ../connectors/WAMP/__init__.py:141 msgid "WAMP connection timeout" msgstr "WAMP connection timeout" -#: ../connectors/WAMP/__init__.py:158 +#: ../connectors/WAMP/__init__.py:159 #, python-format msgid "WAMP connection to '%s' failed.\n" msgstr "WAMP connection to '%s' failed.\n" -#: ../Beremiz_service.py:595 +#: ../runtime/WampClient.py:280 +msgid "WAMP deactivated in configuration" +msgstr "WAMP deactivated in configuration" + +#: ../Beremiz_service.py:605 msgid "WAMP import failed :" msgstr "WAMP import failed :" -#: ../runtime/WampClient.py:126 -msgid "WAMP load error: " -msgstr "WAMP load error: " - -#: ../runtime/WampClient.py:108 +#: ../runtime/WampClient.py:241 +msgid "WAMP secret empty" +msgstr "WAMP secret empty" + +#: ../runtime/WampClient.py:139 +#, python-format +msgid "WAMP session joined (%s) by:" +msgstr "WAMP session joined (%s) by:" + +#: ../runtime/WampClient.py:146 msgid "WAMP session left" msgstr "WAMP session left" @@ -3530,15 +4133,24 @@ msgid "WXGLADE GUI" msgstr "WXGLADE GUI" -#: ../runtime/WampClient.py:137 -msgid "Wamp secret load error:" -msgstr "Wamp secret load error:" - -#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902 +#: ../runtime/WampClient.py:432 +msgid "Wamp Settings" +msgstr "Wamp Settings" + +#: ../dialogs/PouDialog.py:172 ../editors/LDViewer.py:902 msgid "Warning" msgstr "Warning" -#: ../ProjectController.py:726 +#: ../etherlab/EthercatCFileGenerator.py:405 +#: ../etherlab/EthercatCFileGenerator.py:571 +msgid "Warning: " +msgstr "Warning: " + +#: ../wxglade_hmi/wxglade_hmi.py:166 +msgid "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n" +msgstr "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n" + +#: ../ProjectController.py:756 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "Warnings in ST/IL/SFC code generator :\n" @@ -3546,7 +4158,7 @@ msgid "Whole Project" msgstr "Whole Project" -#: ../controls/ProjectPropertiesPanel.py:134 +#: ../controls/ProjectPropertiesPanel.py:137 msgid "Width:" msgstr "Width:" @@ -3554,14 +4166,46 @@ msgid "Wrap search" msgstr "Wrap search" +#: ../etherlab/ConfigEditor.py:345 +msgid "Write to (nodeid, index, subindex)" +msgstr "Write to (nodeid, index, subindex)" + #: ../dialogs/AboutDialog.py:126 msgid "Written by" msgstr "Written by" -#: ../features.py:35 +#: ../etherlab/EthercatCFileGenerator.py:409 +#: ../etherlab/EthercatCFileGenerator.py:499 +#, python-format +msgid "Wrong direction for location \"%s\"!" +msgstr "Wrong direction for location \"%s\"!" + +#: ../etherlab/EthercatCFileGenerator.py:400 +#: ../etherlab/EthercatCFileGenerator.py:487 +#, python-format +msgid "Wrong type for location \"%s\"!" +msgstr "Wrong type for location \"%s\"!" + +#: ../features.py:24 msgid "WxGlade GUI" msgstr "WxGlade GUI" +#: ../etherlab/ConfigEditor.py:1236 +msgid "XML files (*.xml)|*.xml|All files|*.*" +msgstr "XML files (*.xml)|*.xml|All files|*.*" + +#: ../etherlab/EtherCATManagementEditor.py:652 +msgid "You can input only hex, dec value" +msgstr "You can input only hex, dec value" + +#: ../etherlab/EtherCATManagementEditor.py:1999 +msgid "You can't modify it. This register is read-only or it's not connected." +msgstr "You can't modify it. This register is read-only or it's not connected." + +#: ../etherlab/EtherCATManagementEditor.py:648 +msgid "You cannot SDO download this state" +msgstr "You cannot SDO download this state" + #: ../svgui/svgui.py:150 msgid "" "You don't have write permissions.\n" @@ -3570,7 +4214,7 @@ "You don't have write permissions.\n" "Open Inkscape anyway ?" -#: ../wxglade_hmi/wxglade_hmi.py:160 +#: ../wxglade_hmi/wxglade_hmi.py:175 msgid "" "You don't have write permissions.\n" "Open wxGlade anyway ?" @@ -3578,7 +4222,11 @@ "You don't have write permissions.\n" "Open wxGlade anyway ?" -#: ../ProjectController.py:390 +#: ../etherlab/EtherCATManagementEditor.py:2002 +msgid "You entered wrong value. You can enter dec or hex value only." +msgstr "You entered wrong value. You can enter dec or hex value only." + +#: ../ProjectController.py:403 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" @@ -3602,11 +4250,21 @@ msgid "You must type a value!" msgstr "You must type a value!" -#: ../IDEFrame.py:440 +#: ../IDEFrame.py:442 msgid "Zoom" msgstr "Zoom" -#: ../dialogs/DurationEditorDialog.py:158 +#: ../etherlab/EtherCATManagementEditor.py:911 +#: ../etherlab/EtherCATManagementEditor.py:1307 +msgid "bin files (*.bin)|*.bin" +msgstr "bin files (*.bin)|*.bin" + +#: ../etherlab/EtherCATManagementEditor.py:942 +#: ../etherlab/EtherCATManagementEditor.py:1290 +msgid "bin files (*.bin)|*.bin|All files|*.*" +msgstr "bin files (*.bin)|*.bin|All files|*.*" + +#: ../dialogs/DurationEditorDialog.py:159 msgid "days" msgstr "days" @@ -3620,35 +4278,39 @@ msgid "exited with status {a1} (pid {a2})\n" msgstr "exited with status {a1} (pid {a2})\n" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "function" msgstr "function" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "functionBlock" msgstr "functionBlock" -#: ../dialogs/DurationEditorDialog.py:158 +#: ../dialogs/DurationEditorDialog.py:159 msgid "hours" msgstr "hours" -#: ../ProjectController.py:753 +#: ../ProjectController.py:784 msgid "matiec installation is not found\n" msgstr "matiec installation is not found\n" -#: ../dialogs/DurationEditorDialog.py:160 +#: ../dialogs/DurationEditorDialog.py:162 +msgid "microseconds" +msgstr "microseconds" + +#: ../dialogs/DurationEditorDialog.py:161 msgid "milliseconds" msgstr "milliseconds" -#: ../dialogs/DurationEditorDialog.py:159 +#: ../dialogs/DurationEditorDialog.py:160 msgid "minutes" msgstr "minutes" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "program" msgstr "program" -#: ../dialogs/DurationEditorDialog.py:159 +#: ../dialogs/DurationEditorDialog.py:160 msgid "seconds" msgstr "seconds" @@ -3664,6 +4326,10 @@ msgid "string right of" msgstr "string right of" +#: ../etherlab/EtherCATManagementEditor.py:323 +msgid "update" +msgstr "update" + #: ../Beremiz.py:167 msgid "update info unavailable." msgstr "update info unavailable." @@ -3718,6 +4384,33 @@ msgid "CAN_Driver" msgstr "CAN_Driver" +msgid "BACnetServerNode" +msgstr "BACnetServerNode" + +msgid "Network_Interface" +msgstr "Network_Interface" + +msgid "UDP_Port_Number" +msgstr "UDP_Port_Number" + +msgid "BACnet_Communication_Control_Password" +msgstr "BACnet_Communication_Control_Password" + +msgid "BACnet_Device_ID" +msgstr "BACnet_Device_ID" + +msgid "BACnet_Device_Name" +msgstr "BACnet_Device_Name" + +msgid "BACnet_Device_Location" +msgstr "BACnet_Device_Location" + +msgid "BACnet_Device_Description" +msgstr "BACnet_Device_Description" + +msgid "BACnet_Device_Application_Software_Version" +msgstr "BACnet_Device_Application_Software_Version" + msgid "Generic" msgstr "Generic" @@ -3814,6 +4507,24 @@ msgid "MaxRemoteTCPclients" msgstr "MaxRemoteTCPclients" +msgid "CIA402SlaveParams" +msgstr "CIA402SlaveParams" + +msgid "Enable%s" +msgstr "Enable%s" + +msgid "ProcessVariables" +msgstr "ProcessVariables" + +msgid "variable" +msgstr "variable" + +msgid "ReadFrom" +msgstr "ReadFrom" + +msgid "WriteTo" +msgstr "WriteTo" + msgid "BaseParams" msgstr "BaseParams" @@ -3844,9 +4555,6 @@ msgid "variables" msgstr "variables" -msgid "variable" -msgstr "variable" - msgid "name" msgstr "name" diff -r 68e7da937162 -r aef7f2ca4e69 i18n/messages.pot --- a/i18n/messages.pot Wed Oct 03 14:19:41 2018 +0300 +++ b/i18n/messages.pot Wed Oct 03 14:20:57 2018 +0300 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Beremiz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-06-15 16:39+0300\n" +"POT-Creation-Date: 2018-10-03 14:20+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -32,37 +32,46 @@ "Traceback:\n" msgstr "" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid " External" msgstr "" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " InOut" msgstr "" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " Input" msgstr "" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid " Local" msgstr "" -#: ../controls/VariablePanel.py:89 +#: ../controls/VariablePanel.py:86 msgid " Output" msgstr "" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid " Temp" msgstr "" -#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/ProjectDialog.py:74 -#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:122 +#: ../etherlab/etherlab.py:301 +#, python-format +msgid " (rev. %s)" +msgstr "" + +#: ../etherlab/CommonEtherCATFunction.py:1599 +msgid " Warning..." +msgstr "" + +#: ../dialogs/PouTransitionDialog.py:100 ../dialogs/ProjectDialog.py:72 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:157 #, python-format msgid " and %s" msgstr "" -#: ../ProjectController.py:1182 +#: ../ProjectController.py:1236 msgid " generation failed !\n" msgstr "" @@ -86,7 +95,7 @@ msgid "\"%s\" can't use itself!" msgstr "" -#: ../IDEFrame.py:1688 ../IDEFrame.py:1707 +#: ../IDEFrame.py:1705 ../IDEFrame.py:1724 #, python-format msgid "\"%s\" config already exists!" msgstr "" @@ -101,32 +110,32 @@ msgid "\"%s\" configuration doesn't exist !!!" msgstr "" -#: ../IDEFrame.py:1638 +#: ../IDEFrame.py:1655 #, python-format msgid "\"%s\" data type already exists!" msgstr "" -#: ../dialogs/PouTransitionDialog.py:112 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouTransitionDialog.py:111 ../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 +#: ../controls/VariablePanel.py:424 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "" -#: ../BeremizIDE.py:928 +#: ../BeremizIDE.py:925 #, python-format msgid "\"%s\" folder is not a valid Beremiz project\n" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:108 +#: ../dialogs/SFCStepNameDialog.py:56 ../dialogs/PouTransitionDialog.py:107 #: ../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 -#: ../IDEFrame.py:1629 +#: ../dialogs/PouActionDialog.py:106 ../dialogs/PouDialog.py:164 +#: ../etherlab/ConfigEditor.py:973 ../editors/ResourceEditor.py:481 +#: ../editors/ResourceEditor.py:518 ../editors/DataTypeEditor.py:571 +#: ../editors/DataTypeEditor.py:603 ../editors/CodeFileEditor.py:793 +#: ../controls/VariablePanel.py:798 ../IDEFrame.py:1646 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "" @@ -141,27 +150,28 @@ msgid "\"%s\" is not a valid folder!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:106 +#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:105 #: ../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 +#: ../dialogs/PouActionDialog.py:104 ../dialogs/PouDialog.py:162 +#: ../etherlab/ConfigEditor.py:971 ../editors/ResourceEditor.py:479 +#: ../editors/ResourceEditor.py:516 ../editors/DataTypeEditor.py:601 +#: ../editors/CodeFileEditor.py:791 ../controls/VariablePanel.py:796 +#: ../IDEFrame.py:1644 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../IDEFrame.py:2436 +#: ../IDEFrame.py:2454 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "" -#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:131 +#: ../dialogs/BlockPreviewDialog.py:213 ../dialogs/PouDialog.py:166 #: ../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 -#: ../IDEFrame.py:1647 +#: ../editors/TextViewer.py:374 ../controls/VariablePanel.py:363 +#: ../IDEFrame.py:1664 #, python-format msgid "\"%s\" pou already exists!" msgstr "" @@ -188,7 +198,7 @@ "Right value must be greater than left value." msgstr "" -#: ../PLCGenerator.py:1133 +#: ../PLCGenerator.py:1182 #, python-brace-format msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" msgstr "" @@ -208,35 +218,35 @@ msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:580 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:559 #, python-format msgid "%03gms" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:550 #, python-format msgid "%dd" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:61 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:189 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:551 #, python-format msgid "%dh" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:60 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:573 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:188 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:552 #, python-format msgid "%dm" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:58 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:186 #, python-format msgid "%dms" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:59 -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:574 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:187 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:553 #, python-format msgid "%ds" msgstr "" @@ -269,7 +279,12 @@ msgid "%s body don't have text!" msgstr "" -#: ../IDEFrame.py:388 +#: ../etherlab/ConfigEditor.py:856 +#, python-format +msgid "%s's nodes" +msgstr "" + +#: ../IDEFrame.py:391 msgid "&Add Element" msgstr "" @@ -278,35 +293,35 @@ msgid "&Close" msgstr "" -#: ../IDEFrame.py:361 +#: ../IDEFrame.py:364 msgid "&Configuration" msgstr "" -#: ../IDEFrame.py:350 +#: ../IDEFrame.py:353 msgid "&Data Type" msgstr "" -#: ../IDEFrame.py:392 +#: ../IDEFrame.py:395 msgid "&Delete" msgstr "" -#: ../IDEFrame.py:342 +#: ../IDEFrame.py:345 msgid "&Display" msgstr "" -#: ../IDEFrame.py:341 +#: ../IDEFrame.py:344 msgid "&Edit" msgstr "" -#: ../IDEFrame.py:340 +#: ../IDEFrame.py:343 msgid "&File" msgstr "" -#: ../IDEFrame.py:352 +#: ../IDEFrame.py:355 msgid "&Function" msgstr "" -#: ../IDEFrame.py:343 +#: ../IDEFrame.py:346 msgid "&Help" msgstr "" @@ -314,7 +329,7 @@ msgid "&License" msgstr "" -#: ../IDEFrame.py:356 +#: ../IDEFrame.py:359 msgid "&Program" msgstr "" @@ -326,10 +341,14 @@ msgid "&Recent Projects" msgstr "" -#: ../IDEFrame.py:358 +#: ../IDEFrame.py:361 msgid "&Resource" msgstr "" +#: ../etherlab/ConfigEditor.py:450 +msgid "'Read from' and 'Write to' variables types are not compatible" +msgstr "" + #: ../controls/SearchResultPanel.py:247 #, python-brace-format msgid "'{a1}' - {a2} match in project" @@ -340,7 +359,7 @@ msgid "'{a1}' - {a2} matches in project" msgstr "" -#: ../connectors/PYRO/__init__.py:98 +#: ../connectors/PYRO/__init__.py:99 #, python-brace-format msgid "'{a1}' is located at {a2}\n" msgstr "" @@ -350,8 +369,8 @@ msgid "(%d matches)" msgstr "" -#: ../dialogs/PouTransitionDialog.py:103 ../dialogs/PouActionDialog.py:101 -#: ../dialogs/PouDialog.py:124 +#: ../dialogs/PouTransitionDialog.py:102 ../dialogs/PouActionDialog.py:101 +#: ../dialogs/PouDialog.py:159 #, python-format msgid ", %s" msgstr "" @@ -376,15 +395,15 @@ msgid "1s" msgstr "" -#: ../dialogs/PouDialog.py:133 ../IDEFrame.py:1650 ../IDEFrame.py:1696 -#: ../IDEFrame.py:1715 +#: ../dialogs/PouDialog.py:168 ../IDEFrame.py:1667 ../IDEFrame.py:1713 +#: ../IDEFrame.py:1732 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:110 +#: ../dialogs/SFCStepNameDialog.py:58 ../dialogs/PouTransitionDialog.py:109 #: ../dialogs/PouNameDialog.py:56 ../dialogs/PouActionDialog.py:108 -#: ../controls/VariablePanel.py:789 ../IDEFrame.py:1664 ../IDEFrame.py:1677 +#: ../controls/VariablePanel.py:800 ../IDEFrame.py:1681 ../IDEFrame.py:1694 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" @@ -394,21 +413,21 @@ msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:229 +#: ../dialogs/BrowseLocationsDialog.py:228 msgid "A location must be selected!" msgstr "" -#: ../editors/ResourceEditor.py:485 +#: ../editors/ResourceEditor.py:483 msgid "A task with the same name already exists!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:791 -#: ../IDEFrame.py:1666 ../IDEFrame.py:1679 +#: ../dialogs/SFCStepNameDialog.py:60 ../controls/VariablePanel.py:802 +#: ../IDEFrame.py:1683 ../IDEFrame.py:1696 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "" -#: ../editors/CodeFileEditor.py:778 +#: ../editors/CodeFileEditor.py:797 #, python-format msgid "A variable with \"%s\" as name already exists!" msgstr "" @@ -421,11 +440,15 @@ msgid "Absolute number" msgstr "" +#: ../etherlab/ConfigEditor.py:48 +msgid "Access" +msgstr "" + #: ../dialogs/SFCStepDialog.py:75 ../dialogs/ActionBlockDialog.py:47 msgid "Action" msgstr "" -#: ../editors/Viewer.py:653 ../editors/Viewer.py:2427 +#: ../editors/Viewer.py:656 ../editors/Viewer.py:2429 msgid "Action Block" msgstr "" @@ -450,56 +473,64 @@ msgid "Actions:" msgstr "" -#: ../editors/Viewer.py:473 +#: ../editors/Viewer.py:484 msgid "Active" msgstr "" #: ../canfestival/SlaveEditor.py:84 ../canfestival/NetworkEditor.py:108 -#: ../BeremizIDE.py:1001 ../editors/Viewer.py:686 +#: ../BeremizIDE.py:998 ../editors/Viewer.py:689 msgid "Add" msgstr "" -#: ../IDEFrame.py:1924 ../IDEFrame.py:1959 +#: ../IDEFrame.py:1941 ../IDEFrame.py:1976 msgid "Add Action" msgstr "" -#: ../features.py:33 +#: ../features.py:22 msgid "Add C code accessing located variables synchronously" msgstr "" -#: ../IDEFrame.py:1907 +#: ../IDEFrame.py:1924 msgid "Add Configuration" msgstr "" -#: ../IDEFrame.py:1887 +#: ../IDEFrame.py:1904 msgid "Add DataType" msgstr "" -#: ../editors/Viewer.py:609 +#: ../editors/Viewer.py:612 msgid "Add Divergence Branch" msgstr "" +#: ../etherlab/EthercatMaster.py:297 +msgid "Add Ethercat Slave" +msgstr "" + +#: ../etherlab/EthercatMaster.py:297 +msgid "Add Ethercat Slave to Master" +msgstr "" + #: ../dialogs/DiscoveryDialog.py:121 msgid "Add IP" msgstr "" -#: ../IDEFrame.py:1895 +#: ../IDEFrame.py:1912 msgid "Add POU" msgstr "" -#: ../features.py:34 +#: ../features.py:23 msgid "Add Python code executed asynchronously" msgstr "" -#: ../IDEFrame.py:1935 ../IDEFrame.py:1985 +#: ../IDEFrame.py:1952 ../IDEFrame.py:2002 msgid "Add Resource" msgstr "" -#: ../IDEFrame.py:1913 ../IDEFrame.py:1956 +#: ../IDEFrame.py:1930 ../IDEFrame.py:1973 msgid "Add Transition" msgstr "" -#: ../editors/Viewer.py:596 +#: ../editors/Viewer.py:599 msgid "Add Wire Segment" msgstr "" @@ -507,7 +538,7 @@ msgid "Add a new initial step" msgstr "" -#: ../editors/Viewer.py:2791 ../editors/SFCViewer.py:784 +#: ../editors/Viewer.py:2790 ../editors/SFCViewer.py:784 msgid "Add a new jump" msgstr "" @@ -515,7 +546,7 @@ msgid "Add a new step" msgstr "" -#: ../features.py:35 +#: ../features.py:24 msgid "Add a simple WxGlade based GUI." msgstr "" @@ -527,22 +558,46 @@ msgid "Add element" msgstr "" -#: ../editors/ResourceEditor.py:283 +#: ../etherlab/ConfigEditor.py:1388 +msgid "Add file from ESI files database" +msgstr "" + +#: ../etherlab/ConfigEditor.py:1360 +msgid "Add file to project" +msgstr "" + +#: ../editors/ResourceEditor.py:281 msgid "Add instance" msgstr "" +#: ../etherlab/ConfigEditor.py:652 +msgid "Add process variable" +msgstr "" + #: ../canfestival/NetworkEditor.py:110 msgid "Add slave" msgstr "" -#: ../editors/ResourceEditor.py:252 +#: ../etherlab/ConfigEditor.py:679 +msgid "Add startup service variable" +msgstr "" + +#: ../editors/ResourceEditor.py:250 msgid "Add task" msgstr "" -#: ../editors/CodeFileEditor.py:654 ../controls/VariablePanel.py:481 +#: ../bacnet/BacnetSlaveEditor.py:811 ../editors/CodeFileEditor.py:672 +#: ../controls/VariablePanel.py:483 msgid "Add variable" msgstr "" +#: ../etherlab/etherlab.py:186 +msgid "" +"Adding a PDO not defined in default configuration\n" +"for mapping needed location variables\n" +"(1 if possible)" +msgstr "" + #: ../plcopen/iec_std.csv:33 msgid "Addition" msgstr "" @@ -551,27 +606,28 @@ msgid "Additional function blocks" msgstr "" -#: ../editors/Viewer.py:669 +#: ../editors/Viewer.py:672 msgid "Adjust Block Size" msgstr "" -#: ../editors/Viewer.py:1720 +#: ../editors/Viewer.py:1722 msgid "Alignment" msgstr "" #: ../dialogs/BrowseLocationsDialog.py:42 -#: ../dialogs/BrowseLocationsDialog.py:53 -#: ../dialogs/BrowseLocationsDialog.py:152 -#: ../dialogs/BrowseLocationsDialog.py:155 ../controls/LogViewer.py:307 -#: ../controls/VariablePanel.py:88 +#: ../dialogs/BrowseLocationsDialog.py:50 +#: ../dialogs/BrowseLocationsDialog.py:151 +#: ../dialogs/BrowseLocationsDialog.py:154 ../etherlab/ConfigEditor.py:65 +#: ../etherlab/ConfigEditor.py:853 ../controls/LogViewer.py:307 +#: ../controls/VariablePanel.py:85 msgid "All" msgstr "" -#: ../editors/FileManagementPanel.py:37 +#: ../editors/FileManagementPanel.py:51 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "" -#: ../ProjectController.py:1670 +#: ../ProjectController.py:1752 msgid "Already connected. Please disconnect\n" msgstr "" @@ -584,6 +640,23 @@ msgid "An instance with the same name already exists!" msgstr "" +#: ../etherlab/ConfigEditor.py:975 +#, python-format +msgid "An variable named \"%s\" already exists!" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:935 +msgid "Analog Input Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:934 +msgid "Analog Output Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:933 +msgid "Analog Value Objects" +msgstr "" + #: ../dialogs/ConnectionDialog.py:103 msgid "Apply name modification to all continuations with the same name" msgstr "" @@ -605,7 +678,7 @@ msgstr "" #: ../editors/DataTypeEditor.py:60 ../editors/DataTypeEditor.py:649 -#: ../controls/VariablePanel.py:872 +#: ../controls/VariablePanel.py:883 msgid "Array" msgstr "" @@ -613,22 +686,34 @@ msgid "Assignment" msgstr "" -#: ../dialogs/FBDVariableDialog.py:226 +#: ../dialogs/FBDVariableDialog.py:227 msgid "At least a variable or an expression must be selected!" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:111 +#: ../controls/ProjectPropertiesPanel.py:113 msgid "Author" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:108 +#: ../controls/ProjectPropertiesPanel.py:110 msgid "Author Name (optional):" msgstr "" +#: ../etherlab/EthercatCIA402Slave.py:125 +msgid "Axis Pos" +msgstr "" + +#: ../etherlab/EthercatCIA402Slave.py:118 +msgid "Axis Ref" +msgstr "" + #: ../dialogs/FindInPouDialog.py:80 msgid "Backward" msgstr "" +#: ../features.py:19 +msgid "Bacnet support" +msgstr "" + #: ../canfestival/config_utils.py:365 ../canfestival/config_utils.py:672 #, python-format msgid "Bad location size : %s" @@ -639,14 +724,30 @@ msgid "Base Type:" msgstr "" -#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:830 +#: ../editors/DataTypeEditor.py:639 ../controls/VariablePanel.py:841 msgid "Base Types" msgstr "" -#: ../BeremizIDE.py:483 +#: ../BeremizIDE.py:479 msgid "Beremiz" msgstr "" +#: ../runtime/NevowServer.py:201 +msgid "Beremiz Runtime Settings" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:938 +msgid "Binary Input Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:937 +msgid "Binary Output Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:936 +msgid "Binary Value Objects" +msgstr "" + #: ../plcopen/iec_std.csv:70 msgid "Binary selection (1 of 2)" msgstr "" @@ -675,7 +776,7 @@ msgid "Bitwise inverting" msgstr "" -#: ../editors/Viewer.py:621 ../editors/Viewer.py:2440 +#: ../editors/Viewer.py:624 ../editors/Viewer.py:2442 msgid "Block" msgstr "" @@ -687,11 +788,11 @@ msgid "Block name" msgstr "" -#: ../editors/Viewer.py:586 +#: ../editors/Viewer.py:589 msgid "Bottom" msgstr "" -#: ../ProjectController.py:1400 +#: ../runtime/PlcStatus.py:11 msgid "Broken" msgstr "" @@ -700,27 +801,27 @@ msgid "Browse %s values library" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:72 +#: ../dialogs/BrowseLocationsDialog.py:69 msgid "Browse Locations" msgstr "" -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1898 msgid "Build" msgstr "" -#: ../ProjectController.py:1335 +#: ../ProjectController.py:1397 msgid "Build directory already clean\n" msgstr "" -#: ../ProjectController.py:1816 +#: ../ProjectController.py:1899 msgid "Build project into build folder" msgstr "" -#: ../ProjectController.py:1108 +#: ../ProjectController.py:1155 msgid "C Build crashed !\n" msgstr "" -#: ../ProjectController.py:1105 +#: ../ProjectController.py:1152 msgid "C Build failed.\n" msgstr "" @@ -728,7 +829,7 @@ msgid "C code" msgstr "" -#: ../ProjectController.py:1186 +#: ../ProjectController.py:1240 msgid "C code generated successfully.\n" msgstr "" @@ -741,7 +842,7 @@ msgid "C compilation of %s failed.\n" msgstr "" -#: ../features.py:33 +#: ../features.py:22 msgid "C extension" msgstr "" @@ -757,16 +858,20 @@ msgid "CANOpen slave" msgstr "" -#: ../features.py:31 +#: ../features.py:18 msgid "CANopen support" msgstr "" +#: ../etherlab/ConfigEditor.py:858 +msgid "CIA402 nodes" +msgstr "" + #: ../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 "" -#: ../controls/VariablePanel.py:291 +#: ../controls/VariablePanel.py:290 msgid "Can only give a location to local or global variables" msgstr "" @@ -775,7 +880,7 @@ msgid "Can't generate program to file %s!" msgstr "" -#: ../controls/VariablePanel.py:289 +#: ../controls/VariablePanel.py:288 msgid "Can't give a location to a function block instance" msgstr "" @@ -784,7 +889,7 @@ msgid "Can't save project to file %s!" msgstr "" -#: ../controls/VariablePanel.py:339 +#: ../controls/VariablePanel.py:338 msgid "Can't set an initial value to a function block instance" msgstr "" @@ -798,11 +903,11 @@ msgid "Cannot find lower free IEC channel than %d\n" msgstr "" -#: ../connectors/PYRO/__init__.py:139 +#: ../connectors/PYRO/__init__.py:140 msgid "Cannot get PLC status - connection failed.\n" msgstr "" -#: ../ProjectController.py:967 +#: ../ProjectController.py:1013 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "" @@ -811,7 +916,7 @@ msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))" msgstr "" -#: ../ProjectController.py:1761 +#: ../ProjectController.py:1842 msgid "Cannot transfer while PLC is running. Stop it now?" msgstr "" @@ -819,27 +924,27 @@ msgid "Case sensitive" msgstr "" -#: ../editors/Viewer.py:581 +#: ../editors/Viewer.py:584 msgid "Center" msgstr "" -#: ../Beremiz_service.py:276 +#: ../Beremiz_service.py:289 msgid "Change IP of interface to bind" msgstr "" -#: ../Beremiz_service.py:275 +#: ../Beremiz_service.py:288 msgid "Change Name" msgstr "" -#: ../IDEFrame.py:1977 +#: ../IDEFrame.py:1994 msgid "Change POU Type To" msgstr "" -#: ../Beremiz_service.py:277 +#: ../Beremiz_service.py:290 msgid "Change Port Number" msgstr "" -#: ../Beremiz_service.py:278 +#: ../Beremiz_service.py:291 msgid "Change working directory" msgstr "" @@ -851,16 +956,21 @@ msgid "Choose a SVG file" msgstr "" -#: ../ProjectController.py:561 +#: ../etherlab/EtherCATManagementEditor.py:911 +#: ../etherlab/EtherCATManagementEditor.py:1306 +msgid "Choose a binary file" +msgstr "" + +#: ../ProjectController.py:582 msgid "Choose a directory to save project" msgstr "" -#: ../canfestival/canfestival.py:171 ../PLCOpenEditor.py:276 -#: ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357 +#: ../canfestival/canfestival.py:171 ../bacnet/bacnet.py:434 +#: ../PLCOpenEditor.py:276 ../PLCOpenEditor.py:308 ../PLCOpenEditor.py:357 msgid "Choose a file" msgstr "" -#: ../BeremizIDE.py:900 +#: ../BeremizIDE.py:897 msgid "Choose a project" msgstr "" @@ -869,19 +979,23 @@ msgid "Choose a value for %s:" msgstr "" -#: ../Beremiz_service.py:333 +#: ../Beremiz_service.py:346 msgid "Choose a working directory " msgstr "" -#: ../BeremizIDE.py:864 +#: ../etherlab/ConfigEditor.py:1234 +msgid "Choose an XML file" +msgstr "" + +#: ../BeremizIDE.py:861 msgid "Choose an empty directory for new project" msgstr "" -#: ../ProjectController.py:468 +#: ../ProjectController.py:483 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "" -#: ../ProjectController.py:435 +#: ../ProjectController.py:450 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "" @@ -889,15 +1003,15 @@ msgid "Class" msgstr "" -#: ../controls/VariablePanel.py:472 +#: ../controls/VariablePanel.py:474 msgid "Class Filter:" msgstr "" -#: ../dialogs/FBDVariableDialog.py:74 +#: ../dialogs/FBDVariableDialog.py:75 msgid "Class:" msgstr "" -#: ../ProjectController.py:1821 +#: ../ProjectController.py:1904 msgid "Clean" msgstr "" @@ -905,32 +1019,33 @@ msgid "Clean log messages" msgstr "" -#: ../ProjectController.py:1822 +#: ../ProjectController.py:1905 msgid "Clean project build folder" msgstr "" -#: ../ProjectController.py:1332 +#: ../ProjectController.py:1394 msgid "Cleaning the build directory\n" msgstr "" -#: ../IDEFrame.py:437 +#: ../IDEFrame.py:439 msgid "Clear Errors" msgstr "" -#: ../editors/Viewer.py:680 +#: ../editors/Viewer.py:683 msgid "Clear Execution Order" msgstr "" #: ../dialogs/SearchInProjectDialog.py:107 ../dialogs/FindInPouDialog.py:112 +#: ../etherlab/ConfigEditor.py:1361 msgid "Close" msgstr "" -#: ../BeremizIDE.py:627 ../PLCOpenEditor.py:183 +#: ../BeremizIDE.py:623 ../PLCOpenEditor.py:183 msgid "Close Application" msgstr "" -#: ../BeremizIDE.py:253 ../BeremizIDE.py:566 ../PLCOpenEditor.py:81 -#: ../IDEFrame.py:1040 +#: ../BeremizIDE.py:253 ../BeremizIDE.py:562 ../PLCOpenEditor.py:81 +#: ../IDEFrame.py:1053 msgid "Close Project" msgstr "" @@ -938,28 +1053,32 @@ msgid "Close Tab" msgstr "" -#: ../editors/Viewer.py:638 ../editors/Viewer.py:2448 +#: ../editors/Viewer.py:641 ../editors/Viewer.py:2450 msgid "Coil" msgstr "" -#: ../editors/Viewer.py:659 ../editors/LDViewer.py:517 +#: ../editors/Viewer.py:662 ../editors/LDViewer.py:517 msgid "Comment" msgstr "" +#: ../etherlab/ConfigEditor.py:66 +msgid "Communication Parameters" +msgstr "" + #: ../BeremizIDE.py:303 ../BeremizIDE.py:307 ../PLCOpenEditor.py:134 #: ../PLCOpenEditor.py:138 msgid "Community support" msgstr "" -#: ../dialogs/ProjectDialog.py:65 +#: ../dialogs/ProjectDialog.py:63 msgid "Company Name" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:106 +#: ../controls/ProjectPropertiesPanel.py:108 msgid "Company Name (required):" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:107 +#: ../controls/ProjectPropertiesPanel.py:109 msgid "Company URL (optional):" msgstr "" @@ -967,7 +1086,7 @@ msgid "Comparison" msgstr "" -#: ../ProjectController.py:756 +#: ../ProjectController.py:787 msgid "Compiling IEC Program into C code...\n" msgstr "" @@ -993,25 +1112,25 @@ #: ../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 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:353 msgid "Confirm or change variable name" msgstr "" -#: ../ProjectController.py:1842 +#: ../ProjectController.py:1925 msgid "Connect" msgstr "" -#: ../ProjectController.py:1843 +#: ../ProjectController.py:1926 msgid "Connect to the target PLC" msgstr "" -#: ../ProjectController.py:1391 +#: ../ProjectController.py:1469 #, python-format msgid "Connected to URI: %s" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:623 -#: ../editors/Viewer.py:2441 +#: ../dialogs/SFCTransitionDialog.py:78 ../editors/Viewer.py:626 +#: ../editors/Viewer.py:2443 msgid "Connection" msgstr "" @@ -1019,25 +1138,25 @@ msgid "Connection Properties" msgstr "" -#: ../ProjectController.py:1691 +#: ../ProjectController.py:1773 msgid "Connection canceled!\n" msgstr "" -#: ../ProjectController.py:1714 +#: ../ProjectController.py:1797 #, python-format msgid "Connection failed to %s!\n" msgstr "" -#: ../connectors/PYRO/__init__.py:123 ../connectors/WAMP/__init__.py:120 +#: ../connectors/PYRO/__init__.py:124 ../connectors/WAMP/__init__.py:121 msgid "Connection lost!\n" msgstr "" -#: ../connectors/PYRO/__init__.py:110 +#: ../connectors/PYRO/__init__.py:111 #, python-format msgid "Connection to '%s' failed.\n" msgstr "" -#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1676 +#: ../dialogs/ConnectionDialog.py:67 ../editors/Viewer.py:1678 msgid "Connector" msgstr "" @@ -1045,7 +1164,7 @@ msgid "Connectors:" msgstr "" -#: ../BeremizIDE.py:378 +#: ../BeremizIDE.py:374 msgid "Console" msgstr "" @@ -1053,18 +1172,22 @@ msgid "Constant" msgstr "" -#: ../editors/Viewer.py:634 ../editors/Viewer.py:2444 +#: ../editors/Viewer.py:637 ../editors/Viewer.py:2446 msgid "Contact" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:217 +#: ../controls/ProjectPropertiesPanel.py:219 msgid "Content Description (optional):" msgstr "" -#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1677 +#: ../dialogs/ConnectionDialog.py:68 ../editors/Viewer.py:1679 msgid "Continuation" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Control Byte" +msgstr "" + #: ../plcopen/iec_std.csv:18 msgid "Conversion from BCD" msgstr "" @@ -1081,20 +1204,20 @@ msgid "Conversion to time-of-day" msgstr "" -#: ../editors/Viewer.py:695 ../controls/LogViewer.py:713 ../IDEFrame.py:372 -#: ../IDEFrame.py:427 +#: ../editors/Viewer.py:698 ../controls/LogViewer.py:713 ../IDEFrame.py:375 +#: ../IDEFrame.py:428 msgid "Copy" msgstr "" -#: ../IDEFrame.py:1964 +#: ../IDEFrame.py:1981 msgid "Copy POU" msgstr "" -#: ../editors/FileManagementPanel.py:68 +#: ../editors/FileManagementPanel.py:67 msgid "Copy file from left folder to right" msgstr "" -#: ../editors/FileManagementPanel.py:67 +#: ../editors/FileManagementPanel.py:66 msgid "Copy file from right folder to left" msgstr "" @@ -1114,6 +1237,16 @@ msgid "Couldn't import old %s file." msgstr "" +#: ../etherlab/EthercatMaster.py:258 +#, python-format +msgid "Couldn't load %s network configuration file." +msgstr "" + +#: ../etherlab/EthercatMaster.py:279 +#, python-format +msgid "Couldn't load %s network process variables file." +msgstr "" + #: ../ConfigTreeNode.py:630 #, python-brace-format msgid "" @@ -1128,15 +1261,22 @@ " {a2}" msgstr "" +#: ../etherlab/etherlab.py:264 +#, python-brace-format +msgid "" +"Couldn't load {a1} XML file:\n" +"{a2}" +msgstr "" + #: ../PLCControler.py:552 msgid "Couldn't paste non-POU object." msgstr "" -#: ../ProjectController.py:1636 +#: ../ProjectController.py:1717 msgid "Couldn't start PLC !\n" msgstr "" -#: ../ProjectController.py:1644 +#: ../ProjectController.py:1725 msgid "Couldn't stop PLC !\n" msgstr "" @@ -1144,43 +1284,43 @@ msgid "Create HMI" msgstr "" -#: ../dialogs/PouDialog.py:54 +#: ../dialogs/PouDialog.py:48 msgid "Create a new POU" msgstr "" -#: ../dialogs/PouActionDialog.py:45 +#: ../dialogs/PouActionDialog.py:42 msgid "Create a new action" msgstr "" -#: ../IDEFrame.py:166 +#: ../IDEFrame.py:313 msgid "Create a new action block" msgstr "" -#: ../IDEFrame.py:115 ../IDEFrame.py:145 ../IDEFrame.py:178 +#: ../IDEFrame.py:262 ../IDEFrame.py:292 ../IDEFrame.py:325 msgid "Create a new block" msgstr "" -#: ../IDEFrame.py:139 +#: ../IDEFrame.py:286 msgid "Create a new branch" msgstr "" -#: ../IDEFrame.py:133 +#: ../IDEFrame.py:280 msgid "Create a new coil" msgstr "" -#: ../IDEFrame.py:109 ../IDEFrame.py:124 ../IDEFrame.py:154 +#: ../IDEFrame.py:256 ../IDEFrame.py:271 ../IDEFrame.py:301 msgid "Create a new comment" msgstr "" -#: ../IDEFrame.py:118 ../IDEFrame.py:148 ../IDEFrame.py:181 +#: ../IDEFrame.py:265 ../IDEFrame.py:295 ../IDEFrame.py:328 msgid "Create a new connection" msgstr "" -#: ../IDEFrame.py:136 ../IDEFrame.py:187 +#: ../IDEFrame.py:283 ../IDEFrame.py:334 msgid "Create a new contact" msgstr "" -#: ../IDEFrame.py:169 +#: ../IDEFrame.py:316 msgid "Create a new divergence" msgstr "" @@ -1188,43 +1328,55 @@ msgid "Create a new divergence or convergence" msgstr "" -#: ../IDEFrame.py:157 +#: ../IDEFrame.py:304 msgid "Create a new initial step" msgstr "" -#: ../IDEFrame.py:172 +#: ../IDEFrame.py:319 msgid "Create a new jump" msgstr "" -#: ../IDEFrame.py:127 ../IDEFrame.py:184 +#: ../IDEFrame.py:274 ../IDEFrame.py:331 msgid "Create a new power rail" msgstr "" -#: ../IDEFrame.py:130 +#: ../IDEFrame.py:277 msgid "Create a new rung" msgstr "" -#: ../IDEFrame.py:160 +#: ../IDEFrame.py:307 msgid "Create a new step" msgstr "" -#: ../dialogs/PouTransitionDialog.py:49 ../IDEFrame.py:163 +#: ../dialogs/PouTransitionDialog.py:45 ../IDEFrame.py:310 msgid "Create a new transition" msgstr "" -#: ../IDEFrame.py:112 ../IDEFrame.py:142 ../IDEFrame.py:175 +#: ../IDEFrame.py:259 ../IDEFrame.py:289 ../IDEFrame.py:322 msgid "Create a new variable" msgstr "" +#: ../etherlab/etherlab.py:183 +msgid "Creating new PDO" +msgstr "" + #: ../dialogs/AboutDialog.py:109 msgid "Credits" msgstr "" -#: ../Beremiz_service.py:424 +#: ../runtime/WampClient.py:400 +msgid "Current status" +msgstr "" + +#: ../Beremiz_service.py:437 msgid "Current working directory :" msgstr "" -#: ../editors/Viewer.py:694 ../IDEFrame.py:370 ../IDEFrame.py:426 +#: ../runtime/WampClient.py:161 +msgid "Custom protocol options failed :" +msgstr "" + +#: ../editors/Viewer.py:697 ../IDEFrame.py:373 ../IDEFrame.py:427 msgid "Cut" msgstr "" @@ -1273,11 +1425,11 @@ msgid "Date subtraction" msgstr "" -#: ../dialogs/DurationEditorDialog.py:46 +#: ../dialogs/DurationEditorDialog.py:57 msgid "Days:" msgstr "" -#: ../ProjectController.py:1729 +#: ../ProjectController.py:1809 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "" @@ -1285,42 +1437,51 @@ msgid "Debug instance" msgstr "" -#: ../editors/Viewer.py:490 +#: ../editors/Viewer.py:493 #, python-format msgid "Debug: %s" msgstr "" -#: ../ProjectController.py:1471 +#: ../ProjectController.py:1548 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "" -#: ../ProjectController.py:1469 +#: ../ProjectController.py:1545 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "" -#: ../IDEFrame.py:660 +#: ../IDEFrame.py:666 msgid "Debugger" msgstr "" -#: ../ProjectController.py:1726 +#: ../ProjectController.py:1805 msgid "Debugger ready\n" msgstr "" -#: ../BeremizIDE.py:1004 ../editors/Viewer.py:670 ../IDEFrame.py:1993 +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Default Size" +msgstr "" + +#: ../etherlab/EthercatCFileGenerator.py:174 +#, python-format +msgid "Definition conflict for location \"%s\"" +msgstr "" + +#: ../BeremizIDE.py:1001 ../editors/Viewer.py:673 ../IDEFrame.py:2010 msgid "Delete" msgstr "" -#: ../editors/Viewer.py:610 +#: ../editors/Viewer.py:613 msgid "Delete Divergence Branch" msgstr "" -#: ../editors/FileManagementPanel.py:157 +#: ../etherlab/ConfigEditor.py:1261 ../editors/FileManagementPanel.py:156 msgid "Delete File" msgstr "" -#: ../editors/Viewer.py:597 +#: ../editors/Viewer.py:600 msgid "Delete Wire Segment" msgstr "" @@ -1336,11 +1497,12 @@ msgid "Derivation Type:" msgstr "" -#: ../editors/CodeFileEditor.py:735 +#: ../etherlab/ConfigEditor.py:346 ../etherlab/ConfigEditor.py:465 +#: ../editors/CodeFileEditor.py:754 msgid "Description" msgstr "" -#: ../controls/VariablePanel.py:463 +#: ../controls/VariablePanel.py:465 msgid "Description:" msgstr "" @@ -1352,7 +1514,7 @@ msgid "Direction" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:102 +#: ../dialogs/BrowseLocationsDialog.py:101 msgid "Direction:" msgstr "" @@ -1360,19 +1522,19 @@ msgid "Directly" msgstr "" -#: ../ProjectController.py:1855 +#: ../ProjectController.py:1938 msgid "Disconnect" msgstr "" -#: ../ProjectController.py:1856 +#: ../ProjectController.py:1939 msgid "Disconnect from PLC" msgstr "" -#: ../ProjectController.py:1401 +#: ../runtime/PlcStatus.py:14 msgid "Disconnected" msgstr "" -#: ../editors/Viewer.py:654 ../editors/Viewer.py:2436 +#: ../editors/Viewer.py:657 ../editors/Viewer.py:2438 msgid "Divergence" msgstr "" @@ -1380,7 +1542,7 @@ msgid "Division" msgstr "" -#: ../editors/FileManagementPanel.py:156 +#: ../etherlab/ConfigEditor.py:1260 ../editors/FileManagementPanel.py:155 #, python-format msgid "Do you really want to delete the file '%s'?" msgstr "" @@ -1393,15 +1555,31 @@ msgid "Done" msgstr "" +#: ../runtime/WampClient.py:384 +msgid "Download" +msgstr "" + #: ../dialogs/ActionBlockDialog.py:42 msgid "Duration" msgstr "" +#: ../bacnet/bacnet.py:437 +msgid "EDE files (*_EDE.csv)|*_EDE.csv|All files|*.*" +msgstr "" + #: ../canfestival/canfestival.py:174 msgid "EDS files (*.eds)|*.eds|All files|*.*" msgstr "" -#: ../editors/Viewer.py:668 +#: ../etherlab/ConfigEditor.py:1342 +msgid "ESI Files Database management" +msgstr "" + +#: ../etherlab/ConfigEditor.py:1109 +msgid "ESI Files:" +msgstr "" + +#: ../editors/Viewer.py:671 msgid "Edit Block" msgstr "" @@ -1413,7 +1591,7 @@ msgid "Edit Contact Values" msgstr "" -#: ../dialogs/DurationEditorDialog.py:62 +#: ../dialogs/DurationEditorDialog.py:54 msgid "Edit Duration" msgstr "" @@ -1433,11 +1611,11 @@ msgid "Edit array type properties" msgstr "" -#: ../editors/Viewer.py:2660 ../editors/Viewer.py:3102 +#: ../dialogs/CommentEditDialog.py:53 msgid "Edit comment" msgstr "" -#: ../editors/FileManagementPanel.py:69 +#: ../editors/FileManagementPanel.py:68 msgid "Edit file" msgstr "" @@ -1445,11 +1623,11 @@ msgid "Edit item" msgstr "" -#: ../editors/Viewer.py:3059 +#: ../editors/Viewer.py:3058 msgid "Edit jump target" msgstr "" -#: ../ProjectController.py:1873 +#: ../ProjectController.py:1956 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "" @@ -1461,11 +1639,11 @@ msgid "Edit transition" msgstr "" -#: ../IDEFrame.py:632 +#: ../IDEFrame.py:638 msgid "Editor ToolBar" msgstr "" -#: ../ProjectController.py:1294 +#: ../ProjectController.py:1355 msgid "Editor selection" msgstr "" @@ -1473,7 +1651,7 @@ msgid "Elements :" msgstr "" -#: ../ProjectController.py:1399 +#: ../runtime/PlcStatus.py:15 msgid "Empty" msgstr "" @@ -1481,18 +1659,43 @@ msgid "Empty dimension isn't allowed." msgstr "" -#: ../Beremiz_service.py:341 +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Enable" +msgstr "" + +#: ../runtime/WampClient.py:410 +msgid "Enable WAMP connection" +msgstr "" + +#: ../Beremiz_service.py:354 msgid "Enter a name " msgstr "" -#: ../Beremiz_service.py:326 +#: ../Beremiz_service.py:339 msgid "Enter a port number " msgstr "" -#: ../Beremiz_service.py:317 +#: ../etherlab/EtherCATManagementEditor.py:627 +msgid "Enter hex or dec value (if enter dec value, it automatically conversed hex value)" +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:1964 +msgid "Enter hex(0xnnnn) or dec(n) value" +msgstr "" + +#: ../Beremiz_service.py:330 msgid "Enter the IP of the interface to bind" msgstr "" +#: ../etherlab/ConfigEditor.py:502 +msgid "Entry can't be write through SDO" +msgstr "" + +#: ../etherlab/EthercatCFileGenerator.py:569 +#, python-brace-format +msgid "Entry index 0x{a1:.4x}, subindex 0x{a2:.2x} not mapped for device {a3}" +msgstr "" + #: ../editors/DataTypeEditor.py:60 msgid "Enumerated" msgstr "" @@ -1503,42 +1706,45 @@ #: ../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/DurationEditorDialog.py:125 +#: ../dialogs/DurationEditorDialog.py:172 ../dialogs/PouTransitionDialog.py:113 +#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:78 #: ../dialogs/ArrayTypeDialog.py:114 ../dialogs/PouNameDialog.py:58 -#: ../dialogs/BrowseLocationsDialog.py:229 +#: ../dialogs/BrowseLocationsDialog.py:228 #: ../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 +#: ../dialogs/PouDialog.py:178 ../PLCOpenEditor.py:319 ../PLCOpenEditor.py:324 +#: ../etherlab/ConfigEditor.py:458 ../etherlab/ConfigEditor.py:510 +#: ../etherlab/ConfigEditor.py:981 ../etherlab/ConfigEditor.py:1047 +#: ../etherlab/ConfigEditor.py:1246 ../etherlab/ConfigEditor.py:1314 +#: ../etherlab/EthercatMaster.py:463 ../editors/ResourceEditor.py:468 +#: ../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:779 ../ProjectController.py:404 +#: ../ProjectController.py:548 ../ProjectController.py:557 +#: ../controls/FolderTree.py:222 ../controls/ProjectPropertiesPanel.py:308 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:163 #: ../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 +#: ../controls/VariablePanel.py:430 ../controls/VariablePanel.py:784 +#: ../util/ExceptionHandler.py:70 ../IDEFrame.py:1049 ../IDEFrame.py:1667 +#: ../IDEFrame.py:1708 ../IDEFrame.py:1713 ../IDEFrame.py:1727 +#: ../IDEFrame.py:1732 ../Beremiz_service.py:234 msgid "Error" msgstr "" -#: ../ProjectController.py:811 +#: ../ProjectController.py:848 msgid "Error : At least one configuration and one resource must be declared in PLC !\n" msgstr "" -#: ../ProjectController.py:803 +#: ../ProjectController.py:838 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "" -#: ../ProjectController.py:731 +#: ../ProjectController.py:762 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1550,7 +1756,17 @@ msgid "Error while saving \"%s\"\n" msgstr "" -#: ../canfestival/canfestival.py:179 +#: ../bacnet/bacnet.py:581 +#, python-brace-format +msgid "Error: BACnet server '{a1}.x: {a2}' contains objects with duplicate object identifiers.\n" +msgstr "" + +#: ../bacnet/bacnet.py:573 +#, python-brace-format +msgid "Error: BACnet server '{a1}.x:{a2}' contains objects with duplicate object names.\n" +msgstr "" + +#: ../canfestival/canfestival.py:179 ../bacnet/bacnet.py:444 msgid "Error: Export slave failed\n" msgstr "" @@ -1567,7 +1783,23 @@ msgid "Error: No PLC built\n" msgstr "" -#: ../ProjectController.py:1708 +#: ../etherlab/ConfigEditor.py:269 +msgid "EtherCAT Management" +msgstr "" + +#: ../features.py:20 +msgid "EtherCAT master" +msgstr "" + +#: ../etherlab/EthercatMaster.py:302 +msgid "Ethercat Slave Type" +msgstr "" + +#: ../etherlab/ConfigEditor.py:267 +msgid "Ethercat node" +msgstr "" + +#: ../ProjectController.py:1791 #, python-format msgid "Exception while connecting %s!\n" msgstr "" @@ -1576,11 +1808,11 @@ msgid "Execution Control:" msgstr "" -#: ../dialogs/FBDVariableDialog.py:84 ../dialogs/FBDBlockDialog.py:111 +#: ../dialogs/FBDVariableDialog.py:85 ../dialogs/FBDBlockDialog.py:111 msgid "Execution Order:" msgstr "" -#: ../features.py:36 +#: ../features.py:25 msgid "Experimental web based HMI" msgstr "" @@ -1592,44 +1824,48 @@ msgid "Exponentiation" msgstr "" +#: ../bacnet/bacnet.py:156 +msgid "Export BACnet slave to EDE file" +msgstr "" + #: ../canfestival/canfestival.py:186 msgid "Export CanOpen slave to EDS file" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:246 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243 msgid "Export graph values to clipboard" msgstr "" -#: ../canfestival/canfestival.py:185 +#: ../canfestival/canfestival.py:185 ../bacnet/bacnet.py:155 msgid "Export slave" msgstr "" -#: ../dialogs/FBDVariableDialog.py:94 +#: ../dialogs/FBDVariableDialog.py:95 msgid "Expression:" msgstr "" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid "External" msgstr "" -#: ../ProjectController.py:826 +#: ../ProjectController.py:866 msgid "Extracting Located Variables...\n" msgstr "" #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "FBD" msgstr "" -#: ../ProjectController.py:1773 +#: ../ProjectController.py:1855 msgid "Failed : Must build before transfer.\n" msgstr "" -#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:556 +#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:559 msgid "Falling Edge" msgstr "" -#: ../ProjectController.py:1098 +#: ../ProjectController.py:1145 msgid "Fatal : cannot get builder.\n" msgstr "" @@ -1638,12 +1874,12 @@ msgid "Fetching %s" msgstr "" -#: ../dialogs/DurationEditorDialog.py:167 +#: ../dialogs/DurationEditorDialog.py:169 #, python-format msgid "Field %s hasn't a valid value!" msgstr "" -#: ../dialogs/DurationEditorDialog.py:169 +#: ../dialogs/DurationEditorDialog.py:171 #, python-format msgid "Fields %s haven't a valid value!" msgstr "" @@ -1653,16 +1889,20 @@ msgid "File '%s' already exists!" msgstr "" +#: ../runtime/WampClient.py:407 +msgid "File containing secret for that ID" +msgstr "" + #: ../dialogs/SearchInProjectDialog.py:102 ../dialogs/FindInPouDialog.py:40 -#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:377 +#: ../dialogs/FindInPouDialog.py:107 ../IDEFrame.py:380 msgid "Find" msgstr "" -#: ../IDEFrame.py:379 +#: ../IDEFrame.py:382 msgid "Find Next" msgstr "" -#: ../IDEFrame.py:381 +#: ../IDEFrame.py:384 msgid "Find Previous" msgstr "" @@ -1674,7 +1914,7 @@ msgid "Find:" msgstr "" -#: ../editors/Viewer.py:1633 +#: ../editors/Viewer.py:1635 msgid "Force value" msgstr "" @@ -1682,9 +1922,9 @@ msgid "Forcing Variable Value" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:104 -#: ../dialogs/ProjectDialog.py:79 ../dialogs/PouActionDialog.py:102 -#: ../dialogs/PouDialog.py:125 +#: ../dialogs/SFCTransitionDialog.py:184 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/ProjectDialog.py:77 ../dialogs/PouActionDialog.py:102 +#: ../dialogs/PouDialog.py:160 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "" @@ -1702,20 +1942,24 @@ msgid "Forward" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1780 +#: ../IDEFrame.py:455 +msgid "Full screen" +msgstr "" + +#: ../dialogs/SearchInProjectDialog.py:40 ../IDEFrame.py:1797 msgid "Function" msgstr "" -#: ../IDEFrame.py:354 +#: ../IDEFrame.py:357 msgid "Function &Block" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1779 -#: ../IDEFrame.py:1972 +#: ../dialogs/SearchInProjectDialog.py:41 ../IDEFrame.py:1796 +#: ../IDEFrame.py:1989 msgid "Function Block" msgstr "" -#: ../controls/VariablePanel.py:868 +#: ../controls/VariablePanel.py:879 msgid "Function Block Types" msgstr "" @@ -1740,19 +1984,19 @@ msgid "Generate Program" msgstr "" -#: ../ProjectController.py:722 +#: ../ProjectController.py:750 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid "Global" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:245 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242 msgid "Go to current value" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:189 +#: ../controls/ProjectPropertiesPanel.py:192 msgid "Graphics" msgstr "" @@ -1764,32 +2008,36 @@ msgid "Greater than or equal to" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:149 +#: ../controls/ProjectPropertiesPanel.py:152 msgid "Grid Resolution:" msgstr "" -#: ../runtime/NevowServer.py:192 +#: ../runtime/NevowServer.py:313 msgid "HTTP interface port :" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:135 +#: ../controls/ProjectPropertiesPanel.py:138 msgid "Height:" msgstr "" -#: ../editors/FileManagementPanel.py:89 +#: ../editors/FileManagementPanel.py:88 msgid "Home Directory:" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:165 +#: ../controls/ProjectPropertiesPanel.py:168 msgid "Horizontal:" msgstr "" -#: ../dialogs/DurationEditorDialog.py:47 +#: ../dialogs/DurationEditorDialog.py:58 msgid "Hours:" msgstr "" +#: ../runtime/WampClient.py:404 +msgid "ID" +msgstr "" + #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 +#: ../dialogs/PouDialog.py:128 msgid "IL" msgstr "" @@ -1797,52 +2045,64 @@ msgid "IP" msgstr "" -#: ../Beremiz_service.py:318 ../Beremiz_service.py:320 +#: ../Beremiz_service.py:331 ../Beremiz_service.py:333 msgid "IP is not valid!" msgstr "" +#: ../etherlab/ConfigEditor.py:1387 +msgid "Import ESI file" +msgstr "" + #: ../svgui/svgui.py:50 ../svgui/svgui.py:51 msgid "Import SVG" msgstr "" -#: ../dialogs/FBDVariableDialog.py:41 ../editors/Viewer.py:1662 -#: ../controls/VariablePanel.py:89 +#: ../etherlab/ConfigEditor.py:1352 +msgid "Import file to ESI files database" +msgstr "" + +#: ../dialogs/FBDVariableDialog.py:64 ../editors/Viewer.py:1664 +#: ../controls/VariablePanel.py:86 msgid "InOut" msgstr "" -#: ../PLCGenerator.py:1040 +#: ../PLCGenerator.py:1089 #, python-brace-format msgid "InOut variable {a1} in block {a2} in POU {a3} must be connected." msgstr "" -#: ../editors/Viewer.py:473 +#: ../editors/Viewer.py:484 msgid "Inactive" msgstr "" -#: ../controls/VariablePanel.py:300 +#: ../controls/VariablePanel.py:299 #, python-brace-format msgid "Incompatible data types between \"{a1}\" and \"{a2}\"" msgstr "" -#: ../controls/VariablePanel.py:306 +#: ../controls/VariablePanel.py:305 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "" -#: ../controls/VariablePanel.py:310 +#: ../controls/VariablePanel.py:309 #, python-brace-format msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" msgstr "" +#: ../etherlab/ConfigEditor.py:48 ../etherlab/ConfigEditor.py:465 +msgid "Index" +msgstr "" + #: ../dialogs/ActionBlockDialog.py:42 msgid "Indicator" msgstr "" -#: ../editors/CodeFileEditor.py:734 +#: ../editors/CodeFileEditor.py:753 msgid "Initial" msgstr "" -#: ../editors/Viewer.py:650 +#: ../editors/Viewer.py:653 msgid "Initial Step" msgstr "" @@ -1855,6 +2115,14 @@ msgid "Initial Value:" msgstr "" +#: ../etherlab/EthercatCIA402Slave.py:119 +msgid "Initiate Drag'n drop of Axis ref located variable" +msgstr "" + +#: ../etherlab/EthercatCIA402Slave.py:126 +msgid "Initiate Drag'n drop of Network position located variable" +msgstr "" + #: ../svgui/svgui.py:56 msgid "Inkscape" msgstr "" @@ -1863,11 +2131,11 @@ msgid "Inline" msgstr "" -#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/SFCStepDialog.py:73 ../dialogs/FBDVariableDialog.py:63 #: ../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 +#: ../editors/Viewer.py:1662 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Input" msgstr "" @@ -1884,11 +2152,11 @@ msgid "Instance with id %d doesn't exist!" msgstr "" -#: ../editors/ResourceEditor.py:279 +#: ../editors/ResourceEditor.py:277 msgid "Instances:" msgstr "" -#: ../controls/VariablePanel.py:88 +#: ../controls/VariablePanel.py:85 msgid "Interface" msgstr "" @@ -1900,7 +2168,7 @@ msgid "Interval" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:304 +#: ../controls/ProjectPropertiesPanel.py:306 msgid "" "Invalid URL!\n" "Please enter correct URL address." @@ -1920,14 +2188,26 @@ msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:139 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:129 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:93 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:162 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "" -#: ../controls/VariablePanel.py:279 ../controls/VariablePanel.py:282 +#: ../etherlab/ConfigEditor.py:418 ../etherlab/ConfigEditor.py:421 +#: ../etherlab/ConfigEditor.py:452 +#, python-format +msgid "Invalid value \"%s\" for process variable" +msgstr "" + +#: ../etherlab/ConfigEditor.py:480 ../etherlab/ConfigEditor.py:483 +#: ../etherlab/ConfigEditor.py:504 +#, python-format +msgid "Invalid value \"%s\" for startup command" +msgstr "" + +#: ../controls/VariablePanel.py:278 ../controls/VariablePanel.py:281 #, python-format msgid "Invalid value \"%s\" for variable grid element" msgstr "" @@ -1942,7 +2222,12 @@ msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" msgstr "" -#: ../dialogs/DurationEditorDialog.py:124 +#: ../etherlab/CommonEtherCATFunction.py:31 +#, python-format +msgid "Invalid value for HexDecValue \"%s\"" +msgstr "" + +#: ../dialogs/DurationEditorDialog.py:125 msgid "" "Invalid value!\n" "You must fill a numeric value." @@ -1952,12 +2237,12 @@ msgid "Is connection secure?" msgstr "" -#: ../editors/Viewer.py:655 ../editors/Viewer.py:2425 +#: ../editors/Viewer.py:658 ../editors/Viewer.py:2427 msgid "Jump" msgstr "" #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "LD" msgstr "" @@ -1966,33 +2251,33 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "" -#: ../dialogs/PouTransitionDialog.py:93 ../dialogs/PouActionDialog.py:91 -#: ../dialogs/PouDialog.py:113 +#: ../dialogs/PouTransitionDialog.py:92 ../dialogs/PouActionDialog.py:91 +#: ../dialogs/PouDialog.py:148 msgid "Language" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:206 +#: ../controls/ProjectPropertiesPanel.py:208 msgid "Language (optional):" msgstr "" -#: ../dialogs/PouTransitionDialog.py:67 ../dialogs/PouActionDialog.py:63 -#: ../dialogs/PouDialog.py:81 +#: ../dialogs/PouTransitionDialog.py:66 ../dialogs/PouActionDialog.py:63 +#: ../dialogs/PouDialog.py:79 msgid "Language:" msgstr "" -#: ../ProjectController.py:1779 +#: ../ProjectController.py:1861 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "" -#: ../Beremiz_service.py:281 +#: ../Beremiz_service.py:294 msgid "Launch WX GUI inspector" msgstr "" -#: ../Beremiz_service.py:280 +#: ../Beremiz_service.py:293 msgid "Launch a live Python shell" msgstr "" -#: ../editors/Viewer.py:580 +#: ../editors/Viewer.py:583 msgid "Left" msgstr "" @@ -2012,7 +2297,7 @@ msgid "Less than or equal to" msgstr "" -#: ../IDEFrame.py:652 +#: ../IDEFrame.py:658 msgid "Library" msgstr "" @@ -2028,7 +2313,7 @@ msgid "Linking :\n" msgstr "" -#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:90 +#: ../dialogs/DiscoveryDialog.py:115 ../controls/VariablePanel.py:87 msgid "Local" msgstr "" @@ -2036,7 +2321,7 @@ msgid "Local entries" msgstr "" -#: ../ProjectController.py:1685 +#: ../ProjectController.py:1767 msgid "Local service discovery failed!\n" msgstr "" @@ -2044,28 +2329,44 @@ msgid "Location" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:79 +#: ../dialogs/BrowseLocationsDialog.py:78 msgid "Locations available:" msgstr "" +#: ../runtime/NevowServer.py:175 +msgid "Log message level" +msgstr "" + #: ../plcopen/iec_std.csv:25 msgid "Logarithm to base 10" msgstr "" -#: ../connectors/PYRO/__init__.py:102 +#: ../connectors/PYRO/__init__.py:103 #, python-format msgid "MDNS resolution failure for '%s'\n" msgstr "" +#: ../etherlab/ConfigEditor.py:67 +msgid "Manufacturer Specific" +msgstr "" + #: ../canfestival/SlaveEditor.py:68 ../canfestival/NetworkEditor.py:92 msgid "Map Variable" msgstr "" -#: ../features.py:31 +#: ../features.py:19 +msgid "Map located variables over Bacnet" +msgstr "" + +#: ../features.py:18 msgid "Map located variables over CANopen" msgstr "" -#: ../features.py:32 +#: ../features.py:20 +msgid "Map located variables over EtherCAT" +msgstr "" + +#: ../features.py:21 msgid "Map located variables over Modbus" msgstr "" @@ -2073,11 +2374,25 @@ msgid "Master" msgstr "" +#: ../etherlab/ConfigEditor.py:613 +msgid "Master State" +msgstr "" + #: ../ConfigTreeNode.py:544 #, python-brace-format msgid "Max count ({a1}) reached for this confnode of type {a2} " msgstr "" +#: ../etherlab/etherlab.py:173 +msgid "Max entries by PDO" +msgstr "" + +#: ../etherlab/etherlab.py:176 +msgid "" +"Maximal number of entries mapped in a PDO\n" +"including empty entries used for PDO alignment" +msgstr "" + #: ../plcopen/iec_std.csv:71 msgid "Maximum" msgstr "" @@ -2088,26 +2403,34 @@ #: ../dialogs/BrowseLocationsDialog.py:45 ../editors/Viewer.py:333 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:103 -#: ../controls/VariablePanel.py:317 ../controls/VariablePanel.py:380 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Memory" msgstr "" -#: ../IDEFrame.py:617 +#: ../IDEFrame.py:623 msgid "Menu ToolBar" msgstr "" -#: ../dialogs/DurationEditorDialog.py:51 +#: ../runtime/NevowServer.py:176 +msgid "Message text" +msgstr "" + +#: ../dialogs/DurationEditorDialog.py:62 msgid "Microseconds:" msgstr "" -#: ../editors/Viewer.py:585 +#: ../editors/Viewer.py:588 msgid "Middle" msgstr "" -#: ../dialogs/DurationEditorDialog.py:50 +#: ../dialogs/DurationEditorDialog.py:61 msgid "Milliseconds:" msgstr "" +#: ../etherlab/etherlab.py:167 +msgid "Minimal size in bits between 2 pdo entries" +msgstr "" + #: ../plcopen/iec_std.csv:72 msgid "Minimum" msgstr "" @@ -2116,15 +2439,15 @@ msgid "Minimum:" msgstr "" -#: ../dialogs/DurationEditorDialog.py:48 +#: ../dialogs/DurationEditorDialog.py:59 msgid "Minutes:" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:231 +#: ../etherlab/etherlab.py:238 ../controls/ProjectPropertiesPanel.py:233 msgid "Miscellaneous" msgstr "" -#: ../features.py:32 +#: ../features.py:21 msgid "Modbus support" msgstr "" @@ -2132,7 +2455,20 @@ msgid "Modifier:" msgstr "" -#: ../PLCGenerator.py:795 ../PLCGenerator.py:1269 +#: ../etherlab/ConfigEditor.py:1313 +#, python-format +msgid "Module %s must be an integer!" +msgstr "" + +#: ../etherlab/ConfigEditor.py:1376 +msgid "Modules Library" +msgstr "" + +#: ../etherlab/ConfigEditor.py:1145 +msgid "Modules library:" +msgstr "" + +#: ../PLCGenerator.py:795 ../PLCGenerator.py:1318 #, python-brace-format msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "" @@ -2157,23 +2493,31 @@ msgid "Move element up" msgstr "" -#: ../editors/ResourceEditor.py:286 +#: ../editors/ResourceEditor.py:284 msgid "Move instance down" msgstr "" -#: ../editors/ResourceEditor.py:285 +#: ../editors/ResourceEditor.py:283 msgid "Move instance up" msgstr "" -#: ../editors/ResourceEditor.py:255 +#: ../etherlab/ConfigEditor.py:655 +msgid "Move process variable down" +msgstr "" + +#: ../etherlab/ConfigEditor.py:654 +msgid "Move process variable up" +msgstr "" + +#: ../editors/ResourceEditor.py:253 msgid "Move task down" msgstr "" -#: ../editors/ResourceEditor.py:254 +#: ../editors/ResourceEditor.py:252 msgid "Move task up" msgstr "" -#: ../IDEFrame.py:106 ../IDEFrame.py:121 ../IDEFrame.py:151 ../IDEFrame.py:192 +#: ../IDEFrame.py:253 ../IDEFrame.py:268 ../IDEFrame.py:298 ../IDEFrame.py:339 msgid "Move the view" msgstr "" @@ -2181,14 +2525,28 @@ msgid "Move up" msgstr "" -#: ../editors/CodeFileEditor.py:657 ../controls/VariablePanel.py:484 +#: ../bacnet/BacnetSlaveEditor.py:814 ../editors/CodeFileEditor.py:675 +#: ../controls/VariablePanel.py:486 msgid "Move variable down" msgstr "" -#: ../editors/CodeFileEditor.py:656 ../controls/VariablePanel.py:483 +#: ../bacnet/BacnetSlaveEditor.py:813 ../editors/CodeFileEditor.py:674 +#: ../controls/VariablePanel.py:485 msgid "Move variable up" msgstr "" +#: ../bacnet/BacnetSlaveEditor.py:941 +msgid "Multi-State Input Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:940 +msgid "Multi-State Output Objects" +msgstr "" + +#: ../bacnet/BacnetSlaveEditor.py:939 +msgid "Multi-State Value Objects" +msgstr "" + #: ../plcopen/iec_std.csv:74 msgid "Multiplexer (select 1 of N)" msgstr "" @@ -2197,7 +2555,7 @@ msgid "Multiplication" msgstr "" -#: ../editors/FileManagementPanel.py:87 +#: ../editors/FileManagementPanel.py:86 msgid "My Computer:" msgstr "" @@ -2205,13 +2563,15 @@ msgid "NAME" msgstr "" -#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:97 -#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:732 +#: ../etherlab/EtherCATManagementEditor.py:37 ../etherlab/ConfigEditor.py:48 +#: ../etherlab/ConfigEditor.py:343 ../etherlab/ConfigEditor.py:1167 +#: ../editors/ResourceEditor.py:76 ../editors/ResourceEditor.py:94 +#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:751 #: ../controls/VariablePanel.py:59 msgid "Name" msgstr "" -#: ../Beremiz_service.py:342 +#: ../Beremiz_service.py:355 msgid "Name must not be null!" msgstr "" @@ -2224,15 +2584,19 @@ msgid "Natural logarithm" msgstr "" -#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:554 +#: ../dialogs/LDElementDialog.py:78 ../editors/Viewer.py:557 msgid "Negated" msgstr "" -#: ../Beremiz_service.py:610 +#: ../etherlab/ConfigEditor.py:612 +msgid "Network" +msgstr "" + +#: ../Beremiz_service.py:620 msgid "Nevow Web service failed. " msgstr "" -#: ../Beremiz_service.py:580 +#: ../Beremiz_service.py:596 msgid "Nevow/Athena import failed :" msgstr "" @@ -2245,20 +2609,29 @@ msgid "New item" msgstr "" -#: ../editors/Viewer.py:553 +#: ../editors/Viewer.py:556 msgid "No Modifier" msgstr "" -#: ../ProjectController.py:1808 +#: ../ProjectController.py:1891 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "" -#: ../PLCGenerator.py:1678 +#: ../etherlab/EthercatCFileGenerator.py:504 +#, python-format +msgid "No Sync manager defined for %s!" +msgstr "" + +#: ../PLCGenerator.py:1727 #, python-format msgid "No body defined in \"%s\" POU" msgstr "" -#: ../PLCGenerator.py:816 ../PLCGenerator.py:1281 +#: ../etherlab/CommonEtherCATFunction.py:1581 +msgid "No connected slaves" +msgstr "" + +#: ../PLCGenerator.py:816 ../PLCGenerator.py:1330 #, python-brace-format msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "" @@ -2274,7 +2647,17 @@ msgid "No informations found for \"%s\" block" msgstr "" -#: ../PLCGenerator.py:1232 +#: ../etherlab/EthercatCFileGenerator.py:224 +#, python-format +msgid "No informations found for device %s!" +msgstr "" + +#: ../etherlab/EthercatCFileGenerator.py:515 +#, python-format +msgid "No more free PDO index available for %s!" +msgstr "" + +#: ../PLCGenerator.py:1281 #, python-brace-format msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken" msgstr "" @@ -2283,11 +2666,21 @@ msgid "No search results available." msgstr "" +#: ../etherlab/ConfigEditor.py:1029 +#, python-format +msgid "No slave defined at position %d!" +msgstr "" + #: ../svgui/svgui.py:142 #, python-format msgid "No such SVG file: %s\n" msgstr "" +#: ../etherlab/ConfigEditor.py:1245 +#, python-format +msgid "No such XML file: %s\n" +msgstr "" + #: ../canfestival/config_utils.py:682 #, python-brace-format msgid "No such index/subindex ({a1},{a2}) (variable {a3})" @@ -2298,15 +2691,33 @@ msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" msgstr "" +#: ../etherlab/EthercatCFileGenerator.py:438 +#, python-format +msgid "No sync manager available for %s pdo!" +msgstr "" + #: ../dialogs/BrowseValuesLibraryDialog.py:87 msgid "No valid value selected!" msgstr "" -#: ../PLCGenerator.py:1676 +#: ../PLCGenerator.py:1725 #, python-format msgid "No variable defined in \"%s\" POU" msgstr "" +#: ../etherlab/ConfigEditor.py:606 +#, python-format +msgid "Node Position: %d" +msgstr "" + +#: ../etherlab/ConfigEditor.py:697 +msgid "Node filter:" +msgstr "" + +#: ../etherlab/ConfigEditor.py:717 +msgid "Nodes variables filter:" +msgstr "" + #: ../canfestival/config_utils.py:379 #, python-brace-format msgid "Non existing node ID : {a1} (variable {a2})" @@ -2329,6 +2740,10 @@ msgid "Not equal to" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:361 +msgid "Now Uploading..." +msgstr "" + #: ../dialogs/SFCDivergenceDialog.py:91 msgid "Number of sequences:" msgstr "" @@ -2337,7 +2752,11 @@ msgid "Numerical" msgstr "" -#: ../editors/CodeFileEditor.py:736 +#: ../bacnet/BacnetSlaveEditor.py:808 +msgid "Object Properties:" +msgstr "" + +#: ../editors/CodeFileEditor.py:755 msgid "OnChange" msgstr "" @@ -2354,15 +2773,15 @@ msgid "Open Inkscape" msgstr "" -#: ../version.py:86 +#: ../version.py:88 msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime." msgstr "" -#: ../ProjectController.py:1879 +#: ../ProjectController.py:1962 msgid "Open a file explorer to manage project files" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:161 +#: ../wxglade_hmi/wxglade_hmi.py:176 msgid "Open wxGlade" msgstr "" @@ -2370,11 +2789,11 @@ msgid "Option" msgstr "" -#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:737 +#: ../dialogs/FindInPouDialog.py:84 ../editors/CodeFileEditor.py:756 msgid "Options" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:109 +#: ../controls/ProjectPropertiesPanel.py:111 msgid "Organization (optional):" msgstr "" @@ -2382,14 +2801,19 @@ msgid "Other Profile" msgstr "" -#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:42 +#: ../dialogs/SFCStepDialog.py:74 ../dialogs/FBDVariableDialog.py:65 #: ../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 +#: ../editors/Viewer.py:1663 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:103 ../controls/VariablePanel.py:86 +#: ../controls/VariablePanel.py:316 ../controls/VariablePanel.py:379 msgid "Output" msgstr "" +#: ../etherlab/EthercatCFileGenerator.py:170 +#, python-brace-format +msgid "Output variables can't be defined with different locations ({a1} and {a2})" +msgstr "" + #: ../canfestival/SlaveEditor.py:67 ../canfestival/NetworkEditor.py:91 msgid "PDO Receive" msgstr "" @@ -2398,26 +2822,39 @@ msgid "PDO Transmit" msgstr "" +#: ../etherlab/etherlab.py:164 +msgid "PDO alignment" +msgstr "" + #: ../targets/toolchain_gcc.py:174 msgid "PLC :\n" msgstr "" -#: ../BeremizIDE.py:383 +#: ../BeremizIDE.py:379 msgid "PLC Log" msgstr "" -#: ../ProjectController.py:1082 +#: ../ProjectController.py:1129 msgid "PLC code generation failed !\n" msgstr "" -#: ../Beremiz_service.py:305 +#: ../etherlab/EtherCATManagementEditor.py:250 +msgid "PLC is Not Started" +msgstr "" + +#: ../Beremiz_service.py:318 msgid "PLC is empty or already started." msgstr "" -#: ../Beremiz_service.py:312 +#: ../Beremiz_service.py:325 msgid "PLC is not started." msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:2160 +#: ../etherlab/CommonEtherCATFunction.py:1589 +msgid "PLC not connected!" +msgstr "" + #: ../PLCOpenEditor.py:180 ../PLCOpenEditor.py:293 #, python-brace-format msgid "" @@ -2444,28 +2881,28 @@ msgid "PORT" msgstr "" -#: ../dialogs/PouDialog.py:109 +#: ../dialogs/PouDialog.py:144 msgid "POU Name" msgstr "" -#: ../dialogs/PouDialog.py:66 +#: ../dialogs/PouDialog.py:64 msgid "POU Name:" msgstr "" -#: ../dialogs/PouDialog.py:111 +#: ../dialogs/PouDialog.py:146 msgid "POU Type" msgstr "" -#: ../dialogs/PouDialog.py:73 +#: ../dialogs/PouDialog.py:71 msgid "POU Type:" msgstr "" -#: ../connectors/PYRO/__init__.py:52 +#: ../connectors/PYRO/__init__.py:53 #, python-format msgid "PYRO connecting to URI : %s\n" msgstr "" -#: ../connectors/PYRO/__init__.py:68 +#: ../connectors/PYRO/__init__.py:69 #, python-format msgid "PYRO using certificates in '%s' \n" msgstr "" @@ -2474,11 +2911,11 @@ msgid "Page Setup" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:124 +#: ../controls/ProjectPropertiesPanel.py:127 msgid "Page Size (optional):" msgstr "" -#: ../IDEFrame.py:2640 +#: ../IDEFrame.py:2660 #, python-format msgid "Page: %d" msgstr "" @@ -2487,11 +2924,11 @@ msgid "Parent instance" msgstr "" -#: ../editors/Viewer.py:696 ../IDEFrame.py:374 ../IDEFrame.py:428 +#: ../editors/Viewer.py:699 ../IDEFrame.py:377 ../IDEFrame.py:429 msgid "Paste" msgstr "" -#: ../IDEFrame.py:1899 +#: ../IDEFrame.py:1916 msgid "Paste POU" msgstr "" @@ -2503,7 +2940,11 @@ msgid "Pin number:" msgstr "" -#: ../editors/Viewer.py:2792 ../editors/Viewer.py:3060 +#: ../runtime/NevowServer.py:163 +msgid "Platform" +msgstr "" + +#: ../editors/Viewer.py:2791 ../editors/Viewer.py:3059 #: ../editors/SFCViewer.py:785 msgid "Please choose a target" msgstr "" @@ -2512,7 +2953,7 @@ msgid "Please enter a block name" msgstr "" -#: ../editors/Viewer.py:2661 ../editors/Viewer.py:3103 +#: ../dialogs/CommentEditDialog.py:52 msgid "Please enter comment text" msgstr "" @@ -2521,7 +2962,8 @@ msgid "Please enter step name" msgstr "" -#: ../dialogs/PouNameDialog.py:37 ../Beremiz_service.py:209 +#: ../dialogs/SFCStepNameDialog.py:37 ../dialogs/PouNameDialog.py:37 +#: ../Beremiz_service.py:222 msgid "Please enter text" msgstr "" @@ -2530,15 +2972,19 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "" -#: ../Beremiz_service.py:327 +#: ../Beremiz_service.py:340 msgid "Port number must be 0 <= port <= 65535!" msgstr "" -#: ../Beremiz_service.py:327 +#: ../Beremiz_service.py:340 msgid "Port number must be an integer!" msgstr "" -#: ../editors/Viewer.py:633 ../editors/Viewer.py:2449 +#: ../etherlab/ConfigEditor.py:47 ../etherlab/ConfigEditor.py:465 +msgid "Position" +msgstr "" + +#: ../editors/Viewer.py:636 ../editors/Viewer.py:2451 msgid "Power Rail" msgstr "" @@ -2559,7 +3005,7 @@ msgid "Print" msgstr "" -#: ../IDEFrame.py:1110 +#: ../IDEFrame.py:1123 msgid "Print preview" msgstr "" @@ -2571,33 +3017,37 @@ msgid "Priority:" msgstr "" -#: ../runtime/PLCObject.py:518 +#: ../runtime/PLCObject.py:523 #, python-format msgid "Problem starting PLC : error %d" msgstr "" -#: ../dialogs/ProjectDialog.py:63 +#: ../etherlab/ConfigEditor.py:647 +msgid "Process variables mapped between nodes:" +msgstr "" + +#: ../dialogs/ProjectDialog.py:61 msgid "Product Name" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:90 +#: ../controls/ProjectPropertiesPanel.py:91 msgid "Product Name (required):" msgstr "" +#: ../controls/ProjectPropertiesPanel.py:93 +msgid "Product Release (optional):" +msgstr "" + +#: ../dialogs/ProjectDialog.py:62 +msgid "Product Version" +msgstr "" + #: ../controls/ProjectPropertiesPanel.py:92 -msgid "Product Release (optional):" -msgstr "" - -#: ../dialogs/ProjectDialog.py:64 -msgid "Product Version" -msgstr "" - -#: ../controls/ProjectPropertiesPanel.py:91 msgid "Product Version (required):" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1778 -#: ../IDEFrame.py:1975 +#: ../dialogs/SearchInProjectDialog.py:42 ../IDEFrame.py:1795 +#: ../IDEFrame.py:1992 msgid "Program" msgstr "" @@ -2613,7 +3063,7 @@ msgid "Programs can't be used by other POUs!" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:94 ../IDEFrame.py:601 +#: ../controls/ProjectPropertiesPanel.py:95 ../IDEFrame.py:607 msgid "Project" msgstr "" @@ -2622,19 +3072,19 @@ msgid "Project '%s':" msgstr "" -#: ../ProjectController.py:1878 +#: ../ProjectController.py:1961 msgid "Project Files" msgstr "" -#: ../dialogs/ProjectDialog.py:62 +#: ../dialogs/ProjectDialog.py:60 msgid "Project Name" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:88 +#: ../controls/ProjectPropertiesPanel.py:89 msgid "Project Name (required):" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:89 +#: ../controls/ProjectPropertiesPanel.py:90 msgid "Project Version (optional):" msgstr "" @@ -2661,16 +3111,16 @@ msgid "Properties" msgstr "" -#: ../Beremiz_service.py:427 +#: ../Beremiz_service.py:440 msgid "Publishing service on local network" msgstr "" -#: ../connectors/PYRO/__init__.py:126 +#: ../connectors/PYRO/__init__.py:127 #, python-format msgid "Pyro exception: %s\n" msgstr "" -#: ../Beremiz_service.py:420 +#: ../Beremiz_service.py:433 msgid "Pyro port :" msgstr "" @@ -2678,7 +3128,7 @@ msgid "Python code" msgstr "" -#: ../features.py:34 +#: ../features.py:23 msgid "Python file" msgstr "" @@ -2686,19 +3136,23 @@ msgid "Qualifier" msgstr "" -#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:283 +#: ../BeremizIDE.py:263 ../PLCOpenEditor.py:101 ../Beremiz_service.py:296 msgid "Quit" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:227 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:224 msgid "Range:" msgstr "" -#: ../ProjectController.py:1872 +#: ../ProjectController.py:1955 msgid "Raw IEC code" msgstr "" -#: ../BeremizIDE.py:1083 +#: ../etherlab/ConfigEditor.py:344 +msgid "Read from (nodeid, index, subindex)" +msgstr "" + +#: ../BeremizIDE.py:1080 #, python-format msgid "Really delete node '%s'?" msgstr "" @@ -2707,7 +3161,7 @@ msgid "Realm:" msgstr "" -#: ../IDEFrame.py:367 ../IDEFrame.py:424 +#: ../IDEFrame.py:370 ../IDEFrame.py:425 msgid "Redo" msgstr "" @@ -2715,10 +3169,14 @@ msgid "Reference" msgstr "" -#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:434 +#: ../dialogs/DiscoveryDialog.py:109 ../IDEFrame.py:436 msgid "Refresh" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:1965 +msgid "Register Modify Dialog" +msgstr "" + #: ../dialogs/SearchInProjectDialog.py:70 msgid "Regular expression" msgstr "" @@ -2727,7 +3185,7 @@ msgid "Regular expressions" msgstr "" -#: ../editors/Viewer.py:1636 +#: ../editors/Viewer.py:1638 msgid "Release value" msgstr "" @@ -2735,16 +3193,16 @@ msgid "Remainder (modulo)" msgstr "" -#: ../BeremizIDE.py:1084 +#: ../BeremizIDE.py:1081 #, python-format msgid "Remove %s node" msgstr "" -#: ../IDEFrame.py:2445 +#: ../IDEFrame.py:2463 msgid "Remove Datatype" msgstr "" -#: ../IDEFrame.py:2450 +#: ../IDEFrame.py:2468 msgid "Remove Pou" msgstr "" @@ -2756,35 +3214,52 @@ msgid "Remove element" msgstr "" -#: ../editors/FileManagementPanel.py:66 +#: ../etherlab/ConfigEditor.py:1353 +msgid "Remove file from database" +msgstr "" + +#: ../editors/FileManagementPanel.py:65 msgid "Remove file from left folder" msgstr "" -#: ../editors/ResourceEditor.py:284 +#: ../etherlab/ConfigEditor.py:1389 +msgid "Remove file from library" +msgstr "" + +#: ../editors/ResourceEditor.py:282 msgid "Remove instance" msgstr "" +#: ../etherlab/ConfigEditor.py:653 +msgid "Remove process variable" +msgstr "" + #: ../canfestival/NetworkEditor.py:111 msgid "Remove slave" msgstr "" -#: ../editors/ResourceEditor.py:253 +#: ../etherlab/ConfigEditor.py:680 +msgid "Remove startup service variable" +msgstr "" + +#: ../editors/ResourceEditor.py:251 msgid "Remove task" msgstr "" -#: ../editors/CodeFileEditor.py:655 ../controls/VariablePanel.py:482 +#: ../bacnet/BacnetSlaveEditor.py:812 ../editors/CodeFileEditor.py:673 +#: ../controls/VariablePanel.py:484 msgid "Remove variable" msgstr "" -#: ../IDEFrame.py:1979 +#: ../IDEFrame.py:1996 msgid "Rename" msgstr "" -#: ../editors/FileManagementPanel.py:187 +#: ../editors/FileManagementPanel.py:186 msgid "Replace File" msgstr "" -#: ../editors/Viewer.py:598 +#: ../editors/Viewer.py:601 msgid "Replace Wire by connections" msgstr "" @@ -2796,11 +3271,11 @@ msgid "Reset" msgstr "" -#: ../editors/Viewer.py:681 +#: ../editors/Viewer.py:684 msgid "Reset Execution Order" msgstr "" -#: ../IDEFrame.py:453 +#: ../IDEFrame.py:459 msgid "Reset Perspective" msgstr "" @@ -2808,7 +3283,7 @@ msgid "Reset search result" msgstr "" -#: ../BeremizIDE.py:1015 ../plcopen/types_enums.py:77 +#: ../BeremizIDE.py:1012 ../plcopen/types_enums.py:77 msgid "Resources" msgstr "" @@ -2816,11 +3291,11 @@ msgid "Retain" msgstr "" -#: ../controls/VariablePanel.py:455 +#: ../controls/VariablePanel.py:457 msgid "Return Type:" msgstr "" -#: ../editors/Viewer.py:582 +#: ../editors/Viewer.py:585 msgid "Right" msgstr "" @@ -2828,7 +3303,7 @@ msgid "Right PowerRail" msgstr "" -#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:555 +#: ../dialogs/LDElementDialog.py:80 ../editors/Viewer.py:558 msgid "Rising Edge" msgstr "" @@ -2844,15 +3319,15 @@ msgid "Rounding up/down" msgstr "" -#: ../ProjectController.py:1828 +#: ../ProjectController.py:1911 msgid "Run" msgstr "" -#: ../ProjectController.py:1127 +#: ../ProjectController.py:1175 msgid "Runtime IO extensions C code generation failed !\n" msgstr "" -#: ../ProjectController.py:1136 +#: ../ProjectController.py:1186 msgid "Runtime library extensions C code generation failed !\n" msgstr "" @@ -2864,11 +3339,11 @@ msgid "SDO Server" msgstr "" -#: ../dialogs/PouDialog.py:44 ../controls/ProjectPropertiesPanel.py:158 +#: ../dialogs/PouDialog.py:128 ../controls/ProjectPropertiesPanel.py:161 msgid "SFC" msgstr "" -#: ../PLCGenerator.py:1433 +#: ../PLCGenerator.py:1482 #, python-brace-format msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\"" msgstr "" @@ -2879,7 +3354,7 @@ msgstr "" #: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:36 -#: ../dialogs/PouDialog.py:44 +#: ../dialogs/PouDialog.py:128 msgid "ST" msgstr "" @@ -2891,7 +3366,7 @@ msgid "SVG files (*.svg)|*.svg|All files|*.*" msgstr "" -#: ../features.py:36 +#: ../features.py:25 msgid "SVGUI" msgstr "" @@ -2908,37 +3383,47 @@ msgid "Save as" msgstr "" -#: ../ProjectController.py:530 +#: ../etherlab/EtherCATManagementEditor.py:941 +#: ../etherlab/EtherCATManagementEditor.py:1289 +msgid "Save as..." +msgstr "" + +#: ../ProjectController.py:546 msgid "Save path is the same as path of a project! \n" msgstr "" +#: ../etherlab/EthercatMaster.py:455 ../etherlab/EthercatMaster.py:764 +#: ../etherlab/EthercatMaster.py:765 +msgid "Scan Network" +msgstr "" + #: ../dialogs/SearchInProjectDialog.py:73 msgid "Scope" msgstr "" -#: ../IDEFrame.py:644 +#: ../IDEFrame.py:650 msgid "Search" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:384 ../IDEFrame.py:430 +#: ../dialogs/SearchInProjectDialog.py:49 ../IDEFrame.py:387 ../IDEFrame.py:431 msgid "Search in Project" msgstr "" -#: ../dialogs/DurationEditorDialog.py:49 +#: ../dialogs/DurationEditorDialog.py:60 msgid "Seconds:" msgstr "" -#: ../IDEFrame.py:390 +#: ../IDEFrame.py:393 msgid "Select All" msgstr "" #: ../editors/Viewer.py:331 ../editors/TextViewer.py:305 -#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:315 -#: ../controls/VariablePanel.py:378 +#: ../controls/LocationCellEditor.py:101 ../controls/VariablePanel.py:314 +#: ../controls/VariablePanel.py:377 msgid "Select a variable class:" msgstr "" -#: ../ProjectController.py:1293 +#: ../ProjectController.py:1354 msgid "Select an editor:" msgstr "" @@ -2946,11 +3431,11 @@ msgid "Select an instance" msgstr "" -#: ../IDEFrame.py:628 +#: ../IDEFrame.py:634 msgid "Select an object" msgstr "" -#: ../ProjectController.py:537 +#: ../ProjectController.py:555 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "" @@ -2966,6 +3451,14 @@ msgid "Selection Divergence" msgstr "" +#: ../runtime/NevowServer.py:182 +msgid "Send" +msgstr "" + +#: ../runtime/NevowServer.py:181 +msgid "Send a message to the log" +msgstr "" + #: ../dialogs/DiscoveryDialog.py:135 msgid "Service Discovery" msgstr "" @@ -2974,7 +3467,7 @@ msgid "Services available:" msgstr "" -#: ../dialogs/LDElementDialog.py:79 +#: ../dialogs/LDElementDialog.py:79 ../runtime/WampClient.py:434 msgid "Set" msgstr "" @@ -2986,7 +3479,7 @@ msgid "Shift right" msgstr "" -#: ../ProjectController.py:1863 +#: ../ProjectController.py:1946 msgid "Show IEC code generated by PLCGenerator" msgstr "" @@ -2998,7 +3491,7 @@ msgid "Show Master generated by config_utils" msgstr "" -#: ../ProjectController.py:1862 +#: ../ProjectController.py:1945 msgid "Show code" msgstr "" @@ -3018,6 +3511,14 @@ msgid "Single" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:361 +msgid "Slave SDO Monitoring" +msgstr "" + +#: ../etherlab/ConfigEditor.py:135 +msgid "Slave entries" +msgstr "" + #: ../targets/toolchain_makefile.py:130 msgid "Source didn't change, no build.\n" msgstr "" @@ -3035,44 +3536,56 @@ msgid "Standard function blocks" msgstr "" -#: ../ProjectController.py:1829 ../Beremiz_service.py:271 +#: ../etherlab/ConfigEditor.py:68 +msgid "Standardized Device Profile" +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:37 +msgid "Start Address" +msgstr "" + +#: ../ProjectController.py:1912 ../Beremiz_service.py:284 msgid "Start PLC" msgstr "" -#: ../ProjectController.py:1074 +#: ../ProjectController.py:1121 #, python-format msgid "Start build in %s\n" msgstr "" -#: ../ProjectController.py:1397 +#: ../runtime/PlcStatus.py:12 msgid "Started" msgstr "" -#: ../ProjectController.py:1633 +#: ../ProjectController.py:1714 msgid "Starting PLC\n" msgstr "" -#: ../BeremizIDE.py:393 +#: ../etherlab/ConfigEditor.py:674 +msgid "Startup service variables assignments:" +msgstr "" + +#: ../BeremizIDE.py:389 msgid "Status ToolBar" msgstr "" -#: ../editors/Viewer.py:651 ../editors/Viewer.py:2424 +#: ../editors/Viewer.py:654 ../editors/Viewer.py:2426 msgid "Step" msgstr "" -#: ../ProjectController.py:1835 +#: ../ProjectController.py:1918 msgid "Stop" msgstr "" -#: ../Beremiz_service.py:272 +#: ../Beremiz_service.py:285 msgid "Stop PLC" msgstr "" -#: ../ProjectController.py:1836 +#: ../ProjectController.py:1919 msgid "Stop Running PLC" msgstr "" -#: ../ProjectController.py:1398 +#: ../runtime/PlcStatus.py:13 msgid "Stopped" msgstr "" @@ -3080,6 +3593,14 @@ msgid "Structure" msgstr "" +#: ../etherlab/ConfigEditor.py:48 +msgid "SubIndex" +msgstr "" + +#: ../etherlab/ConfigEditor.py:465 +msgid "Subindex" +msgstr "" + #: ../editors/DataTypeEditor.py:60 msgid "Subrange" msgstr "" @@ -3088,11 +3609,11 @@ msgid "Subtraction" msgstr "" -#: ../ProjectController.py:1113 +#: ../ProjectController.py:1160 msgid "Successfully built.\n" msgstr "" -#: ../IDEFrame.py:449 +#: ../IDEFrame.py:451 msgid "Switch perspective" msgstr "" @@ -3108,19 +3629,19 @@ msgid "Tangent" msgstr "" -#: ../editors/ResourceEditor.py:97 +#: ../editors/ResourceEditor.py:94 msgid "Task" msgstr "" -#: ../editors/ResourceEditor.py:248 +#: ../editors/ResourceEditor.py:246 msgid "Tasks:" msgstr "" -#: ../controls/VariablePanel.py:91 +#: ../controls/VariablePanel.py:88 msgid "Temp" msgstr "" -#: ../version.py:35 +#: ../version.py:37 msgid "" "The best place to ask questions about Beremiz/PLCOpenEditor\n" "is project's mailing list: beremiz-devel@lists.sourceforge.net\n" @@ -3132,27 +3653,38 @@ "https://lists.sourceforge.net/lists/listinfo/beremiz-devel" msgstr "" -#: ../editors/FileManagementPanel.py:186 +#: ../etherlab/EthercatMaster.py:454 +msgid "" +"The current network configuration will be deleted.\n" +"Do you want to continue?" +msgstr "" + +#: ../editors/FileManagementPanel.py:185 #, python-format msgid "" "The file '%s' already exist.\n" "Do you want to replace it?" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:928 +#: ../etherlab/EtherCATManagementEditor.py:1320 +msgid "The file does not exist!" +msgstr "" + #: ../editors/LDViewer.py:893 msgid "The group of block must be coherent!" msgstr "" -#: ../BeremizIDE.py:573 ../IDEFrame.py:1046 +#: ../BeremizIDE.py:569 ../IDEFrame.py:1059 msgid "There are changes, do you want to save?" msgstr "" -#: ../IDEFrame.py:1691 ../IDEFrame.py:1710 +#: ../IDEFrame.py:1708 ../IDEFrame.py:1727 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../IDEFrame.py:1133 +#: ../IDEFrame.py:1146 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -3162,7 +3694,7 @@ msgid "This option isn't available yet!" msgstr "" -#: ../controls/DebugVariablePanel/DebugVariablePanel.py:567 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:546 #, python-format msgid "Tick: %d" msgstr "" @@ -3200,53 +3732,57 @@ msgid "Time-of-day subtraction" msgstr "" +#: ../IDEFrame.py:432 +msgid "Toggle fullscreen mode" +msgstr "" + #: ../dialogs/ForceVariableDialog.py:188 msgid "Toggle value" msgstr "" -#: ../editors/Viewer.py:584 +#: ../editors/Viewer.py:587 msgid "Top" msgstr "" -#: ../ProjectController.py:1848 +#: ../ProjectController.py:1931 msgid "Transfer" msgstr "" -#: ../ProjectController.py:1849 +#: ../ProjectController.py:1932 msgid "Transfer PLC" msgstr "" -#: ../ProjectController.py:1802 +#: ../ProjectController.py:1884 msgid "Transfer completed successfully.\n" msgstr "" -#: ../ProjectController.py:1805 +#: ../ProjectController.py:1887 msgid "Transfer failed\n" msgstr "" -#: ../editors/Viewer.py:652 ../editors/Viewer.py:2426 ../editors/Viewer.py:2453 +#: ../editors/Viewer.py:655 ../editors/Viewer.py:2428 ../editors/Viewer.py:2455 msgid "Transition" msgstr "" -#: ../PLCGenerator.py:1564 +#: ../PLCGenerator.py:1613 #, python-format msgid "Transition \"%s\" body must contain an output variable or coil referring to its name" msgstr "" -#: ../dialogs/PouTransitionDialog.py:91 +#: ../dialogs/PouTransitionDialog.py:90 msgid "Transition Name" msgstr "" -#: ../dialogs/PouTransitionDialog.py:60 +#: ../dialogs/PouTransitionDialog.py:59 msgid "Transition Name:" msgstr "" -#: ../PLCGenerator.py:1657 +#: ../PLCGenerator.py:1706 #, python-brace-format msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU" msgstr "" -#: ../PLCGenerator.py:1646 +#: ../PLCGenerator.py:1695 #, python-brace-format msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU" msgstr "" @@ -3268,17 +3804,17 @@ msgid "Triggering" msgstr "" -#: ../Beremiz_service.py:490 +#: ../Beremiz_service.py:503 msgid "Twisted unavailable." msgstr "" -#: ../dialogs/ActionBlockDialog.py:42 ../editors/ResourceEditor.py:97 -#: ../editors/DataTypeEditor.py:55 ../editors/CodeFileEditor.py:733 -#: ../controls/VariablePanel.py:61 +#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:48 +#: ../editors/ResourceEditor.py:94 ../editors/DataTypeEditor.py:55 +#: ../editors/CodeFileEditor.py:752 ../controls/VariablePanel.py:61 msgid "Type" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:54 +#: ../dialogs/BrowseLocationsDialog.py:51 msgid "Type and derivated" msgstr "" @@ -3295,16 +3831,25 @@ msgid "Type infos:" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:55 +#: ../etherlab/EthercatCFileGenerator.py:76 +#, python-format +msgid "Type of location \"%s\" not yet supported!" +msgstr "" + +#: ../dialogs/BrowseLocationsDialog.py:52 msgid "Type strict" msgstr "" #: ../dialogs/SFCDivergenceDialog.py:60 ../dialogs/SFCTransitionDialog.py:59 -#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:111 +#: ../dialogs/LDPowerRailDialog.py:58 ../dialogs/BrowseLocationsDialog.py:110 #: ../dialogs/FBDBlockDialog.py:69 ../dialogs/ConnectionDialog.py:61 msgid "Type:" msgstr "" +#: ../runtime/WampClient.py:129 +msgid "TypeError register option: {}" +msgstr "" + #: ../connectors/PYRO/dialog.py:39 ../connectors/WAMP/dialog.py:42 msgid "URI host:" msgstr "" @@ -3327,7 +3872,17 @@ msgid "Unable to get Xenomai's %s \n" msgstr "" -#: ../PLCGenerator.py:974 ../PLCGenerator.py:1252 +#: ../bacnet/bacnet.py:430 +#, python-format +msgid "Unable to load file \"%s\"!" +msgstr "" + +#: ../bacnet/bacnet.py:420 +#, python-format +msgid "Unable to save to file \"%s\"!" +msgstr "" + +#: ../PLCGenerator.py:1023 ../PLCGenerator.py:1301 #, python-brace-format msgid "Undefined block type \"{a1}\" in \"{a2}\" POU" msgstr "" @@ -3337,20 +3892,25 @@ msgid "Undefined pou type \"%s\"" msgstr "" -#: ../IDEFrame.py:365 ../IDEFrame.py:423 +#: ../IDEFrame.py:368 ../IDEFrame.py:424 msgid "Undo" msgstr "" -#: ../ProjectController.py:442 +#: ../ProjectController.py:457 msgid "Unknown" msgstr "" +#: ../etherlab/EthercatCFileGenerator.py:470 +#, python-brace-format +msgid "Unknown entry index 0x{a1:.4x}, subindex 0x{a2:.2x} for device {a3}" +msgstr "" + #: ../editors/Viewer.py:437 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "" -#: ../ProjectController.py:439 ../ProjectController.py:440 +#: ../ProjectController.py:454 ../ProjectController.py:455 msgid "Unnamed" msgstr "" @@ -3359,12 +3919,20 @@ msgid "Unnamed%d" msgstr "" -#: ../controls/VariablePanel.py:308 +#: ../controls/VariablePanel.py:307 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "" -#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:841 +#: ../etherlab/EtherCATManagementEditor.py:2080 +msgid "Update" +msgstr "" + +#: ../runtime/WampClient.py:380 +msgid "Upload:" +msgstr "" + +#: ../editors/DataTypeEditor.py:646 ../controls/VariablePanel.py:852 msgid "User Data Types" msgstr "" @@ -3376,7 +3944,7 @@ msgid "User-defined POUs" msgstr "" -#: ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/ActionBlockDialog.py:42 ../etherlab/ConfigEditor.py:465 msgid "Value" msgstr "" @@ -3384,24 +3952,29 @@ msgid "Values:" msgstr "" -#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:622 -#: ../editors/Viewer.py:2456 +#: ../dialogs/ActionBlockDialog.py:47 ../editors/Viewer.py:625 +#: ../editors/Viewer.py:2458 msgid "Variable" msgstr "" #: ../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 +#: ../editors/TextViewer.py:367 ../controls/VariablePanel.py:354 msgid "Variable Drop" msgstr "" -#: ../dialogs/FBDVariableDialog.py:68 +#: ../etherlab/ConfigEditor.py:70 +#, python-format +msgid "Variable Index: #x%4.4X" +msgstr "" + +#: ../dialogs/FBDVariableDialog.py:58 msgid "Variable Properties" msgstr "" #: ../editors/Viewer.py:332 ../editors/TextViewer.py:306 -#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:316 -#: ../controls/VariablePanel.py:379 +#: ../controls/LocationCellEditor.py:102 ../controls/VariablePanel.py:315 +#: ../controls/VariablePanel.py:378 msgid "Variable class" msgstr "" @@ -3409,24 +3982,28 @@ msgid "Variable don't belong to this POU!" msgstr "" +#: ../etherlab/ConfigEditor.py:280 +msgid "Variable entries:" +msgstr "" + #: ../dialogs/LDElementDialog.py:92 msgid "Variable:" msgstr "" -#: ../controls/VariablePanel.py:90 +#: ../controls/VariablePanel.py:87 msgid "Variables" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:166 +#: ../controls/ProjectPropertiesPanel.py:169 msgid "Vertical:" msgstr "" -#: ../runtime/WampClient.py:113 +#: ../runtime/WampClient.py:170 #, python-format msgid "WAMP Client connection failed (%s) .. retrying .." msgstr "" -#: ../runtime/WampClient.py:117 +#: ../runtime/WampClient.py:179 #, python-format msgid "WAMP Client connection lost (%s) .. retrying .." msgstr "" @@ -3435,49 +4012,66 @@ msgid "WAMP ID:" msgstr "" -#: ../runtime/WampClient.py:172 +#: ../runtime/WampClient.py:413 +msgid "WAMP Server URL" +msgstr "" + +#: ../runtime/WampClient.py:276 +msgid "WAMP authentication has no secret configured" +msgstr "" + +#: ../runtime/WampClient.py:304 +msgid "WAMP client can not connect to :" +msgstr "" + +#: ../runtime/WampClient.py:301 msgid "WAMP client connecting to :" msgstr "" -#: ../runtime/WampClient.py:148 -msgid "WAMP client connection not established!" -msgstr "" - -#: ../Beremiz_service.py:625 +#: ../Beremiz_service.py:628 msgid "WAMP client startup failed. " msgstr "" -#: ../Beremiz_service.py:621 -msgid "WAMP config is incomplete." -msgstr "" - -#: ../Beremiz_service.py:623 -msgid "WAMP config is missing." -msgstr "" - -#: ../connectors/WAMP/__init__.py:99 +#: ../runtime/WampClient.py:206 +msgid "WAMP configuration error : missing '{}' parameter." +msgstr "" + +#: ../runtime/WampClient.py:192 +msgid "WAMP configuration error:" +msgstr "" + +#: ../connectors/WAMP/__init__.py:100 #, python-format msgid "WAMP connecting to URL : %s\n" msgstr "" -#: ../connectors/WAMP/__init__.py:140 +#: ../connectors/WAMP/__init__.py:141 msgid "WAMP connection timeout" msgstr "" -#: ../connectors/WAMP/__init__.py:158 +#: ../connectors/WAMP/__init__.py:159 #, python-format msgid "WAMP connection to '%s' failed.\n" msgstr "" -#: ../Beremiz_service.py:595 +#: ../runtime/WampClient.py:280 +msgid "WAMP deactivated in configuration" +msgstr "" + +#: ../Beremiz_service.py:605 msgid "WAMP import failed :" msgstr "" -#: ../runtime/WampClient.py:126 -msgid "WAMP load error: " -msgstr "" - -#: ../runtime/WampClient.py:108 +#: ../runtime/WampClient.py:241 +msgid "WAMP secret empty" +msgstr "" + +#: ../runtime/WampClient.py:139 +#, python-format +msgid "WAMP session joined (%s) by:" +msgstr "" + +#: ../runtime/WampClient.py:146 msgid "WAMP session left" msgstr "" @@ -3485,15 +4079,24 @@ msgid "WXGLADE GUI" msgstr "" -#: ../runtime/WampClient.py:137 -msgid "Wamp secret load error:" -msgstr "" - -#: ../dialogs/PouDialog.py:137 ../editors/LDViewer.py:902 +#: ../runtime/WampClient.py:432 +msgid "Wamp Settings" +msgstr "" + +#: ../dialogs/PouDialog.py:172 ../editors/LDViewer.py:902 msgid "Warning" msgstr "" -#: ../ProjectController.py:726 +#: ../etherlab/EthercatCFileGenerator.py:405 +#: ../etherlab/EthercatCFileGenerator.py:571 +msgid "Warning: " +msgstr "" + +#: ../wxglade_hmi/wxglade_hmi.py:166 +msgid "Warning: WxGlade HMI has no object with name identical to extension name, and no python code is provided in start section to create object.\n" +msgstr "" + +#: ../ProjectController.py:756 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "" @@ -3501,7 +4104,7 @@ msgid "Whole Project" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:134 +#: ../controls/ProjectPropertiesPanel.py:137 msgid "Width:" msgstr "" @@ -3509,27 +4112,63 @@ msgid "Wrap search" msgstr "" +#: ../etherlab/ConfigEditor.py:345 +msgid "Write to (nodeid, index, subindex)" +msgstr "" + #: ../dialogs/AboutDialog.py:126 msgid "Written by" msgstr "" -#: ../features.py:35 +#: ../etherlab/EthercatCFileGenerator.py:409 +#: ../etherlab/EthercatCFileGenerator.py:499 +#, python-format +msgid "Wrong direction for location \"%s\"!" +msgstr "" + +#: ../etherlab/EthercatCFileGenerator.py:400 +#: ../etherlab/EthercatCFileGenerator.py:487 +#, python-format +msgid "Wrong type for location \"%s\"!" +msgstr "" + +#: ../features.py:24 msgid "WxGlade GUI" msgstr "" +#: ../etherlab/ConfigEditor.py:1236 +msgid "XML files (*.xml)|*.xml|All files|*.*" +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:652 +msgid "You can input only hex, dec value" +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:1999 +msgid "You can't modify it. This register is read-only or it's not connected." +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:648 +msgid "You cannot SDO download this state" +msgstr "" + #: ../svgui/svgui.py:150 msgid "" "You don't have write permissions.\n" "Open Inkscape anyway ?" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:160 +#: ../wxglade_hmi/wxglade_hmi.py:175 msgid "" "You don't have write permissions.\n" "Open wxGlade anyway ?" msgstr "" -#: ../ProjectController.py:390 +#: ../etherlab/EtherCATManagementEditor.py:2002 +msgid "You entered wrong value. You can enter dec or hex value only." +msgstr "" + +#: ../ProjectController.py:403 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" @@ -3551,11 +4190,21 @@ msgid "You must type a value!" msgstr "" -#: ../IDEFrame.py:440 +#: ../IDEFrame.py:442 msgid "Zoom" msgstr "" -#: ../dialogs/DurationEditorDialog.py:158 +#: ../etherlab/EtherCATManagementEditor.py:911 +#: ../etherlab/EtherCATManagementEditor.py:1307 +msgid "bin files (*.bin)|*.bin" +msgstr "" + +#: ../etherlab/EtherCATManagementEditor.py:942 +#: ../etherlab/EtherCATManagementEditor.py:1290 +msgid "bin files (*.bin)|*.bin|All files|*.*" +msgstr "" + +#: ../dialogs/DurationEditorDialog.py:159 msgid "days" msgstr "" @@ -3569,35 +4218,39 @@ msgid "exited with status {a1} (pid {a2})\n" msgstr "" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "function" msgstr "" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "functionBlock" msgstr "" -#: ../dialogs/DurationEditorDialog.py:158 +#: ../dialogs/DurationEditorDialog.py:159 msgid "hours" msgstr "" -#: ../ProjectController.py:753 +#: ../ProjectController.py:784 msgid "matiec installation is not found\n" msgstr "" +#: ../dialogs/DurationEditorDialog.py:162 +msgid "microseconds" +msgstr "" + +#: ../dialogs/DurationEditorDialog.py:161 +msgid "milliseconds" +msgstr "" + #: ../dialogs/DurationEditorDialog.py:160 -msgid "milliseconds" -msgstr "" - -#: ../dialogs/DurationEditorDialog.py:159 msgid "minutes" msgstr "" -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouDialog.py:110 msgid "program" msgstr "" -#: ../dialogs/DurationEditorDialog.py:159 +#: ../dialogs/DurationEditorDialog.py:160 msgid "seconds" msgstr "" @@ -3613,6 +4266,10 @@ msgid "string right of" msgstr "" +#: ../etherlab/EtherCATManagementEditor.py:323 +msgid "update" +msgstr "" + #: ../Beremiz.py:167 msgid "update info unavailable." msgstr "" @@ -3667,6 +4324,33 @@ msgid "CAN_Driver" msgstr "" +msgid "BACnetServerNode" +msgstr "" + +msgid "Network_Interface" +msgstr "" + +msgid "UDP_Port_Number" +msgstr "" + +msgid "BACnet_Communication_Control_Password" +msgstr "" + +msgid "BACnet_Device_ID" +msgstr "" + +msgid "BACnet_Device_Name" +msgstr "" + +msgid "BACnet_Device_Location" +msgstr "" + +msgid "BACnet_Device_Description" +msgstr "" + +msgid "BACnet_Device_Application_Software_Version" +msgstr "" + msgid "Generic" msgstr "" @@ -3763,6 +4447,24 @@ msgid "MaxRemoteTCPclients" msgstr "" +msgid "CIA402SlaveParams" +msgstr "" + +msgid "Enable%s" +msgstr "" + +msgid "ProcessVariables" +msgstr "" + +msgid "variable" +msgstr "" + +msgid "ReadFrom" +msgstr "" + +msgid "WriteTo" +msgstr "" + msgid "BaseParams" msgstr "" @@ -3793,9 +4495,6 @@ msgid "variables" msgstr "" -msgid "variable" -msgstr "" - msgid "name" msgstr ""