diff -r 6431f26aa501 -r 3291024e00da i18n/messages.pot --- a/i18n/messages.pot Thu Feb 16 14:34:40 2017 +0500 +++ b/i18n/messages.pot Thu Feb 16 14:35:12 2017 +0500 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-04-21 17:11+0300\n" +"POT-Creation-Date: 2017-01-12 14:39+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,20 +17,7 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ../PLCOpenEditor.py:396 -msgid "" -"\n" -"An error has occurred.\n" -"\n" -"Click OK to save an error report.\n" -"\n" -"Please be kind enough to send this file to:\n" -"edouard.tisserant@gmail.com\n" -"\n" -"Error:\n" -msgstr "" - -#: ../Beremiz.py:1155 +#: ../PLCOpenEditor.py:408 ../Beremiz.py:1191 #, python-format msgid "" "\n" @@ -40,7 +27,7 @@ "Please be kind enough to send this file to:\n" "beremiz-devel@lists.sourceforge.net\n" "\n" -"You should now restart Beremiz.\n" +"You should now restart program.\n" "\n" "Traceback:\n" msgstr "" @@ -69,355 +56,369 @@ msgid " Temp" msgstr "" -#: ../PLCOpenEditor.py:406 -msgid " : " -msgstr "" - -#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:66 +#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/ProjectDialog.py:66 #: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113 #, python-format msgid " and %s" msgstr "" -#: ../ProjectController.py:1027 +#: ../ProjectController.py:1089 msgid " generation failed !\n" msgstr "" -#: ../plcopen/plcopen.py:883 +#: ../plcopen/plcopen.py:881 #, python-format msgid "\"%s\" Data Type doesn't exist !!!" msgstr "" -#: ../plcopen/plcopen.py:901 +#: ../plcopen/plcopen.py:899 #, python-format msgid "\"%s\" POU already exists !!!" msgstr "" -#: ../plcopen/plcopen.py:922 +#: ../plcopen/plcopen.py:920 #, python-format msgid "\"%s\" POU doesn't exist !!!" msgstr "" -#: ../editors/Viewer.py:242 +#: ../editors/Viewer.py:246 #, python-format msgid "\"%s\" can't use itself!" msgstr "" -#: ../IDEFrame.py:1615 ../IDEFrame.py:1634 +#: ../IDEFrame.py:1652 ../IDEFrame.py:1671 #, python-format msgid "\"%s\" config already exists!" msgstr "" -#: ../plcopen/plcopen.py:471 +#: ../plcopen/plcopen.py:467 #, python-format msgid "\"%s\" configuration already exists !!!" msgstr "" -#: ../IDEFrame.py:1569 +#: ../IDEFrame.py:1602 #, python-format msgid "\"%s\" data type already exists!" msgstr "" -#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:219 -#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:258 -#: ../editors/Viewer.py:326 ../editors/Viewer.py:350 ../editors/Viewer.py:370 -#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299 -#: ../controls/VariablePanel.py:386 +#: ../dialogs/PouTransitionDialog.py:110 ../dialogs/BlockPreviewDialog.py:219 +#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262 +#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374 +#: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301 +#: ../controls/VariablePanel.py:396 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "" -#: ../Beremiz.py:962 +#: ../Beremiz.py:994 #, python-format msgid "\"%s\" folder is not a valid Beremiz project\n" msgstr "" -#: ../PLCGenerator.py:1091 -#, python-format -msgid "\"%s\" function cancelled in \"%s\" POU: No input connected" -msgstr "" - -#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101 -#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49 +#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106 +#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 #: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120 -#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583 -#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733 -#: ../IDEFrame.py:1560 +#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584 +#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:751 +#: ../IDEFrame.py:1593 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "" -#: ../editors/Viewer.py:246 -#, python-format -msgid "\"%s\" is already used by \"%s\"!" -msgstr "" - -#: ../plcopen/plcopen.py:2405 +#: ../plcopen/plcopen.py:2412 #, python-format msgid "\"%s\" is an invalid value!" msgstr "" -#: ../PLCOpenEditor.py:332 ../PLCOpenEditor.py:369 +#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:381 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99 -#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47 +#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104 +#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 #: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 -#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748 -#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1558 +#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768 +#: ../controls/VariablePanel.py:749 ../IDEFrame.py:1591 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../IDEFrame.py:2362 +#: ../IDEFrame.py:2396 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "" #: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122 -#: ../editors/Viewer.py:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341 -#: ../editors/Viewer.py:363 ../editors/TextViewer.py:268 -#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:348 -#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:328 -#: ../IDEFrame.py:1578 +#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345 +#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 +#: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 +#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 +#: ../IDEFrame.py:1611 #, python-format msgid "\"%s\" pou already exists!" msgstr "" -#: ../plcopen/plcopen.py:495 -#, python-format -msgid "\"%s\" resource already exists in \"%s\" configuration !!!" -msgstr "" - -#: ../plcopen/plcopen.py:512 -#, python-format -msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!" -msgstr "" - -#: ../dialogs/SFCStepNameDialog.py:57 +#: ../dialogs/SFCStepNameDialog.py:58 #, python-format msgid "\"%s\" step already exists!" msgstr "" -#: ../editors/DataTypeEditor.py:549 +#: ../editors/DataTypeEditor.py:550 #, python-format msgid "\"%s\" value already defined!" msgstr "" -#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744 +#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745 #, python-format msgid "\"%s\" value isn't a valid array dimension!" msgstr "" -#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751 +#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752 #, python-format msgid "" "\"%s\" value isn't a valid array dimension!\n" "Right value must be greater than left value." msgstr "" -#: ../editors/CodeFileEditor.py:663 -msgid "#" -msgstr "" - -#: ../PLCControler.py:970 -#, python-format -msgid "%s \"%s\" can't be pasted as a %s." -msgstr "" - -#: ../PLCControler.py:1530 +#: ../PLCGenerator.py:1101 +#, python-brace-format +msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" +msgstr "" + +#: ../editors/Viewer.py:250 +#, python-brace-format +msgid "\"{a1}\" is already used by \"{a2}\"!" +msgstr "" + +#: ../plcopen/plcopen.py:491 +#, python-brace-format +msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!" +msgstr "" + +#: ../plcopen/plcopen.py:509 +#, python-brace-format +msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578 +#, python-format +msgid "%03gms" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569 +#, python-format +msgid "%dd" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570 +#, python-format +msgid "%dh" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#, python-format +msgid "%dm" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53 +#, python-format +msgid "%dms" +msgstr "" + +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#, python-format +msgid "%ds" +msgstr "" + +#: ../PLCControler.py:1531 #, python-format msgid "%s Data Types" msgstr "" -#: ../PLCControler.py:1513 +#: ../PLCControler.py:1514 #, python-format msgid "%s POUs" msgstr "" -#: ../canfestival/SlaveEditor.py:46 ../canfestival/NetworkEditor.py:67 +#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:90 #, python-format msgid "%s Profile" msgstr "" -#: ../ConfigTreeNode.py:32 -#, python-format -msgid "" -"%s XML file doesn't follow XSD schema at line %d:\n" -"%s" -msgstr "" - -#: ../plcopen/plcopen.py:1638 ../plcopen/plcopen.py:1645 -#: ../plcopen/plcopen.py:1657 ../plcopen/plcopen.py:1665 -#: ../plcopen/plcopen.py:1675 +#: ../plcopen/plcopen.py:1645 ../plcopen/plcopen.py:1652 +#: ../plcopen/plcopen.py:1664 ../plcopen/plcopen.py:1672 +#: ../plcopen/plcopen.py:1682 #, python-format msgid "%s body don't have instances!" msgstr "" -#: ../plcopen/plcopen.py:1693 ../plcopen/plcopen.py:1700 -#: ../plcopen/plcopen.py:1707 +#: ../plcopen/plcopen.py:1700 ../plcopen/plcopen.py:1707 +#: ../plcopen/plcopen.py:1714 #, python-format msgid "%s body don't have text!" msgstr "" -#: ../IDEFrame.py:362 +#: ../IDEFrame.py:386 msgid "&Add Element" msgstr "" -#: ../IDEFrame.py:332 +#: ../dialogs/AboutDialog.py:65 ../dialogs/AboutDialog.py:113 +#: ../dialogs/AboutDialog.py:150 +msgid "&Close" +msgstr "" + +#: ../IDEFrame.py:356 msgid "&Configuration" msgstr "" -#: ../IDEFrame.py:321 +#: ../IDEFrame.py:345 msgid "&Data Type" msgstr "" -#: ../IDEFrame.py:366 +#: ../IDEFrame.py:390 msgid "&Delete" msgstr "" -#: ../IDEFrame.py:313 +#: ../IDEFrame.py:337 msgid "&Display" msgstr "" -#: ../IDEFrame.py:312 +#: ../IDEFrame.py:336 msgid "&Edit" msgstr "" -#: ../IDEFrame.py:311 +#: ../IDEFrame.py:335 msgid "&File" msgstr "" -#: ../IDEFrame.py:323 +#: ../IDEFrame.py:347 msgid "&Function" msgstr "" -#: ../IDEFrame.py:314 +#: ../IDEFrame.py:338 msgid "&Help" msgstr "" -#: ../IDEFrame.py:327 +#: ../dialogs/AboutDialog.py:64 +msgid "&License" +msgstr "" + +#: ../IDEFrame.py:351 msgid "&Program" msgstr "" -#: ../PLCOpenEditor.py:119 +#: ../PLCOpenEditor.py:125 msgid "&Properties" msgstr "" -#: ../Beremiz.py:317 +#: ../Beremiz.py:324 msgid "&Recent Projects" msgstr "" -#: ../IDEFrame.py:329 +#: ../IDEFrame.py:353 msgid "&Resource" msgstr "" -#: ../controls/SearchResultPanel.py:252 -#, python-format -msgid "'%s' - %d match in project" -msgstr "" - -#: ../controls/SearchResultPanel.py:254 -#, python-format -msgid "'%s' - %d matches in project" -msgstr "" - -#: ../connectors/PYRO/__init__.py:86 -#, python-format -msgid "'%s' is located at %s\n" -msgstr "" - -#: ../controls/SearchResultPanel.py:304 +#: ../controls/SearchResultPanel.py:239 +#, python-brace-format +msgid "'{a1}' - {a2} match in project" +msgstr "" + +#: ../controls/SearchResultPanel.py:241 +#, python-brace-format +msgid "'{a1}' - {a2} matches in project" +msgstr "" + +#: ../connectors/PYRO/__init__.py:90 +#, python-brace-format +msgid "'{a1}' is located at {a2}\n" +msgstr "" + +#: ../controls/SearchResultPanel.py:291 #, python-format msgid "(%d matches)" msgstr "" -#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 ../PLCOpenEditor.py:387 +#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399 msgid ", " msgstr "" -#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93 +#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/PouActionDialog.py:93 #: ../dialogs/PouDialog.py:115 #, python-format msgid ", %s" msgstr "" -#: ../PLCOpenEditor.py:382 +#: ../PLCOpenEditor.py:394 msgid ". " msgstr "" -#: ../controls/LogViewer.py:278 +#: ../controls/LogViewer.py:279 msgid "1d" msgstr "" -#: ../controls/LogViewer.py:279 +#: ../controls/LogViewer.py:280 msgid "1h" msgstr "" -#: ../controls/LogViewer.py:280 +#: ../controls/LogViewer.py:281 msgid "1m" msgstr "" -#: ../controls/LogViewer.py:281 +#: ../controls/LogViewer.py:282 msgid "1s" msgstr "" -#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1581 ../IDEFrame.py:1623 -#: ../IDEFrame.py:1642 +#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1614 ../IDEFrame.py:1660 +#: ../IDEFrame.py:1679 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouTransitionDialog.py:103 -#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouActionDialog.py:100 -#: ../controls/VariablePanel.py:735 ../IDEFrame.py:1593 ../IDEFrame.py:1604 +#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:108 +#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 +#: ../controls/VariablePanel.py:753 ../IDEFrame.py:1628 ../IDEFrame.py:1641 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" -#: ../ConfigTreeNode.py:400 -#, python-format -msgid "A child named \"%s\" already exist -> \"%s\"\n" -msgstr "" - -#: ../dialogs/BrowseLocationsDialog.py:211 +#: ../ConfigTreeNode.py:424 +#, python-brace-format +msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" +msgstr "" + +#: ../dialogs/BrowseLocationsDialog.py:216 msgid "A location must be selected!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737 -#: ../IDEFrame.py:1595 ../IDEFrame.py:1606 +#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755 +#: ../IDEFrame.py:1630 ../IDEFrame.py:1643 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "" -#: ../editors/CodeFileEditor.py:754 +#: ../editors/CodeFileEditor.py:774 #, python-format msgid "A variable with \"%s\" as name already exists!" msgstr "" -#: ../PLCOpenEditor.py:152 ../Beremiz.py:374 +#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381 msgid "About" msgstr "" -#: ../Beremiz.py:997 -msgid "About Beremiz" -msgstr "" - -#: ../PLCOpenEditor.py:346 -msgid "About PLCOpenEditor" -msgstr "" - #: ../plcopen/iec_std.csv:22 msgid "Absolute number" msgstr "" -#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42 msgid "Action" msgstr "" -#: ../editors/Viewer.py:551 ../editors/Viewer.py:2069 +#: ../editors/Viewer.py:555 ../editors/Viewer.py:2345 msgid "Action Block" msgstr "" @@ -429,7 +430,7 @@ msgid "Action Name:" msgstr "" -#: ../plcopen/plcopen.py:1356 +#: ../plcopen/plcopen.py:1359 #, python-format msgid "Action with name %s doesn't exist!" msgstr "" @@ -442,72 +443,72 @@ msgid "Actions:" msgstr "" -#: ../editors/Viewer.py:1087 +#: ../editors/Viewer.py:1100 msgid "Active" msgstr "" -#: ../canfestival/SlaveEditor.py:57 ../canfestival/NetworkEditor.py:78 -#: ../editors/Viewer.py:584 ../Beremiz.py:1024 +#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101 +#: ../editors/Viewer.py:588 ../Beremiz.py:1060 msgid "Add" msgstr "" -#: ../IDEFrame.py:1856 ../IDEFrame.py:1891 +#: ../IDEFrame.py:1890 ../IDEFrame.py:1925 msgid "Add Action" msgstr "" -#: ../features.py:8 +#: ../features.py:32 msgid "Add C code accessing located variables synchronously" msgstr "" -#: ../IDEFrame.py:1839 +#: ../IDEFrame.py:1873 msgid "Add Configuration" msgstr "" -#: ../IDEFrame.py:1819 +#: ../IDEFrame.py:1853 msgid "Add DataType" msgstr "" -#: ../editors/Viewer.py:509 +#: ../editors/Viewer.py:513 msgid "Add Divergence Branch" msgstr "" -#: ../dialogs/DiscoveryDialog.py:115 +#: ../dialogs/DiscoveryDialog.py:116 msgid "Add IP" msgstr "" -#: ../IDEFrame.py:1827 +#: ../IDEFrame.py:1861 msgid "Add POU" msgstr "" -#: ../features.py:9 +#: ../features.py:33 msgid "Add Python code executed asynchronously" msgstr "" -#: ../IDEFrame.py:1867 ../IDEFrame.py:1917 +#: ../IDEFrame.py:1901 ../IDEFrame.py:1951 msgid "Add Resource" msgstr "" -#: ../IDEFrame.py:1845 ../IDEFrame.py:1888 +#: ../IDEFrame.py:1879 ../IDEFrame.py:1922 msgid "Add Transition" msgstr "" -#: ../editors/Viewer.py:496 +#: ../editors/Viewer.py:500 msgid "Add Wire Segment" msgstr "" -#: ../editors/SFCViewer.py:359 +#: ../editors/SFCViewer.py:433 msgid "Add a new initial step" msgstr "" -#: ../editors/Viewer.py:2672 ../editors/SFCViewer.py:696 +#: ../editors/Viewer.py:2706 ../editors/SFCViewer.py:770 msgid "Add a new jump" msgstr "" -#: ../editors/SFCViewer.py:381 +#: ../editors/SFCViewer.py:455 msgid "Add a new step" msgstr "" -#: ../features.py:10 +#: ../features.py:34 msgid "Add a simple WxGlade based GUI." msgstr "" @@ -515,7 +516,7 @@ msgid "Add action" msgstr "" -#: ../editors/DataTypeEditor.py:351 +#: ../editors/DataTypeEditor.py:352 msgid "Add element" msgstr "" @@ -523,7 +524,7 @@ msgid "Add instance" msgstr "" -#: ../canfestival/NetworkEditor.py:80 +#: ../canfestival/NetworkEditor.py:103 msgid "Add slave" msgstr "" @@ -531,7 +532,7 @@ msgid "Add task" msgstr "" -#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440 +#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450 msgid "Add variable" msgstr "" @@ -539,22 +540,22 @@ msgid "Addition" msgstr "" -#: ../plcopen/definitions.py:22 +#: ../plcopen/definitions.py:47 msgid "Additional function blocks" msgstr "" -#: ../editors/Viewer.py:567 +#: ../editors/Viewer.py:571 msgid "Adjust Block Size" msgstr "" -#: ../editors/Viewer.py:1612 +#: ../editors/Viewer.py:1637 msgid "Alignment" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:34 -#: ../dialogs/BrowseLocationsDialog.py:42 -#: ../dialogs/BrowseLocationsDialog.py:135 -#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297 +#: ../dialogs/BrowseLocationsDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:47 +#: ../dialogs/BrowseLocationsDialog.py:140 +#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298 #: ../controls/VariablePanel.py:70 msgid "All" msgstr "" @@ -563,11 +564,11 @@ msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "" -#: ../ProjectController.py:1523 +#: ../ProjectController.py:1623 msgid "Already connected. Please disconnect\n" msgstr "" -#: ../editors/DataTypeEditor.py:593 +#: ../editors/DataTypeEditor.py:594 #, python-format msgid "An element named \"%s\" already exists in this structure!" msgstr "" @@ -592,8 +593,8 @@ msgid "Arithmetic" msgstr "" -#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634 -#: ../controls/VariablePanel.py:811 +#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 +#: ../controls/VariablePanel.py:829 msgid "Array" msgstr "" @@ -613,7 +614,7 @@ msgid "Author Name (optional):" msgstr "" -#: ../dialogs/FindInPouDialog.py:78 +#: ../dialogs/FindInPouDialog.py:79 msgid "Backward" msgstr "" @@ -625,21 +626,21 @@ msgid "Bad domain name at " msgstr "" -#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624 +#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:630 #, python-format msgid "Bad location size : %s" msgstr "" -#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:174 -#: ../editors/DataTypeEditor.py:204 ../editors/DataTypeEditor.py:296 +#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:175 +#: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297 msgid "Base Type:" msgstr "" -#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769 +#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787 msgid "Base Types" msgstr "" -#: ../Beremiz.py:527 +#: ../Beremiz.py:553 msgid "Beremiz" msgstr "" @@ -671,7 +672,7 @@ msgid "Bitwise inverting" msgstr "" -#: ../editors/Viewer.py:521 ../editors/Viewer.py:2073 +#: ../editors/Viewer.py:525 ../editors/Viewer.py:2358 msgid "Block" msgstr "" @@ -679,151 +680,159 @@ msgid "Block Properties" msgstr "" -#: ../editors/TextViewer.py:261 +#: ../editors/TextViewer.py:262 msgid "Block name" msgstr "" -#: ../editors/Viewer.py:487 +#: ../editors/Viewer.py:491 msgid "Bottom" msgstr "" +#: ../ProjectController.py:1301 +msgid "Broken" +msgstr "" + #: ../dialogs/BrowseValuesLibraryDialog.py:37 #, python-format msgid "Browse %s values library" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:60 +#: ../dialogs/BrowseLocationsDialog.py:65 msgid "Browse Locations" msgstr "" -#: ../ProjectController.py:1668 +#: ../ProjectController.py:1769 msgid "Build" msgstr "" -#: ../ProjectController.py:1166 +#: ../ProjectController.py:1235 msgid "Build directory already clean\n" msgstr "" -#: ../ProjectController.py:1669 +#: ../ProjectController.py:1770 msgid "Build project into build folder" msgstr "" -#: ../ProjectController.py:956 +#: ../ProjectController.py:1018 msgid "C Build crashed !\n" msgstr "" -#: ../ProjectController.py:953 +#: ../ProjectController.py:1015 msgid "C Build failed.\n" msgstr "" -#: ../c_ext/CFileEditor.py:40 +#: ../c_ext/CFileEditor.py:63 msgid "C code" msgstr "" -#: ../ProjectController.py:1031 +#: ../ProjectController.py:1093 msgid "C code generated successfully.\n" msgstr "" -#: ../targets/toolchain_makefile.py:108 +#: ../targets/toolchain_makefile.py:122 msgid "C compilation failed.\n" msgstr "" -#: ../targets/toolchain_gcc.py:132 +#: ../targets/toolchain_gcc.py:156 #, python-format msgid "C compilation of %s failed.\n" msgstr "" -#: ../features.py:8 +#: ../features.py:32 msgid "C extension" msgstr "" -#: ../canfestival/NetworkEditor.py:29 +#: ../dialogs/AboutDialog.py:63 +msgid "C&redits" +msgstr "" + +#: ../canfestival/NetworkEditor.py:52 msgid "CANOpen network" msgstr "" -#: ../canfestival/SlaveEditor.py:21 +#: ../canfestival/SlaveEditor.py:44 msgid "CANOpen slave" msgstr "" -#: ../features.py:7 +#: ../features.py:31 msgid "CANopen support" msgstr "" -#: ../plcopen/plcopen.py:1580 ../plcopen/plcopen.py:1594 -#: ../plcopen/plcopen.py:1615 ../plcopen/plcopen.py:1631 +#: ../plcopen/plcopen.py:1584 ../plcopen/plcopen.py:1598 +#: ../plcopen/plcopen.py:1622 ../plcopen/plcopen.py:1638 msgid "Can only generate execution order on FBD networks!" msgstr "" -#: ../controls/VariablePanel.py:259 +#: ../controls/VariablePanel.py:267 msgid "Can only give a location to local or global variables" msgstr "" -#: ../PLCOpenEditor.py:327 +#: ../PLCOpenEditor.py:334 #, python-format msgid "Can't generate program to file %s!" msgstr "" -#: ../controls/VariablePanel.py:257 +#: ../controls/VariablePanel.py:265 msgid "Can't give a location to a function block instance" msgstr "" -#: ../PLCOpenEditor.py:367 +#: ../PLCOpenEditor.py:379 #, python-format msgid "Can't save project to file %s!" msgstr "" -#: ../controls/VariablePanel.py:303 +#: ../controls/VariablePanel.py:313 msgid "Can't set an initial value to a function block instance" msgstr "" -#: ../ConfigTreeNode.py:504 -#, python-format -msgid "Cannot create child %s of type %s " -msgstr "" - -#: ../ConfigTreeNode.py:429 +#: ../ConfigTreeNode.py:529 +#, python-brace-format +msgid "Cannot create child {a1} of type {a2} " +msgstr "" + +#: ../ConfigTreeNode.py:454 #, python-format msgid "Cannot find lower free IEC channel than %d\n" msgstr "" -#: ../connectors/PYRO/__init__.py:127 +#: ../connectors/PYRO/__init__.py:131 msgid "Cannot get PLC status - connection failed.\n" msgstr "" -#: ../ProjectController.py:817 +#: ../ProjectController.py:881 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "" -#: ../canfestival/config_utils.py:372 -#, python-format -msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))" -msgstr "" - -#: ../dialogs/SearchInProjectDialog.py:67 ../dialogs/FindInPouDialog.py:87 +#: ../canfestival/config_utils.py:374 +#, python-brace-format +msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))" +msgstr "" + +#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:88 msgid "Case sensitive" msgstr "" -#: ../editors/Viewer.py:482 +#: ../editors/Viewer.py:486 msgid "Center" msgstr "" -#: ../Beremiz_service.py:245 +#: ../Beremiz_service.py:266 msgid "Change IP of interface to bind" msgstr "" -#: ../Beremiz_service.py:244 +#: ../Beremiz_service.py:265 msgid "Change Name" msgstr "" -#: ../IDEFrame.py:1909 +#: ../IDEFrame.py:1943 msgid "Change POU Type To" msgstr "" -#: ../Beremiz_service.py:246 +#: ../Beremiz_service.py:267 msgid "Change Port Number" msgstr "" -#: ../Beremiz_service.py:247 +#: ../Beremiz_service.py:268 msgid "Change working directory" msgstr "" @@ -831,20 +840,20 @@ msgid "Character string" msgstr "" -#: ../svgui/svgui.py:101 +#: ../svgui/svgui.py:125 msgid "Choose a SVG file" msgstr "" -#: ../ProjectController.py:420 +#: ../ProjectController.py:451 msgid "Choose a directory to save project" msgstr "" -#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285 -#: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361 +#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:292 +#: ../PLCOpenEditor.py:324 ../PLCOpenEditor.py:373 msgid "Choose a file" msgstr "" -#: ../Beremiz.py:899 ../Beremiz.py:934 +#: ../Beremiz.py:931 ../Beremiz.py:966 msgid "Choose a project" msgstr "" @@ -853,15 +862,15 @@ msgid "Choose a value for %s:" msgstr "" -#: ../Beremiz_service.py:293 +#: ../Beremiz_service.py:323 msgid "Choose a working directory " msgstr "" -#: ../ProjectController.py:334 +#: ../ProjectController.py:358 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "" -#: ../ProjectController.py:301 +#: ../ProjectController.py:325 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "" @@ -869,7 +878,7 @@ msgid "Class" msgstr "" -#: ../controls/VariablePanel.py:431 +#: ../controls/VariablePanel.py:441 msgid "Class Filter:" msgstr "" @@ -877,52 +886,52 @@ msgid "Class:" msgstr "" -#: ../ProjectController.py:1672 +#: ../ProjectController.py:1773 msgid "Clean" msgstr "" -#: ../controls/LogViewer.py:317 +#: ../controls/LogViewer.py:318 msgid "Clean log messages" msgstr "" -#: ../ProjectController.py:1674 +#: ../ProjectController.py:1775 msgid "Clean project build folder" msgstr "" -#: ../ProjectController.py:1163 +#: ../ProjectController.py:1232 msgid "Cleaning the build directory\n" msgstr "" -#: ../IDEFrame.py:411 +#: ../IDEFrame.py:435 msgid "Clear Errors" msgstr "" -#: ../editors/Viewer.py:577 +#: ../editors/Viewer.py:582 msgid "Clear Execution Order" msgstr "" -#: ../dialogs/FindInPouDialog.py:110 +#: ../dialogs/SearchInProjectDialog.py:105 ../dialogs/FindInPouDialog.py:111 msgid "Close" msgstr "" -#: ../PLCOpenEditor.py:192 ../Beremiz.py:667 +#: ../PLCOpenEditor.py:199 ../Beremiz.py:693 msgid "Close Application" msgstr "" -#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:611 -#: ../IDEFrame.py:981 +#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637 +#: ../IDEFrame.py:1009 msgid "Close Project" msgstr "" -#: ../PLCOpenEditor.py:100 ../Beremiz.py:324 +#: ../PLCOpenEditor.py:106 ../Beremiz.py:331 msgid "Close Tab" msgstr "" -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2084 +#: ../editors/Viewer.py:541 ../editors/Viewer.py:2366 msgid "Coil" msgstr "" -#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506 +#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506 msgid "Comment" msgstr "" @@ -942,7 +951,7 @@ msgid "Comparison" msgstr "" -#: ../ProjectController.py:609 +#: ../ProjectController.py:672 msgid "Compiling IEC Program into C code...\n" msgstr "" @@ -950,15 +959,15 @@ msgid "Concatenation" msgstr "" -#: ../editors/ConfTreeNodeEditor.py:206 +#: ../editors/ConfTreeNodeEditor.py:229 msgid "Config" msgstr "" -#: ../editors/ProjectNodeEditor.py:13 +#: ../editors/ProjectNodeEditor.py:36 msgid "Config variables" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:47 +#: ../dialogs/SearchInProjectDialog.py:39 msgid "Configuration" msgstr "" @@ -966,27 +975,27 @@ msgid "Configurations" msgstr "" -#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355 -#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:340 -#: ../editors/TextViewer.py:363 ../controls/VariablePanel.py:318 +#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359 +#: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342 +#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328 msgid "Confirm or change variable name" msgstr "" -#: ../ProjectController.py:1687 +#: ../ProjectController.py:1788 msgid "Connect" msgstr "" -#: ../ProjectController.py:1688 +#: ../ProjectController.py:1789 msgid "Connect to the target PLC" msgstr "" -#: ../ProjectController.py:1212 +#: ../ProjectController.py:1292 #, python-format msgid "Connected to URI: %s" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523 -#: ../editors/Viewer.py:2075 +#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 +#: ../editors/Viewer.py:2359 msgid "Connection" msgstr "" @@ -994,29 +1003,33 @@ msgid "Connection Properties" msgstr "" -#: ../ProjectController.py:1547 +#: ../ProjectController.py:1647 msgid "Connection canceled!\n" msgstr "" -#: ../ProjectController.py:1572 +#: ../ProjectController.py:1672 #, python-format msgid "Connection failed to %s!\n" msgstr "" -#: ../connectors/PYRO/__init__.py:98 +#: ../connectors/PYRO/__init__.py:115 ../connectors/WAMP/__init__.py:111 +msgid "Connection lost!\n" +msgstr "" + +#: ../connectors/PYRO/__init__.py:102 #, python-format msgid "Connection to '%s' failed.\n" msgstr "" -#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1569 +#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1594 msgid "Connector" msgstr "" -#: ../dialogs/SFCStepDialog.py:64 +#: ../dialogs/SFCStepDialog.py:65 msgid "Connectors:" msgstr "" -#: ../Beremiz.py:436 +#: ../Beremiz.py:448 msgid "Console" msgstr "" @@ -1024,7 +1037,7 @@ msgid "Constant" msgstr "" -#: ../editors/Viewer.py:533 ../editors/Viewer.py:2080 +#: ../editors/Viewer.py:537 ../editors/Viewer.py:2362 msgid "Contact" msgstr "" @@ -1032,7 +1045,7 @@ msgid "Content Description (optional):" msgstr "" -#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1570 +#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1595 msgid "Continuation" msgstr "" @@ -1052,12 +1065,12 @@ msgid "Conversion to time-of-day" msgstr "" -#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346 -#: ../IDEFrame.py:401 +#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370 +#: ../IDEFrame.py:425 msgid "Copy" msgstr "" -#: ../IDEFrame.py:1896 +#: ../IDEFrame.py:1930 msgid "Copy POU" msgstr "" @@ -1073,49 +1086,49 @@ msgid "Cosine" msgstr "" +#: ../ConfigTreeNode.py:656 +#, python-brace-format +msgid "" +"Could not add child \"{a1}\", type {a2} :\n" +"{a3}\n" +msgstr "" + +#: ../py_ext/PythonFileCTNMixin.py:77 +#, python-format +msgid "Couldn't import old %s file." +msgstr "" + #: ../ConfigTreeNode.py:626 -#, python-format +#, python-brace-format msgid "" -"Could not add child \"%s\", type %s :\n" -"%s\n" -msgstr "" - -#: ../py_ext/PythonFileCTNMixin.py:53 -#, python-format -msgid "Couldn't import old %s file." -msgstr "" - -#: ../ConfigTreeNode.py:598 -#, python-format +"Couldn't load confnode base parameters {a1} :\n" +" {a2}" +msgstr "" + +#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124 +#, python-brace-format msgid "" -"Couldn't load confnode base parameters %s :\n" -" %s" -msgstr "" - -#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99 -#, python-format -msgid "" -"Couldn't load confnode parameters %s :\n" -" %s" +"Couldn't load confnode parameters {a1} :\n" +" {a2}" msgstr "" #: ../PLCControler.py:946 msgid "Couldn't paste non-POU object." msgstr "" -#: ../ProjectController.py:1486 +#: ../ProjectController.py:1589 msgid "Couldn't start PLC !\n" msgstr "" -#: ../ProjectController.py:1494 +#: ../ProjectController.py:1597 msgid "Couldn't stop PLC !\n" msgstr "" -#: ../ProjectController.py:1458 +#: ../ProjectController.py:1561 msgid "Couldn't stop debugger.\n" msgstr "" -#: ../svgui/svgui.py:23 +#: ../svgui/svgui.py:47 msgid "Create HMI" msgstr "" @@ -1127,71 +1140,79 @@ msgid "Create a new action" msgstr "" -#: ../IDEFrame.py:135 +#: ../IDEFrame.py:159 msgid "Create a new action block" msgstr "" -#: ../IDEFrame.py:84 ../IDEFrame.py:114 ../IDEFrame.py:147 +#: ../IDEFrame.py:108 ../IDEFrame.py:138 ../IDEFrame.py:171 msgid "Create a new block" msgstr "" -#: ../IDEFrame.py:108 +#: ../IDEFrame.py:132 msgid "Create a new branch" msgstr "" -#: ../IDEFrame.py:102 +#: ../IDEFrame.py:126 msgid "Create a new coil" msgstr "" -#: ../IDEFrame.py:78 ../IDEFrame.py:93 ../IDEFrame.py:123 +#: ../IDEFrame.py:102 ../IDEFrame.py:117 ../IDEFrame.py:147 msgid "Create a new comment" msgstr "" -#: ../IDEFrame.py:87 ../IDEFrame.py:117 ../IDEFrame.py:150 +#: ../IDEFrame.py:111 ../IDEFrame.py:141 ../IDEFrame.py:174 msgid "Create a new connection" msgstr "" -#: ../IDEFrame.py:105 ../IDEFrame.py:156 +#: ../IDEFrame.py:129 ../IDEFrame.py:180 msgid "Create a new contact" msgstr "" -#: ../IDEFrame.py:138 +#: ../IDEFrame.py:162 msgid "Create a new divergence" msgstr "" -#: ../dialogs/SFCDivergenceDialog.py:51 +#: ../dialogs/SFCDivergenceDialog.py:53 msgid "Create a new divergence or convergence" msgstr "" -#: ../IDEFrame.py:126 +#: ../IDEFrame.py:150 msgid "Create a new initial step" msgstr "" -#: ../IDEFrame.py:141 +#: ../IDEFrame.py:165 msgid "Create a new jump" msgstr "" -#: ../IDEFrame.py:96 ../IDEFrame.py:153 +#: ../IDEFrame.py:120 ../IDEFrame.py:177 msgid "Create a new power rail" msgstr "" -#: ../IDEFrame.py:99 +#: ../IDEFrame.py:123 msgid "Create a new rung" msgstr "" -#: ../IDEFrame.py:129 +#: ../IDEFrame.py:153 msgid "Create a new step" msgstr "" -#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132 +#: ../dialogs/PouTransitionDialog.py:47 ../IDEFrame.py:156 msgid "Create a new transition" msgstr "" -#: ../IDEFrame.py:81 ../IDEFrame.py:111 ../IDEFrame.py:144 +#: ../IDEFrame.py:105 ../IDEFrame.py:135 ../IDEFrame.py:168 msgid "Create a new variable" msgstr "" -#: ../editors/Viewer.py:592 ../IDEFrame.py:344 ../IDEFrame.py:400 +#: ../dialogs/AboutDialog.py:105 +msgid "Credits" +msgstr "" + +#: ../Beremiz_service.py:432 +msgid "Current working directory :" +msgstr "" + +#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424 msgid "Cut" msgstr "" @@ -1207,15 +1228,15 @@ msgid "DEPRECATED" msgstr "" -#: ../canfestival/SlaveEditor.py:53 ../canfestival/NetworkEditor.py:74 +#: ../canfestival/SlaveEditor.py:76 ../canfestival/NetworkEditor.py:97 msgid "DS-301 Profile" msgstr "" -#: ../canfestival/SlaveEditor.py:54 ../canfestival/NetworkEditor.py:75 +#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:98 msgid "DS-302 Profile" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:43 +#: ../dialogs/SearchInProjectDialog.py:35 msgid "Data Type" msgstr "" @@ -1244,7 +1265,7 @@ msgid "Days:" msgstr "" -#: ../ProjectController.py:1594 +#: ../ProjectController.py:1694 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "" @@ -1252,42 +1273,42 @@ msgid "Debug instance" msgstr "" -#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3596 +#: ../editors/Viewer.py:1117 ../editors/Viewer.py:3653 #, python-format msgid "Debug: %s" msgstr "" -#: ../ProjectController.py:1247 +#: ../ProjectController.py:1350 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "" -#: ../ProjectController.py:1245 +#: ../ProjectController.py:1348 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "" -#: ../IDEFrame.py:611 +#: ../IDEFrame.py:639 msgid "Debugger" msgstr "" -#: ../ProjectController.py:1427 +#: ../ProjectController.py:1530 msgid "Debugger disabled\n" msgstr "" -#: ../ProjectController.py:1591 +#: ../ProjectController.py:1691 msgid "Debugger ready\n" msgstr "" -#: ../ProjectController.py:1460 +#: ../ProjectController.py:1563 msgid "Debugger stopped.\n" msgstr "" -#: ../editors/Viewer.py:568 ../Beremiz.py:1028 ../IDEFrame.py:1925 +#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1959 msgid "Delete" msgstr "" -#: ../editors/Viewer.py:510 +#: ../editors/Viewer.py:514 msgid "Delete Divergence Branch" msgstr "" @@ -1295,7 +1316,7 @@ msgid "Delete File" msgstr "" -#: ../editors/Viewer.py:497 +#: ../editors/Viewer.py:501 msgid "Delete Wire Segment" msgstr "" @@ -1307,33 +1328,23 @@ msgid "Deletion (within)" msgstr "" -#: ../editors/DataTypeEditor.py:152 +#: ../editors/DataTypeEditor.py:153 msgid "Derivation Type:" msgstr "" -#: ../plcopen/definitions.py:41 -msgid "" -"Derivative\n" -"The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." -msgstr "" - -#: ../editors/CodeFileEditor.py:664 -msgid "Description" -msgstr "" - -#: ../controls/VariablePanel.py:422 +#: ../controls/VariablePanel.py:432 msgid "Description:" msgstr "" -#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320 +#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321 msgid "Dimensions:" msgstr "" -#: ../dialogs/FindInPouDialog.py:67 +#: ../dialogs/FindInPouDialog.py:68 msgid "Direction" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:85 +#: ../dialogs/BrowseLocationsDialog.py:90 msgid "Direction:" msgstr "" @@ -1341,15 +1352,19 @@ msgid "Directly" msgstr "" -#: ../ProjectController.py:1696 +#: ../ProjectController.py:1797 msgid "Disconnect" msgstr "" -#: ../ProjectController.py:1698 +#: ../ProjectController.py:1799 msgid "Disconnect from PLC" msgstr "" -#: ../editors/Viewer.py:552 ../editors/Viewer.py:2061 +#: ../ProjectController.py:1302 +msgid "Disconnected" +msgstr "" + +#: ../editors/Viewer.py:556 ../editors/Viewer.py:2354 msgid "Divergence" msgstr "" @@ -1366,25 +1381,19 @@ msgid "Documentation" msgstr "" -#: ../PLCOpenEditor.py:321 +#: ../PLCOpenEditor.py:328 msgid "Done" msgstr "" -#: ../plcopen/definitions.py:34 -msgid "" -"Down-counter\n" -"The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." -msgstr "" - #: ../dialogs/ActionBlockDialog.py:38 msgid "Duration" msgstr "" -#: ../canfestival/canfestival.py:139 +#: ../canfestival/canfestival.py:163 msgid "EDS files (*.eds)|*.eds|All files|*.*" msgstr "" -#: ../editors/Viewer.py:566 +#: ../editors/Viewer.py:570 msgid "Edit Block" msgstr "" @@ -1400,11 +1409,11 @@ msgid "Edit Duration" msgstr "" -#: ../dialogs/SFCStepDialog.py:49 +#: ../dialogs/SFCStepDialog.py:50 msgid "Edit Step" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:12 +#: ../wxglade_hmi/wxglade_hmi.py:36 msgid "Edit a WxWidgets GUI with WXGlade" msgstr "" @@ -1416,7 +1425,7 @@ msgid "Edit array type properties" msgstr "" -#: ../editors/Viewer.py:2541 ../editors/Viewer.py:2952 +#: ../editors/Viewer.py:2575 ../editors/Viewer.py:3004 msgid "Edit comment" msgstr "" @@ -1428,47 +1437,51 @@ msgid "Edit item" msgstr "" -#: ../editors/Viewer.py:2916 +#: ../editors/Viewer.py:2963 msgid "Edit jump target" msgstr "" -#: ../ProjectController.py:1710 +#: ../ProjectController.py:1811 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "" -#: ../editors/SFCViewer.py:725 +#: ../editors/SFCViewer.py:799 msgid "Edit step name" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:50 +#: ../dialogs/SFCTransitionDialog.py:51 msgid "Edit transition" msgstr "" -#: ../IDEFrame.py:583 +#: ../IDEFrame.py:611 msgid "Editor ToolBar" msgstr "" -#: ../ProjectController.py:1126 +#: ../ProjectController.py:1195 msgid "Editor selection" msgstr "" -#: ../editors/DataTypeEditor.py:347 +#: ../editors/DataTypeEditor.py:348 msgid "Elements :" msgstr "" -#: ../IDEFrame.py:341 +#: ../ProjectController.py:1300 +msgid "Empty" +msgstr "" + +#: ../IDEFrame.py:365 msgid "Enable Undo/Redo" msgstr "" -#: ../Beremiz_service.py:299 +#: ../Beremiz_service.py:331 msgid "Enter a name " msgstr "" -#: ../Beremiz_service.py:286 +#: ../Beremiz_service.py:316 msgid "Enter a port number " msgstr "" -#: ../Beremiz_service.py:277 +#: ../Beremiz_service.py:307 msgid "Enter the IP of the interface to bind" msgstr "" @@ -1481,66 +1494,67 @@ msgstr "" #: ../dialogs/ForceVariableDialog.py:179 -#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepNameDialog.py:59 +#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60 #: ../dialogs/DurationEditorDialog.py:121 -#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107 +#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:112 #: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71 #: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103 -#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211 +#: ../dialogs/PouNameDialog.py:54 ../dialogs/BrowseLocationsDialog.py:216 #: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104 -#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333 -#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419 +#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:335 ../PLCOpenEditor.py:340 +#: ../PLCOpenEditor.py:420 ../PLCOpenEditor.py:430 ../editors/Viewer.py:423 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882 -#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549 -#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578 -#: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593 -#: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751 -#: ../editors/TextViewer.py:387 ../editors/CodeFileEditor.py:763 -#: ../ProjectController.py:269 ../controls/FolderTree.py:217 +#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550 +#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579 +#: ../editors/DataTypeEditor.py:584 ../editors/DataTypeEditor.py:594 +#: ../editors/DataTypeEditor.py:745 ../editors/DataTypeEditor.py:752 +#: ../editors/TextViewer.py:389 ../editors/CodeFileEditor.py:783 +#: ../ProjectController.py:293 ../ProjectController.py:421 +#: ../ProjectController.py:428 ../controls/FolderTree.py:217 #: ../controls/DebugVariablePanel/DebugVariablePanel.py:166 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137 -#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:225 -#: ../controls/VariablePanel.py:392 ../controls/VariablePanel.py:754 -#: ../Beremiz.py:1167 ../IDEFrame.py:975 ../IDEFrame.py:1581 -#: ../IDEFrame.py:1618 ../IDEFrame.py:1623 ../IDEFrame.py:1637 -#: ../IDEFrame.py:1642 ../Beremiz_service.py:190 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231 +#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:772 +#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1614 +#: ../IDEFrame.py:1655 ../IDEFrame.py:1660 ../IDEFrame.py:1674 +#: ../IDEFrame.py:1679 ../Beremiz_service.py:211 msgid "Error" msgstr "" -#: ../ProjectController.py:663 +#: ../ProjectController.py:727 msgid "Error : At least one configuration and one resource must be declared in PLC !\n" msgstr "" -#: ../ProjectController.py:655 +#: ../ProjectController.py:719 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "" -#: ../ProjectController.py:589 +#: ../ProjectController.py:621 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" "%s\n" msgstr "" -#: ../ConfigTreeNode.py:192 +#: ../ConfigTreeNode.py:216 #, python-format msgid "Error while saving \"%s\"\n" msgstr "" -#: ../canfestival/canfestival.py:144 +#: ../canfestival/canfestival.py:168 msgid "Error: Export slave failed\n" msgstr "" -#: ../canfestival/canfestival.py:345 +#: ../canfestival/canfestival.py:369 msgid "Error: No Master generated\n" msgstr "" -#: ../canfestival/canfestival.py:340 +#: ../canfestival/canfestival.py:364 msgid "Error: No PLC built\n" msgstr "" -#: ../ProjectController.py:1566 +#: ../ProjectController.py:1666 #, python-format msgid "Exception while connecting %s!\n" msgstr "" @@ -1553,7 +1567,7 @@ msgid "Execution Order:" msgstr "" -#: ../features.py:11 +#: ../features.py:35 msgid "Experimental web based HMI" msgstr "" @@ -1565,7 +1579,7 @@ msgid "Exponentiation" msgstr "" -#: ../canfestival/canfestival.py:150 +#: ../canfestival/canfestival.py:174 msgid "Export CanOpen slave to EDS file" msgstr "" @@ -1573,7 +1587,7 @@ msgid "Export graph values to clipboard" msgstr "" -#: ../canfestival/canfestival.py:149 +#: ../canfestival/canfestival.py:173 msgid "Export slave" msgstr "" @@ -1585,33 +1599,32 @@ msgid "External" msgstr "" -#: ../ProjectController.py:676 +#: ../ProjectController.py:740 msgid "Extracting Located Variables...\n" msgstr "" -#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31 +#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 #: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 msgid "FBD" msgstr "" -#: ../ProjectController.py:1629 +#: ../ProjectController.py:1729 msgid "Failed : Must build before transfer.\n" msgstr "" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462 msgid "Falling Edge" msgstr "" -#: ../plcopen/definitions.py:32 -msgid "" -"Falling edge detector\n" -"The output produces a single pulse when a falling edge is detected." -msgstr "" - -#: ../ProjectController.py:946 +#: ../ProjectController.py:1008 msgid "Fatal : cannot get builder.\n" msgstr "" +#: ../Beremiz.py:118 +#, python-format +msgid "Fetching %s" +msgstr "" + #: ../dialogs/DurationEditorDialog.py:160 #, python-format msgid "Field %s hasn't a valid value!" @@ -1627,16 +1640,16 @@ msgid "File '%s' already exists!" msgstr "" -#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105 -#: ../IDEFrame.py:351 +#: ../dialogs/SearchInProjectDialog.py:100 ../dialogs/FindInPouDialog.py:36 +#: ../dialogs/FindInPouDialog.py:106 ../IDEFrame.py:375 msgid "Find" msgstr "" -#: ../IDEFrame.py:353 +#: ../IDEFrame.py:377 msgid "Find Next" msgstr "" -#: ../IDEFrame.py:355 +#: ../IDEFrame.py:379 msgid "Find Previous" msgstr "" @@ -1648,11 +1661,11 @@ msgid "Find:" msgstr "" -#: ../connectors/PYRO/__init__.py:159 +#: ../connectors/PYRO/__init__.py:163 msgid "Force runtime reload\n" msgstr "" -#: ../editors/Viewer.py:1528 +#: ../editors/Viewer.py:1553 msgid "Force value" msgstr "" @@ -1660,44 +1673,40 @@ msgid "Forcing Variable Value" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97 +#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:102 #: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94 #: ../dialogs/PouDialog.py:116 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "" -#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232 +#: ../dialogs/SFCStepDialog.py:144 ../dialogs/FBDBlockDialog.py:232 #: ../dialogs/ConnectionDialog.py:160 msgid "Form isn't complete. Name must be filled!" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:145 -msgid "Form isn't complete. Pattern to search must be filled!" -msgstr "" - #: ../dialogs/FBDBlockDialog.py:228 msgid "Form isn't complete. Valid block type must be selected!" msgstr "" -#: ../dialogs/FindInPouDialog.py:73 +#: ../dialogs/FindInPouDialog.py:74 msgid "Forward" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1712 +#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1746 msgid "Function" msgstr "" -#: ../IDEFrame.py:325 +#: ../IDEFrame.py:349 msgid "Function &Block" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1711 -#: ../IDEFrame.py:1904 +#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1745 +#: ../IDEFrame.py:1938 msgid "Function Block" msgstr "" -#: ../controls/VariablePanel.py:807 +#: ../controls/VariablePanel.py:825 msgid "Function Block Types" msgstr "" @@ -1705,11 +1714,11 @@ msgid "Function Blocks" msgstr "" -#: ../editors/Viewer.py:244 +#: ../editors/Viewer.py:248 msgid "Function Blocks can't be used in Functions!" msgstr "" -#: ../PLCControler.py:2336 +#: ../PLCControler.py:2337 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "" @@ -1718,11 +1727,11 @@ msgid "Functions" msgstr "" -#: ../PLCOpenEditor.py:109 +#: ../PLCOpenEditor.py:115 msgid "Generate Program" msgstr "" -#: ../ProjectController.py:580 +#: ../ProjectController.py:612 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "" @@ -1750,6 +1759,10 @@ msgid "Grid Resolution:" msgstr "" +#: ../runtime/NevowServer.py:181 +msgid "HTTP interface port :" +msgstr "" + #: ../controls/ProjectPropertiesPanel.py:120 msgid "Height:" msgstr "" @@ -1766,62 +1779,51 @@ msgid "Hours:" msgstr "" -#: ../plcopen/definitions.py:44 -msgid "" -"Hysteresis\n" -"The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." -msgstr "" - -#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouActionDialog.py:31 ../dialogs/PouDialog.py:36 msgid "IL" msgstr "" -#: ../dialogs/DiscoveryDialog.py:93 +#: ../dialogs/DiscoveryDialog.py:94 msgid "IP" msgstr "" -#: ../Beremiz_service.py:278 ../Beremiz_service.py:279 +#: ../Beremiz_service.py:308 ../Beremiz_service.py:309 msgid "IP is not valid!" msgstr "" -#: ../svgui/svgui.py:18 ../svgui/svgui.py:19 +#: ../svgui/svgui.py:42 ../svgui/svgui.py:43 msgid "Import SVG" msgstr "" -#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1555 +#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1580 #: ../controls/VariablePanel.py:71 msgid "InOut" msgstr "" -#: ../editors/Viewer.py:1087 +#: ../editors/Viewer.py:1100 msgid "Inactive" msgstr "" -#: ../controls/VariablePanel.py:268 -#, python-format -msgid "Incompatible data types between \"%s\" and \"%s\"" -msgstr "" - -#: ../controls/VariablePanel.py:277 -#, python-format -msgid "Incompatible size of data between \"%s\" and \"%s\"" -msgstr "" - -#: ../controls/VariablePanel.py:273 +#: ../controls/VariablePanel.py:276 +#, python-brace-format +msgid "Incompatible data types between \"{a1}\" and \"{a2}\"" +msgstr "" + +#: ../controls/VariablePanel.py:282 #, python-format msgid "Incompatible size of data between \"%s\" and \"BOOL\"" msgstr "" +#: ../controls/VariablePanel.py:286 +#, python-brace-format +msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" +msgstr "" + #: ../dialogs/ActionBlockDialog.py:38 msgid "Indicator" msgstr "" -#: ../editors/CodeFileEditor.py:663 -msgid "Initial" -msgstr "" - -#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058 +#: ../editors/Viewer.py:552 msgid "Initial Step" msgstr "" @@ -1830,22 +1832,24 @@ msgid "Initial Value" msgstr "" -#: ../editors/DataTypeEditor.py:184 ../editors/DataTypeEditor.py:215 -#: ../editors/DataTypeEditor.py:271 ../editors/DataTypeEditor.py:309 +#: ../editors/DataTypeEditor.py:185 ../editors/DataTypeEditor.py:216 +#: ../editors/DataTypeEditor.py:272 ../editors/DataTypeEditor.py:310 msgid "Initial Value:" msgstr "" -#: ../svgui/svgui.py:22 +#: ../svgui/svgui.py:46 msgid "Inkscape" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42 msgid "Inline" msgstr "" -#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37 -#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1553 -#: ../controls/VariablePanel.py:71 +#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 +#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1578 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Input" msgstr "" @@ -1857,7 +1861,7 @@ msgid "Insertion (into)" msgstr "" -#: ../plcopen/plcopen.py:1684 +#: ../plcopen/plcopen.py:1691 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "" @@ -1866,12 +1870,6 @@ msgid "Instances:" msgstr "" -#: ../plcopen/definitions.py:40 -msgid "" -"Integral\n" -"The integral function block integrates the value of input XIN over time." -msgstr "" - #: ../controls/VariablePanel.py:70 msgid "Interface" msgstr "" @@ -1884,48 +1882,53 @@ msgid "Interval" msgstr "" -#: ../PLCControler.py:2324 +#: ../PLCControler.py:2325 msgid "Invalid plcopen element(s)!!!" msgstr "" -#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638 -#, python-format -msgid "Invalid type \"%s\"-> %d != %d for location\"%s\"" -msgstr "" - -#: ../dialogs/ForceVariableDialog.py:177 -#, python-format -msgid "Invalid value \"%s\" for \"%s\" variable!" +#: ../canfestival/config_utils.py:381 +#, python-brace-format +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\"" +msgstr "" + +#: ../canfestival/config_utils.py:645 +#, python-brace-format +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" msgstr "" #: ../controls/DebugVariablePanel/DebugVariablePanel.py:132 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92 -#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160 +#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:166 #, python-format msgid "Invalid value \"%s\" for debug variable" msgstr "" -#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250 +#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258 #, python-format msgid "Invalid value \"%s\" for variable grid element" msgstr "" -#: ../editors/Viewer.py:229 ../editors/Viewer.py:232 +#: ../editors/Viewer.py:233 ../editors/Viewer.py:236 #, python-format msgid "Invalid value \"%s\" for viewer block" msgstr "" +#: ../dialogs/ForceVariableDialog.py:177 +#, python-brace-format +msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" +msgstr "" + #: ../dialogs/DurationEditorDialog.py:121 msgid "" "Invalid value!\n" "You must fill a numeric value." msgstr "" -#: ../editors/Viewer.py:553 ../editors/Viewer.py:2062 +#: ../editors/Viewer.py:557 ../editors/Viewer.py:2343 msgid "Jump" msgstr "" -#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31 +#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 #: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 msgid "LD" msgstr "" @@ -1935,7 +1938,7 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "" -#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:83 +#: ../dialogs/PouTransitionDialog.py:91 ../dialogs/PouActionDialog.py:83 #: ../dialogs/PouDialog.py:104 msgid "Language" msgstr "" @@ -1944,28 +1947,28 @@ msgid "Language (optional):" msgstr "" -#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56 +#: ../dialogs/PouTransitionDialog.py:65 ../dialogs/PouActionDialog.py:56 #: ../dialogs/PouDialog.py:73 msgid "Language:" msgstr "" -#: ../ProjectController.py:1635 +#: ../ProjectController.py:1735 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "" -#: ../Beremiz_service.py:250 +#: ../Beremiz_service.py:271 msgid "Launch WX GUI inspector" msgstr "" -#: ../Beremiz_service.py:249 +#: ../Beremiz_service.py:270 msgid "Launch a live Python shell" msgstr "" -#: ../editors/Viewer.py:481 +#: ../editors/Viewer.py:485 msgid "Left" msgstr "" -#: ../dialogs/LDPowerRailDialog.py:61 +#: ../dialogs/LDPowerRailDialog.py:62 msgid "Left PowerRail" msgstr "" @@ -1981,27 +1984,31 @@ msgid "Less than or equal to" msgstr "" -#: ../IDEFrame.py:603 +#: ../IDEFrame.py:631 msgid "Library" msgstr "" +#: ../dialogs/AboutDialog.py:143 +msgid "License" +msgstr "" + #: ../plcopen/iec_std.csv:73 msgid "Limitation" msgstr "" -#: ../targets/toolchain_gcc.py:142 +#: ../targets/toolchain_gcc.py:166 msgid "Linking :\n" msgstr "" -#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72 +#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72 msgid "Local" msgstr "" -#: ../canfestival/canfestival.py:322 +#: ../canfestival/canfestival.py:346 msgid "Local entries" msgstr "" -#: ../ProjectController.py:1541 +#: ../ProjectController.py:1641 msgid "Local service discovery failed!\n" msgstr "" @@ -2009,7 +2016,7 @@ msgid "Location" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:67 +#: ../dialogs/BrowseLocationsDialog.py:72 msgid "Locations available:" msgstr "" @@ -2017,41 +2024,43 @@ msgid "Logarithm to base 10" msgstr "" -#: ../connectors/PYRO/__init__.py:90 +#: ../connectors/PYRO/__init__.py:94 #, python-format msgid "MDNS resolution failure for '%s'\n" msgstr "" -#: ../canfestival/SlaveEditor.py:41 ../canfestival/NetworkEditor.py:62 +#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85 msgid "Map Variable" msgstr "" -#: ../features.py:7 +#: ../features.py:31 msgid "Map located variables over CANopen" msgstr "" -#: ../canfestival/NetworkEditor.py:83 +#: ../canfestival/NetworkEditor.py:106 msgid "Master" msgstr "" -#: ../ConfigTreeNode.py:514 -#, python-format -msgid "Max count (%d) reached for this confnode of type %s " +#: ../ConfigTreeNode.py:539 +#, python-brace-format +msgid "Max count ({a1}) reached for this confnode of type {a2} " msgstr "" #: ../plcopen/iec_std.csv:71 msgid "Maximum" msgstr "" -#: ../editors/DataTypeEditor.py:238 +#: ../editors/DataTypeEditor.py:239 msgid "Maximum:" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:37 +#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289 +#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Memory" msgstr "" -#: ../IDEFrame.py:571 +#: ../IDEFrame.py:599 msgid "Menu ToolBar" msgstr "" @@ -2059,7 +2068,7 @@ msgid "Microseconds:" msgstr "" -#: ../editors/Viewer.py:486 +#: ../editors/Viewer.py:490 msgid "Middle" msgstr "" @@ -2071,7 +2080,7 @@ msgid "Minimum" msgstr "" -#: ../editors/DataTypeEditor.py:225 +#: ../editors/DataTypeEditor.py:226 msgid "Minimum:" msgstr "" @@ -2087,9 +2096,9 @@ msgid "Modifier:" msgstr "" -#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217 -#, python-format -msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU" +#: ../PLCGenerator.py:786 ../PLCGenerator.py:1230 +#, python-brace-format +msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "" #: ../dialogs/ActionBlockDialog.py:140 @@ -2104,11 +2113,11 @@ msgid "Move down" msgstr "" +#: ../editors/DataTypeEditor.py:355 +msgid "Move element down" +msgstr "" + #: ../editors/DataTypeEditor.py:354 -msgid "Move element down" -msgstr "" - -#: ../editors/DataTypeEditor.py:353 msgid "Move element up" msgstr "" @@ -2128,7 +2137,7 @@ msgid "Move task up" msgstr "" -#: ../IDEFrame.py:75 ../IDEFrame.py:90 ../IDEFrame.py:120 ../IDEFrame.py:161 +#: ../IDEFrame.py:99 ../IDEFrame.py:114 ../IDEFrame.py:144 ../IDEFrame.py:185 msgid "Move the view" msgstr "" @@ -2136,11 +2145,11 @@ msgid "Move up" msgstr "" -#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443 +#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453 msgid "Move variable down" msgstr "" -#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442 +#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452 msgid "Move variable up" msgstr "" @@ -2156,21 +2165,21 @@ msgid "My Computer:" msgstr "" -#: ../dialogs/DiscoveryDialog.py:91 +#: ../dialogs/DiscoveryDialog.py:92 msgid "NAME" msgstr "" #: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:663 -#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 +#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 +#: ../controls/VariablePanel.py:54 msgid "Name" msgstr "" -#: ../Beremiz_service.py:300 +#: ../Beremiz_service.py:332 msgid "Name must not be null!" msgstr "" -#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83 +#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83 #: ../dialogs/ConnectionDialog.py:75 msgid "Name:" msgstr "" @@ -2179,12 +2188,20 @@ msgid "Natural logarithm" msgstr "" -#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456 +#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460 msgid "Negated" msgstr "" -#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314 -#: ../Beremiz.py:349 +#: ../Beremiz_service.py:578 +msgid "Nevow Web service failed. " +msgstr "" + +#: ../Beremiz_service.py:554 +msgid "Nevow/Athena import failed :" +msgstr "" + +#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321 +#: ../Beremiz.py:356 msgid "New" msgstr "" @@ -2192,71 +2209,71 @@ msgid "New item" msgstr "" -#: ../editors/Viewer.py:455 +#: ../editors/Viewer.py:459 msgid "No Modifier" msgstr "" -#: ../ProjectController.py:1662 +#: ../ProjectController.py:1763 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "" -#: ../PLCGenerator.py:1608 +#: ../PLCGenerator.py:1631 #, python-format msgid "No body defined in \"%s\" POU" msgstr "" -#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227 -#, python-format -msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU" -msgstr "" - -#: ../PLCOpenEditor.py:340 +#: ../PLCGenerator.py:806 ../PLCGenerator.py:1241 +#, python-brace-format +msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" +msgstr "" + +#: ../PLCOpenEditor.py:347 msgid "" "No documentation available.\n" "Coming soon." msgstr "" -#: ../PLCGenerator.py:819 +#: ../PLCGenerator.py:829 #, python-format msgid "No informations found for \"%s\" block" msgstr "" -#: ../PLCGenerator.py:1183 -#, python-format -msgid "No output %s variable found in block %s in POU %s. Connection must be broken" +#: ../PLCGenerator.py:1194 +#, python-brace-format +msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken" msgstr "" #: ../controls/SearchResultPanel.py:169 msgid "No search results available." msgstr "" -#: ../svgui/svgui.py:107 +#: ../svgui/svgui.py:131 #, python-format msgid "No such SVG file: %s\n" msgstr "" -#: ../canfestival/config_utils.py:633 -#, python-format -msgid "No such index/subindex (%x,%x) (variable %s)" +#: ../canfestival/config_utils.py:639 +#, python-brace-format +msgid "No such index/subindex ({a1},{a2}) (variable {a3})" msgstr "" #: ../canfestival/config_utils.py:362 -#, python-format -msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)" +#, python-brace-format +msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" msgstr "" #: ../dialogs/BrowseValuesLibraryDialog.py:83 msgid "No valid value selected!" msgstr "" -#: ../PLCGenerator.py:1606 +#: ../PLCGenerator.py:1629 #, python-format msgid "No variable defined in \"%s\" POU" msgstr "" #: ../canfestival/config_utils.py:355 -#, python-format -msgid "Non existing node ID : %d (variable %s)" +#, python-brace-format +msgid "Non existing node ID : {a1} (variable {a2})" msgstr "" #: ../controls/VariablePanel.py:64 @@ -2267,16 +2284,16 @@ msgid "Normal" msgstr "" -#: ../canfestival/config_utils.py:384 -#, python-format -msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))" +#: ../canfestival/config_utils.py:389 +#, python-brace-format +msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))" msgstr "" #: ../plcopen/iec_std.csv:80 msgid "Not equal to" msgstr "" -#: ../dialogs/SFCDivergenceDialog.py:78 +#: ../dialogs/SFCDivergenceDialog.py:89 msgid "Number of sequences:" msgstr "" @@ -2284,40 +2301,28 @@ msgid "Numerical" msgstr "" -#: ../plcopen/definitions.py:38 -msgid "" -"Off-delay timer\n" -"The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." -msgstr "" - -#: ../plcopen/definitions.py:37 -msgid "" -"On-delay timer\n" -"The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." -msgstr "" - -#: ../editors/CodeFileEditor.py:664 -msgid "OnChange" -msgstr "" - -#: ../dialogs/SearchInProjectDialog.py:93 +#: ../dialogs/SearchInProjectDialog.py:86 msgid "Only Elements" msgstr "" -#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316 -#: ../Beremiz.py:350 +#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323 +#: ../Beremiz.py:357 msgid "Open" msgstr "" -#: ../svgui/svgui.py:116 +#: ../svgui/svgui.py:140 msgid "Open Inkscape" msgstr "" -#: ../ProjectController.py:1714 +#: ../version.py:66 +msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime." +msgstr "" + +#: ../ProjectController.py:1815 msgid "Open a file explorer to manage project files" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:114 +#: ../wxglade_hmi/wxglade_hmi.py:138 msgid "Open wxGlade" msgstr "" @@ -2325,7 +2330,7 @@ msgid "Option" msgstr "" -#: ../dialogs/FindInPouDialog.py:82 ../editors/CodeFileEditor.py:664 +#: ../dialogs/FindInPouDialog.py:83 msgid "Options" msgstr "" @@ -2333,58 +2338,69 @@ msgid "Organization (optional):" msgstr "" -#: ../canfestival/SlaveEditor.py:51 ../canfestival/NetworkEditor.py:72 +#: ../canfestival/SlaveEditor.py:74 ../canfestival/NetworkEditor.py:95 msgid "Other Profile" msgstr "" -#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39 -#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1554 -#: ../controls/VariablePanel.py:71 +#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1579 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Output" msgstr "" -#: ../canfestival/SlaveEditor.py:40 ../canfestival/NetworkEditor.py:61 +#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84 msgid "PDO Receive" msgstr "" -#: ../canfestival/SlaveEditor.py:39 ../canfestival/NetworkEditor.py:60 +#: ../canfestival/SlaveEditor.py:62 ../canfestival/NetworkEditor.py:83 msgid "PDO Transmit" msgstr "" -#: ../plcopen/definitions.py:42 +#: ../targets/toolchain_gcc.py:131 +msgid "PLC :\n" +msgstr "" + +#: ../Beremiz.py:453 +msgid "PLC Log" +msgstr "" + +#: ../ProjectController.py:992 +msgid "PLC code generation failed !\n" +msgstr "" + +#: ../Beremiz_service.py:295 +msgid "PLC is empty or already started." +msgstr "" + +#: ../Beremiz_service.py:302 +msgid "PLC is not started." +msgstr "" + +#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309 +#, python-brace-format msgid "" -"PID\n" -"The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." -msgstr "" - -#: ../targets/toolchain_gcc.py:107 -msgid "PLC :\n" -msgstr "" - -#: ../Beremiz.py:441 -msgid "PLC Log" -msgstr "" - -#: ../ProjectController.py:930 -msgid "PLC code generation failed !\n" -msgstr "" - -#: ../PLCOpenEditor.py:189 ../PLCOpenEditor.py:302 -#, python-format +"PLC syntax error at line {a1}:\n" +"{a2}" +msgstr "" + +#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373 +msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" +msgstr "" + +#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209 +msgid "PLCOpenEditor" +msgstr "" + +#: ../PLCOpenEditor.py:355 msgid "" -"PLC syntax error at line %d:\n" -"%s" -msgstr "" - -#: ../PLCOpenEditor.py:285 ../PLCOpenEditor.py:361 -msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" -msgstr "" - -#: ../PLCOpenEditor.py:146 ../PLCOpenEditor.py:202 -msgid "PLCOpenEditor" -msgstr "" - -#: ../dialogs/DiscoveryDialog.py:94 +"PLCOpenEditor is part of Beremiz project.\n" +"\n" +"Beremiz is an " +msgstr "" + +#: ../dialogs/DiscoveryDialog.py:95 msgid "PORT" msgstr "" @@ -2404,17 +2420,17 @@ msgid "POU Type:" msgstr "" -#: ../connectors/PYRO/__init__.py:41 +#: ../connectors/PYRO/__init__.py:45 #, python-format msgid "PYRO connecting to URI : %s\n" msgstr "" -#: ../connectors/PYRO/__init__.py:57 +#: ../connectors/PYRO/__init__.py:61 #, python-format msgid "PYRO using certificates in '%s' \n" msgstr "" -#: ../PLCOpenEditor.py:112 ../Beremiz.py:329 +#: ../PLCOpenEditor.py:118 ../Beremiz.py:336 msgid "Page Setup" msgstr "" @@ -2422,7 +2438,7 @@ msgid "Page Size (optional):" msgstr "" -#: ../IDEFrame.py:2565 +#: ../IDEFrame.py:2599 #, python-format msgid "Page: %d" msgstr "" @@ -2431,62 +2447,66 @@ msgid "Parent instance" msgstr "" -#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402 +#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426 msgid "Paste" msgstr "" -#: ../IDEFrame.py:1831 +#: ../IDEFrame.py:1865 msgid "Paste POU" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:64 +#: ../dialogs/SearchInProjectDialog.py:56 msgid "Pattern to search:" msgstr "" -#: ../dialogs/LDPowerRailDialog.py:72 +#: ../dialogs/LDPowerRailDialog.py:73 msgid "Pin number:" msgstr "" -#: ../editors/Viewer.py:2672 ../editors/Viewer.py:2916 -#: ../editors/SFCViewer.py:696 +#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2963 +#: ../editors/SFCViewer.py:770 msgid "Please choose a target" msgstr "" -#: ../editors/TextViewer.py:261 +#: ../editors/TextViewer.py:262 msgid "Please enter a block name" msgstr "" -#: ../editors/Viewer.py:2542 ../editors/Viewer.py:2953 +#: ../editors/Viewer.py:2576 ../editors/Viewer.py:3005 msgid "Please enter comment text" msgstr "" -#: ../editors/SFCViewer.py:359 ../editors/SFCViewer.py:381 -#: ../editors/SFCViewer.py:725 +#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455 +#: ../editors/SFCViewer.py:799 msgid "Please enter step name" msgstr "" +#: ../Beremiz_service.py:194 +msgid "Please enter text" +msgstr "" + #: ../dialogs/ForceVariableDialog.py:163 #, python-format msgid "Please enter value for a \"%s\" variable:" msgstr "" -#: ../Beremiz_service.py:287 +#: ../Beremiz_service.py:317 msgid "Port number must be 0 <= port <= 65535!" msgstr "" -#: ../Beremiz_service.py:287 +#: ../Beremiz_service.py:317 msgid "Port number must be an integer!" msgstr "" -#: ../editors/Viewer.py:532 ../editors/Viewer.py:2085 +#: ../editors/Viewer.py:536 ../editors/Viewer.py:2367 msgid "Power Rail" msgstr "" -#: ../dialogs/LDPowerRailDialog.py:49 +#: ../dialogs/LDPowerRailDialog.py:50 msgid "Power Rail Properties" msgstr "" -#: ../PLCOpenEditor.py:114 ../Beremiz.py:331 +#: ../PLCOpenEditor.py:120 ../Beremiz.py:338 msgid "Preview" msgstr "" @@ -2494,12 +2514,12 @@ msgid "Preview:" msgstr "" -#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333 -#: ../Beremiz.py:353 +#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340 +#: ../Beremiz.py:360 msgid "Print" msgstr "" -#: ../IDEFrame.py:1047 +#: ../IDEFrame.py:1075 msgid "Print preview" msgstr "" @@ -2507,11 +2527,11 @@ msgid "Priority" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:88 +#: ../dialogs/SFCTransitionDialog.py:89 msgid "Priority:" msgstr "" -#: ../runtime/PLCObject.py:369 +#: ../runtime/PLCObject.py:370 #, python-format msgid "Problem starting PLC : error %d" msgstr "" @@ -2536,12 +2556,12 @@ msgid "Product Version (required):" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1710 -#: ../IDEFrame.py:1907 +#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1744 +#: ../IDEFrame.py:1941 msgid "Program" msgstr "" -#: ../PLCOpenEditor.py:330 +#: ../PLCOpenEditor.py:337 msgid "Program was successfully generated!" msgstr "" @@ -2549,11 +2569,11 @@ msgid "Programs" msgstr "" -#: ../editors/Viewer.py:238 +#: ../editors/Viewer.py:242 msgid "Programs can't be used by other POUs!" msgstr "" -#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:556 +#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584 msgid "Project" msgstr "" @@ -2562,7 +2582,7 @@ msgid "Project '%s':" msgstr "" -#: ../ProjectController.py:1713 +#: ../ProjectController.py:1814 msgid "Project Files" msgstr "" @@ -2578,19 +2598,19 @@ msgid "Project Version (optional):" msgstr "" -#: ../PLCControler.py:3157 +#: ../PLCControler.py:3158 msgid "" "Project file syntax error:\n" "\n" msgstr "" -#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14 +#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37 msgid "Project properties" msgstr "" -#: ../ConfigTreeNode.py:540 -#, python-format -msgid "Project tree layout do not match confnode.xml %s!=%s " +#: ../ConfigTreeNode.py:566 +#, python-brace-format +msgid "Project tree layout do not match confnode.xml {a1}!={a2} " msgstr "" #: ../dialogs/ConnectionDialog.py:94 @@ -2601,17 +2621,28 @@ msgid "Properties" msgstr "" -#: ../plcopen/definitions.py:36 -msgid "" -"Pulse timer\n" -"The pulse timer can be used to generate output pulses of a given time duration." -msgstr "" - -#: ../py_ext/PythonEditor.py:57 +#: ../Beremiz_service.py:440 +msgid "Publishing service on local network" +msgstr "" + +#: ../connectors/PYRO/__init__.py:118 +#, python-format +msgid "Pyro exception: %s\n" +msgstr "" + +#: ../Beremiz_service.py:427 +msgid "Pyro object's uri :" +msgstr "" + +#: ../Beremiz_service.py:426 +msgid "Pyro port :" +msgstr "" + +#: ../py_ext/PythonEditor.py:81 msgid "Python code" msgstr "" -#: ../features.py:9 +#: ../features.py:33 msgid "Python file" msgstr "" @@ -2619,62 +2650,44 @@ msgid "Qualifier" msgstr "" -#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252 +#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:273 msgid "Quit" msgstr "" -#: ../plcopen/definitions.py:29 -msgid "" -"RS bistable\n" -"The RS bistable is a latch where the Reset dominates." -msgstr "" - -#: ../plcopen/definitions.py:43 -msgid "" -"Ramp\n" -"The RAMP function block is modelled on example given in the standard." -msgstr "" - #: ../controls/DebugVariablePanel/DebugVariablePanel.py:225 msgid "Range:" msgstr "" -#: ../ProjectController.py:1709 +#: ../ProjectController.py:1810 msgid "Raw IEC code" msgstr "" -#: ../plcopen/definitions.py:39 -msgid "" -"Real time clock\n" -"The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on." -msgstr "" - -#: ../Beremiz.py:1107 +#: ../Beremiz.py:1143 #, python-format msgid "Really delete node '%s'?" msgstr "" -#: ../IDEFrame.py:338 ../IDEFrame.py:398 +#: ../IDEFrame.py:362 ../IDEFrame.py:422 msgid "Redo" msgstr "" -#: ../dialogs/SFCTransitionDialog.py:73 +#: ../dialogs/SFCTransitionDialog.py:74 msgid "Reference" msgstr "" -#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408 +#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432 msgid "Refresh" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:73 +#: ../dialogs/SearchInProjectDialog.py:66 msgid "Regular expression" msgstr "" -#: ../dialogs/FindInPouDialog.py:97 +#: ../dialogs/FindInPouDialog.py:98 msgid "Regular expressions" msgstr "" -#: ../editors/Viewer.py:1531 +#: ../editors/Viewer.py:1556 msgid "Release value" msgstr "" @@ -2682,16 +2695,16 @@ msgid "Remainder (modulo)" msgstr "" -#: ../Beremiz.py:1108 +#: ../Beremiz.py:1144 #, python-format msgid "Remove %s node" msgstr "" -#: ../IDEFrame.py:2371 +#: ../IDEFrame.py:2405 msgid "Remove Datatype" msgstr "" -#: ../IDEFrame.py:2376 +#: ../IDEFrame.py:2410 msgid "Remove Pou" msgstr "" @@ -2699,7 +2712,7 @@ msgid "Remove action" msgstr "" -#: ../editors/DataTypeEditor.py:352 +#: ../editors/DataTypeEditor.py:353 msgid "Remove element" msgstr "" @@ -2711,7 +2724,7 @@ msgid "Remove instance" msgstr "" -#: ../canfestival/NetworkEditor.py:81 +#: ../canfestival/NetworkEditor.py:104 msgid "Remove slave" msgstr "" @@ -2719,11 +2732,11 @@ msgid "Remove task" msgstr "" -#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441 +#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451 msgid "Remove variable" msgstr "" -#: ../IDEFrame.py:1911 +#: ../IDEFrame.py:1945 msgid "Rename" msgstr "" @@ -2731,7 +2744,7 @@ msgid "Replace File" msgstr "" -#: ../editors/Viewer.py:498 +#: ../editors/Viewer.py:502 msgid "Replace Wire by connections" msgstr "" @@ -2743,11 +2756,11 @@ msgid "Reset" msgstr "" -#: ../editors/Viewer.py:578 +#: ../editors/Viewer.py:583 msgid "Reset Execution Order" msgstr "" -#: ../IDEFrame.py:423 +#: ../IDEFrame.py:451 msgid "Reset Perspective" msgstr "" @@ -2755,7 +2768,7 @@ msgid "Reset search result" msgstr "" -#: ../PLCControler.py:97 ../Beremiz.py:1039 +#: ../PLCControler.py:97 ../Beremiz.py:1075 msgid "Resources" msgstr "" @@ -2763,28 +2776,22 @@ msgid "Retain" msgstr "" -#: ../controls/VariablePanel.py:414 +#: ../controls/VariablePanel.py:424 msgid "Return Type:" msgstr "" -#: ../editors/Viewer.py:483 +#: ../editors/Viewer.py:487 msgid "Right" msgstr "" -#: ../dialogs/LDPowerRailDialog.py:62 +#: ../dialogs/LDPowerRailDialog.py:63 msgid "Right PowerRail" msgstr "" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461 msgid "Rising Edge" msgstr "" -#: ../plcopen/definitions.py:31 -msgid "" -"Rising edge detector\n" -"The output produces a single pulse when a rising edge is detected." -msgstr "" - #: ../plcopen/iec_std.csv:65 msgid "Rotate left" msgstr "" @@ -2797,23 +2804,23 @@ msgid "Rounding up/down" msgstr "" -#: ../ProjectController.py:1677 +#: ../ProjectController.py:1778 msgid "Run" msgstr "" -#: ../ProjectController.py:975 +#: ../ProjectController.py:1037 msgid "Runtime IO extensions C code generation failed !\n" msgstr "" -#: ../ProjectController.py:984 +#: ../ProjectController.py:1046 msgid "Runtime library extensions C code generation failed !\n" msgstr "" -#: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59 +#: ../canfestival/SlaveEditor.py:61 ../canfestival/NetworkEditor.py:82 msgid "SDO Client" msgstr "" -#: ../canfestival/SlaveEditor.py:37 ../canfestival/NetworkEditor.py:58 +#: ../canfestival/SlaveEditor.py:60 ../canfestival/NetworkEditor.py:81 msgid "SDO Server" msgstr "" @@ -2821,51 +2828,59 @@ msgid "SFC" msgstr "" -#: ../plcopen/definitions.py:28 -msgid "" -"SR bistable\n" -"The SR bistable is a latch where the Set dominates." -msgstr "" - -#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31 +#: ../PLCGenerator.py:1392 +#, python-brace-format +msgid "SFC jump in pou \"{a1}\" refers to non-existent SFC step \"{a2}\"" +msgstr "" + +#: ../PLCGenerator.py:773 +#, python-format +msgid "SFC transition in POU \"%s\" must be connected." +msgstr "" + +#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 #: ../dialogs/PouDialog.py:36 msgid "ST" msgstr "" -#: ../PLCOpenEditor.py:317 +#: ../PLCOpenEditor.py:324 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "" -#: ../svgui/svgui.py:101 +#: ../svgui/svgui.py:125 msgid "SVG files (*.svg)|*.svg|All files|*.*" msgstr "" -#: ../features.py:11 +#: ../features.py:35 msgid "SVGUI" msgstr "" -#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320 -#: ../Beremiz.py:351 +#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327 +#: ../Beremiz.py:358 msgid "Save" msgstr "" -#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352 +#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359 msgid "Save As..." msgstr "" -#: ../Beremiz.py:322 +#: ../Beremiz.py:329 msgid "Save as" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:76 +#: ../ProjectController.py:420 +msgid "Save path is the same as path of a project! \n" +msgstr "" + +#: ../dialogs/SearchInProjectDialog.py:69 msgid "Scope" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:595 +#: ../IDEFrame.py:623 msgid "Search" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404 +#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:382 ../IDEFrame.py:428 msgid "Search in Project" msgstr "" @@ -2873,17 +2888,17 @@ msgid "Seconds:" msgstr "" -#: ../IDEFrame.py:364 +#: ../IDEFrame.py:388 msgid "Select All" msgstr "" -#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304 -#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280 -#: ../controls/VariablePanel.py:340 +#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350 msgid "Select a variable class:" msgstr "" -#: ../ProjectController.py:1126 +#: ../ProjectController.py:1195 msgid "Select an editor:" msgstr "" @@ -2891,10 +2906,14 @@ msgid "Select an instance" msgstr "" -#: ../IDEFrame.py:579 +#: ../IDEFrame.py:607 msgid "Select an object" msgstr "" +#: ../ProjectController.py:427 +msgid "Selected directory already contains another project. Overwrite? \n" +msgstr "" + #: ../plcopen/iec_std.csv:70 msgid "Selection" msgstr "" @@ -2907,17 +2926,11 @@ msgid "Selection Divergence" msgstr "" -#: ../plcopen/definitions.py:30 -msgid "" -"Semaphore\n" -"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." -msgstr "" - -#: ../dialogs/DiscoveryDialog.py:81 +#: ../dialogs/DiscoveryDialog.py:82 msgid "Service Discovery" msgstr "" -#: ../dialogs/DiscoveryDialog.py:84 +#: ../dialogs/DiscoveryDialog.py:85 msgid "Services available:" msgstr "" @@ -2933,19 +2946,19 @@ msgid "Shift right" msgstr "" -#: ../ProjectController.py:1703 +#: ../ProjectController.py:1804 msgid "Show IEC code generated by PLCGenerator" msgstr "" -#: ../canfestival/canfestival.py:363 +#: ../canfestival/canfestival.py:387 msgid "Show Master" msgstr "" -#: ../canfestival/canfestival.py:364 +#: ../canfestival/canfestival.py:388 msgid "Show Master generated by config_utils" msgstr "" -#: ../ProjectController.py:1701 +#: ../ProjectController.py:1802 msgid "Show code" msgstr "" @@ -2965,52 +2978,65 @@ msgid "Single" msgstr "" -#: ../targets/toolchain_makefile.py:112 +#: ../targets/toolchain_makefile.py:126 msgid "Source didn't change, no build.\n" msgstr "" +#: ../PLCGenerator.py:397 +#, python-brace-format +msgid "Source signal has to be defined for single task '{a1}' in resource '{a2}.{a3}'." +msgstr "" + #: ../plcopen/iec_std.csv:23 msgid "Square root (base 2)" msgstr "" -#: ../plcopen/definitions.py:21 +#: ../plcopen/definitions.py:46 msgid "Standard function blocks" msgstr "" -#: ../ProjectController.py:1679 ../Beremiz_service.py:240 +#: ../ProjectController.py:1780 ../Beremiz_service.py:261 msgid "Start PLC" msgstr "" -#: ../ProjectController.py:922 +#: ../ProjectController.py:984 #, python-format msgid "Start build in %s\n" msgstr "" -#: ../ProjectController.py:1483 +#: ../ProjectController.py:1298 +msgid "Started" +msgstr "" + +#: ../ProjectController.py:1586 msgid "Starting PLC\n" msgstr "" -#: ../Beremiz.py:451 +#: ../Beremiz.py:463 msgid "Status ToolBar" msgstr "" -#: ../editors/Viewer.py:549 ../editors/Viewer.py:2059 +#: ../editors/Viewer.py:553 ../editors/Viewer.py:2342 msgid "Step" msgstr "" -#: ../ProjectController.py:1682 +#: ../ProjectController.py:1783 msgid "Stop" msgstr "" -#: ../Beremiz_service.py:241 +#: ../Beremiz_service.py:262 msgid "Stop PLC" msgstr "" -#: ../ProjectController.py:1684 +#: ../ProjectController.py:1785 msgid "Stop Running PLC" msgstr "" -#: ../ProjectController.py:1455 +#: ../ProjectController.py:1299 +msgid "Stopped" +msgstr "" + +#: ../ProjectController.py:1558 msgid "Stopping debugger...\n" msgstr "" @@ -3026,15 +3052,19 @@ msgid "Subtraction" msgstr "" -#: ../ProjectController.py:961 +#: ../ProjectController.py:1023 msgid "Successfully built.\n" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:154 +#: ../IDEFrame.py:447 +msgid "Switch perspective" +msgstr "" + +#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:172 msgid "Syntax error in regular expression of pattern to search!" msgstr "" -#: ../dialogs/DiscoveryDialog.py:92 +#: ../dialogs/DiscoveryDialog.py:93 msgid "TYPE" msgstr "" @@ -3065,16 +3095,16 @@ msgid "The group of block must be coherent!" msgstr "" -#: ../Beremiz.py:614 ../IDEFrame.py:983 +#: ../Beremiz.py:640 ../IDEFrame.py:1011 msgid "There are changes, do you want to save?" msgstr "" -#: ../IDEFrame.py:1618 ../IDEFrame.py:1637 +#: ../IDEFrame.py:1655 ../IDEFrame.py:1674 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" -#: ../IDEFrame.py:1070 +#: ../IDEFrame.py:1098 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -3084,6 +3114,11 @@ msgid "This option isn't available yet!" msgstr "" +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:565 +#, python-format +msgid "Tick: %d" +msgstr "" + #: ../plcopen/iec_std.csv:40 msgid "Time" msgstr "" @@ -3117,54 +3152,54 @@ msgid "Time-of-day subtraction" msgstr "" -#: ../editors/Viewer.py:485 +#: ../editors/Viewer.py:489 msgid "Top" msgstr "" -#: ../ProjectController.py:1691 +#: ../ProjectController.py:1792 msgid "Transfer" msgstr "" -#: ../ProjectController.py:1693 +#: ../ProjectController.py:1794 msgid "Transfer PLC" msgstr "" -#: ../ProjectController.py:1658 +#: ../ProjectController.py:1758 msgid "Transfer completed successfully.\n" msgstr "" -#: ../ProjectController.py:1660 +#: ../ProjectController.py:1760 msgid "Transfer failed\n" msgstr "" -#: ../editors/Viewer.py:550 ../editors/Viewer.py:2060 ../editors/Viewer.py:2089 +#: ../editors/Viewer.py:554 ../editors/Viewer.py:2344 ../editors/Viewer.py:2371 msgid "Transition" msgstr "" -#: ../PLCGenerator.py:1499 +#: ../PLCGenerator.py:1518 #, python-format msgid "Transition \"%s\" body must contain an output variable or coil referring to its name" msgstr "" -#: ../dialogs/PouTransitionDialog.py:84 +#: ../dialogs/PouTransitionDialog.py:89 msgid "Transition Name" msgstr "" -#: ../dialogs/PouTransitionDialog.py:53 +#: ../dialogs/PouTransitionDialog.py:58 msgid "Transition Name:" msgstr "" -#: ../PLCGenerator.py:1588 -#, python-format -msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU" -msgstr "" - -#: ../PLCGenerator.py:1579 -#, python-format -msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU" -msgstr "" - -#: ../plcopen/plcopen.py:1315 +#: ../PLCGenerator.py:1609 +#, python-brace-format +msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU" +msgstr "" + +#: ../PLCGenerator.py:1598 +#, python-brace-format +msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU" +msgstr "" + +#: ../plcopen/plcopen.py:1318 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "" @@ -3173,21 +3208,29 @@ msgid "Transitions" msgstr "" +#: ../dialogs/AboutDialog.py:123 +msgid "Translated by" +msgstr "" + #: ../editors/ResourceEditor.py:68 msgid "Triggering" msgstr "" +#: ../Beremiz_service.py:476 +msgid "Twisted unavailable." +msgstr "" + #: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:663 -#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 +#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 +#: ../controls/VariablePanel.py:54 msgid "Type" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:43 +#: ../dialogs/BrowseLocationsDialog.py:48 msgid "Type and derivated" msgstr "" -#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618 +#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624 #, python-format msgid "Type conflict for location \"%s\"" msgstr "" @@ -3196,33 +3239,33 @@ msgid "Type conversion" msgstr "" -#: ../editors/DataTypeEditor.py:161 +#: ../editors/DataTypeEditor.py:162 msgid "Type infos:" msgstr "" -#: ../dialogs/BrowseLocationsDialog.py:44 +#: ../dialogs/BrowseLocationsDialog.py:49 msgid "Type strict" msgstr "" -#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56 -#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94 +#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57 +#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99 #: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58 msgid "Type:" msgstr "" -#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470 +#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476 #, python-format msgid "Unable to define PDO mapping for node %02x" msgstr "" -#: ../targets/Xenomai/__init__.py:15 +#: ../targets/Xenomai/__init__.py:39 #, python-format msgid "Unable to get Xenomai's %s \n" msgstr "" -#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202 -#, python-format -msgid "Undefined block type \"%s\" in \"%s\" POU" +#: ../PLCGenerator.py:961 ../PLCGenerator.py:1214 +#, python-brace-format +msgid "Undefined block type \"{a1}\" in \"{a2}\" POU" msgstr "" #: ../PLCGenerator.py:254 @@ -3230,20 +3273,20 @@ msgid "Undefined pou type \"%s\"" msgstr "" -#: ../IDEFrame.py:336 ../IDEFrame.py:397 +#: ../IDEFrame.py:360 ../IDEFrame.py:421 msgid "Undo" msgstr "" -#: ../ProjectController.py:308 +#: ../ProjectController.py:332 msgid "Unknown" msgstr "" -#: ../editors/Viewer.py:389 +#: ../editors/Viewer.py:393 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "" -#: ../ProjectController.py:305 ../ProjectController.py:306 +#: ../ProjectController.py:329 ../ProjectController.py:330 msgid "Unnamed" msgstr "" @@ -3252,28 +3295,16 @@ msgid "Unnamed%d" msgstr "" -#: ../controls/VariablePanel.py:275 +#: ../controls/VariablePanel.py:284 #, python-format msgid "Unrecognized data size \"%s\"" msgstr "" -#: ../plcopen/definitions.py:33 -msgid "" -"Up-counter\n" -"The up-counter can be used to signal when a count has reached a maximum value." -msgstr "" - -#: ../plcopen/definitions.py:35 -msgid "" -"Up-down counter\n" -"The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." -msgstr "" - -#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780 +#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798 msgid "User Data Types" msgstr "" -#: ../canfestival/SlaveEditor.py:42 ../canfestival/NetworkEditor.py:63 +#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:86 msgid "User Type" msgstr "" @@ -3285,26 +3316,32 @@ msgid "Value" msgstr "" -#: ../editors/DataTypeEditor.py:258 +#: ../editors/DataTypeEditor.py:259 msgid "Values:" msgstr "" -#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522 -#: ../editors/Viewer.py:2074 +#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 +#: ../editors/Viewer.py:2374 msgid "Variable" msgstr "" +#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 +#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329 +msgid "Variable Drop" +msgstr "" + #: ../dialogs/FBDVariableDialog.py:63 msgid "Variable Properties" msgstr "" -#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304 -#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280 -#: ../controls/VariablePanel.py:340 +#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350 msgid "Variable class" msgstr "" -#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385 +#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!" msgstr "" @@ -3320,21 +3357,29 @@ msgid "Vertical:" msgstr "" -#: ../connectors/WAMP/__init__.py:88 +#: ../Beremiz_service.py:586 +msgid "WAMP client startup failed. " +msgstr "" + +#: ../connectors/WAMP/__init__.py:91 #, python-format msgid "WAMP connecting to URL : %s\n" msgstr "" -#: ../connectors/WAMP/__init__.py:128 +#: ../connectors/WAMP/__init__.py:131 msgid "WAMP connection timeout" msgstr "" -#: ../connectors/WAMP/__init__.py:147 +#: ../connectors/WAMP/__init__.py:150 #, python-format msgid "WAMP connection to '%s' failed.\n" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:11 +#: ../Beremiz_service.py:562 +msgid "WAMP import failed :" +msgstr "" + +#: ../wxglade_hmi/wxglade_hmi.py:35 msgid "WXGLADE GUI" msgstr "" @@ -3342,11 +3387,11 @@ msgid "Warning" msgstr "" -#: ../ProjectController.py:584 +#: ../ProjectController.py:616 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:85 +#: ../dialogs/SearchInProjectDialog.py:78 msgid "Whole Project" msgstr "" @@ -3354,27 +3399,31 @@ msgid "Width:" msgstr "" -#: ../dialogs/FindInPouDialog.py:92 +#: ../dialogs/FindInPouDialog.py:93 msgid "Wrap search" msgstr "" -#: ../features.py:10 +#: ../dialogs/AboutDialog.py:122 +msgid "Written by" +msgstr "" + +#: ../features.py:34 msgid "WxGlade GUI" msgstr "" -#: ../svgui/svgui.py:115 +#: ../svgui/svgui.py:139 msgid "" "You don't have write permissions.\n" "Open Inkscape anyway ?" msgstr "" -#: ../wxglade_hmi/wxglade_hmi.py:113 +#: ../wxglade_hmi/wxglade_hmi.py:137 msgid "" "You don't have write permissions.\n" "Open wxGlade anyway ?" msgstr "" -#: ../ProjectController.py:268 +#: ../ProjectController.py:292 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" @@ -3388,7 +3437,7 @@ msgid "You must select the wire where a contact should be added!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45 +#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46 msgid "You must type a name!" msgstr "" @@ -3396,29 +3445,25 @@ msgid "You must type a value!" msgstr "" -#: ../IDEFrame.py:414 +#: ../IDEFrame.py:438 msgid "Zoom" msgstr "" -#: ../Beremiz.py:997 -msgid "about.html" -msgstr "" - #: ../dialogs/DurationEditorDialog.py:151 msgid "days" msgstr "" -#: ../PLCOpenEditor.py:326 +#: ../PLCOpenEditor.py:333 #, python-format msgid "error: %s\n" msgstr "" -#: ../util/ProcessLogger.py:166 -#, python-format -msgid "exited with status %s (pid %s)\n" -msgstr "" - -#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 +#: ../util/ProcessLogger.py:169 +#, python-brace-format +msgid "exited with status {a1} (pid {a2})\n" +msgstr "" + +#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 msgid "file : " msgstr "" @@ -3426,7 +3471,7 @@ msgid "function" msgstr "" -#: ../PLCOpenEditor.py:387 +#: ../PLCOpenEditor.py:399 msgid "function : " msgstr "" @@ -3438,7 +3483,7 @@ msgid "hours" msgstr "" -#: ../PLCOpenEditor.py:387 +#: ../PLCOpenEditor.py:399 msgid "line : " msgstr "" @@ -3450,10 +3495,6 @@ msgid "minutes" msgstr "" -#: ../PLCOpenEditor.py:346 -msgid "plcopen_about.html" -msgstr "" - #: ../dialogs/PouDialog.py:31 msgid "program" msgstr "" @@ -3474,13 +3515,30 @@ msgid "string right of" msgstr "" -#: ../PLCOpenEditor.py:324 +#: ../Beremiz.py:126 +msgid "update info unavailable." +msgstr "" + +#: ../PLCOpenEditor.py:331 #, python-format msgid "warning: %s\n" msgstr "" +#: ../PLCControler.py:970 +#, python-brace-format +msgid "{a1} \"{a2}\" can't be pasted as a {a3}." +msgstr "" + +#: ../ConfigTreeNode.py:56 +#, python-brace-format +msgid "" +"{a1} XML file doesn't follow XSD schema at line %{a2}:\n" +"{a3}" +msgstr "" + #: Extra XSD strings + msgid "CanFestivalSlaveNode" msgstr "" @@ -3535,6 +3593,9 @@ msgid "LDFLAGS" msgstr "" +msgid "PLC" +msgstr "" + msgid "Linux" msgstr "" @@ -3594,3 +3655,156 @@ msgid "opts" msgstr "" + +#: Extra TC6 documentation strings + + +msgid "0 - current time, 1 - load time from PDT" +msgstr "" + +msgid "Preset datetime" +msgstr "" + +msgid "Copy of IN" +msgstr "" + +msgid "Datetime, current or relative to PDT" +msgstr "" + +msgid "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on." +msgstr "" + +msgid "1 = integrate, 0 = hold" +msgstr "" + +msgid "Overriding reset" +msgstr "" + +msgid "Input variable" +msgstr "" + +msgid "Initial value" +msgstr "" + +msgid "Sampling period" +msgstr "" + +msgid "NOT R1" +msgstr "" + +msgid "Integrated output" +msgstr "" + +msgid "The integral function block integrates the value of input XIN over time." +msgstr "" + +msgid "0 = reset" +msgstr "" + +msgid "Input to be differentiated" +msgstr "" + +msgid "Differentiated output" +msgstr "" + +msgid "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." +msgstr "" + +msgid "0 - manual , 1 - automatic" +msgstr "" + +msgid "Process variable" +msgstr "" + +msgid "Set point" +msgstr "" + +msgid "Manual output adjustment - Typically from transfer station" +msgstr "" + +msgid "Proportionality constant" +msgstr "" + +msgid "Reset time" +msgstr "" + +msgid "Derivative time constant" +msgstr "" + +msgid "PV - SP" +msgstr "" + +msgid "FB for integral term" +msgstr "" + +msgid "FB for derivative term" +msgstr "" + +msgid "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." +msgstr "" + +msgid "0 - track X0, 1 - ramp to/track X1" +msgstr "" + +msgid "Ramp duration" +msgstr "" + +msgid "BUSY = 1 during ramping period" +msgstr "" + +msgid "Elapsed time of ramp" +msgstr "" + +msgid "The RAMP function block is modelled on example given in the standard." +msgstr "" + +msgid "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." +msgstr "" + +msgid "The SR bistable is a latch where the Set dominates." +msgstr "" + +msgid "The RS bistable is a latch where the Reset dominates." +msgstr "" + +msgid "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." +msgstr "" + +msgid "The output produces a single pulse when a rising edge is detected." +msgstr "" + +msgid "The output produces a single pulse when a falling edge is detected." +msgstr "" + +msgid "The up-counter can be used to signal when a count has reached a maximum value." +msgstr "" + +msgid "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." +msgstr "" + +msgid "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." +msgstr "" + +msgid "first input parameter" +msgstr "" + +msgid "second input parameter" +msgstr "" + +msgid "first output parameter" +msgstr "" + +msgid "second output parameter" +msgstr "" + +msgid "internal state: 0-reset, 1-counting, 2-set" +msgstr "" + +msgid "The pulse timer can be used to generate output pulses of a given time duration." +msgstr "" + +msgid "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." +msgstr "" + +msgid "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." +msgstr ""