--- a/i18n/Beremiz_ru_RU.po Thu Dec 01 18:30:34 2016 +0300
+++ b/i18n/Beremiz_ru_RU.po Thu Dec 01 18:31:10 2016 +0300
@@ -7,9 +7,9 @@
"Project-Id-Version: Beremiz\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-11-17 12:41+0300\n"
-"PO-Revision-Date: 2016-11-17 13:11+0300\n"
+"POT-Creation-Date: 2016-12-01 18:27+0300\n" +"PO-Revision-Date: 2016-12-01 18:27+0300\n" +"Last-Translator: Andrey Skvortsov <andrej.skvortzov@gmail.com>\n" "Language-Team: Andrey Skvortsov <andrej.skvortzov@gmail.com>\n"
@@ -17,29 +17,7 @@
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
-#: ../PLCOpenEditor.py:408
-"An error has occurred.\n"
-"Click OK to save an error report.\n"
-"Please be kind enough to send this file to:\n"
-"edouard.tisserant@gmail.com\n"
-"Нажмите OK, чтобы сохранить репорт об ошибке.\n"
-"Будьте так добры, пошлите этот файл:\n"
-"edouard.tisserant@gmail.com\n"
+#: ../PLCOpenEditor.py:408 ../Beremiz.py:1182 @@ -49,18 +27,18 @@
"Please be kind enough to send this file to:\n"
"beremiz-devel@lists.sourceforge.net\n"
-"You should now restart Beremiz.\n"
+"You should now restart program.\n" -"Произошла невосстанавливаемая ошибка (bug). Отчет об ошибке сохранен:\n"
+"Произошла невосстанавливаемая ошибка (bug). Отчет об ошибке сохранен в:\n" "Будьте добры, отправьте этот файл по адресу\n"
"beremiz-devel@lists.sourceforge.net\n"
-"Для дальнейшей работы перезапустите Beremiz.\n"
+"Для дальнейшей работы перезапустите программу.\n" @@ -88,10 +66,6 @@
-#: ../PLCOpenEditor.py:418
#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:66
#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113
@@ -102,22 +76,22 @@
msgid " generation failed !\n"
msgstr "неудачная генерация кода!\n"
-#: ../plcopen/plcopen.py:888
+#: ../plcopen/plcopen.py:890 msgid "\"%s\" Data Type doesn't exist !!!"
msgstr "Тип данных \"%s\" не существует!!!"
-#: ../plcopen/plcopen.py:906
+#: ../plcopen/plcopen.py:908 msgid "\"%s\" POU already exists !!!"
msgstr "POU \"%s\" уже существует!!!"
-#: ../plcopen/plcopen.py:927
+#: ../plcopen/plcopen.py:929 msgid "\"%s\" POU doesn't exist !!!"
msgstr "POU \"%s\" не найден!!!"
-#: ../editors/Viewer.py:242
+#: ../editors/Viewer.py:246 msgid "\"%s\" can't use itself!"
msgstr "\"%s\" не может использовать сам себя!!!"
@@ -138,40 +112,30 @@
msgstr "Тип данных \"%s\" уже существует!!!"
#: ../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
+#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262 +#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374 #: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301
-#: ../controls/VariablePanel.py:394
+#: ../controls/VariablePanel.py:396 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"
-#: ../PLCGenerator.py:1091
-msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
-msgstr "Функция \"%s\" не используется в POU \"%s\": входы не подключены"
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
-#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101 +#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 #: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584
-#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:749
+#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:751 msgid "\"%s\" is a keyword. It can't be used!"
msgstr "\"%s\" является ключевым словом и не может быть использован!"
-#: ../editors/Viewer.py:246
-msgid "\"%s\" is already used by \"%s\"!"
-msgstr "\"%s\" уже используется \"%s\"!"
-#: ../plcopen/plcopen.py:2414
+#: ../plcopen/plcopen.py:2416 msgid "\"%s\" is an invalid value!"
msgstr "\"%s\" недопустимое значение!"
@@ -181,11 +145,11 @@
msgid "\"%s\" is not a valid folder!"
msgstr "\"%s\" не является директорией!"
-#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
-#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99 +#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 #: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768
-#: ../controls/VariablePanel.py:747 ../IDEFrame.py:1591
+#: ../controls/VariablePanel.py:749 ../IDEFrame.py:1591 msgid "\"%s\" is not a valid identifier!"
msgstr "\"%s\" неверный идентификатор!"
@@ -196,26 +160,16 @@
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:270
+#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345 +#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350
-#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:336
+#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 msgid "\"%s\" pou already exists!"
msgstr "POU \"%s\" уже существует!"
-#: ../plcopen/plcopen.py:500
-msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-msgstr "Ресурс \"%s\" уже существует в конфигурации \"%s\"!!!"
-#: ../plcopen/plcopen.py:517
-msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-msgstr "Ресурс \"%s\" отсутствует в конфигурации \"%s\"!!!"
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/SFCStepNameDialog.py:58 msgid "\"%s\" step already exists!"
msgstr "Шаг \"%s\" уже существует!"
@@ -237,20 +191,68 @@
"Right value must be greater than left value."
msgstr "\"%s\" не является корректной размерностью массива! Правое значение должно быть больше левого."
+#: ../PLCGenerator.py:1093 +msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" +msgstr "Функция \"{a1}\" не используется в POU \"{a2}\": входы не подключены" +#: ../editors/Viewer.py:250 +msgid "\"{a1}\" is already used by \"{a2}\"!" +msgstr "\"{a1}\" уже используется \"{a2}\"!" +#: ../plcopen/plcopen.py:500 +msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!" +msgstr "Ресурс \"{a1}\" уже существует в конфигурации \"{a2}\"!!!" +#: ../plcopen/plcopen.py:518 +msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" +msgstr "Ресурс \"{a1}\" отсутствует в конфигурации \"{a2}\"!!!" msgid "%(codefile_name)s"
msgstr "%(codefile_name)"
-#: ../PLCControler.py:970
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570 -msgid "%s \"%s\" can't be pasted as a %s."
-msgstr "%s \"%s\" не может быть вставлен как %s."
-#: ../PLCControler.py:1530
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#: ../PLCControler.py:1531 -#: ../PLCControler.py:1513
+#: ../PLCControler.py:1514 @@ -260,24 +262,15 @@
-#: ../ConfigTreeNode.py:56
-"%s XML file doesn't follow XSD schema at line %d:\n"
-"%s XML файл не следует XSD-схеме в строке %d:\n"
-#: ../plcopen/plcopen.py:1647 ../plcopen/plcopen.py:1654
-#: ../plcopen/plcopen.py:1666 ../plcopen/plcopen.py:1674
-#: ../plcopen/plcopen.py:1684
+#: ../plcopen/plcopen.py:1649 ../plcopen/plcopen.py:1656 +#: ../plcopen/plcopen.py:1668 ../plcopen/plcopen.py:1676 +#: ../plcopen/plcopen.py:1686 msgid "%s body don't have instances!"
msgstr "Тело %s не содержит экземпляров!"
-#: ../plcopen/plcopen.py:1702 ../plcopen/plcopen.py:1709
-#: ../plcopen/plcopen.py:1716
+#: ../plcopen/plcopen.py:1704 ../plcopen/plcopen.py:1711 +#: ../plcopen/plcopen.py:1718 msgid "%s body don't have text!"
msgstr "Тело %s не содержит никакой текст!"
@@ -335,7 +328,7 @@
msgstr "&Недавние проекты"
@@ -344,19 +337,19 @@
#: ../controls/SearchResultPanel.py:252
-msgid "'%s' - %d match in project"
-msgstr "'%s'- %d совпадений в проекте"
+msgid "'{a1}' - {a2} match in project" +msgstr "'{a1}'- {a2} совпадений в проекте" #: ../controls/SearchResultPanel.py:254
-msgid "'%s' - %d matches in project"
-msgstr "'%s' - %d совпадений в проекте"
-#: ../connectors/PYRO/__init__.py:86
-msgid "'%s' is located at %s\n"
-msgstr "'%s' находится %s\n"
+msgid "'{a1}' - {a2} matches in project" +msgstr "'{a1}' - {a2} совпадений в проекте" +#: ../connectors/PYRO/__init__.py:90 +msgid "'{a1}' is located at {a2}\n" +msgstr "'{a1}' находится {a2}\n" #: ../controls/SearchResultPanel.py:304
@@ -365,31 +358,31 @@
#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399
#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
#: ../dialogs/PouDialog.py:115
#: ../PLCOpenEditor.py:394
-#: ../controls/LogViewer.py:278
#: ../controls/LogViewer.py:279
#: ../controls/LogViewer.py:280
+#: ../controls/LogViewer.py:281 -#: ../controls/LogViewer.py:281
+#: ../controls/LogViewer.py:282 @@ -399,23 +392,23 @@
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:751 ../IDEFrame.py:1626 ../IDEFrame.py:1637
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 +#: ../controls/VariablePanel.py:753 ../IDEFrame.py:1626 ../IDEFrame.py:1637 msgid "A POU named \"%s\" already exists!"
msgstr "POU с именем \"%s\" уже существует!"
#: ../ConfigTreeNode.py:424
-msgid "A child named \"%s\" already exist -> \"%s\"\n"
-msgstr "Дочерний элемент с именем \"%s\" уже существует -> \"%s\"\n"
-#: ../dialogs/BrowseLocationsDialog.py:211
+msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" +msgstr "Дочерний элемент с именем \"{a1}\" уже существует -> \"{a2}\"\n" +#: ../dialogs/BrowseLocationsDialog.py:216 msgid "A location must be selected!"
msgstr "Необходимо выбрать размещение!"
-#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:753
+#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755 #: ../IDEFrame.py:1628 ../IDEFrame.py:1639
msgid "A variable with \"%s\" as name already exists in this pou!"
@@ -426,7 +419,7 @@
msgid "A variable with \"%s\" as name already exists!"
msgstr "Переменная с именем \"%s\" уже существует!"
-#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:380
+#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381 @@ -434,11 +427,11 @@
msgstr "Абсолютный номер"
-#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42 -#: ../editors/Viewer.py:551 ../editors/Viewer.py:2077
+#: ../editors/Viewer.py:555 ../editors/Viewer.py:2336 @@ -450,7 +443,7 @@
-#: ../plcopen/plcopen.py:1361
+#: ../plcopen/plcopen.py:1363 msgid "Action with name %s doesn't exist!"
msgstr "Действие с именем %s не существует!"
@@ -463,12 +456,12 @@
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091 #: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../editors/Viewer.py:584 ../Beremiz.py:1047
+#: ../editors/Viewer.py:588 ../Beremiz.py:1051 @@ -488,11 +481,11 @@
msgstr "Добавить тип данных"
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:513 msgid "Add Divergence Branch"
msgstr "Добавить ветвление"
-#: ../dialogs/DiscoveryDialog.py:115
+#: ../dialogs/DiscoveryDialog.py:116 msgstr "Добавить IP адрес"
@@ -512,19 +505,19 @@
msgstr "Добавить переход"
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:500 -#: ../editors/SFCViewer.py:359
+#: ../editors/SFCViewer.py:433 msgid "Add a new initial step"
msgstr "Добавить новый исходный шаг"
-#: ../editors/Viewer.py:2681 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/SFCViewer.py:770 msgstr "Добавить новый безусловный переход"
-#: ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:455 msgstr "Добавить новый шаг"
@@ -552,7 +545,7 @@
-#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:448
+#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450 msgstr "Добавить переменную"
@@ -564,18 +557,18 @@
msgid "Additional function blocks"
msgstr "Дополнительные функциональные блоки"
-#: ../editors/Viewer.py:567
+#: ../editors/Viewer.py:571 msgid "Adjust Block Size"
msgstr "Скорректировать размер элемента"
-#: ../editors/Viewer.py:1620
+#: ../editors/Viewer.py:1628 -#: ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:135
-#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../dialogs/BrowseLocationsDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:47 +#: ../dialogs/BrowseLocationsDialog.py:140 +#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298 #: ../controls/VariablePanel.py:70
@@ -584,7 +577,7 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
msgstr "Все файлы (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1579
+#: ../ProjectController.py:1607 msgid "Already connected. Please disconnect\n"
msgstr "Уже подключен. Пожалуйста, отключитесь сначала.\n"
@@ -614,7 +607,7 @@
#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635
-#: ../controls/VariablePanel.py:827
+#: ../controls/VariablePanel.py:829 @@ -646,7 +639,7 @@
msgid "Bad domain name at "
msgstr "Неправильное доменное имя в"
-#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:630 msgid "Bad location size : %s"
msgstr "Неправильный размер: %s"
@@ -656,16 +649,16 @@
-#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787 msgstr "Базовые параметры"
msgstr "Настройки Beremiz "
@@ -698,7 +691,7 @@
msgid "Bitwise inverting"
-#: ../editors/Viewer.py:521 ../editors/Viewer.py:2081
+#: ../editors/Viewer.py:525 ../editors/Viewer.py:2349 @@ -710,28 +703,32 @@
-#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:491 +#: ../ProjectController.py:1285 #: ../dialogs/BrowseValuesLibraryDialog.py:37
msgid "Browse %s values library"
-#: ../dialogs/BrowseLocationsDialog.py:60
+msgstr "Browse %s values library" +#: ../dialogs/BrowseLocationsDialog.py:65 msgstr "Просмотр директорий"
-#: ../ProjectController.py:1724
+#: ../ProjectController.py:1753 -#: ../ProjectController.py:1213
+#: ../ProjectController.py:1219 msgid "Build directory already clean\n"
msgstr "Директория сборки уже пуста\n"
-#: ../ProjectController.py:1725
+#: ../ProjectController.py:1754 msgid "Build project into build folder"
msgstr "Сборка проекта в директории сборки"
@@ -751,7 +748,7 @@
msgid "C code generated successfully.\n"
msgstr "C-код успешно сгенерирован.\n"
-#: ../targets/toolchain_makefile.py:126
+#: ../targets/toolchain_makefile.py:122 msgid "C compilation failed.\n"
msgstr "Ошибка компиляции.\n"
@@ -790,10 +787,10 @@
msgstr "Поддержка CANOpen"
-#: ../plcopen/plcopen.py:1586 ../plcopen/plcopen.py:1600
-#: ../plcopen/plcopen.py:1624 ../plcopen/plcopen.py:1640
+#: ../plcopen/plcopen.py:1588 ../plcopen/plcopen.py:1602 +#: ../plcopen/plcopen.py:1626 ../plcopen/plcopen.py:1642 msgid "Can only generate execution order on FBD networks!"
msgstr "Можно сгенерировать порядок исполнения только для FBD!"
@@ -815,7 +812,7 @@
msgid "Can't save project to file %s!"
msgstr "Нельзя сохранить проект в файл %s!"
-#: ../controls/VariablePanel.py:311
+#: ../controls/VariablePanel.py:313 msgid "Can't set an initial value to a function block instance"
msgstr "Нельзя задать исходное значение экземпляру функционального блока"
@@ -829,17 +826,17 @@
msgid "CanFestivalSlaveNode"
-#: ../ConfigTreeNode.py:528
-msgid "Cannot create child %s of type %s "
-msgstr "Нельзя создать дочерний элемент %s типа %s"
-#: ../ConfigTreeNode.py:453
+#: ../ConfigTreeNode.py:529 +msgid "Cannot create child {a1} of type {a2} " +msgstr "Нельзя создать дочерний элемент {a1} типа {a2}" +#: ../ConfigTreeNode.py:454 msgid "Cannot find lower free IEC channel than %d\n"
msgstr "Не удалось найти свободный МЭК-канал с номером меньше чем %d\n"
-#: ../connectors/PYRO/__init__.py:127
+#: ../connectors/PYRO/__init__.py:131 msgid "Cannot get PLC status - connection failed.\n"
msgstr "Невозможно получить состояние ПЛК - ошибка подключения.\n"
@@ -847,16 +844,16 @@
msgid "Cannot open/parse VARIABLES.csv!\n"
msgstr "Не удалось открыть/прочитать VARIABLES.csv\n"
-#: ../canfestival/config_utils.py:372
-msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
-msgstr "Невозможно установить битовое смещение для небулевой переменной '%s' (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:374 +msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))" +msgstr "Невозможно установить битовое смещение для небулевой переменной '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))" #: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:90
msgstr "Регистрозависимый"
-#: ../editors/Viewer.py:482
+#: ../editors/Viewer.py:486 @@ -886,29 +883,29 @@
msgid "Choose a SVG file"
-msgstr "Выберете SVG-файл"
+msgstr "Выберите SVG-файл" #: ../ProjectController.py:436
msgid "Choose a directory to save project"
-msgstr "Выберете директорию, чтобы сохранить проект"
+msgstr "Выберите директорию, чтобы сохранить проект" #: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:292
#: ../PLCOpenEditor.py:324 ../PLCOpenEditor.py:373
-#: ../Beremiz.py:921 ../Beremiz.py:956
+#: ../Beremiz.py:925 ../Beremiz.py:960 -msgstr "Выберете проект"
+msgstr "Выберите проект" #: ../dialogs/BrowseValuesLibraryDialog.py:42
msgid "Choose a value for %s:"
-msgstr "Выберете значение для %s:"
+msgstr "Выберите значение для %s:" #: ../Beremiz_service.py:293
msgid "Choose a working directory "
-msgstr "Выберете рабочую директорию"
+msgstr "Выберите рабочую директорию" #: ../ProjectController.py:358
msgid "Chosen folder doesn't contain a program. It's not a valid project!"
@@ -922,7 +919,7 @@
-#: ../controls/VariablePanel.py:439
+#: ../controls/VariablePanel.py:441 @@ -930,19 +927,19 @@
-#: ../ProjectController.py:1728
+#: ../ProjectController.py:1757 -#: ../controls/LogViewer.py:317
+#: ../controls/LogViewer.py:318 msgid "Clean log messages"
-#: ../ProjectController.py:1730
+#: ../ProjectController.py:1759 msgid "Clean project build folder"
msgstr "Очистить директорию сборки проекта"
-#: ../ProjectController.py:1210
+#: ../ProjectController.py:1216 msgid "Cleaning the build directory\n"
msgstr "Очистка директории сборки\n"
@@ -950,7 +947,7 @@
-#: ../editors/Viewer.py:577
+#: ../editors/Viewer.py:582 msgid "Clear Execution Order"
msgstr "Очистить порядок исполнения"
@@ -958,27 +955,27 @@
-#: ../PLCOpenEditor.py:199 ../Beremiz.py:689
+#: ../PLCOpenEditor.py:199 ../Beremiz.py:693 msgid "Close Application"
msgstr "Закрыть приложение"
-#: ../PLCOpenEditor.py:108 ../Beremiz.py:332 ../Beremiz.py:633
+#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637 -#: ../PLCOpenEditor.py:106 ../Beremiz.py:330
+#: ../PLCOpenEditor.py:106 ../Beremiz.py:331 -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2092
+#: ../editors/Viewer.py:541 ../editors/Viewer.py:2357 -#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506 @@ -1025,27 +1022,27 @@
-#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355
+#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359 #: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342
-#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:326
+#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328 msgid "Confirm or change variable name"
msgstr "Подтвердить или поменять имя переменной"
-#: ../ProjectController.py:1743
+#: ../ProjectController.py:1772 -#: ../ProjectController.py:1744
+#: ../ProjectController.py:1773 msgid "Connect to the target PLC"
msgstr "Подключиться к целевому ПЛК"
-#: ../ProjectController.py:1270
+#: ../ProjectController.py:1276 msgid "Connected to URI: %s"
msgstr "Подключен к URI: %s"
-#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523
-#: ../editors/Viewer.py:2083
+#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 +#: ../editors/Viewer.py:2350 @@ -1053,29 +1050,29 @@
msgid "Connection Properties"
msgstr "Свойства подключение"
-#: ../ProjectController.py:1603
+#: ../ProjectController.py:1631 msgid "Connection canceled!\n"
msgstr "Подключение отменено!\n"
-#: ../ProjectController.py:1628
+#: ../ProjectController.py:1656 msgid "Connection failed to %s!\n"
msgstr "Неудачное подключение к %s!\n"
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:102 msgid "Connection to '%s' failed.\n"
msgstr "Неудачное подключение к %s!\n"
-#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1577
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1585 -#: ../dialogs/SFCStepDialog.py:64
+#: ../dialogs/SFCStepDialog.py:65
@@ -1083,7 +1080,7 @@
-#: ../editors/Viewer.py:533 ../editors/Viewer.py:2088
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2353 @@ -1091,7 +1088,7 @@
msgid "Content Description (optional):"
msgstr "Описание содержимого (опционально):"
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1578
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1586 @@ -1111,7 +1108,7 @@
msgid "Conversion to time-of-day"
msgstr "Преобразование во время суток"
-#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:370
+#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370 @@ -1132,47 +1129,51 @@
-#: ../ConfigTreeNode.py:650
+#: ../ConfigTreeNode.py:656 -"Could not add child \"%s\", type %s :\n"
+"Could not add child \"{a1}\", type {a2} :\n" -"Невозможно добавить дочерний элемент \"%s\", тип %s:\n"
+"Невозможно добавить дочерний элемент \"{a1}\", тип {a2}:\n" #: ../py_ext/PythonFileCTNMixin.py:77
msgid "Couldn't import old %s file."
msgstr "Невозможно импортировать старый файл %s."
-#: ../ConfigTreeNode.py:622
+#: ../ConfigTreeNode.py:626 -"Couldn't load confnode base parameters %s :\n"
-msgstr "Невозможно загрузить базовые параметры confnode %s: %s"
-#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124
+"Couldn't load confnode base parameters {a1} :\n" +"Невозможно загрузить базовые параметры confnode {a1}:\n" +#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124 -"Couldn't load confnode parameters %s :\n"
-msgstr "Невозможно загрузить параметры confnode %s: %s"
+"Couldn't load confnode parameters {a1} :\n" +"Невозможно загрузить параметры confnode {a1}:\n" #: ../PLCControler.py:946
msgid "Couldn't paste non-POU object."
msgstr "Невозможно вставить не-POU."
-#: ../ProjectController.py:1545
+#: ../ProjectController.py:1573 msgid "Couldn't start PLC !\n"
msgstr "Невозможно запустить ПЛК!\n"
-#: ../ProjectController.py:1553
+#: ../ProjectController.py:1581 msgid "Couldn't stop PLC !\n"
msgstr "Невозможно остановить ПЛК!\n"
-#: ../ProjectController.py:1517
+#: ../ProjectController.py:1545 msgid "Couldn't stop debugger.\n"
msgstr "Невозможно остановить отладчик.\n"
@@ -1220,7 +1221,7 @@
msgid "Create a new divergence"
msgstr "Создать новое ветвление"
-#: ../dialogs/SFCDivergenceDialog.py:51
+#: ../dialogs/SFCDivergenceDialog.py:53 msgid "Create a new divergence or convergence"
msgstr "Создать новое ветвление или объединение"
@@ -1230,7 +1231,7 @@
msgid "Create a new jump"
-msgstr "Создать новый переход"
+msgstr "Создать новый безусловный переход" #: ../IDEFrame.py:120 ../IDEFrame.py:177
msgid "Create a new power rail"
@@ -1256,7 +1257,7 @@
-#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424 @@ -1309,7 +1310,7 @@
-#: ../ProjectController.py:1650
+#: ../ProjectController.py:1678 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
msgstr "Отлаживаемая программа не соответствует программе в ПЛК - остановите/загрузите/запустите, чтобы разрешить отладку\n"
@@ -1317,17 +1318,17 @@
msgstr "Отладка экземпляра"
-#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3598
+#: ../editors/Viewer.py:1108 ../editors/Viewer.py:3614 -#: ../ProjectController.py:1306
+#: ../ProjectController.py:1334 msgid "Debug: Unknown variable '%s'\n"
msgstr "Отладка: неизвестная переменная '%s'\n"
-#: ../ProjectController.py:1304
+#: ../ProjectController.py:1332 msgid "Debug: Unsupported type to debug '%s'\n"
msgstr "Отладка: неподдерживамый отладкой тип '%s'\n"
@@ -1336,23 +1337,23 @@
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1514 msgid "Debugger disabled\n"
msgstr "Отладчик запрещен\n"
-#: ../ProjectController.py:1647
+#: ../ProjectController.py:1675 msgstr "Отладчик готов\n"
-#: ../ProjectController.py:1519
+#: ../ProjectController.py:1547 msgid "Debugger stopped.\n"
msgstr "Отладчик остановлен.\n"
-#: ../editors/Viewer.py:568 ../Beremiz.py:1051 ../IDEFrame.py:1955
+#: ../editors/Viewer.py:572 ../Beremiz.py:1055 ../IDEFrame.py:1955 -#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:514 msgid "Delete Divergence Branch"
@@ -1360,7 +1361,7 @@
-#: ../editors/Viewer.py:497
+#: ../editors/Viewer.py:501 msgid "Delete Wire Segment"
msgstr "Удалить сегмент цепи"
@@ -1384,7 +1385,7 @@
"Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN."
-#: ../controls/VariablePanel.py:430
+#: ../controls/VariablePanel.py:432 @@ -1396,7 +1397,7 @@
-#: ../dialogs/BrowseLocationsDialog.py:85
+#: ../dialogs/BrowseLocationsDialog.py:90 @@ -1407,15 +1408,19 @@
msgid "Disable_Extensions"
msgstr "Запретить расширения"
-#: ../ProjectController.py:1752
+#: ../ProjectController.py:1781 -#: ../ProjectController.py:1754
+#: ../ProjectController.py:1783 msgid "Disconnect from PLC"
msgstr "Отключиться от ПЛК"
-#: ../editors/Viewer.py:552 ../editors/Viewer.py:2069
+#: ../ProjectController.py:1286 +#: ../editors/Viewer.py:556 ../editors/Viewer.py:2345 @@ -1452,7 +1457,7 @@
msgid "EDS files (*.eds)|*.eds|All files|*.*"
msgstr "Файлы EDS (*.eds)|*.eds|All files|*.*"
-#: ../editors/Viewer.py:566
+#: ../editors/Viewer.py:570 msgstr "Редактировать блок"
@@ -1468,7 +1473,7 @@
msgstr "Редактировать длительность"
-#: ../dialogs/SFCStepDialog.py:49
+#: ../dialogs/SFCStepDialog.py:50 msgstr "Редактировать шаг"
@@ -1484,7 +1489,7 @@
msgid "Edit array type properties"
msgstr "Редактировать свойства массива"
-#: ../editors/Viewer.py:2550 ../editors/Viewer.py:2961
+#: ../editors/Viewer.py:2566 ../editors/Viewer.py:2977 msgstr "Редактировать комментарий"
@@ -1496,19 +1501,19 @@
msgstr "Редактировать элемент"
-#: ../editors/Viewer.py:2925
+#: ../editors/Viewer.py:2941 msgstr "Редактирование безусловного перехода"
-#: ../ProjectController.py:1766
+#: ../ProjectController.py:1795 msgid "Edit raw IEC code added to code generated by PLCGenerator"
msgstr "Редактировать МЭК-код добавленный к коду сгенерированному PLCGenerator"
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:799 msgstr "Редактировать имя шага"
-#: ../dialogs/SFCTransitionDialog.py:50
+#: ../dialogs/SFCTransitionDialog.py:51 msgstr "Редактировать переход"
@@ -1516,7 +1521,7 @@
msgstr "Редактор панели инструментов"
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179 msgstr "Редактор выделения"
@@ -1524,6 +1529,10 @@
+#: ../ProjectController.py:1284 msgstr "Разрешить отмену и повтор операций"
@@ -1552,15 +1561,15 @@
#: ../dialogs/ForceVariableDialog.py:179
-#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60 #: ../dialogs/DurationEditorDialog.py:121
#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107
#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71
#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
-#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211
+#: ../dialogs/PouNameDialog.py:54 ../dialogs/BrowseLocationsDialog.py:216 #: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104
#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:335 ../PLCOpenEditor.py:340
-#: ../PLCOpenEditor.py:419 ../PLCOpenEditor.py:429 ../editors/Viewer.py:419
+#: ../PLCOpenEditor.py:420 ../PLCOpenEditor.py:430 ../editors/Viewer.py:423 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550
#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579
@@ -1571,8 +1580,8 @@
#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231
-#: ../controls/VariablePanel.py:400 ../controls/VariablePanel.py:770
-#: ../Beremiz.py:1190 ../IDEFrame.py:1003 ../IDEFrame.py:1614
+#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:772 +#: ../Beremiz.py:1194 ../IDEFrame.py:1003 ../IDEFrame.py:1614 #: ../IDEFrame.py:1651 ../IDEFrame.py:1656 ../IDEFrame.py:1670
#: ../IDEFrame.py:1675 ../Beremiz_service.py:190
@@ -1611,7 +1620,7 @@
msgid "Error: No PLC built\n"
msgstr "Ошибка: ПЛК не собран\n"
-#: ../ProjectController.py:1622
+#: ../ProjectController.py:1650 msgid "Exception while connecting %s!\n"
msgstr "Исключение во время подключения %s!\n"
@@ -1663,13 +1672,13 @@
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1713 msgid "Failed : Must build before transfer.\n"
msgstr "Ошибка: необходима сборка перед передачей.\n"
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462 @@ -1685,6 +1694,11 @@
msgid "Fatal : cannot get builder.\n"
msgstr "Ошибка: невозможно получить сборщик.\n"
#: ../dialogs/DurationEditorDialog.py:160
msgid "Field %s hasn't a valid value!"
@@ -1721,11 +1735,11 @@
-#: ../connectors/PYRO/__init__.py:159
+#: ../connectors/PYRO/__init__.py:163 msgid "Force runtime reload\n"
msgstr "Принудительный перезапуск системы исполнения\n"
-#: ../editors/Viewer.py:1536
+#: ../editors/Viewer.py:1544 msgstr "Фиксировать значение"
@@ -1733,14 +1747,14 @@
msgid "Forcing Variable Value"
msgstr "Форсировать значение переменной"
-#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:97 #: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94
#: ../dialogs/PouDialog.py:116
msgid "Form isn't complete. %s must be filled!"
msgstr "Форма заполнена неполностью. %s должен быть заполнен!"
-#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232
+#: ../dialogs/SFCStepDialog.py:142 ../dialogs/FBDBlockDialog.py:232 #: ../dialogs/ConnectionDialog.py:160
msgid "Form isn't complete. Name must be filled!"
msgstr "Форма заполнена неполностью. Имя должно быть заполнено!"
@@ -1766,7 +1780,7 @@
msgstr "Функциональный блок"
-#: ../controls/VariablePanel.py:823
+#: ../controls/VariablePanel.py:825 msgid "Function Block Types"
msgstr "Типы функциональных блоков"
@@ -1774,11 +1788,11 @@
msgstr "Функциональные блоки"
-#: ../editors/Viewer.py:244
+#: ../editors/Viewer.py:248 msgid "Function Blocks can't be used in Functions!"
msgstr "Функциональные блоки не могут использоваться в функциях!"
-#: ../PLCControler.py:2336
+#: ../PLCControler.py:2337 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
msgstr "Функциональный блок \"%s\" не может быть вставлен в функцию!!!"
@@ -1796,7 +1810,7 @@
msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n"
#: ../controls/VariablePanel.py:73
@@ -1852,11 +1866,11 @@
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36
-#: ../dialogs/DiscoveryDialog.py:93
+#: ../dialogs/DiscoveryDialog.py:94
#: ../Beremiz_service.py:278 ../Beremiz_service.py:279
@@ -1866,35 +1880,35 @@
-#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1563
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1571 #: ../controls/VariablePanel.py:71
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091 #: ../controls/VariablePanel.py:276
-msgid "Incompatible data types between \"%s\" and \"%s\""
-msgstr "\"%s\" и \"%s\" имеют несовместимые типы данных"
-#: ../controls/VariablePanel.py:285
-msgid "Incompatible size of data between \"%s\" and \"%s\""
-msgstr "\"%s\" и \"%s\" имеют несовместимый размер данных"
-#: ../controls/VariablePanel.py:281
+msgid "Incompatible data types between \"{a1}\" and \"{a2}\"" +msgstr "\"{a1}\" и \"{a2}\" имеют несовместимые типы данных" +#: ../controls/VariablePanel.py:282 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Несовместимый размер данных \"%s\" с типом \"BOOL\""
+#: ../controls/VariablePanel.py:286 +msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" +msgstr "\"{a1}\" и \"{a2}\" имеют несовместимый размер данных" #: ../dialogs/ActionBlockDialog.py:38
-#: ../editors/Viewer.py:548 ../editors/Viewer.py:2066
+#: ../editors/Viewer.py:552 @@ -1910,15 +1924,17 @@
-#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42 -#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
-#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1561
-#: ../controls/VariablePanel.py:71
+#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 +#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1569 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -1930,7 +1946,7 @@
msgstr "Вставка подстроки"
-#: ../plcopen/plcopen.py:1693
+#: ../plcopen/plcopen.py:1695 msgid "Instance with id %d doesn't exist!"
msgstr "Экземпляр с id %d не существует!"
@@ -1959,19 +1975,19 @@
-#: ../PLCControler.py:2324
+#: ../PLCControler.py:2325 msgid "Invalid plcopen element(s)!!!"
msgstr "Некорректный PlcOpen элемент(ы)!!!"
-#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
-msgid "Invalid type \"%s\"-> %d != %d for location\"%s\""
-msgstr "Неправильный тип \"%s\"->\"%d != %d для \"%s\""
-#: ../dialogs/ForceVariableDialog.py:177
-msgid "Invalid value \"%s\" for \"%s\" variable!"
-msgstr "Неверное значение \"%s\" для переменной \"%s\"!"
+#: ../canfestival/config_utils.py:381 +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\"" +msgstr "Неправильный тип \"{a1}\"-> {a2} != {a3} для \"{a4}\"" +#: ../canfestival/config_utils.py:645 +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" +msgstr "Неправильный тип \"{a1}\"-> {a2} != {a3} для \"{a4}\"" #: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
@@ -1983,12 +1999,17 @@
#: ../controls/VariablePanel.py:255 ../controls/VariablePanel.py:258
msgid "Invalid value \"%s\" for variable grid element"
-#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
+msgstr "Неверное значение \"%s\" для значения размещения переменной" +#: ../editors/Viewer.py:233 ../editors/Viewer.py:236 msgid "Invalid value \"%s\" for viewer block"
+msgstr "Неверное значение \"%s\" для вставки в редактор" +#: ../dialogs/ForceVariableDialog.py:177 +msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" +msgstr "Неверное значение \"{a1}\" для переменной \"{a2}\"!" #: ../dialogs/DurationEditorDialog.py:121
@@ -1998,17 +2019,17 @@
"Необходимо ввести числовое значение."
-#: ../editors/Viewer.py:553 ../editors/Viewer.py:2070
+#: ../editors/Viewer.py:557 ../editors/Viewer.py:2334
+msgstr "Безусловный переход" #: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
#: ../editors/LDViewer.py:215 ../editors/LDViewer.py:231
@@ -2029,7 +2050,7 @@
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1719 msgid "Latest build already matches current target. Transfering anyway...\n"
msgstr "Загружаемая программа совпадает с текущий программой в целевом ПЛК. Загрузка продолжена...\n"
@@ -2041,11 +2062,11 @@
msgid "Launch a live Python shell"
msgstr "Запустить консоль Python"
-#: ../editors/Viewer.py:481
+#: ../editors/Viewer.py:485 -#: ../dialogs/LDPowerRailDialog.py:61
+#: ../dialogs/LDPowerRailDialog.py:62 msgstr "Левая шина питания"
@@ -2070,7 +2091,7 @@
#: ../dialogs/AboutDialog.py:142
#: ../plcopen/iec_std.csv:73
@@ -2086,7 +2107,7 @@
-#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72 @@ -2094,7 +2115,7 @@
msgstr "Локальные записи"
-#: ../ProjectController.py:1597
+#: ../ProjectController.py:1625 msgid "Local service discovery failed!\n"
msgstr "Локальный сервис не найден!\n"
@@ -2102,7 +2123,7 @@
-#: ../dialogs/BrowseLocationsDialog.py:67
+#: ../dialogs/BrowseLocationsDialog.py:72 msgid "Locations available:"
msgstr "Доступные размещения:"
@@ -2110,7 +2131,7 @@
msgid "Logarithm to base 10"
msgstr "Десятичный логарифм"
-#: ../connectors/PYRO/__init__.py:90
+#: ../connectors/PYRO/__init__.py:94 msgid "MDNS resolution failure for '%s'\n"
msgstr "MDNS разрешение неудачно для '%s'\n"
@@ -2127,10 +2148,10 @@
-#: ../ConfigTreeNode.py:538
-msgid "Max count (%d) reached for this confnode of type %s "
-msgstr "Достигнуто максимальное количество (%d) для типа узла конфигурации %s"
+#: ../ConfigTreeNode.py:539 +msgid "Max count ({a1}) reached for this confnode of type {a2} " +msgstr "Достигнуто максимальное количество ({a1}) для типа узла конфигурации {a2} " #: ../plcopen/iec_std.csv:71
@@ -2140,7 +2161,9 @@
-#: ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289 +#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -2152,7 +2175,7 @@
-#: ../editors/Viewer.py:486
+#: ../editors/Viewer.py:490 @@ -2180,10 +2203,10 @@
-#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
-msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "Более одного коннектора соответствуют продолжению цепи \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1222 +msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" +msgstr "Более одного коннектора соответствуют продолжению цепи \"{a1}\" в POU \"{a2}\"" #: ../dialogs/ActionBlockDialog.py:140
@@ -2229,11 +2252,11 @@
msgstr "Переместить выше"
-#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:451
+#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453 msgid "Move variable down"
msgstr "Переместить переменную ниже"
-#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:450
+#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452 msgstr "Переместить переменную выше"
@@ -2249,7 +2272,7 @@
-#: ../dialogs/DiscoveryDialog.py:91
+#: ../dialogs/DiscoveryDialog.py:92 @@ -2263,7 +2286,7 @@
msgid "Name must not be null!"
msgstr "Имя не может быть null!"
-#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83
+#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83 #: ../dialogs/ConnectionDialog.py:75
@@ -2272,12 +2295,12 @@
msgid "Natural logarithm"
msgstr "Натуральный логарифм"
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460 -#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:320
+#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321 @@ -2285,23 +2308,23 @@
-#: ../editors/Viewer.py:455
+#: ../editors/Viewer.py:459 msgstr "Нет модификатора"
-#: ../ProjectController.py:1718
+#: ../ProjectController.py:1747 msgid "No PLC to transfer (did build succeed ?)\n"
msgstr "Нет ПЛК для передачи (была сборка успешна?)\n"
-#: ../PLCGenerator.py:1608
+#: ../PLCGenerator.py:1619 msgid "No body defined in \"%s\" POU"
msgstr "Нет тела для POU \"%s\""
-#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
-msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "Не найден коннектор, соответствующий продолжению цепи \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:798 ../PLCGenerator.py:1233 +msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" +msgstr "Не найден коннектор, соответствующий продолжению цепи \"{a1}\" в POU \"{a2}\"" #: ../PLCOpenEditor.py:347
@@ -2311,15 +2334,15 @@
"Документация отсутствует.\n"
-#: ../PLCGenerator.py:819
+#: ../PLCGenerator.py:821 msgid "No informations found for \"%s\" block"
msgstr "Не найдена информация по блоку \"%s\""
-#: ../PLCGenerator.py:1183
-msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
-msgstr "Выходная переменная %s не найдена в блоке %s в POU %s."
+#: ../PLCGenerator.py:1186 +msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken" +msgstr "Выходная переменная {a1} не найдена в блоке {a2} в POU {a3}." #: ../controls/SearchResultPanel.py:169
msgid "No search results available."
@@ -2330,21 +2353,21 @@
msgid "No such SVG file: %s\n"
msgstr "Нет такого SVG файла: %s\n"
-#: ../canfestival/config_utils.py:633
-msgid "No such index/subindex (%x,%x) (variable %s)"
-msgstr "Нет индекса/подиндекса (%x,%x) (переменная %s)"
+#: ../canfestival/config_utils.py:639 +msgid "No such index/subindex ({a1},{a2}) (variable {a3})" +msgstr "Нет индекса/подиндекса ({a1},{a2}) (переменная {a3})" #: ../canfestival/config_utils.py:362
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
-msgstr "Нет индекса/подиндекса (%x,%x) в ID: %d (переменная %s)"
+msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" +msgstr "Нет индекса/подиндекса ({a1},{a2}) в ID: {a3} (переменная {a4})" #: ../dialogs/BrowseValuesLibraryDialog.py:83
msgid "No valid value selected!"
msgstr "Не выбрано допустимое значение!"
-#: ../PLCGenerator.py:1606
+#: ../PLCGenerator.py:1617 msgid "No variable defined in \"%s\" POU"
msgstr "Переменная не определена в POU \"%s\""
@@ -2353,9 +2376,9 @@
#: ../canfestival/config_utils.py:355
-msgid "Non existing node ID : %d (variable %s)"
-msgstr "Несуществующий ID узла: %d (переменная %s)"
+msgid "Non existing node ID : {a1} (variable {a2})" +msgstr "Несуществующий ID узла: {a1} (переменная {a2})" #: ../controls/VariablePanel.py:64
@@ -2365,16 +2388,16 @@
-#: ../canfestival/config_utils.py:384
-msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
-msgstr "Не переменная для отображения в PDO: '%s' (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:389 +msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))" +msgstr "Не переменная для отображения в PDO: '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))" #: ../plcopen/iec_std.csv:80
-#: ../dialogs/SFCDivergenceDialog.py:78
+#: ../dialogs/SFCDivergenceDialog.py:89 msgid "Number of sequences:"
@@ -2402,8 +2425,8 @@
-#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:322
+#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323 @@ -2415,7 +2438,7 @@
msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
msgstr "Свободное программное обеспечение для промышленной автоматизации, состоящие из среды разработки программ по стандарту МЭК 61131 с постоянно расширяющимся набором плагинов и гибкой системой исполнения для ПЛК."
-#: ../ProjectController.py:1770
+#: ../ProjectController.py:1799 msgid "Open a file explorer to manage project files"
msgstr "Открыть файловый менеджер для просмотра файлов проекта"
@@ -2439,9 +2462,11 @@
-#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39
-#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1562
-#: ../controls/VariablePanel.py:71
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1570 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -2468,7 +2493,7 @@
@@ -2477,13 +2502,13 @@
msgstr "Неудачная генерация кода!\n"
#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309
-"PLC syntax error at line %d:\n"
+"PLC syntax error at line {a1}:\n" -"Синтаксическая ошибка в строке %d:\n"
+"Синтаксическая ошибка в строке {a1}:\n" #: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
@@ -2491,7 +2516,7 @@
#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209
#: ../PLCOpenEditor.py:355
@@ -2503,7 +2528,7 @@
-#: ../dialogs/DiscoveryDialog.py:94
+#: ../dialogs/DiscoveryDialog.py:95 @@ -2523,17 +2548,17 @@
-#: ../connectors/PYRO/__init__.py:41
+#: ../connectors/PYRO/__init__.py:45 msgid "PYRO connecting to URI : %s\n"
msgstr "PYRO подключение к URI: %s\n"
-#: ../connectors/PYRO/__init__.py:57
+#: ../connectors/PYRO/__init__.py:61 msgid "PYRO using certificates in '%s' \n"
msgstr "PYRO использует сертификаты в '%s'\n"
-#: ../PLCOpenEditor.py:118 ../Beremiz.py:335
+#: ../PLCOpenEditor.py:118 ../Beremiz.py:336 msgstr "Настройки страницы"
@@ -2550,7 +2575,7 @@
msgstr "Родительский экземпляр"
-#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426 @@ -2562,25 +2587,25 @@
msgid "Pattern to search:"
-#: ../dialogs/LDPowerRailDialog.py:72
+#: ../dialogs/LDPowerRailDialog.py:73 -#: ../editors/Viewer.py:2681 ../editors/Viewer.py:2925
-#: ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/Viewer.py:2941 +#: ../editors/SFCViewer.py:770 msgid "Please choose a target"
-msgstr "Выберете цель перехода"
+msgstr "Выберите цель перехода" #: ../editors/TextViewer.py:262
msgid "Please enter a block name"
msgstr "Введите имя блока"
-#: ../editors/Viewer.py:2551 ../editors/Viewer.py:2962
+#: ../editors/Viewer.py:2567 ../editors/Viewer.py:2978 msgid "Please enter comment text"
msgstr "Введите текст комментария"
-#: ../editors/SFCViewer.py:359 ../editors/SFCViewer.py:381
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455 +#: ../editors/SFCViewer.py:799 msgid "Please enter step name"
msgstr "Введите имя шага"
@@ -2597,15 +2622,15 @@
msgid "Port number must be an integer!"
msgstr "Номер порта должен быть целым числом!"
-#: ../editors/Viewer.py:532 ../editors/Viewer.py:2093
+#: ../editors/Viewer.py:536 ../editors/Viewer.py:2358 -#: ../dialogs/LDPowerRailDialog.py:49
+#: ../dialogs/LDPowerRailDialog.py:50 msgid "Power Rail Properties"
msgstr "Свойства шины питания"
-#: ../PLCOpenEditor.py:120 ../Beremiz.py:337
+#: ../PLCOpenEditor.py:120 ../Beremiz.py:338 @@ -2613,8 +2638,8 @@
-#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:339
+#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340 @@ -2626,11 +2651,11 @@
-#: ../dialogs/SFCTransitionDialog.py:88
+#: ../dialogs/SFCTransitionDialog.py:89 -#: ../runtime/PLCObject.py:369
+#: ../runtime/PLCObject.py:370 msgid "Problem starting PLC : error %d"
msgstr "Проблема запуска ПЛК: ошибка %d"
@@ -2668,7 +2693,7 @@
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:242 msgid "Programs can't be used by other POUs!"
msgstr "Программы не могут использоваться другими POU!"
@@ -2681,7 +2706,7 @@
-#: ../ProjectController.py:1769
+#: ../ProjectController.py:1798 @@ -2697,7 +2722,7 @@
msgid "Project Version (optional):"
msgstr "Версия проекта (опционально):"
-#: ../PLCControler.py:3157
+#: ../PLCControler.py:3158 "Project file syntax error:\n"
@@ -2709,10 +2734,10 @@
msgid "Project properties"
msgstr "Свойства проекта"
-#: ../ConfigTreeNode.py:564
-msgid "Project tree layout do not match confnode.xml %s!=%s "
-msgstr "Дерево проекта не соответствует confnode.xml %s!=%s"
+#: ../ConfigTreeNode.py:566 +msgid "Project tree layout do not match confnode.xml {a1}!={a2} " +msgstr "Дерево проекта не соответствует confnode.xml {a1}!={a2} " #: ../dialogs/ConnectionDialog.py:94
@@ -2742,7 +2767,7 @@
-#: ../PLCOpenEditor.py:128 ../Beremiz.py:342 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:252 @@ -2766,7 +2791,7 @@
-#: ../ProjectController.py:1765
+#: ../ProjectController.py:1794 @@ -2778,7 +2803,7 @@
"Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр."
msgid "Really delete node '%s'?"
msgstr "Действительно удалить элемент '%s'?"
@@ -2787,11 +2812,11 @@
-#: ../dialogs/SFCTransitionDialog.py:73
+#: ../dialogs/SFCTransitionDialog.py:74 -#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432 @@ -2803,7 +2828,7 @@
msgid "Regular expressions"
msgstr "Регулярные выражения"
-#: ../editors/Viewer.py:1539
+#: ../editors/Viewer.py:1547 msgstr "Освободить значение"
@@ -2811,7 +2836,7 @@
msgid "Remainder (modulo)"
msgstr "Остаток от деления (modulo)"
msgstr "Удалить %s элемент"
@@ -2848,7 +2873,7 @@
-#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:449
+#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451 msgstr "Удалить переменную"
@@ -2860,7 +2885,7 @@
-#: ../editors/Viewer.py:498
+#: ../editors/Viewer.py:502 msgid "Replace Wire by connections"
msgstr "Заменить цепь подключениями"
@@ -2872,7 +2897,7 @@
-#: ../editors/Viewer.py:578
+#: ../editors/Viewer.py:583 msgid "Reset Execution Order"
msgstr "Сбросить порядок исполнения"
@@ -2884,27 +2909,27 @@
msgid "Reset search result"
msgstr "Сбросить результаты поиска"
-#: ../PLCControler.py:97 ../Beremiz.py:1062
+#: ../PLCControler.py:97 ../Beremiz.py:1066 #: ../controls/VariablePanel.py:62
-#: ../controls/VariablePanel.py:422
+#: ../controls/VariablePanel.py:424 msgstr "Возвращаемый тип:"
-#: ../editors/Viewer.py:483
+#: ../editors/Viewer.py:487 -#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:63 msgstr "Правая шина питания"
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461 msgstr "Нарастающий фронт"
@@ -2928,7 +2953,7 @@
msgstr "Округление вверх/вниз"
-#: ../ProjectController.py:1733
+#: ../ProjectController.py:1762 @@ -2950,7 +2975,7 @@
#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
#: ../plcopen/definitions.py:53
@@ -2963,7 +2988,7 @@
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36
#: ../PLCOpenEditor.py:324
msgid "ST files (*.st)|*.st|All files|*.*"
@@ -2975,18 +3000,18 @@
-#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:326
+#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327 -#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:358
+#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359 msgstr "Сохранить как..."
@@ -3010,23 +3035,23 @@
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288
-#: ../controls/VariablePanel.py:348
+#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350 msgid "Select a variable class:"
-#: ../ProjectController.py:1173
+msgstr "Выберите класс переменной:" +#: ../ProjectController.py:1179 msgid "Select an editor:"
-msgstr "Выберете редактор:"
+msgstr "Выберите редактор:" #: ../controls/PouInstanceVariablesPanel.py:276
msgid "Select an instance"
-msgstr "Выберете экземпляр"
+msgstr "Выберите экземпляр" -msgstr "Выберете объект"
+msgstr "Выберите объект" #: ../plcopen/iec_std.csv:70
@@ -3048,11 +3073,11 @@
"Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам."
-#: ../dialogs/DiscoveryDialog.py:81
+#: ../dialogs/DiscoveryDialog.py:82 msgid "Service Discovery"
-#: ../dialogs/DiscoveryDialog.py:84
+#: ../dialogs/DiscoveryDialog.py:85 msgid "Services available:"
msgstr "Сервисы доступны:"
@@ -3068,7 +3093,7 @@
-#: ../ProjectController.py:1759
+#: ../ProjectController.py:1788 msgid "Show IEC code generated by PLCGenerator"
msgstr "Показать год, сгенерированный PLCGenerator"
@@ -3080,7 +3105,7 @@
msgid "Show Master generated by config_utils"
msgstr "Показать ведущий узел сгенерированный config_utils"
-#: ../ProjectController.py:1757
+#: ../ProjectController.py:1786 @@ -3100,7 +3125,7 @@
msgstr "Источник прерывания"
-#: ../targets/toolchain_makefile.py:130
+#: ../targets/toolchain_makefile.py:126 msgid "Source didn't change, no build.\n"
msgstr "Исходные файлы не изменились, сборка не нужна.\n"
@@ -3112,7 +3137,7 @@
msgid "Standard function blocks"
msgstr "Стандартные функциональные блоки"
-#: ../ProjectController.py:1735 ../Beremiz_service.py:240
+#: ../ProjectController.py:1764 ../Beremiz_service.py:240 @@ -3121,19 +3146,23 @@
msgid "Start build in %s\n"
msgstr "Сборка запущена в %s\n"
-#: ../ProjectController.py:1542
+#: ../ProjectController.py:1282 +#: ../ProjectController.py:1570 msgstr "ПЛК запускается\\n\n"
-#: ../editors/Viewer.py:549 ../editors/Viewer.py:2067
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2333 -#: ../ProjectController.py:1738
+#: ../ProjectController.py:1767 @@ -3141,11 +3170,15 @@
-#: ../ProjectController.py:1740
+#: ../ProjectController.py:1769 msgstr "Остановить запущенный ПЛК"
-#: ../ProjectController.py:1514
+#: ../ProjectController.py:1283 +#: ../ProjectController.py:1542 msgid "Stopping debugger...\n"
msgstr "Остановка отладчика...\n"
@@ -3182,7 +3215,7 @@
msgid "Syntax error in regular expression of pattern to search!"
msgstr "Синтаксическая ошибка в регулярном выражении шаблона поиска!"
-#: ../dialogs/DiscoveryDialog.py:92
+#: ../dialogs/DiscoveryDialog.py:93 @@ -3216,9 +3249,9 @@
#: ../editors/LDViewer.py:882
msgid "The group of block must be coherent!"
-#: ../Beremiz.py:636 ../IDEFrame.py:1011
+msgstr "Группа блоков должна быть связанной!" +#: ../Beremiz.py:640 ../IDEFrame.py:1011 msgid "There are changes, do you want to save?"
msgstr "Хотите сохранить изменения?"
@@ -3277,31 +3310,31 @@
msgid "Time-of-day subtraction"
msgstr "Вычитание времени суток"
-#: ../editors/Viewer.py:485
+#: ../editors/Viewer.py:489 -#: ../ProjectController.py:1747
+#: ../ProjectController.py:1776 -#: ../ProjectController.py:1749
+#: ../ProjectController.py:1778 -#: ../ProjectController.py:1714
+#: ../ProjectController.py:1742 msgid "Transfer completed successfully.\n"
msgstr "Передача успешно завершена.\n"
-#: ../ProjectController.py:1716
+#: ../ProjectController.py:1744 msgid "Transfer failed\n"
msgstr "Ошибка передачи\n"
-#: ../editors/Viewer.py:550 ../editors/Viewer.py:2068 ../editors/Viewer.py:2097
+#: ../editors/Viewer.py:554 ../editors/Viewer.py:2335 ../editors/Viewer.py:2362 -#: ../PLCGenerator.py:1499
+#: ../PLCGenerator.py:1506 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
msgstr "Тело перехода \"%s\" должно содержать выходную переменную или катушку, ссылающуюся на его имя"
@@ -3314,17 +3347,17 @@
-#: ../PLCGenerator.py:1588
-msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-msgstr "Переход с содержимым \"%s\" не подключен к следующему шагу в POU \"%s\""
-#: ../PLCGenerator.py:1579
-msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
-msgstr "Переход с содержимым \"%s\" не подключен к предыдущему шагу в POU \"%s\""
-#: ../plcopen/plcopen.py:1320
+#: ../PLCGenerator.py:1597 +msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU" +msgstr "Переход с содержимым \"{a1}\" не подключен к следующему шагу в POU \"{a2}\"" +#: ../PLCGenerator.py:1586 +msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU" +msgstr "Переход с содержимым \"{a1}\" не подключен к предыдущему шагу в POU \"{a2}\"" +#: ../plcopen/plcopen.py:1322 msgid "Transition with name %s doesn't exist!"
msgstr "Переход с именем %s отсутствует!"
@@ -3347,11 +3380,11 @@
-#: ../dialogs/BrowseLocationsDialog.py:43
+#: ../dialogs/BrowseLocationsDialog.py:48 msgid "Type and derivated"
msgstr "Тип и его производные"
-#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624 msgid "Type conflict for location \"%s\""
msgstr "Конфликт типов \"%s\""
@@ -3364,12 +3397,12 @@
msgstr "Информация о типе:"
-#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:49 msgstr "Только данный тип"
-#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
-#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57 +#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99 #: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
@@ -3377,7 +3410,7 @@
msgstr "URI системы исполнения"
-#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
+#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476 msgid "Unable to define PDO mapping for node %02x"
msgstr "Невозможно определить отображение PDO для узла %02x"
@@ -3387,10 +3420,10 @@
msgid "Unable to get Xenomai's %s \n"
msgstr "Невозможно получить Xenomai %s\n"
-#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
-msgid "Undefined block type \"%s\" in \"%s\" POU"
-msgstr "Неопределенный тип блока \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:953 ../PLCGenerator.py:1206 +msgid "Undefined block type \"{a1}\" in \"{a2}\" POU" +msgstr "Неопределенный тип блока \"{a1}\" в POU \"{a2}\"" #: ../PLCGenerator.py:254
@@ -3405,21 +3438,21 @@
-#: ../editors/Viewer.py:389
+#: ../editors/Viewer.py:393 msgid "Unknown variable \"%s\" for this POU!"
msgstr "Неизвестная переменная \"%s\" для этого POU!"
#: ../ProjectController.py:329 ../ProjectController.py:330
#: ../PLCControler.py:636
-#: ../controls/VariablePanel.py:283
+#: ../controls/VariablePanel.py:284 msgid "Unrecognized data size \"%s\""
msgstr "Неопределенный размер данных \"%s\""
@@ -3440,7 +3473,7 @@
"Инкрементный/декрементный счетчик\n"
"Инкрементный/декрементный счетчик имеет два входа CU и CD. Он может использоваться для счета вверх по одному входу и для счета низ по другому."
-#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:796
+#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798 msgstr "Пользовательские типы данных"
@@ -3460,22 +3493,28 @@
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
-#: ../editors/Viewer.py:2082
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 +#: ../editors/Viewer.py:2365 +#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 +#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329 +msgstr "Перетаскивание переменной" #: ../dialogs/FBDVariableDialog.py:63
msgid "Variable Properties"
msgstr "Свойства переменных"
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288
-#: ../controls/VariablePanel.py:348
+#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350
-#: ../editors/Viewer.py:391 ../editors/TextViewer.py:387
+msgstr "Класс переменной" +#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!"
msgstr "Переменная не принадлежит этому POU!"
@@ -3491,23 +3530,23 @@
-#: ../connectors/WAMP/__init__.py:88
+#: ../connectors/WAMP/__init__.py:91 msgid "WAMP connecting to URL : %s\n"
msgstr "WAMP подключение к URI: %s\n"
-#: ../connectors/WAMP/__init__.py:128
+#: ../connectors/WAMP/__init__.py:131 msgid "WAMP connection timeout"
msgstr "Тайм-аут WAMP подключения "
-#: ../connectors/WAMP/__init__.py:147
+#: ../connectors/WAMP/__init__.py:150 msgid "WAMP connection to '%s' failed.\n"
msgstr "Не удалось установить WAMP подключение к %s.\n"
#: ../wxglade_hmi/wxglade_hmi.py:35
#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891
@@ -3526,7 +3565,7 @@
#: ../dialogs/FindInPouDialog.py:95
@@ -3538,13 +3577,13 @@
msgstr "Настройки Xenomai"
@@ -3572,13 +3611,13 @@
#: ../editors/LDViewer.py:886
msgid "You must select the block or group of blocks around which a branch should be added!"
-msgstr "Выберете блок или группу блоков, вокруг которых нужно добавить ветвление!"
+msgstr "Выберите блок или группу блоков, вокруг которых нужно добавить ветвление!" #: ../editors/LDViewer.py:666
msgid "You must select the wire where a contact should be added!"
-msgstr "Выберете провод, куда должен быть добавлен контакт!"
-#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45
+msgstr "Выберите провод, куда должен быть добавлен контакт!" +#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46 msgid "You must type a name!"
@@ -3605,10 +3644,10 @@
-#: ../util/ProcessLogger.py:170
-msgid "exited with status %s (pid %s)\n"
-msgstr "завершился с кодом %s (pid %s)\n"
+#: ../util/ProcessLogger.py:169 +msgid "exited with status {a1} (pid {a2})\n" +msgstr "завершился с кодом {a1} (pid {a2})\n" #: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398
@@ -3677,6 +3716,10 @@
+msgid "update info unavailable." +msgstr "информация об обновлениях недоступна." @@ -3688,6 +3731,44 @@
msgstr "предупреждение: %s\n"
+#: ../PLCControler.py:970 +msgid "{a1} \"{a2}\" can't be pasted as a {a3}." +msgstr "{a1} \"{a2}\" не может быть вставлен как {a3}." +#: ../ConfigTreeNode.py:56 +"{a1} XML file doesn't follow XSD schema at line %{a2}:\n" +"{a1} XML файл не следует XSD-схеме в строке {a2}:\n" +#~ "An error has occurred.\n" +#~ "Click OK to save an error report.\n" +#~ "Please be kind enough to send this file to:\n" +#~ "edouard.tisserant@gmail.com\n" +#~ "Произошла ошибка.\n" +#~ "Нажмите OK, чтобы сохранить репорт об ошибке.\n" +#~ "Будьте так добры, пошлите этот файл:\n" +#~ "edouard.tisserant@gmail.com\n" #~ msgid "\"%s\" element can't be pasted here!!!"
#~ msgstr "Элемент \"%s\" не может быть вставлен сюда!!!"
@@ -3706,6 +3787,9 @@
+#~ msgid "Enable_Native_Library" +#~ msgstr "Разрешить библиотеку Native" #~ msgid "Form isn't complete. Pattern to search must be filled!"
#~ msgstr "Форма заполнена неполностью. Шаблон поиска должен быть заполнен!"
--- a/i18n/messages.pot Thu Dec 01 18:30:34 2016 +0300
+++ b/i18n/messages.pot Thu Dec 01 18:31:10 2016 +0300
@@ -8,7 +8,7 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-11-17 12:41+0300\n"
+"POT-Creation-Date: 2016-12-01 18:27+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,20 +17,7 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../PLCOpenEditor.py:408
-"An error has occurred.\n"
-"Click OK to save an error report.\n"
-"Please be kind enough to send this file to:\n"
-"edouard.tisserant@gmail.com\n"
+#: ../PLCOpenEditor.py:408 ../Beremiz.py:1182 @@ -40,7 +27,7 @@
"Please be kind enough to send this file to:\n"
"beremiz-devel@lists.sourceforge.net\n"
-"You should now restart Beremiz.\n"
+"You should now restart program.\n" @@ -69,10 +56,6 @@
-#: ../PLCOpenEditor.py:418
#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:66
#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113
@@ -83,22 +66,22 @@
msgid " generation failed !\n"
-#: ../plcopen/plcopen.py:888
+#: ../plcopen/plcopen.py:890 msgid "\"%s\" Data Type doesn't exist !!!"
-#: ../plcopen/plcopen.py:906
+#: ../plcopen/plcopen.py:908 msgid "\"%s\" POU already exists !!!"
-#: ../plcopen/plcopen.py:927
+#: ../plcopen/plcopen.py:929 msgid "\"%s\" POU doesn't exist !!!"
-#: ../editors/Viewer.py:242
+#: ../editors/Viewer.py:246 msgid "\"%s\" can't use itself!"
@@ -119,40 +102,30 @@
#: ../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
+#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262 +#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374 #: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301
-#: ../controls/VariablePanel.py:394
+#: ../controls/VariablePanel.py:396 msgid "\"%s\" element for this pou already exists!"
msgid "\"%s\" folder is not a valid Beremiz project\n"
-#: ../PLCGenerator.py:1091
-msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
-#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101 +#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 #: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584
-#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:749
+#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:751 msgid "\"%s\" is a keyword. It can't be used!"
-#: ../editors/Viewer.py:246
-msgid "\"%s\" is already used by \"%s\"!"
-#: ../plcopen/plcopen.py:2414
+#: ../plcopen/plcopen.py:2416 msgid "\"%s\" is an invalid value!"
@@ -162,11 +135,11 @@
msgid "\"%s\" is not a valid folder!"
-#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
-#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99 +#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 #: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768
-#: ../controls/VariablePanel.py:747 ../IDEFrame.py:1591
+#: ../controls/VariablePanel.py:749 ../IDEFrame.py:1591 msgid "\"%s\" is not a valid identifier!"
@@ -177,26 +150,16 @@
#: ../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:270
+#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345 +#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350
-#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:336
+#: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 msgid "\"%s\" pou already exists!"
-#: ../plcopen/plcopen.py:500
-msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-#: ../plcopen/plcopen.py:517
-msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/SFCStepNameDialog.py:58 msgid "\"%s\" step already exists!"
@@ -218,17 +181,65 @@
"Right value must be greater than left value."
-#: ../PLCControler.py:970
+#: ../PLCGenerator.py:1093 +msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" +#: ../editors/Viewer.py:250 +msgid "\"{a1}\" is already used by \"{a2}\"!" +#: ../plcopen/plcopen.py:500 +msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!" +#: ../plcopen/plcopen.py:518 +msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569 -msgid "%s \"%s\" can't be pasted as a %s."
-#: ../PLCControler.py:1530
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54 +#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572 +#: ../PLCControler.py:1531 -#: ../PLCControler.py:1513
+#: ../PLCControler.py:1514 @@ -238,22 +249,15 @@
-#: ../ConfigTreeNode.py:56
-"%s XML file doesn't follow XSD schema at line %d:\n"
-#: ../plcopen/plcopen.py:1647 ../plcopen/plcopen.py:1654
-#: ../plcopen/plcopen.py:1666 ../plcopen/plcopen.py:1674
-#: ../plcopen/plcopen.py:1684
+#: ../plcopen/plcopen.py:1649 ../plcopen/plcopen.py:1656 +#: ../plcopen/plcopen.py:1668 ../plcopen/plcopen.py:1676 +#: ../plcopen/plcopen.py:1686 msgid "%s body don't have instances!"
-#: ../plcopen/plcopen.py:1702 ../plcopen/plcopen.py:1709
-#: ../plcopen/plcopen.py:1716
+#: ../plcopen/plcopen.py:1704 ../plcopen/plcopen.py:1711 +#: ../plcopen/plcopen.py:1718 msgid "%s body don't have text!"
@@ -311,7 +315,7 @@
@@ -320,18 +324,18 @@
#: ../controls/SearchResultPanel.py:252
-msgid "'%s' - %d match in project"
+msgid "'{a1}' - {a2} match in project" #: ../controls/SearchResultPanel.py:254
-msgid "'%s' - %d matches in project"
-#: ../connectors/PYRO/__init__.py:86
-msgid "'%s' is located at %s\n"
+msgid "'{a1}' - {a2} matches in project" +#: ../connectors/PYRO/__init__.py:90 +msgid "'{a1}' is located at {a2}\n" #: ../controls/SearchResultPanel.py:304
@@ -353,19 +357,19 @@
-#: ../controls/LogViewer.py:278
+#: ../controls/LogViewer.py:279 -#: ../controls/LogViewer.py:279
#: ../controls/LogViewer.py:280
#: ../controls/LogViewer.py:281
+#: ../controls/LogViewer.py:282 @@ -375,23 +379,23 @@
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:751 ../IDEFrame.py:1626 ../IDEFrame.py:1637
+#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 +#: ../controls/VariablePanel.py:753 ../IDEFrame.py:1626 ../IDEFrame.py:1637 msgid "A POU named \"%s\" already exists!"
#: ../ConfigTreeNode.py:424
-msgid "A child named \"%s\" already exist -> \"%s\"\n"
-#: ../dialogs/BrowseLocationsDialog.py:211
+msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" +#: ../dialogs/BrowseLocationsDialog.py:216 msgid "A location must be selected!"
-#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:753
+#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755 #: ../IDEFrame.py:1628 ../IDEFrame.py:1639
msgid "A variable with \"%s\" as name already exists in this pou!"
@@ -402,7 +406,7 @@
msgid "A variable with \"%s\" as name already exists!"
-#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:380
+#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381 @@ -410,11 +414,11 @@
-#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42 -#: ../editors/Viewer.py:551 ../editors/Viewer.py:2077
+#: ../editors/Viewer.py:555 ../editors/Viewer.py:2336 @@ -426,7 +430,7 @@
-#: ../plcopen/plcopen.py:1361
+#: ../plcopen/plcopen.py:1363 msgid "Action with name %s doesn't exist!"
@@ -439,12 +443,12 @@
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091 #: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../editors/Viewer.py:584 ../Beremiz.py:1047
+#: ../editors/Viewer.py:588 ../Beremiz.py:1051 @@ -464,11 +468,11 @@
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:513 msgid "Add Divergence Branch"
-#: ../dialogs/DiscoveryDialog.py:115
+#: ../dialogs/DiscoveryDialog.py:116 @@ -488,19 +492,19 @@
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:500 -#: ../editors/SFCViewer.py:359
+#: ../editors/SFCViewer.py:433 msgid "Add a new initial step"
-#: ../editors/Viewer.py:2681 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/SFCViewer.py:770 -#: ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:455 @@ -528,7 +532,7 @@
-#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:448
+#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450 @@ -540,18 +544,18 @@
msgid "Additional function blocks"
-#: ../editors/Viewer.py:567
+#: ../editors/Viewer.py:571 msgid "Adjust Block Size"
-#: ../editors/Viewer.py:1620
+#: ../editors/Viewer.py:1628 -#: ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:135
-#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../dialogs/BrowseLocationsDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:47 +#: ../dialogs/BrowseLocationsDialog.py:140 +#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298 #: ../controls/VariablePanel.py:70
@@ -560,7 +564,7 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
-#: ../ProjectController.py:1579
+#: ../ProjectController.py:1607 msgid "Already connected. Please disconnect\n"
@@ -590,7 +594,7 @@
#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635
-#: ../controls/VariablePanel.py:827
+#: ../controls/VariablePanel.py:829 @@ -622,7 +626,7 @@
msgid "Bad domain name at "
-#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:630 msgid "Bad location size : %s"
@@ -632,11 +636,11 @@
-#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787
@@ -668,7 +672,7 @@
msgid "Bitwise inverting"
-#: ../editors/Viewer.py:521 ../editors/Viewer.py:2081
+#: ../editors/Viewer.py:525 ../editors/Viewer.py:2349 @@ -680,28 +684,32 @@
-#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:491 +#: ../ProjectController.py:1285 #: ../dialogs/BrowseValuesLibraryDialog.py:37
msgid "Browse %s values library"
-#: ../dialogs/BrowseLocationsDialog.py:60
+#: ../dialogs/BrowseLocationsDialog.py:65 -#: ../ProjectController.py:1724
+#: ../ProjectController.py:1753 -#: ../ProjectController.py:1213
+#: ../ProjectController.py:1219 msgid "Build directory already clean\n"
-#: ../ProjectController.py:1725
+#: ../ProjectController.py:1754 msgid "Build project into build folder"
@@ -721,7 +729,7 @@
msgid "C code generated successfully.\n"
-#: ../targets/toolchain_makefile.py:126
+#: ../targets/toolchain_makefile.py:122 msgid "C compilation failed.\n"
@@ -750,8 +758,8 @@
-#: ../plcopen/plcopen.py:1586 ../plcopen/plcopen.py:1600
-#: ../plcopen/plcopen.py:1624 ../plcopen/plcopen.py:1640
+#: ../plcopen/plcopen.py:1588 ../plcopen/plcopen.py:1602 +#: ../plcopen/plcopen.py:1626 ../plcopen/plcopen.py:1642 msgid "Can only generate execution order on FBD networks!"
@@ -773,21 +781,21 @@
msgid "Can't save project to file %s!"
-#: ../controls/VariablePanel.py:311
+#: ../controls/VariablePanel.py:313 msgid "Can't set an initial value to a function block instance"
-#: ../ConfigTreeNode.py:528
-msgid "Cannot create child %s of type %s "
-#: ../ConfigTreeNode.py:453
+#: ../ConfigTreeNode.py:529 +msgid "Cannot create child {a1} of type {a2} " +#: ../ConfigTreeNode.py:454 msgid "Cannot find lower free IEC channel than %d\n"
-#: ../connectors/PYRO/__init__.py:127
+#: ../connectors/PYRO/__init__.py:131 msgid "Cannot get PLC status - connection failed.\n"
@@ -795,16 +803,16 @@
msgid "Cannot open/parse VARIABLES.csv!\n"
-#: ../canfestival/config_utils.py:372
-msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:374 +msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))" #: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:90
-#: ../editors/Viewer.py:482
+#: ../editors/Viewer.py:486 @@ -845,7 +853,7 @@
-#: ../Beremiz.py:921 ../Beremiz.py:956
+#: ../Beremiz.py:925 ../Beremiz.py:960 @@ -870,7 +878,7 @@
-#: ../controls/VariablePanel.py:439
+#: ../controls/VariablePanel.py:441 @@ -878,19 +886,19 @@
-#: ../ProjectController.py:1728
+#: ../ProjectController.py:1757 -#: ../controls/LogViewer.py:317
+#: ../controls/LogViewer.py:318 msgid "Clean log messages"
-#: ../ProjectController.py:1730
+#: ../ProjectController.py:1759 msgid "Clean project build folder"
-#: ../ProjectController.py:1210
+#: ../ProjectController.py:1216 msgid "Cleaning the build directory\n"
@@ -898,7 +906,7 @@
-#: ../editors/Viewer.py:577
+#: ../editors/Viewer.py:582 msgid "Clear Execution Order"
@@ -906,24 +914,24 @@
-#: ../PLCOpenEditor.py:199 ../Beremiz.py:689
+#: ../PLCOpenEditor.py:199 ../Beremiz.py:693 msgid "Close Application"
-#: ../PLCOpenEditor.py:108 ../Beremiz.py:332 ../Beremiz.py:633
+#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637 -#: ../PLCOpenEditor.py:106 ../Beremiz.py:330
+#: ../PLCOpenEditor.py:106 ../Beremiz.py:331 -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2092
+#: ../editors/Viewer.py:541 ../editors/Viewer.py:2357 -#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506 @@ -967,27 +975,27 @@
-#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355
+#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359 #: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342
-#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:326
+#: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328 msgid "Confirm or change variable name"
-#: ../ProjectController.py:1743
+#: ../ProjectController.py:1772 -#: ../ProjectController.py:1744
+#: ../ProjectController.py:1773 msgid "Connect to the target PLC"
-#: ../ProjectController.py:1270
+#: ../ProjectController.py:1276 msgid "Connected to URI: %s"
-#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523
-#: ../editors/Viewer.py:2083
+#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 +#: ../editors/Viewer.py:2350 @@ -995,29 +1003,29 @@
msgid "Connection Properties"
-#: ../ProjectController.py:1603
+#: ../ProjectController.py:1631 msgid "Connection canceled!\n"
-#: ../ProjectController.py:1628
+#: ../ProjectController.py:1656 msgid "Connection failed to %s!\n"
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:102 msgid "Connection to '%s' failed.\n"
-#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1577
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1585 -#: ../dialogs/SFCStepDialog.py:64
+#: ../dialogs/SFCStepDialog.py:65
@@ -1025,7 +1033,7 @@
-#: ../editors/Viewer.py:533 ../editors/Viewer.py:2088
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2353 @@ -1033,7 +1041,7 @@
msgid "Content Description (optional):"
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1578
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1586 @@ -1053,7 +1061,7 @@
msgid "Conversion to time-of-day"
-#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:370
+#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370 @@ -1074,11 +1082,11 @@
-#: ../ConfigTreeNode.py:650
+#: ../ConfigTreeNode.py:656 -"Could not add child \"%s\", type %s :\n"
+"Could not add child \"{a1}\", type {a2} :\n" #: ../py_ext/PythonFileCTNMixin.py:77
@@ -1086,33 +1094,33 @@
msgid "Couldn't import old %s file."
-#: ../ConfigTreeNode.py:622
+#: ../ConfigTreeNode.py:626 -"Couldn't load confnode base parameters %s :\n"
-#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124
+"Couldn't load confnode base parameters {a1} :\n" +#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124 -"Couldn't load confnode parameters %s :\n"
+"Couldn't load confnode parameters {a1} :\n" #: ../PLCControler.py:946
msgid "Couldn't paste non-POU object."
-#: ../ProjectController.py:1545
+#: ../ProjectController.py:1573 msgid "Couldn't start PLC !\n"
-#: ../ProjectController.py:1553
+#: ../ProjectController.py:1581 msgid "Couldn't stop PLC !\n"
-#: ../ProjectController.py:1517
+#: ../ProjectController.py:1545 msgid "Couldn't stop debugger.\n"
@@ -1160,7 +1168,7 @@
msgid "Create a new divergence"
-#: ../dialogs/SFCDivergenceDialog.py:51
+#: ../dialogs/SFCDivergenceDialog.py:53 msgid "Create a new divergence or convergence"
@@ -1196,7 +1204,7 @@
-#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424 @@ -1249,7 +1257,7 @@
-#: ../ProjectController.py:1650
+#: ../ProjectController.py:1678 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
@@ -1257,17 +1265,17 @@
-#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3598
+#: ../editors/Viewer.py:1108 ../editors/Viewer.py:3614 -#: ../ProjectController.py:1306
+#: ../ProjectController.py:1334 msgid "Debug: Unknown variable '%s'\n"
-#: ../ProjectController.py:1304
+#: ../ProjectController.py:1332 msgid "Debug: Unsupported type to debug '%s'\n"
@@ -1276,23 +1284,23 @@
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1514 msgid "Debugger disabled\n"
-#: ../ProjectController.py:1647
+#: ../ProjectController.py:1675 -#: ../ProjectController.py:1519
+#: ../ProjectController.py:1547 msgid "Debugger stopped.\n"
-#: ../editors/Viewer.py:568 ../Beremiz.py:1051 ../IDEFrame.py:1955
+#: ../editors/Viewer.py:572 ../Beremiz.py:1055 ../IDEFrame.py:1955 -#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:514 msgid "Delete Divergence Branch"
@@ -1300,7 +1308,7 @@
-#: ../editors/Viewer.py:497
+#: ../editors/Viewer.py:501 msgid "Delete Wire Segment"
@@ -1322,7 +1330,7 @@
"The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
-#: ../controls/VariablePanel.py:430
+#: ../controls/VariablePanel.py:432 @@ -1334,7 +1342,7 @@
-#: ../dialogs/BrowseLocationsDialog.py:85
+#: ../dialogs/BrowseLocationsDialog.py:90 @@ -1342,15 +1350,19 @@
-#: ../ProjectController.py:1752
+#: ../ProjectController.py:1781 -#: ../ProjectController.py:1754
+#: ../ProjectController.py:1783 msgid "Disconnect from PLC"
-#: ../editors/Viewer.py:552 ../editors/Viewer.py:2069
+#: ../ProjectController.py:1286 +#: ../editors/Viewer.py:556 ../editors/Viewer.py:2345 @@ -1385,7 +1397,7 @@
msgid "EDS files (*.eds)|*.eds|All files|*.*"
-#: ../editors/Viewer.py:566
+#: ../editors/Viewer.py:570 @@ -1401,7 +1413,7 @@
-#: ../dialogs/SFCStepDialog.py:49
+#: ../dialogs/SFCStepDialog.py:50 @@ -1417,7 +1429,7 @@
msgid "Edit array type properties"
-#: ../editors/Viewer.py:2550 ../editors/Viewer.py:2961
+#: ../editors/Viewer.py:2566 ../editors/Viewer.py:2977 @@ -1429,19 +1441,19 @@
-#: ../editors/Viewer.py:2925
+#: ../editors/Viewer.py:2941 -#: ../ProjectController.py:1766
+#: ../ProjectController.py:1795 msgid "Edit raw IEC code added to code generated by PLCGenerator"
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:799 -#: ../dialogs/SFCTransitionDialog.py:50
+#: ../dialogs/SFCTransitionDialog.py:51 @@ -1449,7 +1461,7 @@
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179 @@ -1457,6 +1469,10 @@
+#: ../ProjectController.py:1284 @@ -1482,15 +1498,15 @@
#: ../dialogs/ForceVariableDialog.py:179
-#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60 #: ../dialogs/DurationEditorDialog.py:121
#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107
#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71
#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
-#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211
+#: ../dialogs/PouNameDialog.py:54 ../dialogs/BrowseLocationsDialog.py:216 #: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104
#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:335 ../PLCOpenEditor.py:340
-#: ../PLCOpenEditor.py:419 ../PLCOpenEditor.py:429 ../editors/Viewer.py:419
+#: ../PLCOpenEditor.py:420 ../PLCOpenEditor.py:430 ../editors/Viewer.py:423 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550
#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579
@@ -1501,8 +1517,8 @@
#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231
-#: ../controls/VariablePanel.py:400 ../controls/VariablePanel.py:770
-#: ../Beremiz.py:1190 ../IDEFrame.py:1003 ../IDEFrame.py:1614
+#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:772 +#: ../Beremiz.py:1194 ../IDEFrame.py:1003 ../IDEFrame.py:1614 #: ../IDEFrame.py:1651 ../IDEFrame.py:1656 ../IDEFrame.py:1670
#: ../IDEFrame.py:1675 ../Beremiz_service.py:190
@@ -1541,7 +1557,7 @@
msgid "Error: No PLC built\n"
-#: ../ProjectController.py:1622
+#: ../ProjectController.py:1650 msgid "Exception while connecting %s!\n"
@@ -1595,11 +1611,11 @@
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1713 msgid "Failed : Must build before transfer.\n"
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462 @@ -1613,6 +1629,11 @@
msgid "Fatal : cannot get builder.\n"
#: ../dialogs/DurationEditorDialog.py:160
msgid "Field %s hasn't a valid value!"
@@ -1649,11 +1670,11 @@
-#: ../connectors/PYRO/__init__.py:159
+#: ../connectors/PYRO/__init__.py:163 msgid "Force runtime reload\n"
-#: ../editors/Viewer.py:1536
+#: ../editors/Viewer.py:1544 @@ -1661,14 +1682,14 @@
msgid "Forcing Variable Value"
-#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:97 #: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94
#: ../dialogs/PouDialog.py:116
msgid "Form isn't complete. %s must be filled!"
-#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232
+#: ../dialogs/SFCStepDialog.py:142 ../dialogs/FBDBlockDialog.py:232 #: ../dialogs/ConnectionDialog.py:160
msgid "Form isn't complete. Name must be filled!"
@@ -1694,7 +1715,7 @@
-#: ../controls/VariablePanel.py:823
+#: ../controls/VariablePanel.py:825 msgid "Function Block Types"
@@ -1702,11 +1723,11 @@
-#: ../editors/Viewer.py:244
+#: ../editors/Viewer.py:248 msgid "Function Blocks can't be used in Functions!"
-#: ../PLCControler.py:2336
+#: ../PLCControler.py:2337 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
@@ -1774,7 +1795,7 @@
-#: ../dialogs/DiscoveryDialog.py:93
+#: ../dialogs/DiscoveryDialog.py:94 @@ -1786,35 +1807,35 @@
-#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1563
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1571 #: ../controls/VariablePanel.py:71
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091 #: ../controls/VariablePanel.py:276
-msgid "Incompatible data types between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:285
-msgid "Incompatible size of data between \"%s\" and \"%s\""
-#: ../controls/VariablePanel.py:281
+msgid "Incompatible data types between \"{a1}\" and \"{a2}\"" +#: ../controls/VariablePanel.py:282 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
+#: ../controls/VariablePanel.py:286 +msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" #: ../dialogs/ActionBlockDialog.py:38
-#: ../editors/Viewer.py:548 ../editors/Viewer.py:2066
+#: ../editors/Viewer.py:552 @@ -1832,13 +1853,15 @@
-#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42 -#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
-#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1561
-#: ../controls/VariablePanel.py:71
+#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 +#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1569 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -1850,7 +1873,7 @@
-#: ../plcopen/plcopen.py:1693
+#: ../plcopen/plcopen.py:1695 msgid "Instance with id %d doesn't exist!"
@@ -1877,18 +1900,18 @@
-#: ../PLCControler.py:2324
+#: ../PLCControler.py:2325 msgid "Invalid plcopen element(s)!!!"
-#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
-msgid "Invalid type \"%s\"-> %d != %d for location\"%s\""
-#: ../dialogs/ForceVariableDialog.py:177
-msgid "Invalid value \"%s\" for \"%s\" variable!"
+#: ../canfestival/config_utils.py:381 +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\"" +#: ../canfestival/config_utils.py:645 +msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\"" #: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
@@ -1903,18 +1926,23 @@
msgid "Invalid value \"%s\" for variable grid element"
-#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
+#: ../editors/Viewer.py:233 ../editors/Viewer.py:236 msgid "Invalid value \"%s\" for viewer block"
+#: ../dialogs/ForceVariableDialog.py:177 +msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" #: ../dialogs/DurationEditorDialog.py:121
"You must fill a numeric value."
-#: ../editors/Viewer.py:553 ../editors/Viewer.py:2070
+#: ../editors/Viewer.py:557 ../editors/Viewer.py:2334 @@ -1942,7 +1970,7 @@
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1719 msgid "Latest build already matches current target. Transfering anyway...\n"
@@ -1954,11 +1982,11 @@
msgid "Launch a live Python shell"
-#: ../editors/Viewer.py:481
+#: ../editors/Viewer.py:485 -#: ../dialogs/LDPowerRailDialog.py:61
+#: ../dialogs/LDPowerRailDialog.py:62 @@ -1990,7 +2018,7 @@
-#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72 @@ -1998,7 +2026,7 @@
-#: ../ProjectController.py:1597
+#: ../ProjectController.py:1625 msgid "Local service discovery failed!\n"
@@ -2006,7 +2034,7 @@
-#: ../dialogs/BrowseLocationsDialog.py:67
+#: ../dialogs/BrowseLocationsDialog.py:72 msgid "Locations available:"
@@ -2014,7 +2042,7 @@
msgid "Logarithm to base 10"
-#: ../connectors/PYRO/__init__.py:90
+#: ../connectors/PYRO/__init__.py:94 msgid "MDNS resolution failure for '%s'\n"
@@ -2031,9 +2059,9 @@
-#: ../ConfigTreeNode.py:538
-msgid "Max count (%d) reached for this confnode of type %s "
+#: ../ConfigTreeNode.py:539 +msgid "Max count ({a1}) reached for this confnode of type {a2} " #: ../plcopen/iec_std.csv:71
@@ -2044,7 +2072,9 @@
-#: ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289 +#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -2056,7 +2086,7 @@
-#: ../editors/Viewer.py:486
+#: ../editors/Viewer.py:490 @@ -2084,9 +2114,9 @@
-#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
-msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1222 +msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" #: ../dialogs/ActionBlockDialog.py:140
@@ -2133,11 +2163,11 @@
-#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:451
+#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453 msgid "Move variable down"
-#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:450
+#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452 @@ -2153,7 +2183,7 @@
-#: ../dialogs/DiscoveryDialog.py:91
+#: ../dialogs/DiscoveryDialog.py:92 @@ -2167,7 +2197,7 @@
msgid "Name must not be null!"
-#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83
+#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83 #: ../dialogs/ConnectionDialog.py:75
@@ -2176,12 +2206,12 @@
msgid "Natural logarithm"
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460 -#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:320
+#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321 @@ -2189,22 +2219,22 @@
-#: ../editors/Viewer.py:455
+#: ../editors/Viewer.py:459 -#: ../ProjectController.py:1718
+#: ../ProjectController.py:1747 msgid "No PLC to transfer (did build succeed ?)\n"
-#: ../PLCGenerator.py:1608
+#: ../PLCGenerator.py:1619 msgid "No body defined in \"%s\" POU"
-#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
-msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
+#: ../PLCGenerator.py:798 ../PLCGenerator.py:1233 +msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" #: ../PLCOpenEditor.py:347
@@ -2213,14 +2243,14 @@
-#: ../PLCGenerator.py:819
+#: ../PLCGenerator.py:821 msgid "No informations found for \"%s\" block"
-#: ../PLCGenerator.py:1183
-msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
+#: ../PLCGenerator.py:1186 +msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken" #: ../controls/SearchResultPanel.py:169
@@ -2232,28 +2262,28 @@
msgid "No such SVG file: %s\n"
-#: ../canfestival/config_utils.py:633
-msgid "No such index/subindex (%x,%x) (variable %s)"
+#: ../canfestival/config_utils.py:639 +msgid "No such index/subindex ({a1},{a2}) (variable {a3})" #: ../canfestival/config_utils.py:362
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
+msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})" #: ../dialogs/BrowseValuesLibraryDialog.py:83
msgid "No valid value selected!"
-#: ../PLCGenerator.py:1606
+#: ../PLCGenerator.py:1617 msgid "No variable defined in \"%s\" POU"
#: ../canfestival/config_utils.py:355
-msgid "Non existing node ID : %d (variable %s)"
+msgid "Non existing node ID : {a1} (variable {a2})" #: ../controls/VariablePanel.py:64
@@ -2264,16 +2294,16 @@
-#: ../canfestival/config_utils.py:384
-msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:389 +msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))" #: ../plcopen/iec_std.csv:80
-#: ../dialogs/SFCDivergenceDialog.py:78
+#: ../dialogs/SFCDivergenceDialog.py:89 msgid "Number of sequences:"
@@ -2297,8 +2327,8 @@
-#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:322
+#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323 @@ -2310,7 +2340,7 @@
msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
-#: ../ProjectController.py:1770
+#: ../ProjectController.py:1799 msgid "Open a file explorer to manage project files"
@@ -2334,9 +2364,11 @@
-#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39
-#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1562
-#: ../controls/VariablePanel.py:71
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 +#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 +#: ../editors/Viewer.py:1570 ../editors/TextViewer.py:307 +#: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 +#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 @@ -2358,7 +2390,7 @@
@@ -2367,10 +2399,10 @@
#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309
-"PLC syntax error at line %d:\n"
+"PLC syntax error at line {a1}:\n" #: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373
@@ -2388,7 +2420,7 @@
-#: ../dialogs/DiscoveryDialog.py:94
+#: ../dialogs/DiscoveryDialog.py:95 @@ -2408,17 +2440,17 @@
-#: ../connectors/PYRO/__init__.py:41
+#: ../connectors/PYRO/__init__.py:45 msgid "PYRO connecting to URI : %s\n"
-#: ../connectors/PYRO/__init__.py:57
+#: ../connectors/PYRO/__init__.py:61 msgid "PYRO using certificates in '%s' \n"
-#: ../PLCOpenEditor.py:118 ../Beremiz.py:335
+#: ../PLCOpenEditor.py:118 ../Beremiz.py:336 @@ -2435,7 +2467,7 @@
-#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426 @@ -2447,12 +2479,12 @@
msgid "Pattern to search:"
-#: ../dialogs/LDPowerRailDialog.py:72
+#: ../dialogs/LDPowerRailDialog.py:73 -#: ../editors/Viewer.py:2681 ../editors/Viewer.py:2925
-#: ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/Viewer.py:2941 +#: ../editors/SFCViewer.py:770 msgid "Please choose a target"
@@ -2460,12 +2492,12 @@
msgid "Please enter a block name"
-#: ../editors/Viewer.py:2551 ../editors/Viewer.py:2962
+#: ../editors/Viewer.py:2567 ../editors/Viewer.py:2978 msgid "Please enter comment text"
-#: ../editors/SFCViewer.py:359 ../editors/SFCViewer.py:381
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:433 ../editors/SFCViewer.py:455 +#: ../editors/SFCViewer.py:799 msgid "Please enter step name"
@@ -2482,15 +2514,15 @@
msgid "Port number must be an integer!"
-#: ../editors/Viewer.py:532 ../editors/Viewer.py:2093
+#: ../editors/Viewer.py:536 ../editors/Viewer.py:2358 -#: ../dialogs/LDPowerRailDialog.py:49
+#: ../dialogs/LDPowerRailDialog.py:50 msgid "Power Rail Properties"
-#: ../PLCOpenEditor.py:120 ../Beremiz.py:337
+#: ../PLCOpenEditor.py:120 ../Beremiz.py:338 @@ -2498,8 +2530,8 @@
-#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:339
+#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340 @@ -2511,11 +2543,11 @@
-#: ../dialogs/SFCTransitionDialog.py:88
+#: ../dialogs/SFCTransitionDialog.py:89 -#: ../runtime/PLCObject.py:369
+#: ../runtime/PLCObject.py:370 msgid "Problem starting PLC : error %d"
@@ -2553,7 +2585,7 @@
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:242 msgid "Programs can't be used by other POUs!"
@@ -2566,7 +2598,7 @@
-#: ../ProjectController.py:1769
+#: ../ProjectController.py:1798 @@ -2582,7 +2614,7 @@
msgid "Project Version (optional):"
-#: ../PLCControler.py:3157
+#: ../PLCControler.py:3158 "Project file syntax error:\n"
@@ -2592,9 +2624,9 @@
msgid "Project properties"
-#: ../ConfigTreeNode.py:564
-msgid "Project tree layout do not match confnode.xml %s!=%s "
+#: ../ConfigTreeNode.py:566 +msgid "Project tree layout do not match confnode.xml {a1}!={a2} " #: ../dialogs/ConnectionDialog.py:94
@@ -2623,7 +2655,7 @@
-#: ../PLCOpenEditor.py:128 ../Beremiz.py:342 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:252 @@ -2643,7 +2675,7 @@
-#: ../ProjectController.py:1765
+#: ../ProjectController.py:1794 @@ -2653,7 +2685,7 @@
"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'?"
@@ -2662,11 +2694,11 @@
-#: ../dialogs/SFCTransitionDialog.py:73
+#: ../dialogs/SFCTransitionDialog.py:74 -#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432 @@ -2678,7 +2710,7 @@
msgid "Regular expressions"
-#: ../editors/Viewer.py:1539
+#: ../editors/Viewer.py:1547 @@ -2686,7 +2718,7 @@
msgid "Remainder (modulo)"
@@ -2723,7 +2755,7 @@
-#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:449
+#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451 @@ -2735,7 +2767,7 @@
-#: ../editors/Viewer.py:498
+#: ../editors/Viewer.py:502 msgid "Replace Wire by connections"
@@ -2747,7 +2779,7 @@
-#: ../editors/Viewer.py:578
+#: ../editors/Viewer.py:583 msgid "Reset Execution Order"
@@ -2759,7 +2791,7 @@
msgid "Reset search result"
-#: ../PLCControler.py:97 ../Beremiz.py:1062
+#: ../PLCControler.py:97 ../Beremiz.py:1066 @@ -2767,19 +2799,19 @@
-#: ../controls/VariablePanel.py:422
+#: ../controls/VariablePanel.py:424 -#: ../editors/Viewer.py:483
+#: ../editors/Viewer.py:487 -#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:63 -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461 @@ -2801,7 +2833,7 @@
-#: ../ProjectController.py:1733
+#: ../ProjectController.py:1762 @@ -2848,16 +2880,16 @@
-#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:326
+#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327 -#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:358
+#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359
@@ -2881,13 +2913,13 @@
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288
-#: ../controls/VariablePanel.py:348
+#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350 msgid "Select a variable class:"
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179 msgid "Select an editor:"
@@ -2917,11 +2949,11 @@
"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
-#: ../dialogs/DiscoveryDialog.py:81
+#: ../dialogs/DiscoveryDialog.py:82 msgid "Service Discovery"
-#: ../dialogs/DiscoveryDialog.py:84
+#: ../dialogs/DiscoveryDialog.py:85 msgid "Services available:"
@@ -2937,7 +2969,7 @@
-#: ../ProjectController.py:1759
+#: ../ProjectController.py:1788 msgid "Show IEC code generated by PLCGenerator"
@@ -2949,7 +2981,7 @@
msgid "Show Master generated by config_utils"
-#: ../ProjectController.py:1757
+#: ../ProjectController.py:1786 @@ -2969,7 +3001,7 @@
-#: ../targets/toolchain_makefile.py:130
+#: ../targets/toolchain_makefile.py:126 msgid "Source didn't change, no build.\n"
@@ -2981,7 +3013,7 @@
msgid "Standard function blocks"
-#: ../ProjectController.py:1735 ../Beremiz_service.py:240
+#: ../ProjectController.py:1764 ../Beremiz_service.py:240 @@ -2990,19 +3022,23 @@
msgid "Start build in %s\n"
-#: ../ProjectController.py:1542
+#: ../ProjectController.py:1282 +#: ../ProjectController.py:1570
-#: ../editors/Viewer.py:549 ../editors/Viewer.py:2067
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2333 -#: ../ProjectController.py:1738
+#: ../ProjectController.py:1767 @@ -3010,11 +3046,15 @@
-#: ../ProjectController.py:1740
+#: ../ProjectController.py:1769 -#: ../ProjectController.py:1514
+#: ../ProjectController.py:1283 +#: ../ProjectController.py:1542 msgid "Stopping debugger...\n"
@@ -3042,7 +3082,7 @@
msgid "Syntax error in regular expression of pattern to search!"
-#: ../dialogs/DiscoveryDialog.py:92
+#: ../dialogs/DiscoveryDialog.py:93 @@ -3073,7 +3113,7 @@
msgid "The group of block must be coherent!"
-#: ../Beremiz.py:636 ../IDEFrame.py:1011
+#: ../Beremiz.py:640 ../IDEFrame.py:1011 msgid "There are changes, do you want to save?"
@@ -3130,31 +3170,31 @@
msgid "Time-of-day subtraction"
-#: ../editors/Viewer.py:485
+#: ../editors/Viewer.py:489 -#: ../ProjectController.py:1747
+#: ../ProjectController.py:1776 -#: ../ProjectController.py:1749
+#: ../ProjectController.py:1778 -#: ../ProjectController.py:1714
+#: ../ProjectController.py:1742 msgid "Transfer completed successfully.\n"
-#: ../ProjectController.py:1716
+#: ../ProjectController.py:1744 msgid "Transfer failed\n"
-#: ../editors/Viewer.py:550 ../editors/Viewer.py:2068 ../editors/Viewer.py:2097
+#: ../editors/Viewer.py:554 ../editors/Viewer.py:2335 ../editors/Viewer.py:2362 -#: ../PLCGenerator.py:1499
+#: ../PLCGenerator.py:1506 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
@@ -3167,17 +3207,17 @@
-#: ../PLCGenerator.py:1588
-msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-#: ../PLCGenerator.py:1579
-msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
-#: ../plcopen/plcopen.py:1320
+#: ../PLCGenerator.py:1597 +msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU" +#: ../PLCGenerator.py:1586 +msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU" +#: ../plcopen/plcopen.py:1322 msgid "Transition with name %s doesn't exist!"
@@ -3200,11 +3240,11 @@
-#: ../dialogs/BrowseLocationsDialog.py:43
+#: ../dialogs/BrowseLocationsDialog.py:48 msgid "Type and derivated"
-#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624 msgid "Type conflict for location \"%s\""
@@ -3217,17 +3257,17 @@
-#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:49 -#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
-#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57 +#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99 #: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
-#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
+#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476 msgid "Unable to define PDO mapping for node %02x"
@@ -3237,9 +3277,9 @@
msgid "Unable to get Xenomai's %s \n"
-#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
-msgid "Undefined block type \"%s\" in \"%s\" POU"
+#: ../PLCGenerator.py:953 ../PLCGenerator.py:1206 +msgid "Undefined block type \"{a1}\" in \"{a2}\" POU" #: ../PLCGenerator.py:254
@@ -3255,7 +3295,7 @@
-#: ../editors/Viewer.py:389
+#: ../editors/Viewer.py:393 msgid "Unknown variable \"%s\" for this POU!"
@@ -3269,7 +3309,7 @@
-#: ../controls/VariablePanel.py:283
+#: ../controls/VariablePanel.py:284 msgid "Unrecognized data size \"%s\""
@@ -3286,7 +3326,7 @@
"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:632 ../controls/VariablePanel.py:796
+#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798 @@ -3306,22 +3346,28 @@
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
-#: ../editors/Viewer.py:2082
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 +#: ../editors/Viewer.py:2365 +#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 +#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343 +#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329 #: ../dialogs/FBDVariableDialog.py:63
msgid "Variable Properties"
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py:306
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:288
-#: ../controls/VariablePanel.py:348
+#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 +#: ../controls/VariablePanel.py:350 -#: ../editors/Viewer.py:391 ../editors/TextViewer.py:387
+#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!"
@@ -3337,16 +3383,16 @@
-#: ../connectors/WAMP/__init__.py:88
+#: ../connectors/WAMP/__init__.py:91 msgid "WAMP connecting to URL : %s\n"
-#: ../connectors/WAMP/__init__.py:128
+#: ../connectors/WAMP/__init__.py:131 msgid "WAMP connection timeout"
-#: ../connectors/WAMP/__init__.py:147
+#: ../connectors/WAMP/__init__.py:150 msgid "WAMP connection to '%s' failed.\n"
@@ -3409,7 +3455,7 @@
msgid "You must select the wire where a contact should be added!"
-#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45
+#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46 msgid "You must type a name!"
@@ -3430,9 +3476,9 @@
-#: ../util/ProcessLogger.py:170
-msgid "exited with status %s (pid %s)\n"
+#: ../util/ProcessLogger.py:169 +msgid "exited with status {a1} (pid {a2})\n" #: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398
@@ -3487,11 +3533,27 @@
+msgid "update info unavailable." #: ../PLCOpenEditor.py:331
+#: ../PLCControler.py:970 +msgid "{a1} \"{a2}\" can't be pasted as a {a3}." +#: ../ConfigTreeNode.py:56 +"{a1} XML file doesn't follow XSD schema at line %{a2}:\n" msgid "CanFestivalSlaveNode"