--- a/i18n/Beremiz_ru_RU.po Mon Sep 12 16:46:09 2016 +0300
+++ b/i18n/Beremiz_ru_RU.po Mon Sep 12 16:49:24 2016 +0300
@@ -7,15 +7,15 @@
"Project-Id-Version: Beremiz\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-04-21 17:11+0300\n"
-"PO-Revision-Date: 2016-04-21 17:22+0300\n"
+"POT-Creation-Date: 2016-09-12 16:46+0300\n" +"PO-Revision-Date: 2016-09-12 16:29+0300\n" "Language-Team: Andrey Skvortsov <andrej.skvortzov@gmail.com>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.7.1\n"
+"X-Generator: Poedit 1.8.9\n" #: ../PLCOpenEditor.py:396
@@ -39,7 +39,7 @@
@@ -98,7 +98,7 @@
-#: ../ProjectController.py:1027
+#: ../ProjectController.py:1083 msgid " generation failed !\n"
msgstr "неудачная генерация кода!\n"
@@ -122,7 +122,7 @@
msgid "\"%s\" can't use itself!"
msgstr "\"%s\" не может использовать сам себя!!!"
-#: ../IDEFrame.py:1615 ../IDEFrame.py:1634
+#: ../IDEFrame.py:1646 ../IDEFrame.py:1665 msgid "\"%s\" config already exists!"
msgstr "Конфигурация \"%s\" уже существует!!!"
@@ -132,7 +132,7 @@
msgid "\"%s\" configuration already exists !!!"
msgstr "Конфигурация \"%s\" уже существует!!!"
msgid "\"%s\" data type already exists!"
msgstr "Тип данных \"%s\" уже существует!!!"
@@ -140,13 +140,13 @@
#: ../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
+#: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301 +#: ../controls/VariablePanel.py:394 msgid "\"%s\" element for this pou already exists!"
msgstr "Элемент с именем \"%s\" уже существует в этом POU!!!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
msgstr "Директория \"%s\" не является проектом Beremiz\n"
@@ -159,9 +159,9 @@
#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
-#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583
-#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733
+#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584 +#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:749 msgid "\"%s\" is a keyword. It can't be used!"
msgstr "\"%s\" является ключевым словом и не может быть использован!"
@@ -184,23 +184,23 @@
#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
-#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748
-#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1558
+#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:774 +#: ../controls/VariablePanel.py:747 ../IDEFrame.py:1589 msgid "\"%s\" is not a valid identifier!"
msgstr "\"%s\" неверный идентификатор!"
msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
msgstr "\"%s\" используется более чем одним POU. Продолжить?"
#: ../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
+#: ../editors/Viewer.py:363 ../editors/TextViewer.py:270 +#: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 +#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:336 msgid "\"%s\" pou already exists!"
msgstr "POU \"%s\" уже существует!"
@@ -220,27 +220,23 @@
msgid "\"%s\" step already exists!"
msgstr "Шаг \"%s\" уже существует!"
-#: ../editors/DataTypeEditor.py:549
+#: ../editors/DataTypeEditor.py:550 msgid "\"%s\" value already defined!"
msgstr "\"%s\" значение уже задано!"
-#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745 msgid "\"%s\" value isn't a valid array dimension!"
msgstr "\"%s\" не является корректной размерностью для массива! "
-#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752 "\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
msgstr "\"%s\" не является корректной размерностью массива! Правое значение должно быть больше левого."
-#: ../editors/CodeFileEditor.py:663
msgid "%(codefile_name)s"
msgstr "%(codefile_name)"
@@ -259,12 +255,12 @@
-#: ../canfestival/SlaveEditor.py:46 ../canfestival/NetworkEditor.py:67
+#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:90 -#: ../ConfigTreeNode.py:32
+#: ../ConfigTreeNode.py:56 "%s XML file doesn't follow XSD schema at line %d:\n"
@@ -286,43 +282,43 @@
msgid "%s body don't have text!"
msgstr "Тело %s не содержит никакой текст!"
msgstr "&Добавить элемент"
@@ -330,11 +326,11 @@
msgstr "&Недавние проекты"
@@ -388,20 +384,20 @@
-#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1581 ../IDEFrame.py:1623
+#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1612 ../IDEFrame.py:1654 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr "В POU присутствует элемент с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?"
#: ../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
+#: ../controls/VariablePanel.py:751 ../IDEFrame.py:1624 ../IDEFrame.py:1635 msgid "A POU named \"%s\" already exists!"
msgstr "POU с именем \"%s\" уже существует!"
-#: ../ConfigTreeNode.py:400
+#: ../ConfigTreeNode.py:424 msgid "A child named \"%s\" already exist -> \"%s\"\n"
msgstr "Дочерний элемент с именем \"%s\" уже существует -> \"%s\"\n"
@@ -410,22 +406,22 @@
msgid "A location must be selected!"
msgstr "Необходимо выбрать размещение!"
-#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737
-#: ../IDEFrame.py:1595 ../IDEFrame.py:1606
+#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:753 +#: ../IDEFrame.py:1626 ../IDEFrame.py:1637 msgid "A variable with \"%s\" as name already exists in this pou!"
msgstr "Переменная с именем \"%s\" уже существует в этом POU!"
-#: ../editors/CodeFileEditor.py:754
+#: ../editors/CodeFileEditor.py:780 msgid "A variable with \"%s\" as name already exists!"
msgstr "Переменная с именем \"%s\" уже существует!"
-#: ../PLCOpenEditor.py:152 ../Beremiz.py:374
+#: ../PLCOpenEditor.py:152 ../Beremiz.py:376
@@ -470,24 +466,24 @@
-#: ../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:584 ../Beremiz.py:1031 -#: ../IDEFrame.py:1856 ../IDEFrame.py:1891
+#: ../IDEFrame.py:1884 ../IDEFrame.py:1919 msgstr "Добавить действие"
msgid "Add C code accessing located variables synchronously"
msgstr "Добавить C-код с синхронным доступом к локальным переменным"
msgid "Add Configuration"
msgstr "Добавить конфигурацию"
msgstr "Добавить тип данных"
@@ -499,19 +495,19 @@
msgstr "Добавить IP адрес"
msgid "Add Python code executed asynchronously"
msgstr "Добавить асинхронно вызываемый код на Python"
-#: ../IDEFrame.py:1867 ../IDEFrame.py:1917
+#: ../IDEFrame.py:1895 ../IDEFrame.py:1945 -#: ../IDEFrame.py:1845 ../IDEFrame.py:1888
+#: ../IDEFrame.py:1873 ../IDEFrame.py:1916 msgstr "Добавить переход"
@@ -531,7 +527,7 @@
msgstr "Добавить новый шаг"
msgid "Add a simple WxGlade based GUI."
msgstr "Добавить простой GUI на WxGlade "
@@ -539,7 +535,7 @@
msgstr "Добавить действие"
-#: ../editors/DataTypeEditor.py:351
+#: ../editors/DataTypeEditor.py:352 msgstr "Добавить элемент"
@@ -547,7 +543,7 @@
msgstr "Добавить экземпляр"
-#: ../canfestival/NetworkEditor.py:80
+#: ../canfestival/NetworkEditor.py:103 @@ -555,7 +551,7 @@
-#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440
+#: ../editors/CodeFileEditor.py:664 ../controls/VariablePanel.py:448 msgstr "Добавить переменную"
@@ -563,7 +559,7 @@
-#: ../plcopen/definitions.py:22
+#: ../plcopen/definitions.py:47 msgid "Additional function blocks"
msgstr "Дополнительные функциональные блоки"
@@ -587,11 +583,11 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
msgstr "Все файлы (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1523
+#: ../ProjectController.py:1576 msgid "Already connected. Please disconnect\n"
msgstr "Уже подключен. Пожалуйста, отключитесь сначала.\n"
-#: ../editors/DataTypeEditor.py:593
+#: ../editors/DataTypeEditor.py:594 msgid "An element named \"%s\" already exists in this structure!"
msgstr "Поле с именем \"%s\" уже существует в данной структуре!"
@@ -616,8 +612,8 @@
-#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634
-#: ../controls/VariablePanel.py:811
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 +#: ../controls/VariablePanel.py:827 @@ -654,19 +650,19 @@
msgid "Bad location size : %s"
msgstr "Неправильный размер: %s"
-#: ../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 -#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785 msgstr "Базовые параметры"
@@ -709,7 +705,7 @@
-#: ../editors/TextViewer.py:261
+#: ../editors/TextViewer.py:262 @@ -726,52 +722,52 @@
msgstr "Просмотр директорий"
-#: ../ProjectController.py:1668
+#: ../ProjectController.py:1721 -#: ../ProjectController.py:1166
+#: ../ProjectController.py:1222 msgid "Build directory already clean\n"
msgstr "Директория сборки уже пуста\n"
-#: ../ProjectController.py:1669
+#: ../ProjectController.py:1722 msgid "Build project into build folder"
msgstr "Сборка проекта в директории сборки"
-#: ../ProjectController.py:956
+#: ../ProjectController.py:1012 msgid "C Build crashed !\n"
msgstr "Крэш во время сборки C-кода!\n"
-#: ../ProjectController.py:953
+#: ../ProjectController.py:1009 msgid "C Build failed.\n"
msgstr "Ошибка сборки C-кода.\n"
-#: ../c_ext/CFileEditor.py:40
+#: ../c_ext/CFileEditor.py:63 -#: ../ProjectController.py:1031
+#: ../ProjectController.py:1087 msgid "C code generated successfully.\n"
msgstr "C-код успешно сгенерирован.\n"
-#: ../targets/toolchain_makefile.py:108
+#: ../targets/toolchain_makefile.py:132 msgid "C compilation failed.\n"
msgstr "Ошибка компиляции.\n"
-#: ../targets/toolchain_gcc.py:132
+#: ../targets/toolchain_gcc.py:156 msgid "C compilation of %s failed.\n"
msgstr "Ошибка компиляции %s.\n"
-#: ../canfestival/NetworkEditor.py:29
+#: ../canfestival/NetworkEditor.py:52 -#: ../canfestival/SlaveEditor.py:21
+#: ../canfestival/SlaveEditor.py:44 @@ -784,7 +780,7 @@
msgstr "Поддержка CANOpen"
@@ -796,7 +792,7 @@
msgid "Can only generate execution order on FBD networks!"
msgstr "Можно сгенерировать порядок исполнения только для FBD!"
-#: ../controls/VariablePanel.py:259
+#: ../controls/VariablePanel.py:267 msgid "Can only give a location to local or global variables"
msgstr "Можно задать размещение только локальным или глобальным переменны"
@@ -805,7 +801,7 @@
msgid "Can't generate program to file %s!"
msgstr "Нельзя сгенерировать программу в файл %s!"
-#: ../controls/VariablePanel.py:257
+#: ../controls/VariablePanel.py:265 msgid "Can't give a location to a function block instance"
msgstr "Нельзя задать размещение для экземпляра функционального блока"
@@ -814,7 +810,7 @@
msgid "Can't save project to file %s!"
msgstr "Нельзя сохранить проект в файл %s!"
-#: ../controls/VariablePanel.py:303
+#: ../controls/VariablePanel.py:311 msgid "Can't set an initial value to a function block instance"
msgstr "Нельзя задать исходное значение экземпляру функционального блока"
@@ -828,12 +824,12 @@
msgid "CanFestivalSlaveNode"
-#: ../ConfigTreeNode.py:504
+#: ../ConfigTreeNode.py:528 msgid "Cannot create child %s of type %s "
msgstr "Нельзя создать дочерний элемент %s типа %s"
-#: ../ConfigTreeNode.py:429
+#: ../ConfigTreeNode.py:453 msgid "Cannot find lower free IEC channel than %d\n"
msgstr "Не удалось найти свободный МЭК-канал с номером меньше чем %d\n"
@@ -842,7 +838,7 @@
msgid "Cannot get PLC status - connection failed.\n"
msgstr "Невозможно получить состояние ПЛК - ошибка подключения.\n"
-#: ../ProjectController.py:817
+#: ../ProjectController.py:873 msgid "Cannot open/parse VARIABLES.csv!\n"
msgstr "Не удалось открыть/прочитать VARIABLES.csv\n"
@@ -867,7 +863,7 @@
msgid "Change POU Type To"
msgstr "Сменить тип POU на"
@@ -883,20 +879,20 @@
msgstr "Строковые операции"
-#: ../svgui/svgui.py:101
+#: ../svgui/svgui.py:125 msgid "Choose a SVG file"
msgstr "Выберете SVG-файл"
-#: ../ProjectController.py:420
+#: ../ProjectController.py:444 msgid "Choose a directory to save project"
msgstr "Выберете директорию, чтобы сохранить проект"
-#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285
+#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:285 #: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361
-#: ../Beremiz.py:899 ../Beremiz.py:934
+#: ../Beremiz.py:906 ../Beremiz.py:941 @@ -909,11 +905,11 @@
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 "Выбранная директория не пуста и не может использоваться для нового проекта!"
@@ -921,7 +917,7 @@
-#: ../controls/VariablePanel.py:431
+#: ../controls/VariablePanel.py:439 @@ -929,7 +925,7 @@
-#: ../ProjectController.py:1672
+#: ../ProjectController.py:1725 @@ -937,15 +933,15 @@
msgid "Clean log messages"
-#: ../ProjectController.py:1674
+#: ../ProjectController.py:1727 msgid "Clean project build folder"
msgstr "Очистить директорию сборки проекта"
-#: ../ProjectController.py:1163
+#: ../ProjectController.py:1219 msgid "Cleaning the build directory\n"
msgstr "Очистка директории сборки\n"
@@ -957,16 +953,16 @@
-#: ../PLCOpenEditor.py:192 ../Beremiz.py:667
+#: ../PLCOpenEditor.py:192 ../Beremiz.py:674 msgid "Close Application"
msgstr "Закрыть приложение"
-#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:611
+#: ../PLCOpenEditor.py:102 ../Beremiz.py:328 ../Beremiz.py:618 -#: ../PLCOpenEditor.py:100 ../Beremiz.py:324
+#: ../PLCOpenEditor.py:100 ../Beremiz.py:326 @@ -1000,7 +996,7 @@
-#: ../ProjectController.py:609
+#: ../ProjectController.py:664 msgid "Compiling IEC Program into C code...\n"
msgstr "Компиляция МЭК-программы в C-код...\n"
@@ -1008,11 +1004,11 @@
-#: ../editors/ConfTreeNodeEditor.py:206
+#: ../editors/ConfTreeNodeEditor.py:229 -#: ../editors/ProjectNodeEditor.py:13
+#: ../editors/ProjectNodeEditor.py:36 msgstr "Конфигурационные переменные"
@@ -1025,20 +1021,20 @@
#: ../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/TextViewer.py:291 ../editors/TextViewer.py:342 +#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:326 msgid "Confirm or change variable name"
msgstr "Подтвердить или поменять имя переменной"
-#: ../ProjectController.py:1687
+#: ../ProjectController.py:1740 -#: ../ProjectController.py:1688
+#: ../ProjectController.py:1741 msgid "Connect to the target PLC"
msgstr "Подключиться к целевому ПЛК"
-#: ../ProjectController.py:1212
+#: ../ProjectController.py:1268 msgid "Connected to URI: %s"
msgstr "Подключен к URI: %s"
@@ -1052,11 +1048,11 @@
msgid "Connection Properties"
msgstr "Свойства подключение"
-#: ../ProjectController.py:1547
+#: ../ProjectController.py:1600 msgid "Connection canceled!\n"
msgstr "Подключение отменено!\n"
-#: ../ProjectController.py:1572
+#: ../ProjectController.py:1625 msgid "Connection failed to %s!\n"
msgstr "Неудачное подключение к %s!\n"
@@ -1074,7 +1070,7 @@
@@ -1110,12 +1106,12 @@
msgid "Conversion to time-of-day"
msgstr "Преобразование во время суток"
-#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346
+#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:370
@@ -1131,7 +1127,7 @@
-#: ../ConfigTreeNode.py:626
+#: ../ConfigTreeNode.py:650 "Could not add child \"%s\", type %s :\n"
@@ -1140,19 +1136,19 @@
"Невозможно добавить дочерний элемент \"%s\", тип %s:\n"
-#: ../py_ext/PythonFileCTNMixin.py:53
+#: ../py_ext/PythonFileCTNMixin.py:77 msgid "Couldn't import old %s file."
msgstr "Невозможно импортировать старый файл %s."
-#: ../ConfigTreeNode.py:598
+#: ../ConfigTreeNode.py:622 "Couldn't load confnode base parameters %s :\n"
msgstr "Невозможно загрузить базовые параметры confnode %s: %s"
-#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99
+#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124 "Couldn't load confnode parameters %s :\n"
@@ -1163,19 +1159,19 @@
msgid "Couldn't paste non-POU object."
msgstr "Невозможно вставить не-POU."
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1542 msgid "Couldn't start PLC !\n"
msgstr "Невозможно запустить ПЛК!\n"
-#: ../ProjectController.py:1494
+#: ../ProjectController.py:1550 msgid "Couldn't stop PLC !\n"
msgstr "Невозможно остановить ПЛК!\n"
-#: ../ProjectController.py:1458
+#: ../ProjectController.py:1514 msgid "Couldn't stop debugger.\n"
msgstr "Невозможно остановить отладчик.\n"
@@ -1187,35 +1183,35 @@
msgid "Create a new action"
msgstr "Создать новое действие"
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 "Создать новый блок"
msgid "Create a new branch"
msgstr "Создать новое ветвление"
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 "Создать новый контакт"
msgid "Create a new divergence"
msgstr "Создать новое ветвление"
@@ -1223,35 +1219,35 @@
msgid "Create a new divergence or convergence"
msgstr "Создать новое ветвление или объединение"
msgid "Create a new initial step"
msgstr "Создать исходный шаг"
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 "Создать новую линию питания"
msgid "Create a new rung"
msgstr "Создать новую цепь"
msgid "Create a new step"
msgstr "Создать новый шаг"
-#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132
+#: ../dialogs/PouTransitionDialog.py:42 ../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
+#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424 @@ -1267,11 +1263,11 @@
-#: ../canfestival/SlaveEditor.py:53 ../canfestival/NetworkEditor.py:74
+#: ../canfestival/SlaveEditor.py:76 ../canfestival/NetworkEditor.py:97 -#: ../canfestival/SlaveEditor.py:54 ../canfestival/NetworkEditor.py:75
+#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:98 @@ -1304,7 +1300,7 @@
-#: ../ProjectController.py:1594
+#: ../ProjectController.py:1647 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
msgstr "Отлаживаемая программа не соответствует программе в ПЛК - остановите/загрузите/запустите, чтобы разрешить отладку\n"
@@ -1317,33 +1313,33 @@
-#: ../ProjectController.py:1247
+#: ../ProjectController.py:1303 msgid "Debug: Unknown variable '%s'\n"
msgstr "Отладка: неизвестная переменная '%s'\n"
-#: ../ProjectController.py:1245
+#: ../ProjectController.py:1301 msgid "Debug: Unsupported type to debug '%s'\n"
msgstr "Отладка: неподдерживамый отладкой тип '%s'\n"
-#: ../ProjectController.py:1427
+#: ../ProjectController.py:1483 msgid "Debugger disabled\n"
msgstr "Отладчик запрещен\n"
-#: ../ProjectController.py:1591
+#: ../ProjectController.py:1644 msgstr "Отладчик готов\n"
-#: ../ProjectController.py:1460
+#: ../ProjectController.py:1516 msgid "Debugger stopped.\n"
msgstr "Отладчик остановлен.\n"
-#: ../editors/Viewer.py:568 ../Beremiz.py:1028 ../IDEFrame.py:1925
+#: ../editors/Viewer.py:568 ../Beremiz.py:1035 ../IDEFrame.py:1953 @@ -1367,11 +1363,11 @@
msgid "Deletion (within)"
msgstr "Удаление подстроки"
-#: ../editors/DataTypeEditor.py:152
+#: ../editors/DataTypeEditor.py:153 msgstr "Механизм создания типа:"
-#: ../plcopen/definitions.py:41
+#: ../plcopen/definitions.py:66 "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
@@ -1379,15 +1375,11 @@
"Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN."
-#: ../editors/CodeFileEditor.py:664
-#: ../controls/VariablePanel.py:422
+#: ../controls/VariablePanel.py:430 -#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320
+#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321 @@ -1406,11 +1398,11 @@
msgid "Disable_Extensions"
msgstr "Запретить расширения"
-#: ../ProjectController.py:1696
+#: ../ProjectController.py:1749 -#: ../ProjectController.py:1698
+#: ../ProjectController.py:1751 msgid "Disconnect from PLC"
msgstr "Отключиться от ПЛК"
@@ -1435,7 +1427,7 @@
-#: ../plcopen/definitions.py:34
+#: ../plcopen/definitions.py:59 "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value."
@@ -1447,7 +1439,7 @@
-#: ../canfestival/canfestival.py:139
+#: ../canfestival/canfestival.py:163 msgid "EDS files (*.eds)|*.eds|All files|*.*"
msgstr "Файлы EDS (*.eds)|*.eds|All files|*.*"
@@ -1471,7 +1463,7 @@
msgstr "Редактировать шаг"
-#: ../wxglade_hmi/wxglade_hmi.py:12
+#: ../wxglade_hmi/wxglade_hmi.py:36 msgid "Edit a WxWidgets GUI with WXGlade"
msgstr "Редактировать WxWidgets GUI с помощью WXGlade"
@@ -1499,7 +1491,7 @@
msgstr "Редактирование безусловного перехода"
-#: ../ProjectController.py:1710
+#: ../ProjectController.py:1763 msgid "Edit raw IEC code added to code generated by PLCGenerator"
msgstr "Редактировать МЭК-код добавленный к коду сгенерированному PLCGenerator"
@@ -1511,19 +1503,19 @@
msgstr "Редактировать переход"
msgstr "Редактор панели инструментов"
-#: ../ProjectController.py:1126
+#: ../ProjectController.py:1182 msgstr "Редактор выделения"
-#: ../editors/DataTypeEditor.py:347
+#: ../editors/DataTypeEditor.py:348
msgstr "Разрешить отмену и повтор операций"
@@ -1561,56 +1553,56 @@
#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333
#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419
#: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
-#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549
-#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578
-#: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593
-#: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751
-#: ../editors/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:789 +#: ../ProjectController.py:293 ../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:400 ../controls/VariablePanel.py:770 +#: ../Beremiz.py:1174 ../IDEFrame.py:1003 ../IDEFrame.py:1612 +#: ../IDEFrame.py:1649 ../IDEFrame.py:1654 ../IDEFrame.py:1668 +#: ../IDEFrame.py:1673 ../Beremiz_service.py:190 -#: ../ProjectController.py:663
+#: ../ProjectController.py:719 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
msgstr "Ошибка: Как минимум одна конфигурация и один ресурс должны быть задекларированы в ПЛК!\n"
-#: ../ProjectController.py:655
+#: ../ProjectController.py:711 msgid "Error : IEC to C compiler returned %d\n"
msgstr "Ошибка: компилятор МЭК в C вернул код ошибки %d\n"
-#: ../ProjectController.py:589
+#: ../ProjectController.py:613 "Error in ST/IL/SFC code generator :\n"
msgstr "Ошибка в ST/IL/SFC кодогенераторе: %s\n"
-#: ../ConfigTreeNode.py:192
+#: ../ConfigTreeNode.py:216 msgid "Error while saving \"%s\"\n"
msgstr "Ошибка во время сохранения \"%s\"\n"
-#: ../canfestival/canfestival.py:144
+#: ../canfestival/canfestival.py:168 msgid "Error: Export slave failed\n"
msgstr "Ошибка: неудачный экспорт ведомого\n"
-#: ../canfestival/canfestival.py:345
+#: ../canfestival/canfestival.py:369 msgid "Error: No Master generated\n"
msgstr "Ошибка: мастер не сгенерирован\n"
-#: ../canfestival/canfestival.py:340
+#: ../canfestival/canfestival.py:364 msgid "Error: No PLC built\n"
msgstr "Ошибка: ПЛК не собран\n"
-#: ../ProjectController.py:1566
+#: ../ProjectController.py:1619 msgid "Exception while connecting %s!\n"
msgstr "Исключение во время подключения %s!\n"
@@ -1623,7 +1615,7 @@
msgstr "Порядок исполнения:"
msgid "Experimental web based HMI"
msgstr "Экспериментальный WEB-HMI"
@@ -1635,7 +1627,7 @@
msgstr "Взятие экспоненты"
-#: ../canfestival/canfestival.py:150
+#: ../canfestival/canfestival.py:174 msgid "Export CanOpen slave to EDS file"
msgstr "Экспортировать CanOpen ведомое устройство в EDS файл"
@@ -1643,7 +1635,7 @@
msgid "Export graph values to clipboard"
msgstr "Экспортировать график значений в буфер обмена"
-#: ../canfestival/canfestival.py:149
+#: ../canfestival/canfestival.py:173 msgstr "Экспортировать ведомое устройство"
@@ -1655,7 +1647,7 @@
-#: ../ProjectController.py:676
+#: ../ProjectController.py:732 msgid "Extracting Located Variables...\n"
msgstr "Экспорт локальных переменных...\n"
@@ -1664,7 +1656,7 @@
-#: ../ProjectController.py:1629
+#: ../ProjectController.py:1682 msgid "Failed : Must build before transfer.\n"
msgstr "Ошибка: необходима сборка перед передачей.\n"
@@ -1672,7 +1664,7 @@
-#: ../plcopen/definitions.py:32
+#: ../plcopen/definitions.py:57 "Falling edge detector\n"
"The output produces a single pulse when a falling edge is detected."
@@ -1680,7 +1672,7 @@
"Детектор падающего фронта\n"
"На выходе формируется одиночный импульс, если обнаружен падающий фронт."
-#: ../ProjectController.py:946
+#: ../ProjectController.py:1002 msgid "Fatal : cannot get builder.\n"
msgstr "Ошибка: невозможно получить сборщик.\n"
@@ -1700,15 +1692,15 @@
msgstr "Файл '%s' уже существует!"
#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105
msgstr "Поиск следующего"
msgstr "Поиск предыдущего"
@@ -1756,20 +1748,20 @@
-#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1712
+#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1740
msgstr "Функциональный &блок"
-#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1711
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1739 msgstr "Функциональный блок"
-#: ../controls/VariablePanel.py:807
+#: ../controls/VariablePanel.py:823 msgid "Function Block Types"
msgstr "Типы функциональных блоков"
@@ -1794,7 +1786,7 @@
msgstr "Сгенерировать программу"
-#: ../ProjectController.py:580
+#: ../ProjectController.py:604 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n"
@@ -1841,7 +1833,7 @@
-#: ../plcopen/definitions.py:44
+#: ../plcopen/definitions.py:69 "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
@@ -1865,7 +1857,7 @@
msgstr "Неверный IP-адрес"
-#: ../svgui/svgui.py:18 ../svgui/svgui.py:19
+#: ../svgui/svgui.py:42 ../svgui/svgui.py:43 @@ -1878,17 +1870,17 @@
-#: ../controls/VariablePanel.py:268
+#: ../controls/VariablePanel.py:276 msgid "Incompatible data types between \"%s\" and \"%s\""
msgstr "\"%s\" и \"%s\" имеют несовместимые типы данных"
-#: ../controls/VariablePanel.py:277
+#: ../controls/VariablePanel.py:285 msgid "Incompatible size of data between \"%s\" and \"%s\""
msgstr "\"%s\" и \"%s\" имеют несовместимый размер данных"
-#: ../controls/VariablePanel.py:273
+#: ../controls/VariablePanel.py:281 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Несовместимый размер данных \"%s\" с типом \"BOOL\""
@@ -1897,10 +1889,6 @@
-#: ../editors/CodeFileEditor.py:663
-msgstr "Исходное значение"
#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058
@@ -1910,12 +1898,12 @@
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 msgstr "Исходное значение:"
@@ -1946,7 +1934,7 @@
-#: ../plcopen/definitions.py:40
+#: ../plcopen/definitions.py:65 "The integral function block integrates the value of input XIN over time."
@@ -1982,12 +1970,12 @@
#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
-#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:166 msgid "Invalid value \"%s\" for debug variable"
msgstr "Неверное значение \"%s\" для отлаживаемой переменной"
-#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250
+#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258 msgid "Invalid value \"%s\" for variable grid element"
@@ -2036,7 +2024,7 @@
-#: ../ProjectController.py:1635
+#: ../ProjectController.py:1688 msgid "Latest build already matches current target. Transfering anyway...\n"
msgstr "Загружаемая программа совпадает с текущий программой в целевом ПЛК. Загрузка продолжена...\n"
@@ -2071,7 +2059,7 @@
@@ -2082,7 +2070,7 @@
-#: ../targets/toolchain_gcc.py:142
+#: ../targets/toolchain_gcc.py:166 @@ -2093,11 +2081,11 @@
-#: ../canfestival/canfestival.py:322
+#: ../canfestival/canfestival.py:346 msgstr "Локальные записи"
-#: ../ProjectController.py:1541
+#: ../ProjectController.py:1594 msgid "Local service discovery failed!\n"
msgstr "Локальный сервис не найден!\n"
@@ -2118,19 +2106,19 @@
msgid "MDNS resolution failure for '%s'\n"
msgstr "MDNS разрешение неудачно для '%s'\n"
-#: ../canfestival/SlaveEditor.py:41 ../canfestival/NetworkEditor.py:62
+#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85 msgstr "Отображение переменной"
msgid "Map located variables over CANopen"
msgstr "Отображение переменных по CANopen"
-#: ../canfestival/NetworkEditor.py:83
+#: ../canfestival/NetworkEditor.py:106 -#: ../ConfigTreeNode.py:514
+#: ../ConfigTreeNode.py:538 msgid "Max count (%d) reached for this confnode of type %s "
msgstr "Достигнуто максимальное количество (%d) для типа узла конфигурации %s"
@@ -2139,7 +2127,7 @@
-#: ../editors/DataTypeEditor.py:238
+#: ../editors/DataTypeEditor.py:239 @@ -2147,7 +2135,7 @@
@@ -2167,7 +2155,7 @@
-#: ../editors/DataTypeEditor.py:225
+#: ../editors/DataTypeEditor.py:226 @@ -2200,11 +2188,11 @@
msgstr "Переместить ниже"
-#: ../editors/DataTypeEditor.py:354
+#: ../editors/DataTypeEditor.py:355 msgid "Move element down"
msgstr "Переместить элемент ниже"
-#: ../editors/DataTypeEditor.py:353
+#: ../editors/DataTypeEditor.py:354 msgstr "Переместить элементы выше"
@@ -2224,7 +2212,7 @@
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 msgstr "Переместить отображение"
@@ -2232,11 +2220,11 @@
msgstr "Переместить выше"
-#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443
+#: ../editors/CodeFileEditor.py:667 ../controls/VariablePanel.py:451 msgid "Move variable down"
msgstr "Переместить переменную ниже"
-#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442
+#: ../editors/CodeFileEditor.py:666 ../controls/VariablePanel.py:450 msgstr "Переместить переменную выше"
@@ -2257,8 +2245,8 @@
#: ../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 @@ -2279,8 +2267,8 @@
-#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314
+#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:316 @@ -2292,7 +2280,7 @@
msgstr "Нет модификатора"
-#: ../ProjectController.py:1662
+#: ../ProjectController.py:1715 msgid "No PLC to transfer (did build succeed ?)\n"
msgstr "Нет ПЛК для передачи (была сборка успешна?)\n"
@@ -2328,7 +2316,7 @@
msgid "No search results available."
msgstr "Ничего не найдено."
-#: ../svgui/svgui.py:107
+#: ../svgui/svgui.py:131 msgid "No such SVG file: %s\n"
msgstr "Нет такого SVG файла: %s\n"
@@ -2385,7 +2373,7 @@
msgstr "Математические функции"
-#: ../plcopen/definitions.py:38
+#: ../plcopen/definitions.py:63 "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false."
@@ -2393,7 +2381,7 @@
"Таймер выключения может быть использован, чтобы внести задержку установки выхода в FALSE на фиксированный период времени после того, как вход стал FALSE."
-#: ../plcopen/definitions.py:37
+#: ../plcopen/definitions.py:62 "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
@@ -2401,28 +2389,24 @@
"Таймер выключения может быть использован, чтобы внести задержку установки выхода в TRUE на фиксированный период времени после того, как вход стал TRUE."
-#: ../editors/CodeFileEditor.py:664
#: ../dialogs/SearchInProjectDialog.py:93
-#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316
+#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:318 -#: ../svgui/svgui.py:116
+#: ../svgui/svgui.py:140 msgstr "Открыть Inkscape"
-#: ../ProjectController.py:1714
+#: ../ProjectController.py:1767 msgid "Open a file explorer to manage project files"
msgstr "Открыть файловый менеджер для просмотра файлов проекта"
-#: ../wxglade_hmi/wxglade_hmi.py:114
+#: ../wxglade_hmi/wxglade_hmi.py:138 @@ -2430,7 +2414,7 @@
-#: ../dialogs/FindInPouDialog.py:82 ../editors/CodeFileEditor.py:664
+#: ../dialogs/FindInPouDialog.py:82 @@ -2438,7 +2422,7 @@
msgid "Organization (optional):"
msgstr "Организация (опционально):"
-#: ../canfestival/SlaveEditor.py:51 ../canfestival/NetworkEditor.py:72
+#: ../canfestival/SlaveEditor.py:74 ../canfestival/NetworkEditor.py:95 @@ -2448,15 +2432,15 @@
-#: ../canfestival/SlaveEditor.py:40 ../canfestival/NetworkEditor.py:61
+#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84 -#: ../canfestival/SlaveEditor.py:39 ../canfestival/NetworkEditor.py:60
+#: ../canfestival/SlaveEditor.py:62 ../canfestival/NetworkEditor.py:83 -#: ../plcopen/definitions.py:42
+#: ../plcopen/definitions.py:67 "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
@@ -2464,15 +2448,15 @@
"ПИД (Пропорциональный Интегральный Дифференциальный) ФБ - классический регулятор, используемый в системах с обратной связью."
-#: ../targets/toolchain_gcc.py:107
+#: ../targets/toolchain_gcc.py:131
-#: ../ProjectController.py:930
+#: ../ProjectController.py:986 msgid "PLC code generation failed !\n"
msgstr "Неудачная генерация кода!\n"
@@ -2523,7 +2507,7 @@
msgid "PYRO using certificates in '%s' \n"
msgstr "PYRO использует сертификаты в '%s'\n"
-#: ../PLCOpenEditor.py:112 ../Beremiz.py:329
+#: ../PLCOpenEditor.py:112 ../Beremiz.py:331 msgstr "Настройки страницы"
@@ -2531,7 +2515,7 @@
msgid "Page Size (optional):"
msgstr "Размер страницы (опционально):"
@@ -2540,11 +2524,11 @@
msgstr "Родительский экземпляр"
-#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402
+#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
@@ -2561,7 +2545,7 @@
msgid "Please choose a target"
msgstr "Выберете цель перехода"
-#: ../editors/TextViewer.py:261
+#: ../editors/TextViewer.py:262 msgid "Please enter a block name"
msgstr "Введите имя блока"
@@ -2595,7 +2579,7 @@
msgid "Power Rail Properties"
msgstr "Свойства шины питания"
-#: ../PLCOpenEditor.py:114 ../Beremiz.py:331
+#: ../PLCOpenEditor.py:114 ../Beremiz.py:333 @@ -2603,12 +2587,12 @@
-#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333
+#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:335
msgstr "Предварительный просмотр"
@@ -2645,8 +2629,8 @@
msgid "Product Version (required):"
msgstr "Версия продукта (обязательно):"
-#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1710
+#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1738 @@ -2662,7 +2646,7 @@
msgid "Programs can't be used by other POUs!"
msgstr "Программы не могут использоваться другими POU!"
-#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:556
+#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584 @@ -2671,7 +2655,7 @@
-#: ../ProjectController.py:1713
+#: ../ProjectController.py:1766 @@ -2695,11 +2679,11 @@
"Синтаксическая ошибка в файле проекта:\n"
-#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14
+#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37 msgid "Project properties"
msgstr "Свойства проекта"
-#: ../ConfigTreeNode.py:540
+#: ../ConfigTreeNode.py:564 msgid "Project tree layout do not match confnode.xml %s!=%s "
msgstr "Дерево проекта не соответствует confnode.xml %s!=%s"
@@ -2712,7 +2696,7 @@
-#: ../plcopen/definitions.py:36
+#: ../plcopen/definitions.py:61 "The pulse timer can be used to generate output pulses of a given time duration."
@@ -2720,11 +2704,11 @@
"Функциональный блок используется для генерации выходных импульсов заданной длительности."
-#: ../py_ext/PythonEditor.py:57
+#: ../py_ext/PythonEditor.py:81
@@ -2732,11 +2716,11 @@
-#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:122 ../Beremiz.py:338 ../Beremiz_service.py:252 -#: ../plcopen/definitions.py:29
+#: ../plcopen/definitions.py:54 "The RS bistable is a latch where the Reset dominates."
@@ -2744,7 +2728,7 @@
"RS триггер - переключатель с доминантой выключения."
-#: ../plcopen/definitions.py:43
+#: ../plcopen/definitions.py:68 "The RAMP function block is modelled on example given in the standard."
@@ -2756,11 +2740,11 @@
-#: ../ProjectController.py:1709
+#: ../ProjectController.py:1762 -#: ../plcopen/definitions.py:39
+#: ../plcopen/definitions.py:64 "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."
@@ -2768,12 +2752,12 @@
"Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр."
msgid "Really delete node '%s'?"
msgstr "Действительно удалить элемент '%s'?"
-#: ../IDEFrame.py:338 ../IDEFrame.py:398
+#: ../IDEFrame.py:362 ../IDEFrame.py:422 @@ -2781,7 +2765,7 @@
-#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408
+#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432 @@ -2801,16 +2785,16 @@
msgid "Remainder (modulo)"
msgstr "Остаток от деления (modulo)"
msgstr "Удалить %s элемент"
msgstr "Удалить тип данных"
@@ -2818,7 +2802,7 @@
msgstr "Удалить действие"
-#: ../editors/DataTypeEditor.py:352
+#: ../editors/DataTypeEditor.py:353 @@ -2830,7 +2814,7 @@
msgstr "Удалить экземпляр"
-#: ../canfestival/NetworkEditor.py:81
+#: ../canfestival/NetworkEditor.py:104 msgstr "Удалить ведомое устройство"
@@ -2838,11 +2822,11 @@
-#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441
+#: ../editors/CodeFileEditor.py:665 ../controls/VariablePanel.py:449 msgstr "Удалить переменную"
@@ -2866,7 +2850,7 @@
msgid "Reset Execution Order"
msgstr "Сбросить порядок исполнения"
msgid "Reset Perspective"
msgstr "Сбросить представление"
@@ -2874,7 +2858,7 @@
msgid "Reset search result"
msgstr "Сбросить результаты поиска"
-#: ../PLCControler.py:97 ../Beremiz.py:1039
+#: ../PLCControler.py:97 ../Beremiz.py:1046 @@ -2882,7 +2866,7 @@
-#: ../controls/VariablePanel.py:414
+#: ../controls/VariablePanel.py:422 msgstr "Возвращаемый тип:"
@@ -2898,7 +2882,7 @@
msgstr "Нарастающий фронт"
-#: ../plcopen/definitions.py:31
+#: ../plcopen/definitions.py:56 "The output produces a single pulse when a rising edge is detected."
@@ -2918,23 +2902,23 @@
msgstr "Округление вверх/вниз"
-#: ../ProjectController.py:1677
+#: ../ProjectController.py:1730 -#: ../ProjectController.py:975
+#: ../ProjectController.py:1031 msgid "Runtime IO extensions C code generation failed !\n"
msgstr "Ошибка генерации C-кода для расширений ввода-вывода!\n"
-#: ../ProjectController.py:984
+#: ../ProjectController.py:1040 msgid "Runtime library extensions C code generation failed !\n"
msgstr "Ошибка генерации C-кода для библиотеки расширений системы исполнения!\n"
-#: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59
+#: ../canfestival/SlaveEditor.py:61 ../canfestival/NetworkEditor.py:82 -#: ../canfestival/SlaveEditor.py:37 ../canfestival/NetworkEditor.py:58
+#: ../canfestival/SlaveEditor.py:60 ../canfestival/NetworkEditor.py:81 @@ -2942,7 +2926,7 @@
-#: ../plcopen/definitions.py:28
+#: ../plcopen/definitions.py:53 "The SR bistable is a latch where the Set dominates."
@@ -2959,24 +2943,24 @@
msgid "ST files (*.st)|*.st|All files|*.*"
msgstr "ST файлы (*.st)|*.st|Все файлы|*.*"
-#: ../svgui/svgui.py:101
+#: ../svgui/svgui.py:125 msgid "SVG files (*.svg)|*.svg|All files|*.*"
msgstr "SVG файлы (*.svg)|*.svg|Все файлы|*.*"
-#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320
+#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:322 -#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352
+#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:354 msgstr "Сохранить как..."
@@ -2984,11 +2968,11 @@
msgstr "Область действия"
-#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:595
+#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:623 -#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404
+#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:382 ../IDEFrame.py:428 msgid "Search in Project"
@@ -2996,17 +2980,17 @@
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
-#: ../controls/VariablePanel.py:340
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288 +#: ../controls/VariablePanel.py:348 msgid "Select a variable class:"
-#: ../ProjectController.py:1126
+#: ../ProjectController.py:1182 msgid "Select an editor:"
msgstr "Выберете редактор:"
@@ -3014,7 +2998,7 @@
msgid "Select an instance"
msgstr "Выберете экземпляр"
@@ -3030,7 +3014,7 @@
msgid "Selection Divergence"
msgstr "Альтернативное ветвление"
-#: ../plcopen/definitions.py:30
+#: ../plcopen/definitions.py:55 "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
@@ -3058,19 +3042,19 @@
-#: ../ProjectController.py:1703
+#: ../ProjectController.py:1756 msgid "Show IEC code generated by PLCGenerator"
msgstr "Показать год, сгенерированный PLCGenerator"
-#: ../canfestival/canfestival.py:363
+#: ../canfestival/canfestival.py:387 msgstr "Показать ведущего"
-#: ../canfestival/canfestival.py:364
+#: ../canfestival/canfestival.py:388 msgid "Show Master generated by config_utils"
msgstr "Показать ведущий узел сгенерированный config_utils"
-#: ../ProjectController.py:1701
+#: ../ProjectController.py:1754 @@ -3090,7 +3074,7 @@
msgstr "Источник прерывания"
-#: ../targets/toolchain_makefile.py:112
+#: ../targets/toolchain_makefile.py:136 msgid "Source didn't change, no build.\n"
msgstr "Исходные файлы не изменились, сборка не нужна.\n"
@@ -3098,24 +3082,24 @@
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:1732 ../Beremiz_service.py:240 -#: ../ProjectController.py:922
+#: ../ProjectController.py:978 msgid "Start build in %s\n"
msgstr "Сборка запущена в %s\n"
-#: ../ProjectController.py:1483
+#: ../ProjectController.py:1539 msgstr "ПЛК запускается\\n\n"
@@ -3123,7 +3107,7 @@
-#: ../ProjectController.py:1682
+#: ../ProjectController.py:1735 @@ -3131,11 +3115,11 @@
-#: ../ProjectController.py:1684
+#: ../ProjectController.py:1737 msgstr "Остановить запущенный ПЛК"
-#: ../ProjectController.py:1455
+#: ../ProjectController.py:1511 msgid "Stopping debugger...\n"
msgstr "Остановка отладчика...\n"
@@ -3151,10 +3135,14 @@
-#: ../ProjectController.py:961
+#: ../ProjectController.py:1017 msgid "Successfully built.\n"
msgstr "Сборка прошла успешно.\n"
+msgid "Switch perspective" +msgstr "Сменить представление" @@ -3204,16 +3192,16 @@
msgid "The group of block must be coherent!"
-#: ../Beremiz.py:614 ../IDEFrame.py:983
+#: ../Beremiz.py:621 ../IDEFrame.py:1011 msgid "There are changes, do you want to save?"
msgstr "Хотите сохранить изменения?"
-#: ../IDEFrame.py:1618 ../IDEFrame.py:1637
+#: ../IDEFrame.py:1649 ../IDEFrame.py:1668 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr "Существует POU с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?"
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -3262,19 +3250,19 @@
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1744 -#: ../ProjectController.py:1693
+#: ../ProjectController.py:1746 -#: ../ProjectController.py:1658
+#: ../ProjectController.py:1711 msgid "Transfer completed successfully.\n"
msgstr "Передача успешно завершена.\n"
-#: ../ProjectController.py:1660
+#: ../ProjectController.py:1713 msgid "Transfer failed\n"
msgstr "Ошибка передачи\n"
@@ -3319,8 +3307,8 @@
#: ../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 @@ -3337,7 +3325,7 @@
msgstr "Преобразование типов"
-#: ../editors/DataTypeEditor.py:161
+#: ../editors/DataTypeEditor.py:162 msgstr "Информация о типе:"
@@ -3359,7 +3347,7 @@
msgid "Unable to define PDO mapping for node %02x"
msgstr "Невозможно определить отображение PDO для узла %02x"
-#: ../targets/Xenomai/__init__.py:15
+#: ../targets/Xenomai/__init__.py:39 msgid "Unable to get Xenomai's %s \n"
msgstr "Невозможно получить Xenomai %s\n"
@@ -3374,11 +3362,11 @@
msgid "Undefined pou type \"%s\""
msgstr "Неопределенный тип POU \"%s\""
-#: ../IDEFrame.py:336 ../IDEFrame.py:397
+#: ../IDEFrame.py:360 ../IDEFrame.py:421 -#: ../ProjectController.py:308
+#: ../ProjectController.py:332 @@ -3387,7 +3375,7 @@
msgid "Unknown variable \"%s\" for this POU!"
msgstr "Неизвестная переменная \"%s\" для этого POU!"
-#: ../ProjectController.py:305 ../ProjectController.py:306
+#: ../ProjectController.py:329 ../ProjectController.py:330 @@ -3396,12 +3384,12 @@
-#: ../controls/VariablePanel.py:275
+#: ../controls/VariablePanel.py:283 msgid "Unrecognized data size \"%s\""
msgstr "Неопределенный размер данных \"%s\""
-#: ../plcopen/definitions.py:33
+#: ../plcopen/definitions.py:58 "The up-counter can be used to signal when a count has reached a maximum value."
@@ -3409,7 +3397,7 @@
"Инкрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг максимального значения."
-#: ../plcopen/definitions.py:35
+#: ../plcopen/definitions.py:60 "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."
@@ -3417,11 +3405,11 @@
"Инкрементный/декрементный счетчик\n"
"Инкрементный/декрементный счетчик имеет два входа CU и CD. Он может использоваться для счета вверх по одному входу и для счета низ по другому."
-#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780
+#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:796 msgstr "Пользовательские типы данных"
-#: ../canfestival/SlaveEditor.py:42 ../canfestival/NetworkEditor.py:63
+#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:86 msgstr "Пользовательский тип"
@@ -3433,7 +3421,7 @@
-#: ../editors/DataTypeEditor.py:258
+#: ../editors/DataTypeEditor.py:259 @@ -3446,13 +3434,13 @@
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:284 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288 +#: ../controls/VariablePanel.py:348 -#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385
+#: ../editors/Viewer.py:391 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!"
msgstr "Переменная не принадлежит этому POU!"
@@ -3482,7 +3470,7 @@
msgid "WAMP connection to '%s' failed.\n"
msgstr "Не удалось установить WAMP подключение к %s.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:11
+#: ../wxglade_hmi/wxglade_hmi.py:35 @@ -3490,7 +3478,7 @@
-#: ../ProjectController.py:584
+#: ../ProjectController.py:608 msgid "Warnings in ST/IL/SFC code generator :\n"
msgstr "Предупреждения в ST/IL/SFC коде генераторе:\n"
@@ -3509,7 +3497,7 @@
msgstr "Продолжить поиск сначала"
@@ -3519,7 +3507,7 @@
-#: ../svgui/svgui.py:115
+#: ../svgui/svgui.py:139 "You don't have write permissions.\n"
@@ -3527,7 +3515,7 @@
"У вас недостаточно прав для записи.\n"
"Открыть Inkscape все равно?"
-#: ../wxglade_hmi/wxglade_hmi.py:113
+#: ../wxglade_hmi/wxglade_hmi.py:137 "You don't have write permissions.\n"
@@ -3535,7 +3523,7 @@
"У вас недостаточно прав для записи.\n"
"Открыть wxGlade все равно?"
-#: ../ProjectController.py:268
+#: ../ProjectController.py:292 "You must have permission to work on the project\n"
"Work on a project copy ?"
@@ -3559,11 +3547,11 @@
msgid "You must type a value!"
msgstr "Введите значение!"
@@ -3582,7 +3570,7 @@
-#: ../util/ProcessLogger.py:166
+#: ../util/ProcessLogger.py:170 msgid "exited with status %s (pid %s)\n"
msgstr "завершился с кодом %s (pid %s)\n"
@@ -3678,9 +3666,15 @@
#~ msgid "Clear the graph values"
#~ msgstr "Очистить значения на графике"
#~ msgid "IEC-61131-3 code generation failed !\n"
#~ msgstr "Неудачная генерация МЭК-61131-3 кода!\n"
+#~ msgstr "Исходное значение" #~ msgid "Move debug variable down"
#~ msgstr "Переместить отлаживаемую переменную ниже"
--- a/i18n/messages.pot Mon Sep 12 16:46:09 2016 +0300
+++ b/i18n/messages.pot Mon Sep 12 16:49:24 2016 +0300
@@ -8,7 +8,7 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-04-21 17:11+0300\n"
+"POT-Creation-Date: 2016-09-12 16:46+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -30,7 +30,7 @@
@@ -79,7 +79,7 @@
-#: ../ProjectController.py:1027
+#: ../ProjectController.py:1083 msgid " generation failed !\n"
@@ -103,7 +103,7 @@
msgid "\"%s\" can't use itself!"
-#: ../IDEFrame.py:1615 ../IDEFrame.py:1634
+#: ../IDEFrame.py:1646 ../IDEFrame.py:1665 msgid "\"%s\" config already exists!"
@@ -113,7 +113,7 @@
msgid "\"%s\" configuration already exists !!!"
msgid "\"%s\" data type already exists!"
@@ -121,13 +121,13 @@
#: ../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
+#: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301 +#: ../controls/VariablePanel.py:394 msgid "\"%s\" element for this pou already exists!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
@@ -140,9 +140,9 @@
#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
-#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583
-#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733
+#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584 +#: ../editors/CodeFileEditor.py:776 ../controls/VariablePanel.py:749 msgid "\"%s\" is a keyword. It can't be used!"
@@ -165,23 +165,23 @@
#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
-#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748
-#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1558
+#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:774 +#: ../controls/VariablePanel.py:747 ../IDEFrame.py:1589 msgid "\"%s\" is not a valid identifier!"
msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122
#: ../editors/Viewer.py:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341
-#: ../editors/Viewer.py:363 ../editors/TextViewer.py:268
-#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:348
-#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:328
+#: ../editors/Viewer.py:363 ../editors/TextViewer.py:270 +#: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 +#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:336 msgid "\"%s\" pou already exists!"
@@ -201,27 +201,23 @@
msgid "\"%s\" step already exists!"
-#: ../editors/DataTypeEditor.py:549
+#: ../editors/DataTypeEditor.py:550 msgid "\"%s\" value already defined!"
-#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745 msgid "\"%s\" value isn't a valid array dimension!"
-#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752 "\"%s\" value isn't a valid array dimension!\n"
"Right value must be greater than left value."
-#: ../editors/CodeFileEditor.py:663
#: ../PLCControler.py:970
msgid "%s \"%s\" can't be pasted as a %s."
@@ -237,12 +233,12 @@
-#: ../canfestival/SlaveEditor.py:46 ../canfestival/NetworkEditor.py:67
+#: ../canfestival/SlaveEditor.py:69 ../canfestival/NetworkEditor.py:90 -#: ../ConfigTreeNode.py:32
+#: ../ConfigTreeNode.py:56 "%s XML file doesn't follow XSD schema at line %d:\n"
@@ -262,43 +258,43 @@
msgid "%s body don't have text!"
@@ -306,11 +302,11 @@
@@ -364,20 +360,20 @@
-#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1581 ../IDEFrame.py:1623
+#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1612 ../IDEFrame.py:1654 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
#: ../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
+#: ../controls/VariablePanel.py:751 ../IDEFrame.py:1624 ../IDEFrame.py:1635 msgid "A POU named \"%s\" already exists!"
-#: ../ConfigTreeNode.py:400
+#: ../ConfigTreeNode.py:424 msgid "A child named \"%s\" already exist -> \"%s\"\n"
@@ -386,22 +382,22 @@
msgid "A location must be selected!"
-#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737
-#: ../IDEFrame.py:1595 ../IDEFrame.py:1606
+#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:753 +#: ../IDEFrame.py:1626 ../IDEFrame.py:1637 msgid "A variable with \"%s\" as name already exists in this pou!"
-#: ../editors/CodeFileEditor.py:754
+#: ../editors/CodeFileEditor.py:780 msgid "A variable with \"%s\" as name already exists!"
-#: ../PLCOpenEditor.py:152 ../Beremiz.py:374
+#: ../PLCOpenEditor.py:152 ../Beremiz.py:376
@@ -446,24 +442,24 @@
-#: ../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:584 ../Beremiz.py:1031 -#: ../IDEFrame.py:1856 ../IDEFrame.py:1891
+#: ../IDEFrame.py:1884 ../IDEFrame.py:1919
msgid "Add C code accessing located variables synchronously"
msgid "Add Configuration"
@@ -475,19 +471,19 @@
msgid "Add Python code executed asynchronously"
-#: ../IDEFrame.py:1867 ../IDEFrame.py:1917
+#: ../IDEFrame.py:1895 ../IDEFrame.py:1945 -#: ../IDEFrame.py:1845 ../IDEFrame.py:1888
+#: ../IDEFrame.py:1873 ../IDEFrame.py:1916 @@ -507,7 +503,7 @@
msgid "Add a simple WxGlade based GUI."
@@ -515,7 +511,7 @@
-#: ../editors/DataTypeEditor.py:351
+#: ../editors/DataTypeEditor.py:352 @@ -523,7 +519,7 @@
-#: ../canfestival/NetworkEditor.py:80
+#: ../canfestival/NetworkEditor.py:103 @@ -531,7 +527,7 @@
-#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440
+#: ../editors/CodeFileEditor.py:664 ../controls/VariablePanel.py:448 @@ -539,7 +535,7 @@
-#: ../plcopen/definitions.py:22
+#: ../plcopen/definitions.py:47 msgid "Additional function blocks"
@@ -563,11 +559,11 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1523
+#: ../ProjectController.py:1576 msgid "Already connected. Please disconnect\n"
-#: ../editors/DataTypeEditor.py:593
+#: ../editors/DataTypeEditor.py:594 msgid "An element named \"%s\" already exists in this structure!"
@@ -592,8 +588,8 @@
-#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634
-#: ../controls/VariablePanel.py:811
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 +#: ../controls/VariablePanel.py:827 @@ -630,16 +626,16 @@
msgid "Bad location size : %s"
-#: ../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 -#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785
@@ -679,7 +675,7 @@
-#: ../editors/TextViewer.py:261
+#: ../editors/TextViewer.py:262 @@ -696,56 +692,56 @@
-#: ../ProjectController.py:1668
+#: ../ProjectController.py:1721 -#: ../ProjectController.py:1166
+#: ../ProjectController.py:1222 msgid "Build directory already clean\n"
-#: ../ProjectController.py:1669
+#: ../ProjectController.py:1722 msgid "Build project into build folder"
-#: ../ProjectController.py:956
+#: ../ProjectController.py:1012 msgid "C Build crashed !\n"
-#: ../ProjectController.py:953
+#: ../ProjectController.py:1009 msgid "C Build failed.\n"
-#: ../c_ext/CFileEditor.py:40
+#: ../c_ext/CFileEditor.py:63 -#: ../ProjectController.py:1031
+#: ../ProjectController.py:1087 msgid "C code generated successfully.\n"
-#: ../targets/toolchain_makefile.py:108
+#: ../targets/toolchain_makefile.py:132 msgid "C compilation failed.\n"
-#: ../targets/toolchain_gcc.py:132
+#: ../targets/toolchain_gcc.py:156 msgid "C compilation of %s failed.\n"
-#: ../canfestival/NetworkEditor.py:29
+#: ../canfestival/NetworkEditor.py:52 -#: ../canfestival/SlaveEditor.py:21
+#: ../canfestival/SlaveEditor.py:44
@@ -754,7 +750,7 @@
msgid "Can only generate execution order on FBD networks!"
-#: ../controls/VariablePanel.py:259
+#: ../controls/VariablePanel.py:267 msgid "Can only give a location to local or global variables"
@@ -763,7 +759,7 @@
msgid "Can't generate program to file %s!"
-#: ../controls/VariablePanel.py:257
+#: ../controls/VariablePanel.py:265 msgid "Can't give a location to a function block instance"
@@ -772,16 +768,16 @@
msgid "Can't save project to file %s!"
-#: ../controls/VariablePanel.py:303
+#: ../controls/VariablePanel.py:311 msgid "Can't set an initial value to a function block instance"
-#: ../ConfigTreeNode.py:504
+#: ../ConfigTreeNode.py:528 msgid "Cannot create child %s of type %s "
-#: ../ConfigTreeNode.py:429
+#: ../ConfigTreeNode.py:453 msgid "Cannot find lower free IEC channel than %d\n"
@@ -790,7 +786,7 @@
msgid "Cannot get PLC status - connection failed.\n"
-#: ../ProjectController.py:817
+#: ../ProjectController.py:873 msgid "Cannot open/parse VARIABLES.csv!\n"
@@ -815,7 +811,7 @@
msgid "Change POU Type To"
@@ -831,20 +827,20 @@
-#: ../svgui/svgui.py:101
+#: ../svgui/svgui.py:125 msgid "Choose a SVG file"
-#: ../ProjectController.py:420
+#: ../ProjectController.py:444 msgid "Choose a directory to save project"
-#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285
+#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:285 #: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361
-#: ../Beremiz.py:899 ../Beremiz.py:934
+#: ../Beremiz.py:906 ../Beremiz.py:941 @@ -857,11 +853,11 @@
msgid "Choose a working directory "
-#: ../ProjectController.py:334
+#: ../ProjectController.py:358 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
-#: ../ProjectController.py:301
+#: ../ProjectController.py:325 msgid "Chosen folder isn't empty. You can't use it for a new project!"
@@ -869,7 +865,7 @@
-#: ../controls/VariablePanel.py:431
+#: ../controls/VariablePanel.py:439 @@ -877,7 +873,7 @@
-#: ../ProjectController.py:1672
+#: ../ProjectController.py:1725 @@ -885,15 +881,15 @@
msgid "Clean log messages"
-#: ../ProjectController.py:1674
+#: ../ProjectController.py:1727 msgid "Clean project build folder"
-#: ../ProjectController.py:1163
+#: ../ProjectController.py:1219 msgid "Cleaning the build directory\n"
@@ -905,16 +901,16 @@
-#: ../PLCOpenEditor.py:192 ../Beremiz.py:667
+#: ../PLCOpenEditor.py:192 ../Beremiz.py:674 msgid "Close Application"
-#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:611
+#: ../PLCOpenEditor.py:102 ../Beremiz.py:328 ../Beremiz.py:618 -#: ../PLCOpenEditor.py:100 ../Beremiz.py:324
+#: ../PLCOpenEditor.py:100 ../Beremiz.py:326 @@ -942,7 +938,7 @@
-#: ../ProjectController.py:609
+#: ../ProjectController.py:664 msgid "Compiling IEC Program into C code...\n"
@@ -950,11 +946,11 @@
-#: ../editors/ConfTreeNodeEditor.py:206
+#: ../editors/ConfTreeNodeEditor.py:229 -#: ../editors/ProjectNodeEditor.py:13
+#: ../editors/ProjectNodeEditor.py:36 @@ -967,20 +963,20 @@
#: ../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/TextViewer.py:291 ../editors/TextViewer.py:342 +#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:326 msgid "Confirm or change variable name"
-#: ../ProjectController.py:1687
+#: ../ProjectController.py:1740 -#: ../ProjectController.py:1688
+#: ../ProjectController.py:1741 msgid "Connect to the target PLC"
-#: ../ProjectController.py:1212
+#: ../ProjectController.py:1268 msgid "Connected to URI: %s"
@@ -994,11 +990,11 @@
msgid "Connection Properties"
-#: ../ProjectController.py:1547
+#: ../ProjectController.py:1600 msgid "Connection canceled!\n"
-#: ../ProjectController.py:1572
+#: ../ProjectController.py:1625 msgid "Connection failed to %s!\n"
@@ -1016,7 +1012,7 @@
@@ -1052,12 +1048,12 @@
msgid "Conversion to time-of-day"
-#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346
+#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:370
@@ -1073,26 +1069,26 @@
-#: ../ConfigTreeNode.py:626
+#: ../ConfigTreeNode.py:650 "Could not add child \"%s\", type %s :\n"
-#: ../py_ext/PythonFileCTNMixin.py:53
+#: ../py_ext/PythonFileCTNMixin.py:77 msgid "Couldn't import old %s file."
-#: ../ConfigTreeNode.py:598
+#: ../ConfigTreeNode.py:622 "Couldn't load confnode base parameters %s :\n"
-#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99
+#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124 "Couldn't load confnode parameters %s :\n"
@@ -1103,19 +1099,19 @@
msgid "Couldn't paste non-POU object."
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1542 msgid "Couldn't start PLC !\n"
-#: ../ProjectController.py:1494
+#: ../ProjectController.py:1550 msgid "Couldn't stop PLC !\n"
-#: ../ProjectController.py:1458
+#: ../ProjectController.py:1514 msgid "Couldn't stop debugger.\n"
@@ -1127,35 +1123,35 @@
msgid "Create a new action"
msgid "Create a new action block"
-#: ../IDEFrame.py:84 ../IDEFrame.py:114 ../IDEFrame.py:147
+#: ../IDEFrame.py:108 ../IDEFrame.py:138 ../IDEFrame.py:171 msgid "Create a new block"
msgid "Create a new branch"
msgid "Create a new coil"
-#: ../IDEFrame.py:78 ../IDEFrame.py:93 ../IDEFrame.py:123
+#: ../IDEFrame.py:102 ../IDEFrame.py:117 ../IDEFrame.py:147 msgid "Create a new comment"
-#: ../IDEFrame.py:87 ../IDEFrame.py:117 ../IDEFrame.py:150
+#: ../IDEFrame.py:111 ../IDEFrame.py:141 ../IDEFrame.py:174 msgid "Create a new connection"
-#: ../IDEFrame.py:105 ../IDEFrame.py:156
+#: ../IDEFrame.py:129 ../IDEFrame.py:180 msgid "Create a new contact"
msgid "Create a new divergence"
@@ -1163,35 +1159,35 @@
msgid "Create a new divergence or convergence"
msgid "Create a new initial step"
msgid "Create a new jump"
-#: ../IDEFrame.py:96 ../IDEFrame.py:153
+#: ../IDEFrame.py:120 ../IDEFrame.py:177 msgid "Create a new power rail"
msgid "Create a new rung"
msgid "Create a new step"
-#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156 msgid "Create a new transition"
-#: ../IDEFrame.py:81 ../IDEFrame.py:111 ../IDEFrame.py:144
+#: ../IDEFrame.py:105 ../IDEFrame.py:135 ../IDEFrame.py:168 msgid "Create a new variable"
-#: ../editors/Viewer.py:592 ../IDEFrame.py:344 ../IDEFrame.py:400
+#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424 @@ -1207,11 +1203,11 @@
-#: ../canfestival/SlaveEditor.py:53 ../canfestival/NetworkEditor.py:74
+#: ../canfestival/SlaveEditor.py:76 ../canfestival/NetworkEditor.py:97 -#: ../canfestival/SlaveEditor.py:54 ../canfestival/NetworkEditor.py:75
+#: ../canfestival/SlaveEditor.py:77 ../canfestival/NetworkEditor.py:98 @@ -1244,7 +1240,7 @@
-#: ../ProjectController.py:1594
+#: ../ProjectController.py:1647 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
@@ -1257,33 +1253,33 @@
-#: ../ProjectController.py:1247
+#: ../ProjectController.py:1303 msgid "Debug: Unknown variable '%s'\n"
-#: ../ProjectController.py:1245
+#: ../ProjectController.py:1301 msgid "Debug: Unsupported type to debug '%s'\n"
-#: ../ProjectController.py:1427
+#: ../ProjectController.py:1483 msgid "Debugger disabled\n"
-#: ../ProjectController.py:1591
+#: ../ProjectController.py:1644 -#: ../ProjectController.py:1460
+#: ../ProjectController.py:1516 msgid "Debugger stopped.\n"
-#: ../editors/Viewer.py:568 ../Beremiz.py:1028 ../IDEFrame.py:1925
+#: ../editors/Viewer.py:568 ../Beremiz.py:1035 ../IDEFrame.py:1953 @@ -1307,25 +1303,21 @@
msgid "Deletion (within)"
-#: ../editors/DataTypeEditor.py:152
+#: ../editors/DataTypeEditor.py:153 -#: ../plcopen/definitions.py:41
+#: ../plcopen/definitions.py:66 "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
-#: ../editors/CodeFileEditor.py:664
-#: ../controls/VariablePanel.py:422
+#: ../controls/VariablePanel.py:430 -#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320
+#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321 @@ -1341,11 +1333,11 @@
-#: ../ProjectController.py:1696
+#: ../ProjectController.py:1749 -#: ../ProjectController.py:1698
+#: ../ProjectController.py:1751 msgid "Disconnect from PLC"
@@ -1370,7 +1362,7 @@
-#: ../plcopen/definitions.py:34
+#: ../plcopen/definitions.py:59 "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value."
@@ -1380,7 +1372,7 @@
-#: ../canfestival/canfestival.py:139
+#: ../canfestival/canfestival.py:163 msgid "EDS files (*.eds)|*.eds|All files|*.*"
@@ -1404,7 +1396,7 @@
-#: ../wxglade_hmi/wxglade_hmi.py:12
+#: ../wxglade_hmi/wxglade_hmi.py:36 msgid "Edit a WxWidgets GUI with WXGlade"
@@ -1432,7 +1424,7 @@
-#: ../ProjectController.py:1710
+#: ../ProjectController.py:1763 msgid "Edit raw IEC code added to code generated by PLCGenerator"
@@ -1444,19 +1436,19 @@
-#: ../ProjectController.py:1126
+#: ../ProjectController.py:1182 -#: ../editors/DataTypeEditor.py:347
+#: ../editors/DataTypeEditor.py:348
@@ -1491,56 +1483,56 @@
#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333
#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419
#: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
-#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549
-#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578
-#: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593
-#: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751
-#: ../editors/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:789 +#: ../ProjectController.py:293 ../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:400 ../controls/VariablePanel.py:770 +#: ../Beremiz.py:1174 ../IDEFrame.py:1003 ../IDEFrame.py:1612 +#: ../IDEFrame.py:1649 ../IDEFrame.py:1654 ../IDEFrame.py:1668 +#: ../IDEFrame.py:1673 ../Beremiz_service.py:190 -#: ../ProjectController.py:663
+#: ../ProjectController.py:719 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
-#: ../ProjectController.py:655
+#: ../ProjectController.py:711 msgid "Error : IEC to C compiler returned %d\n"
-#: ../ProjectController.py:589
+#: ../ProjectController.py:613 "Error in ST/IL/SFC code generator :\n"
-#: ../ConfigTreeNode.py:192
+#: ../ConfigTreeNode.py:216 msgid "Error while saving \"%s\"\n"
-#: ../canfestival/canfestival.py:144
+#: ../canfestival/canfestival.py:168 msgid "Error: Export slave failed\n"
-#: ../canfestival/canfestival.py:345
+#: ../canfestival/canfestival.py:369 msgid "Error: No Master generated\n"
-#: ../canfestival/canfestival.py:340
+#: ../canfestival/canfestival.py:364 msgid "Error: No PLC built\n"
-#: ../ProjectController.py:1566
+#: ../ProjectController.py:1619 msgid "Exception while connecting %s!\n"
@@ -1553,7 +1545,7 @@
msgid "Experimental web based HMI"
@@ -1565,7 +1557,7 @@
-#: ../canfestival/canfestival.py:150
+#: ../canfestival/canfestival.py:174 msgid "Export CanOpen slave to EDS file"
@@ -1573,7 +1565,7 @@
msgid "Export graph values to clipboard"
-#: ../canfestival/canfestival.py:149
+#: ../canfestival/canfestival.py:173 @@ -1585,7 +1577,7 @@
-#: ../ProjectController.py:676
+#: ../ProjectController.py:732 msgid "Extracting Located Variables...\n"
@@ -1594,7 +1586,7 @@
-#: ../ProjectController.py:1629
+#: ../ProjectController.py:1682 msgid "Failed : Must build before transfer.\n"
@@ -1602,13 +1594,13 @@
-#: ../plcopen/definitions.py:32
+#: ../plcopen/definitions.py:57 "Falling edge detector\n"
"The output produces a single pulse when a falling edge is detected."
-#: ../ProjectController.py:946
+#: ../ProjectController.py:1002 msgid "Fatal : cannot get builder.\n"
@@ -1628,15 +1620,15 @@
#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105
@@ -1684,20 +1676,20 @@
-#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1712
+#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1740
-#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1711
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1739 -#: ../controls/VariablePanel.py:807
+#: ../controls/VariablePanel.py:823 msgid "Function Block Types"
@@ -1722,7 +1714,7 @@
-#: ../ProjectController.py:580
+#: ../ProjectController.py:604 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
@@ -1766,7 +1758,7 @@
-#: ../plcopen/definitions.py:44
+#: ../plcopen/definitions.py:69 "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2."
@@ -1785,7 +1777,7 @@
-#: ../svgui/svgui.py:18 ../svgui/svgui.py:19
+#: ../svgui/svgui.py:42 ../svgui/svgui.py:43 @@ -1798,17 +1790,17 @@
-#: ../controls/VariablePanel.py:268
+#: ../controls/VariablePanel.py:276 msgid "Incompatible data types between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:277
+#: ../controls/VariablePanel.py:285 msgid "Incompatible size of data between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:273
+#: ../controls/VariablePanel.py:281 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
@@ -1817,10 +1809,6 @@
-#: ../editors/CodeFileEditor.py:663
#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058
@@ -1830,12 +1818,12 @@
-#: ../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
@@ -1866,7 +1854,7 @@
-#: ../plcopen/definitions.py:40
+#: ../plcopen/definitions.py:65 "The integral function block integrates the value of input XIN over time."
@@ -1900,12 +1888,12 @@
#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
-#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:166 msgid "Invalid value \"%s\" for debug variable"
-#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250
+#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258 msgid "Invalid value \"%s\" for variable grid element"
@@ -1949,7 +1937,7 @@
-#: ../ProjectController.py:1635
+#: ../ProjectController.py:1688 msgid "Latest build already matches current target. Transfering anyway...\n"
@@ -1981,7 +1969,7 @@
msgid "Less than or equal to"
@@ -1989,7 +1977,7 @@
-#: ../targets/toolchain_gcc.py:142
+#: ../targets/toolchain_gcc.py:166 @@ -1997,11 +1985,11 @@
-#: ../canfestival/canfestival.py:322
+#: ../canfestival/canfestival.py:346 -#: ../ProjectController.py:1541
+#: ../ProjectController.py:1594 msgid "Local service discovery failed!\n"
@@ -2022,19 +2010,19 @@
msgid "MDNS resolution failure for '%s'\n"
-#: ../canfestival/SlaveEditor.py:41 ../canfestival/NetworkEditor.py:62
+#: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85
msgid "Map located variables over CANopen"
-#: ../canfestival/NetworkEditor.py:83
+#: ../canfestival/NetworkEditor.py:106 -#: ../ConfigTreeNode.py:514
+#: ../ConfigTreeNode.py:538 msgid "Max count (%d) reached for this confnode of type %s "
@@ -2043,7 +2031,7 @@
-#: ../editors/DataTypeEditor.py:238
+#: ../editors/DataTypeEditor.py:239 @@ -2051,7 +2039,7 @@
@@ -2071,7 +2059,7 @@
-#: ../editors/DataTypeEditor.py:225
+#: ../editors/DataTypeEditor.py:226 @@ -2104,11 +2092,11 @@
-#: ../editors/DataTypeEditor.py:354
+#: ../editors/DataTypeEditor.py:355 msgid "Move element down"
-#: ../editors/DataTypeEditor.py:353
+#: ../editors/DataTypeEditor.py:354 @@ -2128,7 +2116,7 @@
-#: ../IDEFrame.py:75 ../IDEFrame.py:90 ../IDEFrame.py:120 ../IDEFrame.py:161
+#: ../IDEFrame.py:99 ../IDEFrame.py:114 ../IDEFrame.py:144 ../IDEFrame.py:185 @@ -2136,11 +2124,11 @@
-#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443
+#: ../editors/CodeFileEditor.py:667 ../controls/VariablePanel.py:451 msgid "Move variable down"
-#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442
+#: ../editors/CodeFileEditor.py:666 ../controls/VariablePanel.py:450 @@ -2161,8 +2149,8 @@
#: ../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 @@ -2183,8 +2171,8 @@
-#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314
+#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:316 @@ -2196,7 +2184,7 @@
-#: ../ProjectController.py:1662
+#: ../ProjectController.py:1715 msgid "No PLC to transfer (did build succeed ?)\n"
@@ -2230,7 +2218,7 @@
msgid "No search results available."
-#: ../svgui/svgui.py:107
+#: ../svgui/svgui.py:131 msgid "No such SVG file: %s\n"
@@ -2284,40 +2272,36 @@
-#: ../plcopen/definitions.py:38
+#: ../plcopen/definitions.py:63 "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false."
-#: ../plcopen/definitions.py:37
+#: ../plcopen/definitions.py:62 "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true."
-#: ../editors/CodeFileEditor.py:664
#: ../dialogs/SearchInProjectDialog.py:93
-#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316
+#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:318 -#: ../svgui/svgui.py:116
+#: ../svgui/svgui.py:140 -#: ../ProjectController.py:1714
+#: ../ProjectController.py:1767 msgid "Open a file explorer to manage project files"
-#: ../wxglade_hmi/wxglade_hmi.py:114
+#: ../wxglade_hmi/wxglade_hmi.py:138 @@ -2325,7 +2309,7 @@
-#: ../dialogs/FindInPouDialog.py:82 ../editors/CodeFileEditor.py:664
+#: ../dialogs/FindInPouDialog.py:82 @@ -2333,7 +2317,7 @@
msgid "Organization (optional):"
-#: ../canfestival/SlaveEditor.py:51 ../canfestival/NetworkEditor.py:72
+#: ../canfestival/SlaveEditor.py:74 ../canfestival/NetworkEditor.py:95 @@ -2343,29 +2327,29 @@
-#: ../canfestival/SlaveEditor.py:40 ../canfestival/NetworkEditor.py:61
+#: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84 -#: ../canfestival/SlaveEditor.py:39 ../canfestival/NetworkEditor.py:60
+#: ../canfestival/SlaveEditor.py:62 ../canfestival/NetworkEditor.py:83 -#: ../plcopen/definitions.py:42
+#: ../plcopen/definitions.py:67 "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
-#: ../targets/toolchain_gcc.py:107
+#: ../targets/toolchain_gcc.py:131
-#: ../ProjectController.py:930
+#: ../ProjectController.py:986 msgid "PLC code generation failed !\n"
@@ -2414,7 +2398,7 @@
msgid "PYRO using certificates in '%s' \n"
-#: ../PLCOpenEditor.py:112 ../Beremiz.py:329
+#: ../PLCOpenEditor.py:112 ../Beremiz.py:331 @@ -2422,7 +2406,7 @@
msgid "Page Size (optional):"
@@ -2431,11 +2415,11 @@
-#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402
+#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
@@ -2452,7 +2436,7 @@
msgid "Please choose a target"
-#: ../editors/TextViewer.py:261
+#: ../editors/TextViewer.py:262 msgid "Please enter a block name"
@@ -2486,7 +2470,7 @@
msgid "Power Rail Properties"
-#: ../PLCOpenEditor.py:114 ../Beremiz.py:331
+#: ../PLCOpenEditor.py:114 ../Beremiz.py:333 @@ -2494,12 +2478,12 @@
-#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333
+#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:335
@@ -2536,8 +2520,8 @@
msgid "Product Version (required):"
-#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1710
+#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1738 @@ -2553,7 +2537,7 @@
msgid "Programs can't be used by other POUs!"
-#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:556
+#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584 @@ -2562,7 +2546,7 @@
-#: ../ProjectController.py:1713
+#: ../ProjectController.py:1766 @@ -2584,11 +2568,11 @@
-#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14
+#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37 msgid "Project properties"
-#: ../ConfigTreeNode.py:540
+#: ../ConfigTreeNode.py:564 msgid "Project tree layout do not match confnode.xml %s!=%s "
@@ -2601,17 +2585,17 @@
-#: ../plcopen/definitions.py:36
+#: ../plcopen/definitions.py:61 "The pulse timer can be used to generate output pulses of a given time duration."
-#: ../py_ext/PythonEditor.py:57
+#: ../py_ext/PythonEditor.py:81
@@ -2619,17 +2603,17 @@
-#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:122 ../Beremiz.py:338 ../Beremiz_service.py:252 -#: ../plcopen/definitions.py:29
+#: ../plcopen/definitions.py:54 "The RS bistable is a latch where the Reset dominates."
-#: ../plcopen/definitions.py:43
+#: ../plcopen/definitions.py:68 "The RAMP function block is modelled on example given in the standard."
@@ -2639,22 +2623,22 @@
-#: ../ProjectController.py:1709
+#: ../ProjectController.py:1762 -#: ../plcopen/definitions.py:39
+#: ../plcopen/definitions.py:64 "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on."
msgid "Really delete node '%s'?"
-#: ../IDEFrame.py:338 ../IDEFrame.py:398
+#: ../IDEFrame.py:362 ../IDEFrame.py:422 @@ -2662,7 +2646,7 @@
-#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408
+#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432 @@ -2682,16 +2666,16 @@
msgid "Remainder (modulo)"
@@ -2699,7 +2683,7 @@
-#: ../editors/DataTypeEditor.py:352
+#: ../editors/DataTypeEditor.py:353 @@ -2711,7 +2695,7 @@
-#: ../canfestival/NetworkEditor.py:81
+#: ../canfestival/NetworkEditor.py:104 @@ -2719,11 +2703,11 @@
-#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441
+#: ../editors/CodeFileEditor.py:665 ../controls/VariablePanel.py:449
@@ -2747,7 +2731,7 @@
msgid "Reset Execution Order"
msgid "Reset Perspective"
@@ -2755,7 +2739,7 @@
msgid "Reset search result"
-#: ../PLCControler.py:97 ../Beremiz.py:1039
+#: ../PLCControler.py:97 ../Beremiz.py:1046 @@ -2763,7 +2747,7 @@
-#: ../controls/VariablePanel.py:414
+#: ../controls/VariablePanel.py:422 @@ -2779,7 +2763,7 @@
-#: ../plcopen/definitions.py:31
+#: ../plcopen/definitions.py:56 "The output produces a single pulse when a rising edge is detected."
@@ -2797,23 +2781,23 @@
-#: ../ProjectController.py:1677
+#: ../ProjectController.py:1730 -#: ../ProjectController.py:975
+#: ../ProjectController.py:1031 msgid "Runtime IO extensions C code generation failed !\n"
-#: ../ProjectController.py:984
+#: ../ProjectController.py:1040 msgid "Runtime library extensions C code generation failed !\n"
-#: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59
+#: ../canfestival/SlaveEditor.py:61 ../canfestival/NetworkEditor.py:82 -#: ../canfestival/SlaveEditor.py:37 ../canfestival/NetworkEditor.py:58
+#: ../canfestival/SlaveEditor.py:60 ../canfestival/NetworkEditor.py:81 @@ -2821,7 +2805,7 @@
-#: ../plcopen/definitions.py:28
+#: ../plcopen/definitions.py:53 "The SR bistable is a latch where the Set dominates."
@@ -2836,24 +2820,24 @@
msgid "ST files (*.st)|*.st|All files|*.*"
-#: ../svgui/svgui.py:101
+#: ../svgui/svgui.py:125 msgid "SVG files (*.svg)|*.svg|All files|*.*"
-#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320
+#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:322 -#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352
+#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:354
@@ -2861,11 +2845,11 @@
-#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:595
+#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:623 -#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404
+#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:382 ../IDEFrame.py:428 msgid "Search in Project"
@@ -2873,17 +2857,17 @@
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
-#: ../controls/VariablePanel.py:340
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288 +#: ../controls/VariablePanel.py:348 msgid "Select a variable class:"
-#: ../ProjectController.py:1126
+#: ../ProjectController.py:1182 msgid "Select an editor:"
@@ -2891,7 +2875,7 @@
msgid "Select an instance"
@@ -2907,7 +2891,7 @@
msgid "Selection Divergence"
-#: ../plcopen/definitions.py:30
+#: ../plcopen/definitions.py:55 "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
@@ -2933,19 +2917,19 @@
-#: ../ProjectController.py:1703
+#: ../ProjectController.py:1756 msgid "Show IEC code generated by PLCGenerator"
-#: ../canfestival/canfestival.py:363
+#: ../canfestival/canfestival.py:387 -#: ../canfestival/canfestival.py:364
+#: ../canfestival/canfestival.py:388 msgid "Show Master generated by config_utils"
-#: ../ProjectController.py:1701
+#: ../ProjectController.py:1754 @@ -2965,7 +2949,7 @@
-#: ../targets/toolchain_makefile.py:112
+#: ../targets/toolchain_makefile.py:136 msgid "Source didn't change, no build.\n"
@@ -2973,24 +2957,24 @@
msgid "Square root (base 2)"
-#: ../plcopen/definitions.py:21
+#: ../plcopen/definitions.py:46 msgid "Standard function blocks"
-#: ../ProjectController.py:1679 ../Beremiz_service.py:240
+#: ../ProjectController.py:1732 ../Beremiz_service.py:240 -#: ../ProjectController.py:922
+#: ../ProjectController.py:978 msgid "Start build in %s\n"
-#: ../ProjectController.py:1483
+#: ../ProjectController.py:1539
@@ -2998,7 +2982,7 @@
-#: ../ProjectController.py:1682
+#: ../ProjectController.py:1735 @@ -3006,11 +2990,11 @@
-#: ../ProjectController.py:1684
+#: ../ProjectController.py:1737 -#: ../ProjectController.py:1455
+#: ../ProjectController.py:1511 msgid "Stopping debugger...\n"
@@ -3026,10 +3010,14 @@
-#: ../ProjectController.py:961
+#: ../ProjectController.py:1017 msgid "Successfully built.\n"
+msgid "Switch perspective" #: ../dialogs/SearchInProjectDialog.py:154
msgid "Syntax error in regular expression of pattern to search!"
@@ -3065,16 +3053,16 @@
msgid "The group of block must be coherent!"
-#: ../Beremiz.py:614 ../IDEFrame.py:983
+#: ../Beremiz.py:621 ../IDEFrame.py:1011 msgid "There are changes, do you want to save?"
-#: ../IDEFrame.py:1618 ../IDEFrame.py:1637
+#: ../IDEFrame.py:1649 ../IDEFrame.py:1668 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
"There was a problem printing.\n"
"Perhaps your current printer is not set correctly?"
@@ -3121,19 +3109,19 @@
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1744 -#: ../ProjectController.py:1693
+#: ../ProjectController.py:1746 -#: ../ProjectController.py:1658
+#: ../ProjectController.py:1711 msgid "Transfer completed successfully.\n"
-#: ../ProjectController.py:1660
+#: ../ProjectController.py:1713 msgid "Transfer failed\n"
@@ -3178,8 +3166,8 @@
#: ../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 @@ -3196,7 +3184,7 @@
-#: ../editors/DataTypeEditor.py:161
+#: ../editors/DataTypeEditor.py:162 @@ -3215,7 +3203,7 @@
msgid "Unable to define PDO mapping for node %02x"
-#: ../targets/Xenomai/__init__.py:15
+#: ../targets/Xenomai/__init__.py:39 msgid "Unable to get Xenomai's %s \n"
@@ -3230,11 +3218,11 @@
msgid "Undefined pou type \"%s\""
-#: ../IDEFrame.py:336 ../IDEFrame.py:397
+#: ../IDEFrame.py:360 ../IDEFrame.py:421 -#: ../ProjectController.py:308
+#: ../ProjectController.py:332 @@ -3243,7 +3231,7 @@
msgid "Unknown variable \"%s\" for this POU!"
-#: ../ProjectController.py:305 ../ProjectController.py:306
+#: ../ProjectController.py:329 ../ProjectController.py:330 @@ -3252,28 +3240,28 @@
-#: ../controls/VariablePanel.py:275
+#: ../controls/VariablePanel.py:283 msgid "Unrecognized data size \"%s\""
-#: ../plcopen/definitions.py:33
+#: ../plcopen/definitions.py:58 "The up-counter can be used to signal when a count has reached a maximum value."
-#: ../plcopen/definitions.py:35
+#: ../plcopen/definitions.py:60 "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."
-#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780
+#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:796 -#: ../canfestival/SlaveEditor.py:42 ../canfestival/NetworkEditor.py:63
+#: ../canfestival/SlaveEditor.py:65 ../canfestival/NetworkEditor.py:86 @@ -3285,7 +3273,7 @@
-#: ../editors/DataTypeEditor.py:258
+#: ../editors/DataTypeEditor.py:259 @@ -3298,13 +3286,13 @@
msgid "Variable Properties"
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
-#: ../controls/VariablePanel.py:340
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288 +#: ../controls/VariablePanel.py:348 -#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385
+#: ../editors/Viewer.py:391 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!"
@@ -3334,7 +3322,7 @@
msgid "WAMP connection to '%s' failed.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:11
+#: ../wxglade_hmi/wxglade_hmi.py:35 @@ -3342,7 +3330,7 @@
-#: ../ProjectController.py:584
+#: ../ProjectController.py:608 msgid "Warnings in ST/IL/SFC code generator :\n"
@@ -3358,23 +3346,23 @@
-#: ../svgui/svgui.py:115
+#: ../svgui/svgui.py:139 "You don't have write permissions.\n"
-#: ../wxglade_hmi/wxglade_hmi.py:113
+#: ../wxglade_hmi/wxglade_hmi.py:137 "You don't have write permissions.\n"
-#: ../ProjectController.py:268
+#: ../ProjectController.py:292 "You must have permission to work on the project\n"
"Work on a project copy ?"
@@ -3396,11 +3384,11 @@
msgid "You must type a value!"
@@ -3413,7 +3401,7 @@
-#: ../util/ProcessLogger.py:166
+#: ../util/ProcessLogger.py:170 msgid "exited with status %s (pid %s)\n"