--- 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 @@
msgstr ""
"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"
-"Last-Translator: \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"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
@@ -17,29 +17,7 @@
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
-#: ../PLCOpenEditor.py:408
-msgid ""
-"\n"
-"An error has occurred.\n"
-"\n"
-"Click OK to save an error report.\n"
-"\n"
-"Please be kind enough to send this file to:\n"
-"edouard.tisserant@gmail.com\n"
-"\n"
-"Error:\n"
-msgstr ""
-"\n"
-"Произошла ошибка.\n"
-"\n"
-"Нажмите OK, чтобы сохранить репорт об ошибке.\n"
-"\n"
-"Будьте так добры, пошлите этот файл:\n"
-"edouard.tisserant@gmail.com\n"
-"\n"
-"Ошибка:\n"
-
-#: ../Beremiz.py:1178
+#: ../PLCOpenEditor.py:408 ../Beremiz.py:1182
#, python-format
msgid ""
"\n"
@@ -49,18 +27,18 @@
"Please be kind enough to send this file to:\n"
"beremiz-devel@lists.sourceforge.net\n"
"\n"
-"You should now restart Beremiz.\n"
+"You should now restart program.\n"
"\n"
"Traceback:\n"
msgstr ""
"\n"
-"Произошла невосстанавливаемая ошибка (bug). Отчет об ошибке сохранен:\n"
+"Произошла невосстанавливаемая ошибка (bug). Отчет об ошибке сохранен в:\n"
"(%s)\n"
"\n"
"Будьте добры, отправьте этот файл по адресу\n"
"beremiz-devel@lists.sourceforge.net\n"
"\n"
-"Для дальнейшей работы перезапустите Beremiz.\n"
+"Для дальнейшей работы перезапустите программу.\n"
"\n"
"Traceback:\n"
@@ -88,10 +66,6 @@
msgid " Temp"
msgstr "Временный"
-#: ../PLCOpenEditor.py:418
-msgid " : "
-msgstr ""
-
#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:66
#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113
#, python-format
@@ -102,22 +76,22 @@
msgid " generation failed !\n"
msgstr "неудачная генерация кода!\n"
-#: ../plcopen/plcopen.py:888
+#: ../plcopen/plcopen.py:890
#, python-format
msgid "\"%s\" Data Type doesn't exist !!!"
msgstr "Тип данных \"%s\" не существует!!!"
-#: ../plcopen/plcopen.py:906
+#: ../plcopen/plcopen.py:908
#, python-format
msgid "\"%s\" POU already exists !!!"
msgstr "POU \"%s\" уже существует!!!"
-#: ../plcopen/plcopen.py:927
+#: ../plcopen/plcopen.py:929
#, python-format
msgid "\"%s\" POU doesn't exist !!!"
msgstr "POU \"%s\" не найден!!!"
-#: ../editors/Viewer.py:242
+#: ../editors/Viewer.py:246
#, python-format
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
#, python-format
msgid "\"%s\" element for this pou already exists!"
msgstr "Элемент с именем \"%s\" уже существует в этом POU!!!"
-#: ../Beremiz.py:984
+#: ../Beremiz.py:988
#, python-format
msgid "\"%s\" folder is not a valid Beremiz project\n"
msgstr "Директория \"%s\" не является проектом Beremiz\n"
-#: ../PLCGenerator.py:1091
-#, python-format
-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
#: ../IDEFrame.py:1593
#, python-format
msgid "\"%s\" is a keyword. It can't be used!"
msgstr "\"%s\" является ключевым словом и не может быть использован!"
-#: ../editors/Viewer.py:246
-#, python-format
-msgid "\"%s\" is already used by \"%s\"!"
-msgstr "\"%s\" уже используется \"%s\"!"
-
-#: ../plcopen/plcopen.py:2414
+#: ../plcopen/plcopen.py:2416
#, python-format
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
#, python-format
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
#: ../IDEFrame.py:1611
#, python-format
msgid "\"%s\" pou already exists!"
msgstr "POU \"%s\" уже существует!"
-#: ../plcopen/plcopen.py:500
-#, python-format
-msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-msgstr "Ресурс \"%s\" уже существует в конфигурации \"%s\"!!!"
-
-#: ../plcopen/plcopen.py:517
-#, python-format
-msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-msgstr "Ресурс \"%s\" отсутствует в конфигурации \"%s\"!!!"
-
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/SFCStepNameDialog.py:58
#, python-format
msgid "\"%s\" step already exists!"
msgstr "Шаг \"%s\" уже существует!"
@@ -237,20 +191,68 @@
"Right value must be greater than left value."
msgstr "\"%s\" не является корректной размерностью массива! Правое значение должно быть больше левого."
+#: ../PLCGenerator.py:1093
+#, python-brace-format
+msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
+msgstr "Функция \"{a1}\" не используется в POU \"{a2}\": входы не подключены"
+
+#: ../editors/Viewer.py:250
+#, python-brace-format
+msgid "\"{a1}\" is already used by \"{a2}\"!"
+msgstr "\"{a1}\" уже используется \"{a2}\"!"
+
+#: ../plcopen/plcopen.py:500
+#, python-brace-format
+msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
+msgstr "Ресурс \"{a1}\" уже существует в конфигурации \"{a2}\"!!!"
+
+#: ../plcopen/plcopen.py:518
+#, python-brace-format
+msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
+msgstr "Ресурс \"{a1}\" отсутствует в конфигурации \"{a2}\"!!!"
+
msgid "%(codefile_name)s"
msgstr "%(codefile_name)"
-#: ../PLCControler.py:970
-#, python-format
-msgid "%s \"%s\" can't be pasted as a %s."
-msgstr "%s \"%s\" не может быть вставлен как %s."
-
-#: ../PLCControler.py:1530
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578
+#, python-format
+msgid "%03gms"
+msgstr "%03gмс"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569
+#, python-format
+msgid "%dd"
+msgstr "%dд"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570
+#, python-format
+msgid "%dh"
+msgstr "%dч"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#, python-format
+msgid "%dm"
+msgstr "%dм"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53
+#, python-format
+msgid "%dms"
+msgstr "%dмс"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#, python-format
+msgid "%ds"
+msgstr "%dc"
+
+#: ../PLCControler.py:1531
#, python-format
msgid "%s Data Types"
msgstr "%s типы данных"
-#: ../PLCControler.py:1513
+#: ../PLCControler.py:1514
#, python-format
msgid "%s POUs"
msgstr "%s POU"
@@ -260,24 +262,15 @@
msgid "%s Profile"
msgstr "%s профиль"
-#: ../ConfigTreeNode.py:56
-#, python-format
-msgid ""
-"%s XML file doesn't follow XSD schema at line %d:\n"
-"%s"
-msgstr ""
-"%s XML файл не следует XSD-схеме в строке %d:\n"
-"%s"
-
-#: ../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
#, python-format
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
#, python-format
msgid "%s body don't have text!"
msgstr "Тело %s не содержит никакой текст!"
@@ -335,7 +328,7 @@
msgid "&Properties"
msgstr "&Свойства"
-#: ../Beremiz.py:323
+#: ../Beremiz.py:324
msgid "&Recent Projects"
msgstr "&Недавние проекты"
@@ -344,19 +337,19 @@
msgstr "&Ресурсы"
#: ../controls/SearchResultPanel.py:252
-#, python-format
-msgid "'%s' - %d match in project"
-msgstr "'%s'- %d совпадений в проекте"
+#, python-brace-format
+msgid "'{a1}' - {a2} match in project"
+msgstr "'{a1}'- {a2} совпадений в проекте"
#: ../controls/SearchResultPanel.py:254
-#, python-format
-msgid "'%s' - %d matches in project"
-msgstr "'%s' - %d совпадений в проекте"
-
-#: ../connectors/PYRO/__init__.py:86
-#, python-format
-msgid "'%s' is located at %s\n"
-msgstr "'%s' находится %s\n"
+#, python-brace-format
+msgid "'{a1}' - {a2} matches in project"
+msgstr "'{a1}' - {a2} совпадений в проекте"
+
+#: ../connectors/PYRO/__init__.py:90
+#, python-brace-format
+msgid "'{a1}' is located at {a2}\n"
+msgstr "'{a1}' находится {a2}\n"
#: ../controls/SearchResultPanel.py:304
#, python-format
@@ -365,31 +358,31 @@
#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399
msgid ", "
-msgstr ""
+msgstr ", "
#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
#: ../dialogs/PouDialog.py:115
#, python-format
msgid ", %s"
-msgstr ""
+msgstr ", %s"
#: ../PLCOpenEditor.py:394
msgid ". "
-msgstr ""
-
-#: ../controls/LogViewer.py:278
+msgstr ". "
+
+#: ../controls/LogViewer.py:279
msgid "1d"
msgstr "1 день"
-#: ../controls/LogViewer.py:279
+#: ../controls/LogViewer.py:280
msgid "1h"
msgstr "1 час"
-#: ../controls/LogViewer.py:280
+#: ../controls/LogViewer.py:281
msgid "1m"
msgstr "1 мин"
-#: ../controls/LogViewer.py:281
+#: ../controls/LogViewer.py:282
msgid "1s"
msgstr "1 сек"
@@ -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
#, python-format
msgid "A POU named \"%s\" already exists!"
msgstr "POU с именем \"%s\" уже существует!"
#: ../ConfigTreeNode.py:424
-#, python-format
-msgid "A child named \"%s\" already exist -> \"%s\"\n"
-msgstr "Дочерний элемент с именем \"%s\" уже существует -> \"%s\"\n"
-
-#: ../dialogs/BrowseLocationsDialog.py:211
+#, python-brace-format
+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
#, python-format
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
msgid "About"
msgstr "О программе"
@@ -434,11 +427,11 @@
msgid "Absolute number"
msgstr "Абсолютный номер"
-#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42
msgid "Action"
msgstr "Действие"
-#: ../editors/Viewer.py:551 ../editors/Viewer.py:2077
+#: ../editors/Viewer.py:555 ../editors/Viewer.py:2336
msgid "Action Block"
msgstr "Блок действия"
@@ -450,7 +443,7 @@
msgid "Action Name:"
msgstr "Имя действия:"
-#: ../plcopen/plcopen.py:1361
+#: ../plcopen/plcopen.py:1363
#, python-format
msgid "Action with name %s doesn't exist!"
msgstr "Действие с именем %s не существует!"
@@ -463,12 +456,12 @@
msgid "Actions:"
msgstr "Действия:"
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091
msgid "Active"
msgstr "Активный"
#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../editors/Viewer.py:584 ../Beremiz.py:1047
+#: ../editors/Viewer.py:588 ../Beremiz.py:1051
msgid "Add"
msgstr "Добавить"
@@ -488,11 +481,11 @@
msgid "Add DataType"
msgstr "Добавить тип данных"
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:513
msgid "Add Divergence Branch"
msgstr "Добавить ветвление"
-#: ../dialogs/DiscoveryDialog.py:115
+#: ../dialogs/DiscoveryDialog.py:116
msgid "Add IP"
msgstr "Добавить IP адрес"
@@ -512,19 +505,19 @@
msgid "Add Transition"
msgstr "Добавить переход"
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:500
msgid "Add Wire Segment"
msgstr "Добавить провод"
-#: ../editors/SFCViewer.py:359
+#: ../editors/SFCViewer.py:433
msgid "Add a new initial step"
msgstr "Добавить новый исходный шаг"
-#: ../editors/Viewer.py:2681 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/SFCViewer.py:770
msgid "Add a new jump"
msgstr "Добавить новый безусловный переход"
-#: ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:455
msgid "Add a new step"
msgstr "Добавить новый шаг"
@@ -552,7 +545,7 @@
msgid "Add task"
msgstr "Добавить задачу"
-#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:448
+#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450
msgid "Add variable"
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
msgid "Alignment"
msgstr "Выравнивание"
-#: ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:135
-#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../dialogs/BrowseLocationsDialog.py:39
+#: ../dialogs/BrowseLocationsDialog.py:47
+#: ../dialogs/BrowseLocationsDialog.py:140
+#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298
#: ../controls/VariablePanel.py:70
msgid "All"
msgstr "Все"
@@ -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 @@
msgstr "Математика"
#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635
-#: ../controls/VariablePanel.py:827
+#: ../controls/VariablePanel.py:829
msgid "Array"
msgstr "Массив"
@@ -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
#, python-format
msgid "Bad location size : %s"
msgstr "Неправильный размер: %s"
@@ -656,16 +649,16 @@
msgid "Base Type:"
msgstr "Базовый тип:"
-#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787
msgid "Base Types"
msgstr "Базовые типы"
msgid "BaseParams"
msgstr "Базовые параметры"
-#: ../Beremiz.py:549
+#: ../Beremiz.py:553
msgid "Beremiz"
-msgstr ""
+msgstr "Beremiz"
msgid "BeremizRoot"
msgstr "Настройки Beremiz "
@@ -698,7 +691,7 @@
msgid "Bitwise inverting"
msgstr "Битовое НЕ"
-#: ../editors/Viewer.py:521 ../editors/Viewer.py:2081
+#: ../editors/Viewer.py:525 ../editors/Viewer.py:2349
msgid "Block"
msgstr "Блок"
@@ -710,28 +703,32 @@
msgid "Block name"
msgstr "Имя блока"
-#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:491
msgid "Bottom"
msgstr "Низ"
+#: ../ProjectController.py:1285
+msgid "Broken"
+msgstr "Ошибка"
+
#: ../dialogs/BrowseValuesLibraryDialog.py:37
#, python-format
msgid "Browse %s values library"
-msgstr ""
-
-#: ../dialogs/BrowseLocationsDialog.py:60
+msgstr "Browse %s values library"
+
+#: ../dialogs/BrowseLocationsDialog.py:65
msgid "Browse Locations"
msgstr "Просмотр директорий"
-#: ../ProjectController.py:1724
+#: ../ProjectController.py:1753
msgid "Build"
msgstr "Сборка"
-#: ../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"
msgid "CFLAGS"
-msgstr ""
-
-#: ../plcopen/plcopen.py:1586 ../plcopen/plcopen.py:1600
-#: ../plcopen/plcopen.py:1624 ../plcopen/plcopen.py:1640
+msgstr "CFLAGS"
+
+#: ../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"
msgstr ""
-#: ../ConfigTreeNode.py:528
-#, python-format
-msgid "Cannot create child %s of type %s "
-msgstr "Нельзя создать дочерний элемент %s типа %s"
-
-#: ../ConfigTreeNode.py:453
+#: ../ConfigTreeNode.py:529
+#, python-brace-format
+msgid "Cannot create child {a1} of type {a2} "
+msgstr "Нельзя создать дочерний элемент {a1} типа {a2}"
+
+#: ../ConfigTreeNode.py:454
#, python-format
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
-#, python-format
-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
+#, python-brace-format
+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
msgid "Case sensitive"
msgstr "Регистрозависимый"
-#: ../editors/Viewer.py:482
+#: ../editors/Viewer.py:486
msgid "Center"
msgstr "Центр"
@@ -886,29 +883,29 @@
#: ../svgui/svgui.py:125
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
msgid "Choose a file"
-msgstr "Выберете файл"
-
-#: ../Beremiz.py:921 ../Beremiz.py:956
+msgstr "Выберите файл"
+
+#: ../Beremiz.py:925 ../Beremiz.py:960
msgid "Choose a project"
-msgstr "Выберете проект"
+msgstr "Выберите проект"
#: ../dialogs/BrowseValuesLibraryDialog.py:42
#, python-format
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 @@
msgid "Class"
msgstr "Класс"
-#: ../controls/VariablePanel.py:439
+#: ../controls/VariablePanel.py:441
msgid "Class Filter:"
msgstr "Фильтр класса:"
@@ -930,19 +927,19 @@
msgid "Class:"
msgstr "Класс:"
-#: ../ProjectController.py:1728
+#: ../ProjectController.py:1757
msgid "Clean"
msgstr "Очистить"
-#: ../controls/LogViewer.py:317
+#: ../controls/LogViewer.py:318
msgid "Clean log messages"
msgstr "Очистить лог"
-#: ../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 @@
msgid "Clear Errors"
msgstr "Очистить ошибки"
-#: ../editors/Viewer.py:577
+#: ../editors/Viewer.py:582
msgid "Clear Execution Order"
msgstr "Очистить порядок исполнения"
@@ -958,27 +955,27 @@
msgid "Close"
msgstr "Закрыть"
-#: ../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
#: ../IDEFrame.py:1009
msgid "Close Project"
msgstr "Закрыть проект"
-#: ../PLCOpenEditor.py:106 ../Beremiz.py:330
+#: ../PLCOpenEditor.py:106 ../Beremiz.py:331
msgid "Close Tab"
msgstr "Закрыть вкладку"
-#: ../editors/Viewer.py:537 ../editors/Viewer.py:2092
+#: ../editors/Viewer.py:541 ../editors/Viewer.py:2357
msgid "Coil"
msgstr "Катушка"
msgid "Command"
msgstr "Комманда"
-#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506
msgid "Comment"
msgstr "Комментарий"
@@ -1025,27 +1022,27 @@
msgid "Configurations"
msgstr "Конфигурации"
-#: ../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
msgid "Connect"
msgstr "Подключиться"
-#: ../ProjectController.py:1744
+#: ../ProjectController.py:1773
msgid "Connect to the target PLC"
msgstr "Подключиться к целевому ПЛК"
-#: ../ProjectController.py:1270
+#: ../ProjectController.py:1276
#, python-format
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
msgid "Connection"
msgstr "Подключение"
@@ -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
#, python-format
msgid "Connection failed to %s!\n"
msgstr "Неудачное подключение к %s!\n"
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:102
#, python-format
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
msgid "Connector"
msgstr "Коннектор"
-#: ../dialogs/SFCStepDialog.py:64
+#: ../dialogs/SFCStepDialog.py:65
msgid "Connectors:"
msgstr "Коннекторы:"
-#: ../Beremiz.py:447
+#: ../Beremiz.py:448
msgid "Console"
msgstr "Консоль"
@@ -1083,7 +1080,7 @@
msgid "Constant"
msgstr "Константа"
-#: ../editors/Viewer.py:533 ../editors/Viewer.py:2088
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2353
msgid "Contact"
msgstr "Контакт"
@@ -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
msgid "Continuation"
msgstr "Продолжение"
@@ -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
#: ../IDEFrame.py:425
msgid "Copy"
msgstr "Копировать"
@@ -1132,47 +1129,51 @@
msgid "Cosine"
msgstr "Косинус"
-#: ../ConfigTreeNode.py:650
-#, python-format
+#: ../ConfigTreeNode.py:656
+#, python-brace-format
msgid ""
-"Could not add child \"%s\", type %s :\n"
-"%s\n"
-msgstr ""
-"Невозможно добавить дочерний элемент \"%s\", тип %s:\n"
-"%s\n"
+"Could not add child \"{a1}\", type {a2} :\n"
+"{a3}\n"
+msgstr ""
+"Невозможно добавить дочерний элемент \"{a1}\", тип {a2}:\n"
+"{a3}\n"
#: ../py_ext/PythonFileCTNMixin.py:77
#, python-format
msgid "Couldn't import old %s file."
msgstr "Невозможно импортировать старый файл %s."
-#: ../ConfigTreeNode.py:622
-#, python-format
+#: ../ConfigTreeNode.py:626
+#, python-brace-format
msgid ""
-"Couldn't load confnode base parameters %s :\n"
-" %s"
-msgstr "Невозможно загрузить базовые параметры confnode %s: %s"
-
-#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124
-#, python-format
+"Couldn't load confnode base parameters {a1} :\n"
+" {a2}"
+msgstr ""
+"Невозможно загрузить базовые параметры confnode {a1}:\n"
+" {a2}"
+
+#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124
+#, python-brace-format
msgid ""
-"Couldn't load confnode parameters %s :\n"
-" %s"
-msgstr "Невозможно загрузить параметры confnode %s: %s"
+"Couldn't load confnode parameters {a1} :\n"
+" {a2}"
+msgstr ""
+"Невозможно загрузить параметры confnode {a1}:\n"
+" {a2}"
#: ../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 @@
#: ../IDEFrame.py:165
msgid "Create a new jump"
-msgstr "Создать новый переход"
+msgstr "Создать новый безусловный переход"
#: ../IDEFrame.py:120 ../IDEFrame.py:177
msgid "Create a new power rail"
@@ -1256,7 +1257,7 @@
msgid "Credits"
msgstr "Благодарности"
-#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424
msgid "Cut"
msgstr "Вырезать"
@@ -1309,7 +1310,7 @@
msgid "Days:"
msgstr "Дни:"
-#: ../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 @@
msgid "Debug instance"
msgstr "Отладка экземпляра"
-#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3598
+#: ../editors/Viewer.py:1108 ../editors/Viewer.py:3614
#, python-format
msgid "Debug: %s"
msgstr "Отладка: %s"
-#: ../ProjectController.py:1306
+#: ../ProjectController.py:1334
#, python-format
msgid "Debug: Unknown variable '%s'\n"
msgstr "Отладка: неизвестная переменная '%s'\n"
-#: ../ProjectController.py:1304
+#: ../ProjectController.py:1332
#, python-format
msgid "Debug: Unsupported type to debug '%s'\n"
msgstr "Отладка: неподдерживамый отладкой тип '%s'\n"
@@ -1336,23 +1337,23 @@
msgid "Debugger"
msgstr "Отладчик"
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1514
msgid "Debugger disabled\n"
msgstr "Отладчик запрещен\n"
-#: ../ProjectController.py:1647
+#: ../ProjectController.py:1675
msgid "Debugger ready\n"
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
msgid "Delete"
msgstr "Удалить"
-#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:514
msgid "Delete Divergence Branch"
msgstr "Удалить ветвь"
@@ -1360,7 +1361,7 @@
msgid "Delete File"
msgstr "Удалить файл"
-#: ../editors/Viewer.py:497
+#: ../editors/Viewer.py:501
msgid "Delete Wire Segment"
msgstr "Удалить сегмент цепи"
@@ -1384,7 +1385,7 @@
"Производная\n"
"Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN."
-#: ../controls/VariablePanel.py:430
+#: ../controls/VariablePanel.py:432
msgid "Description:"
msgstr "Описание:"
@@ -1396,7 +1397,7 @@
msgid "Direction"
msgstr "Направление"
-#: ../dialogs/BrowseLocationsDialog.py:85
+#: ../dialogs/BrowseLocationsDialog.py:90
msgid "Direction:"
msgstr "Направление:"
@@ -1407,15 +1408,19 @@
msgid "Disable_Extensions"
msgstr "Запретить расширения"
-#: ../ProjectController.py:1752
+#: ../ProjectController.py:1781
msgid "Disconnect"
msgstr "Отключиться"
-#: ../ProjectController.py:1754
+#: ../ProjectController.py:1783
msgid "Disconnect from PLC"
msgstr "Отключиться от ПЛК"
-#: ../editors/Viewer.py:552 ../editors/Viewer.py:2069
+#: ../ProjectController.py:1286
+msgid "Disconnected"
+msgstr "Отключено"
+
+#: ../editors/Viewer.py:556 ../editors/Viewer.py:2345
msgid "Divergence"
msgstr "Ветвление"
@@ -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
msgid "Edit Block"
msgstr "Редактировать блок"
@@ -1468,7 +1473,7 @@
msgid "Edit Duration"
msgstr "Редактировать длительность"
-#: ../dialogs/SFCStepDialog.py:49
+#: ../dialogs/SFCStepDialog.py:50
msgid "Edit Step"
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
msgid "Edit comment"
msgstr "Редактировать комментарий"
@@ -1496,19 +1501,19 @@
msgid "Edit item"
msgstr "Редактировать элемент"
-#: ../editors/Viewer.py:2925
+#: ../editors/Viewer.py:2941
msgid "Edit jump target"
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
msgid "Edit step name"
msgstr "Редактировать имя шага"
-#: ../dialogs/SFCTransitionDialog.py:50
+#: ../dialogs/SFCTransitionDialog.py:51
msgid "Edit transition"
msgstr "Редактировать переход"
@@ -1516,7 +1521,7 @@
msgid "Editor ToolBar"
msgstr "Редактор панели инструментов"
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179
msgid "Editor selection"
msgstr "Редактор выделения"
@@ -1524,6 +1529,10 @@
msgid "Elements :"
msgstr "Элементы:"
+#: ../ProjectController.py:1284
+msgid "Empty"
+msgstr "Нет программы"
+
#: ../IDEFrame.py:365
msgid "Enable Undo/Redo"
msgstr "Разрешить отмену и повтор операций"
@@ -1552,15 +1561,15 @@
msgstr "Равно"
#: ../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
msgid "Error"
@@ -1611,7 +1620,7 @@
msgid "Error: No PLC built\n"
msgstr "Ошибка: ПЛК не собран\n"
-#: ../ProjectController.py:1622
+#: ../ProjectController.py:1650
#, python-format
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
msgid "FBD"
-msgstr ""
-
-#: ../ProjectController.py:1685
+msgstr "FBD"
+
+#: ../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
msgid "Falling Edge"
msgstr "Спадающий фронт"
@@ -1685,6 +1694,11 @@
msgid "Fatal : cannot get builder.\n"
msgstr "Ошибка: невозможно получить сборщик.\n"
+#: ../Beremiz.py:118
+#, python-format
+msgid "Fetching %s"
+msgstr "Проверка %s"
+
#: ../dialogs/DurationEditorDialog.py:160
#, python-format
msgid "Field %s hasn't a valid value!"
@@ -1721,11 +1735,11 @@
msgid "Find:"
msgstr "Поиск:"
-#: ../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
msgid "Force value"
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
#, python-format
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 @@
msgid "Function Block"
msgstr "Функциональный блок"
-#: ../controls/VariablePanel.py:823
+#: ../controls/VariablePanel.py:825
msgid "Function Block Types"
msgstr "Типы функциональных блоков"
@@ -1774,11 +1788,11 @@
msgid "Function Blocks"
msgstr "Функциональные блоки"
-#: ../editors/Viewer.py:244
+#: ../editors/Viewer.py:248
msgid "Function Blocks can't be used in Functions!"
msgstr "Функциональные блоки не могут использоваться в функциях!"
-#: ../PLCControler.py:2336
+#: ../PLCControler.py:2337
#, python-format
msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
msgstr "Функциональный блок \"%s\" не может быть вставлен в функцию!!!"
@@ -1796,7 +1810,7 @@
msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n"
msgid "Generic"
-msgstr ""
+msgstr "Generic"
#: ../controls/VariablePanel.py:73
msgid "Global"
@@ -1852,11 +1866,11 @@
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36
msgid "IL"
-msgstr ""
-
-#: ../dialogs/DiscoveryDialog.py:93
+msgstr "IL"
+
+#: ../dialogs/DiscoveryDialog.py:94
msgid "IP"
-msgstr ""
+msgstr "IP"
#: ../Beremiz_service.py:278 ../Beremiz_service.py:279
msgid "IP is not valid!"
@@ -1866,35 +1880,35 @@
msgid "Import SVG"
msgstr "Импорт SVG"
-#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1563
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1571
#: ../controls/VariablePanel.py:71
msgid "InOut"
msgstr "Вход/Выход"
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091
msgid "Inactive"
msgstr "Неактивный"
#: ../controls/VariablePanel.py:276
-#, python-format
-msgid "Incompatible data types between \"%s\" and \"%s\""
-msgstr "\"%s\" и \"%s\" имеют несовместимые типы данных"
-
-#: ../controls/VariablePanel.py:285
-#, python-format
-msgid "Incompatible size of data between \"%s\" and \"%s\""
-msgstr "\"%s\" и \"%s\" имеют несовместимый размер данных"
-
-#: ../controls/VariablePanel.py:281
+#, python-brace-format
+msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
+msgstr "\"{a1}\" и \"{a2}\" имеют несовместимые типы данных"
+
+#: ../controls/VariablePanel.py:282
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr "Несовместимый размер данных \"%s\" с типом \"BOOL\""
+#: ../controls/VariablePanel.py:286
+#, python-brace-format
+msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
+msgstr "\"{a1}\" и \"{a2}\" имеют несовместимый размер данных"
+
#: ../dialogs/ActionBlockDialog.py:38
msgid "Indicator"
msgstr "Индикатор"
-#: ../editors/Viewer.py:548 ../editors/Viewer.py:2066
+#: ../editors/Viewer.py:552
msgid "Initial Step"
msgstr "Исходный шаг"
@@ -1910,15 +1924,17 @@
#: ../svgui/svgui.py:46
msgid "Inkscape"
-msgstr ""
-
-#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
+msgstr "Inkscape"
+
+#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42
msgid "Inline"
msgstr "Непосредственно"
-#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
-#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py: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
msgid "Input"
msgstr "Вход"
@@ -1930,7 +1946,7 @@
msgid "Insertion (into)"
msgstr "Вставка подстроки"
-#: ../plcopen/plcopen.py:1693
+#: ../plcopen/plcopen.py:1695
#, python-format
msgid "Instance with id %d doesn't exist!"
msgstr "Экземпляр с id %d не существует!"
@@ -1959,19 +1975,19 @@
msgid "Interval"
msgstr "Интервал"
-#: ../PLCControler.py:2324
+#: ../PLCControler.py:2325
msgid "Invalid plcopen element(s)!!!"
msgstr "Некорректный PlcOpen элемент(ы)!!!"
-#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
-#, python-format
-msgid "Invalid type \"%s\"-> %d != %d for location\"%s\""
-msgstr "Неправильный тип \"%s\"->\"%d != %d для \"%s\""
-
-#: ../dialogs/ForceVariableDialog.py:177
-#, python-format
-msgid "Invalid value \"%s\" for \"%s\" variable!"
-msgstr "Неверное значение \"%s\" для переменной \"%s\"!"
+#: ../canfestival/config_utils.py:381
+#, python-brace-format
+msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\""
+msgstr "Неправильный тип \"{a1}\"-> {a2} != {a3} для \"{a4}\""
+
+#: ../canfestival/config_utils.py:645
+#, python-brace-format
+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
#, python-format
msgid "Invalid value \"%s\" for variable grid element"
-msgstr ""
-
-#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
+msgstr "Неверное значение \"%s\" для значения размещения переменной"
+
+#: ../editors/Viewer.py:233 ../editors/Viewer.py:236
#, python-format
msgid "Invalid value \"%s\" for viewer block"
-msgstr ""
+msgstr "Неверное значение \"%s\" для вставки в редактор"
+
+#: ../dialogs/ForceVariableDialog.py:177
+#, python-brace-format
+msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
+msgstr "Неверное значение \"{a1}\" для переменной \"{a2}\"!"
#: ../dialogs/DurationEditorDialog.py:121
msgid ""
@@ -1998,17 +2019,17 @@
"Неверное значение!\n"
"Необходимо ввести числовое значение."
-#: ../editors/Viewer.py:553 ../editors/Viewer.py:2070
+#: ../editors/Viewer.py:557 ../editors/Viewer.py:2334
msgid "Jump"
-msgstr "Переход"
+msgstr "Безусловный переход"
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
msgid "LD"
-msgstr ""
+msgstr "LD"
msgid "LDFLAGS"
-msgstr ""
+msgstr "LDFLAGS"
#: ../editors/LDViewer.py:215 ../editors/LDViewer.py:231
#, python-format
@@ -2029,7 +2050,7 @@
msgid "Language:"
msgstr "Язык:"
-#: ../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
msgid "Left"
msgstr "Слева"
-#: ../dialogs/LDPowerRailDialog.py:61
+#: ../dialogs/LDPowerRailDialog.py:62
msgid "Left PowerRail"
msgstr "Левая шина питания"
@@ -2070,7 +2091,7 @@
#: ../dialogs/AboutDialog.py:142
msgid "License"
-msgstr ""
+msgstr "Лицензия"
#: ../plcopen/iec_std.csv:73
msgid "Limitation"
@@ -2086,7 +2107,7 @@
msgid "Linux"
msgstr "GNU/Linux"
-#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72
msgid "Local"
msgstr "Локальный"
@@ -2094,7 +2115,7 @@
msgid "Local entries"
msgstr "Локальные записи"
-#: ../ProjectController.py:1597
+#: ../ProjectController.py:1625
msgid "Local service discovery failed!\n"
msgstr "Локальный сервис не найден!\n"
@@ -2102,7 +2123,7 @@
msgid "Location"
msgstr "Размещение"
-#: ../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
#, python-format
msgid "MDNS resolution failure for '%s'\n"
msgstr "MDNS разрешение неудачно для '%s'\n"
@@ -2127,10 +2148,10 @@
msgid "Master"
msgstr "Ведущий"
-#: ../ConfigTreeNode.py:538
-#, python-format
-msgid "Max count (%d) reached for this confnode of type %s "
-msgstr "Достигнуто максимальное количество (%d) для типа узла конфигурации %s"
+#: ../ConfigTreeNode.py:539
+#, python-brace-format
+msgid "Max count ({a1}) reached for this confnode of type {a2} "
+msgstr "Достигнуто максимальное количество ({a1}) для типа узла конфигурации {a2} "
#: ../plcopen/iec_std.csv:71
msgid "Maximum"
@@ -2140,7 +2161,9 @@
msgid "Maximum:"
msgstr "Максимум:"
-#: ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289
+#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98
+#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
msgid "Memory"
msgstr "Память"
@@ -2152,7 +2175,7 @@
msgid "Microseconds:"
msgstr "Микросекунды:"
-#: ../editors/Viewer.py:486
+#: ../editors/Viewer.py:490
msgid "Middle"
msgstr "Посередине"
@@ -2180,10 +2203,10 @@
msgid "Modifier:"
msgstr "Модификатор:"
-#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
-#, python-format
-msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "Более одного коннектора соответствуют продолжению цепи \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1222
+#, python-brace-format
+msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
+msgstr "Более одного коннектора соответствуют продолжению цепи \"{a1}\" в POU \"{a2}\""
#: ../dialogs/ActionBlockDialog.py:140
msgid "Move action down"
@@ -2229,11 +2252,11 @@
msgid "Move up"
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
msgid "Move variable up"
msgstr "Переместить переменную выше"
@@ -2249,7 +2272,7 @@
msgid "My Computer:"
msgstr "Мой компьютер:"
-#: ../dialogs/DiscoveryDialog.py:91
+#: ../dialogs/DiscoveryDialog.py:92
msgid "NAME"
msgstr "Имя"
@@ -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
msgid "Name:"
msgstr "Имя:"
@@ -2272,12 +2295,12 @@
msgid "Natural logarithm"
msgstr "Натуральный логарифм"
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460
msgid "Negated"
msgstr "Инверсия"
-#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:320
-#: ../Beremiz.py:355
+#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321
+#: ../Beremiz.py:356
msgid "New"
msgstr "Новый"
@@ -2285,23 +2308,23 @@
msgid "New item"
msgstr "Новый элемент"
-#: ../editors/Viewer.py:455
+#: ../editors/Viewer.py:459
msgid "No Modifier"
msgstr "Нет модификатора"
-#: ../ProjectController.py:1718
+#: ../ProjectController.py:1747
msgid "No PLC to transfer (did build succeed ?)\n"
msgstr "Нет ПЛК для передачи (была сборка успешна?)\n"
-#: ../PLCGenerator.py:1608
+#: ../PLCGenerator.py:1619
#, python-format
msgid "No body defined in \"%s\" POU"
msgstr "Нет тела для POU \"%s\""
-#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
-#, python-format
-msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
-msgstr "Не найден коннектор, соответствующий продолжению цепи \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:798 ../PLCGenerator.py:1233
+#, python-brace-format
+msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
+msgstr "Не найден коннектор, соответствующий продолжению цепи \"{a1}\" в POU \"{a2}\""
#: ../PLCOpenEditor.py:347
msgid ""
@@ -2311,15 +2334,15 @@
"Документация отсутствует.\n"
"В разработке."
-#: ../PLCGenerator.py:819
+#: ../PLCGenerator.py:821
#, python-format
msgid "No informations found for \"%s\" block"
msgstr "Не найдена информация по блоку \"%s\""
-#: ../PLCGenerator.py:1183
-#, python-format
-msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
-msgstr "Выходная переменная %s не найдена в блоке %s в POU %s."
+#: ../PLCGenerator.py:1186
+#, python-brace-format
+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
-#, python-format
-msgid "No such index/subindex (%x,%x) (variable %s)"
-msgstr "Нет индекса/подиндекса (%x,%x) (переменная %s)"
+#: ../canfestival/config_utils.py:639
+#, python-brace-format
+msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
+msgstr "Нет индекса/подиндекса ({a1},{a2}) (переменная {a3})"
#: ../canfestival/config_utils.py:362
-#, python-format
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
-msgstr "Нет индекса/подиндекса (%x,%x) в ID: %d (переменная %s)"
+#, python-brace-format
+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
#, python-format
msgid "No variable defined in \"%s\" POU"
msgstr "Переменная не определена в POU \"%s\""
@@ -2353,9 +2376,9 @@
msgstr "ID узла"
#: ../canfestival/config_utils.py:355
-#, python-format
-msgid "Non existing node ID : %d (variable %s)"
-msgstr "Несуществующий ID узла: %d (переменная %s)"
+#, python-brace-format
+msgid "Non existing node ID : {a1} (variable {a2})"
+msgstr "Несуществующий ID узла: {a1} (переменная {a2})"
#: ../controls/VariablePanel.py:64
msgid "Non-Retain"
@@ -2365,16 +2388,16 @@
msgid "Normal"
msgstr "Обычный"
-#: ../canfestival/config_utils.py:384
-#, python-format
-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
+#, python-brace-format
+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
msgid "Not equal to"
msgstr "Не равно"
-#: ../dialogs/SFCDivergenceDialog.py:78
+#: ../dialogs/SFCDivergenceDialog.py:89
msgid "Number of sequences:"
msgstr "Число ветвей:"
@@ -2402,8 +2425,8 @@
msgid "Only Elements"
msgstr "Только элементы"
-#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:322
-#: ../Beremiz.py:356
+#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323
+#: ../Beremiz.py:357
msgid "Open"
msgstr "Открыть"
@@ -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 @@
msgid "Other Profile"
msgstr "Другой профиль"
-#: ../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
msgid "Output"
msgstr "Выход"
@@ -2468,7 +2493,7 @@
msgid "PLC :\n"
msgstr "ПЛК:\n"
-#: ../Beremiz.py:452
+#: ../Beremiz.py:453
msgid "PLC Log"
msgstr "Лог ПЛК"
@@ -2477,13 +2502,13 @@
msgstr "Неудачная генерация кода!\n"
#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309
-#, python-format
+#, python-brace-format
msgid ""
-"PLC syntax error at line %d:\n"
-"%s"
-msgstr ""
-"Синтаксическая ошибка в строке %d:\n"
-"%s"
+"PLC syntax error at line {a1}:\n"
+"{a2}"
+msgstr ""
+"Синтаксическая ошибка в строке {a1}:\n"
+"{a2}"
#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373
msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
@@ -2491,7 +2516,7 @@
#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209
msgid "PLCOpenEditor"
-msgstr ""
+msgstr "PLCOpenEditor"
#: ../PLCOpenEditor.py:355
msgid ""
@@ -2503,7 +2528,7 @@
"\n"
"Beremiz — "
-#: ../dialogs/DiscoveryDialog.py:94
+#: ../dialogs/DiscoveryDialog.py:95
msgid "PORT"
msgstr "Порт"
@@ -2523,17 +2548,17 @@
msgid "POU Type:"
msgstr "Тип POU:"
-#: ../connectors/PYRO/__init__.py:41
+#: ../connectors/PYRO/__init__.py:45
#, python-format
msgid "PYRO connecting to URI : %s\n"
msgstr "PYRO подключение к URI: %s\n"
-#: ../connectors/PYRO/__init__.py:57
+#: ../connectors/PYRO/__init__.py:61
#, python-format
msgid "PYRO using certificates in '%s' \n"
msgstr "PYRO использует сертификаты в '%s'\n"
-#: ../PLCOpenEditor.py:118 ../Beremiz.py:335
+#: ../PLCOpenEditor.py:118 ../Beremiz.py:336
msgid "Page Setup"
msgstr "Настройки страницы"
@@ -2550,7 +2575,7 @@
msgid "Parent instance"
msgstr "Родительский экземпляр"
-#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426
msgid "Paste"
msgstr "Вставить"
@@ -2562,25 +2587,25 @@
msgid "Pattern to search:"
msgstr "Шаблон поиска:"
-#: ../dialogs/LDPowerRailDialog.py:72
+#: ../dialogs/LDPowerRailDialog.py:73
msgid "Pin number:"
msgstr "Номер пина:"
-#: ../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
msgid "Power Rail"
msgstr "Шина питания"
-#: ../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
msgid "Preview"
msgstr "Просмотр"
@@ -2613,8 +2638,8 @@
msgid "Preview:"
msgstr "Просмотр:"
-#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:339
-#: ../Beremiz.py:359
+#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340
+#: ../Beremiz.py:360
msgid "Print"
msgstr "Печать"
@@ -2626,11 +2651,11 @@
msgid "Priority"
msgstr "Приоритет"
-#: ../dialogs/SFCTransitionDialog.py:88
+#: ../dialogs/SFCTransitionDialog.py:89
msgid "Priority:"
msgstr "Приоритет:"
-#: ../runtime/PLCObject.py:369
+#: ../runtime/PLCObject.py:370
#, python-format
msgid "Problem starting PLC : error %d"
msgstr "Проблема запуска ПЛК: ошибка %d"
@@ -2668,7 +2693,7 @@
msgid "Programs"
msgstr "Программы"
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:242
msgid "Programs can't be used by other POUs!"
msgstr "Программы не могут использоваться другими POU!"
@@ -2681,7 +2706,7 @@
msgid "Project '%s':"
msgstr "Проект '%s':"
-#: ../ProjectController.py:1769
+#: ../ProjectController.py:1798
msgid "Project Files"
msgstr "Файлы проекта"
@@ -2697,7 +2722,7 @@
msgid "Project Version (optional):"
msgstr "Версия проекта (опционально):"
-#: ../PLCControler.py:3157
+#: ../PLCControler.py:3158
msgid ""
"Project file syntax error:\n"
"\n"
@@ -2709,10 +2734,10 @@
msgid "Project properties"
msgstr "Свойства проекта"
-#: ../ConfigTreeNode.py:564
-#, python-format
-msgid "Project tree layout do not match confnode.xml %s!=%s "
-msgstr "Дерево проекта не соответствует confnode.xml %s!=%s"
+#: ../ConfigTreeNode.py:566
+#, python-brace-format
+msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
+msgstr "Дерево проекта не соответствует confnode.xml {a1}!={a2} "
#: ../dialogs/ConnectionDialog.py:94
msgid "Propagate Name"
@@ -2742,7 +2767,7 @@
msgid "Qualifier"
msgstr "Спецификатор"
-#: ../PLCOpenEditor.py:128 ../Beremiz.py:342 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:252
msgid "Quit"
msgstr "Выход"
@@ -2766,7 +2791,7 @@
msgid "Range:"
msgstr "Диапазон:"
-#: ../ProjectController.py:1765
+#: ../ProjectController.py:1794
msgid "Raw IEC code"
msgstr "МЭК-код"
@@ -2778,7 +2803,7 @@
"RTC часы\n"
"Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр."
-#: ../Beremiz.py:1130
+#: ../Beremiz.py:1134
#, python-format
msgid "Really delete node '%s'?"
msgstr "Действительно удалить элемент '%s'?"
@@ -2787,11 +2812,11 @@
msgid "Redo"
msgstr "Повторить"
-#: ../dialogs/SFCTransitionDialog.py:73
+#: ../dialogs/SFCTransitionDialog.py:74
msgid "Reference"
msgstr "Ссылка"
-#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432
msgid "Refresh"
msgstr "Обновить"
@@ -2803,7 +2828,7 @@
msgid "Regular expressions"
msgstr "Регулярные выражения"
-#: ../editors/Viewer.py:1539
+#: ../editors/Viewer.py:1547
msgid "Release value"
msgstr "Освободить значение"
@@ -2811,7 +2836,7 @@
msgid "Remainder (modulo)"
msgstr "Остаток от деления (modulo)"
-#: ../Beremiz.py:1131
+#: ../Beremiz.py:1135
#, python-format
msgid "Remove %s node"
msgstr "Удалить %s элемент"
@@ -2848,7 +2873,7 @@
msgid "Remove task"
msgstr "Удалить задачу"
-#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:449
+#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451
msgid "Remove variable"
msgstr "Удалить переменную"
@@ -2860,7 +2885,7 @@
msgid "Replace File"
msgstr "Заменить файл"
-#: ../editors/Viewer.py:498
+#: ../editors/Viewer.py:502
msgid "Replace Wire by connections"
msgstr "Заменить цепь подключениями"
@@ -2872,7 +2897,7 @@
msgid "Reset"
msgstr "Сброс"
-#: ../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
msgid "Resources"
msgstr "Ресурсы"
#: ../controls/VariablePanel.py:62
msgid "Retain"
-msgstr ""
-
-#: ../controls/VariablePanel.py:422
+msgstr "Retain"
+
+#: ../controls/VariablePanel.py:424
msgid "Return Type:"
msgstr "Возвращаемый тип:"
-#: ../editors/Viewer.py:483
+#: ../editors/Viewer.py:487
msgid "Right"
msgstr "Право"
-#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:63
msgid "Right PowerRail"
msgstr "Правая шина питания"
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461
msgid "Rising Edge"
msgstr "Нарастающий фронт"
@@ -2928,7 +2953,7 @@
msgid "Rounding up/down"
msgstr "Округление вверх/вниз"
-#: ../ProjectController.py:1733
+#: ../ProjectController.py:1762
msgid "Run"
msgstr "Старт"
@@ -2950,7 +2975,7 @@
#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
msgid "SFC"
-msgstr ""
+msgstr "SFC"
#: ../plcopen/definitions.py:53
msgid ""
@@ -2963,7 +2988,7 @@
#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
#: ../dialogs/PouDialog.py:36
msgid "ST"
-msgstr ""
+msgstr "ST"
#: ../PLCOpenEditor.py:324
msgid "ST files (*.st)|*.st|All files|*.*"
@@ -2975,18 +3000,18 @@
#: ../features.py:35
msgid "SVGUI"
-msgstr ""
-
-#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:326
-#: ../Beremiz.py:357
+msgstr "SVGUI"
+
+#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327
+#: ../Beremiz.py:358
msgid "Save"
msgstr "Сохранить"
-#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:358
+#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359
msgid "Save As..."
msgstr "Сохранить как..."
-#: ../Beremiz.py:328
+#: ../Beremiz.py:329
msgid "Save as"
msgstr "Сохранить как"
@@ -3010,23 +3035,23 @@
msgid "Select All"
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
msgid "Select a variable class:"
-msgstr ""
-
-#: ../ProjectController.py:1173
+msgstr "Выберите класс переменной:"
+
+#: ../ProjectController.py:1179
msgid "Select an editor:"
-msgstr "Выберете редактор:"
+msgstr "Выберите редактор:"
#: ../controls/PouInstanceVariablesPanel.py:276
msgid "Select an instance"
-msgstr "Выберете экземпляр"
+msgstr "Выберите экземпляр"
#: ../IDEFrame.py:607
msgid "Select an object"
-msgstr "Выберете объект"
+msgstr "Выберите объект"
#: ../plcopen/iec_std.csv:70
msgid "Selection"
@@ -3048,11 +3073,11 @@
"Семафор\n"
"Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам."
-#: ../dialogs/DiscoveryDialog.py:81
+#: ../dialogs/DiscoveryDialog.py:82
msgid "Service Discovery"
msgstr "Поиск сервиса"
-#: ../dialogs/DiscoveryDialog.py:84
+#: ../dialogs/DiscoveryDialog.py:85
msgid "Services available:"
msgstr "Сервисы доступны:"
@@ -3068,7 +3093,7 @@
msgid "Shift right"
msgstr "Сдвиг вправо"
-#: ../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
msgid "Show code"
msgstr "Показать код"
@@ -3100,7 +3125,7 @@
msgid "Single"
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
msgid "Start PLC"
msgstr "Запустить ПЛК"
@@ -3121,19 +3146,23 @@
msgid "Start build in %s\n"
msgstr "Сборка запущена в %s\n"
-#: ../ProjectController.py:1542
+#: ../ProjectController.py:1282
+msgid "Started"
+msgstr "Работа"
+
+#: ../ProjectController.py:1570
msgid "Starting PLC\n"
msgstr "ПЛК запускается\\n\n"
-#: ../Beremiz.py:462
+#: ../Beremiz.py:463
msgid "Status ToolBar"
msgstr "Панель статуса"
-#: ../editors/Viewer.py:549 ../editors/Viewer.py:2067
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2333
msgid "Step"
msgstr "Шаг"
-#: ../ProjectController.py:1738
+#: ../ProjectController.py:1767
msgid "Stop"
msgstr "Стоп"
@@ -3141,11 +3170,15 @@
msgid "Stop PLC"
msgstr "Остановить ПЛК"
-#: ../ProjectController.py:1740
+#: ../ProjectController.py:1769
msgid "Stop Running PLC"
msgstr "Остановить запущенный ПЛК"
-#: ../ProjectController.py:1514
+#: ../ProjectController.py:1283
+msgid "Stopped"
+msgstr "Стоп"
+
+#: ../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
msgid "TYPE"
msgstr "Тип"
@@ -3216,9 +3249,9 @@
#: ../editors/LDViewer.py:882
msgid "The group of block must be coherent!"
-msgstr ""
-
-#: ../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
msgid "Top"
msgstr "Верх"
-#: ../ProjectController.py:1747
+#: ../ProjectController.py:1776
msgid "Transfer"
msgstr "Передать"
-#: ../ProjectController.py:1749
+#: ../ProjectController.py:1778
msgid "Transfer PLC"
msgstr "Передать ПЛК"
-#: ../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
msgid "Transition"
msgstr "Переход"
-#: ../PLCGenerator.py:1499
+#: ../PLCGenerator.py:1506
#, python-format
msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
msgstr "Тело перехода \"%s\" должно содержать выходную переменную или катушку, ссылающуюся на его имя"
@@ -3314,17 +3347,17 @@
msgid "Transition Name:"
msgstr "Имя перехода:"
-#: ../PLCGenerator.py:1588
-#, python-format
-msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-msgstr "Переход с содержимым \"%s\" не подключен к следующему шагу в POU \"%s\""
-
-#: ../PLCGenerator.py:1579
-#, python-format
-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
+#, python-brace-format
+msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
+msgstr "Переход с содержимым \"{a1}\" не подключен к следующему шагу в POU \"{a2}\""
+
+#: ../PLCGenerator.py:1586
+#, python-brace-format
+msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
+msgstr "Переход с содержимым \"{a1}\" не подключен к предыдущему шагу в POU \"{a2}\""
+
+#: ../plcopen/plcopen.py:1322
#, python-format
msgid "Transition with name %s doesn't exist!"
msgstr "Переход с именем %s отсутствует!"
@@ -3347,11 +3380,11 @@
msgid "Type"
msgstr "Тип"
-#: ../dialogs/BrowseLocationsDialog.py:43
+#: ../dialogs/BrowseLocationsDialog.py:48
msgid "Type and derivated"
msgstr "Тип и его производные"
-#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624
#, python-format
msgid "Type conflict for location \"%s\""
msgstr "Конфликт типов \"%s\""
@@ -3364,12 +3397,12 @@
msgid "Type infos:"
msgstr "Информация о типе:"
-#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:49
msgid "Type strict"
msgstr "Только данный тип"
-#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
-#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57
+#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99
#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
msgid "Type:"
msgstr "Тип:"
@@ -3377,7 +3410,7 @@
msgid "URI_location"
msgstr "URI системы исполнения"
-#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
+#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476
#, python-format
msgid "Unable to define PDO mapping for node %02x"
msgstr "Невозможно определить отображение PDO для узла %02x"
@@ -3387,10 +3420,10 @@
msgid "Unable to get Xenomai's %s \n"
msgstr "Невозможно получить Xenomai %s\n"
-#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
-#, python-format
-msgid "Undefined block type \"%s\" in \"%s\" POU"
-msgstr "Неопределенный тип блока \"%s\" в POU \"%s\""
+#: ../PLCGenerator.py:953 ../PLCGenerator.py:1206
+#, python-brace-format
+msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
+msgstr "Неопределенный тип блока \"{a1}\" в POU \"{a2}\""
#: ../PLCGenerator.py:254
#, python-format
@@ -3405,21 +3438,21 @@
msgid "Unknown"
msgstr "Неизвестно"
-#: ../editors/Viewer.py:389
+#: ../editors/Viewer.py:393
#, python-format
msgid "Unknown variable \"%s\" for this POU!"
msgstr "Неизвестная переменная \"%s\" для этого POU!"
#: ../ProjectController.py:329 ../ProjectController.py:330
msgid "Unnamed"
-msgstr ""
+msgstr "Unnamed"
#: ../PLCControler.py:636
#, python-format
msgid "Unnamed%d"
-msgstr ""
-
-#: ../controls/VariablePanel.py:283
+msgstr "Unnamed%d"
+
+#: ../controls/VariablePanel.py:284
#, python-format
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
msgid "User Data Types"
msgstr "Пользовательские типы данных"
@@ -3460,22 +3493,28 @@
msgid "Values:"
msgstr "Значения:"
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
-#: ../editors/Viewer.py:2082
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526
+#: ../editors/Viewer.py:2365
msgid "Variable"
msgstr "Переменная"
+#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360
+#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343
+#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329
+msgid "Variable Drop"
+msgstr "Перетаскивание переменной"
+
#: ../dialogs/FBDVariableDialog.py:63
msgid "Variable Properties"
msgstr "Свойства переменных"
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py: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 "Variable class"
-msgstr ""
-
-#: ../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 @@
msgid "Vertical:"
msgstr "Вертикальный:"
-#: ../connectors/WAMP/__init__.py:88
+#: ../connectors/WAMP/__init__.py:91
#, python-format
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
#, python-format
msgid "WAMP connection to '%s' failed.\n"
msgstr "Не удалось установить WAMP подключение к %s.\n"
#: ../wxglade_hmi/wxglade_hmi.py:35
msgid "WXGLADE GUI"
-msgstr ""
+msgstr "WXGLADE GUI"
#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891
msgid "Warning"
@@ -3526,7 +3565,7 @@
msgstr "Ширина:"
msgid "Win32"
-msgstr ""
+msgstr "Win32"
#: ../dialogs/FindInPouDialog.py:95
msgid "Wrap search"
@@ -3538,13 +3577,13 @@
#: ../features.py:34
msgid "WxGlade GUI"
-msgstr ""
+msgstr "WxGlade GUI"
msgid "XenoConfig"
msgstr "Настройки Xenomai"
msgid "Xenomai"
-msgstr ""
+msgstr "Xenomai"
#: ../svgui/svgui.py:139
msgid ""
@@ -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!"
msgstr "Введите имя!"
@@ -3605,10 +3644,10 @@
msgid "error: %s\n"
msgstr "ошибка: %s\n"
-#: ../util/ProcessLogger.py:170
-#, python-format
-msgid "exited with status %s (pid %s)\n"
-msgstr "завершился с кодом %s (pid %s)\n"
+#: ../util/ProcessLogger.py:169
+#, python-brace-format
+msgid "exited with status {a1} (pid {a2})\n"
+msgstr "завершился с кодом {a1} (pid {a2})\n"
#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398
msgid "file : "
@@ -3677,6 +3716,10 @@
msgid "type"
msgstr "тип"
+#: ../Beremiz.py:126
+msgid "update info unavailable."
+msgstr "информация об обновлениях недоступна."
+
msgid "variable"
msgstr "переменная"
@@ -3688,6 +3731,44 @@
msgid "warning: %s\n"
msgstr "предупреждение: %s\n"
+#: ../PLCControler.py:970
+#, python-brace-format
+msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
+msgstr "{a1} \"{a2}\" не может быть вставлен как {a3}."
+
+#: ../ConfigTreeNode.py:56
+#, python-brace-format
+msgid ""
+"{a1} XML file doesn't follow XSD schema at line %{a2}:\n"
+"{a3}"
+msgstr ""
+"{a1} XML файл не следует XSD-схеме в строке {a2}:\n"
+"{a3}"
+
+#~ msgid ""
+#~ "\n"
+#~ "An error has occurred.\n"
+#~ "\n"
+#~ "Click OK to save an error report.\n"
+#~ "\n"
+#~ "Please be kind enough to send this file to:\n"
+#~ "edouard.tisserant@gmail.com\n"
+#~ "\n"
+#~ "Error:\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Произошла ошибка.\n"
+#~ "\n"
+#~ "Нажмите OK, чтобы сохранить репорт об ошибке.\n"
+#~ "\n"
+#~ "Будьте так добры, пошлите этот файл:\n"
+#~ "edouard.tisserant@gmail.com\n"
+#~ "\n"
+#~ "Ошибка:\n"
+
+#~ msgid " : "
+#~ msgstr " : "
+
#~ msgid "\"%s\" element can't be pasted here!!!"
#~ msgstr "Элемент \"%s\" не может быть вставлен сюда!!!"
@@ -3706,6 +3787,9 @@
#~ msgid "Description"
#~ msgstr "Описание"
+#~ 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 @@
msgstr ""
"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
-msgid ""
-"\n"
-"An error has occurred.\n"
-"\n"
-"Click OK to save an error report.\n"
-"\n"
-"Please be kind enough to send this file to:\n"
-"edouard.tisserant@gmail.com\n"
-"\n"
-"Error:\n"
-msgstr ""
-
-#: ../Beremiz.py:1178
+#: ../PLCOpenEditor.py:408 ../Beremiz.py:1182
#, python-format
msgid ""
"\n"
@@ -40,7 +27,7 @@
"Please be kind enough to send this file to:\n"
"beremiz-devel@lists.sourceforge.net\n"
"\n"
-"You should now restart Beremiz.\n"
+"You should now restart program.\n"
"\n"
"Traceback:\n"
msgstr ""
@@ -69,10 +56,6 @@
msgid " Temp"
msgstr ""
-#: ../PLCOpenEditor.py:418
-msgid " : "
-msgstr ""
-
#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:66
#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113
#, python-format
@@ -83,22 +66,22 @@
msgid " generation failed !\n"
msgstr ""
-#: ../plcopen/plcopen.py:888
+#: ../plcopen/plcopen.py:890
#, python-format
msgid "\"%s\" Data Type doesn't exist !!!"
msgstr ""
-#: ../plcopen/plcopen.py:906
+#: ../plcopen/plcopen.py:908
#, python-format
msgid "\"%s\" POU already exists !!!"
msgstr ""
-#: ../plcopen/plcopen.py:927
+#: ../plcopen/plcopen.py:929
#, python-format
msgid "\"%s\" POU doesn't exist !!!"
msgstr ""
-#: ../editors/Viewer.py:242
+#: ../editors/Viewer.py:246
#, python-format
msgid "\"%s\" can't use itself!"
msgstr ""
@@ -119,40 +102,30 @@
msgstr ""
#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:219
-#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:258
-#: ../editors/Viewer.py:326 ../editors/Viewer.py:350 ../editors/Viewer.py:370
+#: ../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
#, python-format
msgid "\"%s\" element for this pou already exists!"
msgstr ""
-#: ../Beremiz.py:984
+#: ../Beremiz.py:988
#, python-format
msgid "\"%s\" folder is not a valid Beremiz project\n"
msgstr ""
-#: ../PLCGenerator.py:1091
-#, python-format
-msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
-msgstr ""
-
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
-#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
+#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py: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
#: ../IDEFrame.py:1593
#, python-format
msgid "\"%s\" is a keyword. It can't be used!"
msgstr ""
-#: ../editors/Viewer.py:246
-#, python-format
-msgid "\"%s\" is already used by \"%s\"!"
-msgstr ""
-
-#: ../plcopen/plcopen.py:2414
+#: ../plcopen/plcopen.py:2416
#, python-format
msgid "\"%s\" is an invalid value!"
msgstr ""
@@ -162,11 +135,11 @@
msgid "\"%s\" is not a valid folder!"
msgstr ""
-#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
-#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py: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
#, python-format
msgid "\"%s\" is not a valid identifier!"
msgstr ""
@@ -177,26 +150,16 @@
msgstr ""
#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122
-#: ../editors/Viewer.py:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341
-#: ../editors/Viewer.py:363 ../editors/TextViewer.py: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
#: ../IDEFrame.py:1611
#, python-format
msgid "\"%s\" pou already exists!"
msgstr ""
-#: ../plcopen/plcopen.py:500
-#, python-format
-msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
-msgstr ""
-
-#: ../plcopen/plcopen.py:517
-#, python-format
-msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
-msgstr ""
-
-#: ../dialogs/SFCStepNameDialog.py:57
+#: ../dialogs/SFCStepNameDialog.py:58
#, python-format
msgid "\"%s\" step already exists!"
msgstr ""
@@ -218,17 +181,65 @@
"Right value must be greater than left value."
msgstr ""
-#: ../PLCControler.py:970
-#, python-format
-msgid "%s \"%s\" can't be pasted as a %s."
-msgstr ""
-
-#: ../PLCControler.py:1530
+#: ../PLCGenerator.py:1093
+#, python-brace-format
+msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected"
+msgstr ""
+
+#: ../editors/Viewer.py:250
+#, python-brace-format
+msgid "\"{a1}\" is already used by \"{a2}\"!"
+msgstr ""
+
+#: ../plcopen/plcopen.py:500
+#, python-brace-format
+msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!"
+msgstr ""
+
+#: ../plcopen/plcopen.py:518
+#, python-brace-format
+msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:578
+#, python-format
+msgid "%03gms"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:569
+#, python-format
+msgid "%dd"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:56
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:570
+#, python-format
+msgid "%dh"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:55
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:571
+#, python-format
+msgid "%dm"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:53
+#, python-format
+msgid "%dms"
+msgstr ""
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:54
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:572
+#, python-format
+msgid "%ds"
+msgstr ""
+
+#: ../PLCControler.py:1531
#, python-format
msgid "%s Data Types"
msgstr ""
-#: ../PLCControler.py:1513
+#: ../PLCControler.py:1514
#, python-format
msgid "%s POUs"
msgstr ""
@@ -238,22 +249,15 @@
msgid "%s Profile"
msgstr ""
-#: ../ConfigTreeNode.py:56
-#, python-format
-msgid ""
-"%s XML file doesn't follow XSD schema at line %d:\n"
-"%s"
-msgstr ""
-
-#: ../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
#, python-format
msgid "%s body don't have instances!"
msgstr ""
-#: ../plcopen/plcopen.py:1702 ../plcopen/plcopen.py:1709
-#: ../plcopen/plcopen.py:1716
+#: ../plcopen/plcopen.py:1704 ../plcopen/plcopen.py:1711
+#: ../plcopen/plcopen.py:1718
#, python-format
msgid "%s body don't have text!"
msgstr ""
@@ -311,7 +315,7 @@
msgid "&Properties"
msgstr ""
-#: ../Beremiz.py:323
+#: ../Beremiz.py:324
msgid "&Recent Projects"
msgstr ""
@@ -320,18 +324,18 @@
msgstr ""
#: ../controls/SearchResultPanel.py:252
-#, python-format
-msgid "'%s' - %d match in project"
+#, python-brace-format
+msgid "'{a1}' - {a2} match in project"
msgstr ""
#: ../controls/SearchResultPanel.py:254
-#, python-format
-msgid "'%s' - %d matches in project"
-msgstr ""
-
-#: ../connectors/PYRO/__init__.py:86
-#, python-format
-msgid "'%s' is located at %s\n"
+#, python-brace-format
+msgid "'{a1}' - {a2} matches in project"
+msgstr ""
+
+#: ../connectors/PYRO/__init__.py:90
+#, python-brace-format
+msgid "'{a1}' is located at {a2}\n"
msgstr ""
#: ../controls/SearchResultPanel.py:304
@@ -353,19 +357,19 @@
msgid ". "
msgstr ""
-#: ../controls/LogViewer.py:278
+#: ../controls/LogViewer.py:279
msgid "1d"
msgstr ""
-#: ../controls/LogViewer.py:279
+#: ../controls/LogViewer.py:280
msgid "1h"
msgstr ""
-#: ../controls/LogViewer.py:280
+#: ../controls/LogViewer.py:281
msgid "1m"
msgstr ""
-#: ../controls/LogViewer.py:281
+#: ../controls/LogViewer.py:282
msgid "1s"
msgstr ""
@@ -375,23 +379,23 @@
msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
msgstr ""
-#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouTransitionDialog.py:103
-#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouActionDialog.py:100
-#: ../controls/VariablePanel.py: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
#, python-format
msgid "A POU named \"%s\" already exists!"
msgstr ""
#: ../ConfigTreeNode.py:424
-#, python-format
-msgid "A child named \"%s\" already exist -> \"%s\"\n"
-msgstr ""
-
-#: ../dialogs/BrowseLocationsDialog.py:211
+#, python-brace-format
+msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n"
+msgstr ""
+
+#: ../dialogs/BrowseLocationsDialog.py:216
msgid "A location must be selected!"
msgstr ""
-#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:753
+#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755
#: ../IDEFrame.py:1628 ../IDEFrame.py:1639
#, python-format
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!"
msgstr ""
-#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:380
+#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381
msgid "About"
msgstr ""
@@ -410,11 +414,11 @@
msgid "Absolute number"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42
msgid "Action"
msgstr ""
-#: ../editors/Viewer.py:551 ../editors/Viewer.py:2077
+#: ../editors/Viewer.py:555 ../editors/Viewer.py:2336
msgid "Action Block"
msgstr ""
@@ -426,7 +430,7 @@
msgid "Action Name:"
msgstr ""
-#: ../plcopen/plcopen.py:1361
+#: ../plcopen/plcopen.py:1363
#, python-format
msgid "Action with name %s doesn't exist!"
msgstr ""
@@ -439,12 +443,12 @@
msgid "Actions:"
msgstr ""
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091
msgid "Active"
msgstr ""
#: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101
-#: ../editors/Viewer.py:584 ../Beremiz.py:1047
+#: ../editors/Viewer.py:588 ../Beremiz.py:1051
msgid "Add"
msgstr ""
@@ -464,11 +468,11 @@
msgid "Add DataType"
msgstr ""
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:513
msgid "Add Divergence Branch"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:115
+#: ../dialogs/DiscoveryDialog.py:116
msgid "Add IP"
msgstr ""
@@ -488,19 +492,19 @@
msgid "Add Transition"
msgstr ""
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:500
msgid "Add Wire Segment"
msgstr ""
-#: ../editors/SFCViewer.py:359
+#: ../editors/SFCViewer.py:433
msgid "Add a new initial step"
msgstr ""
-#: ../editors/Viewer.py:2681 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2697 ../editors/SFCViewer.py:770
msgid "Add a new jump"
msgstr ""
-#: ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:455
msgid "Add a new step"
msgstr ""
@@ -528,7 +532,7 @@
msgid "Add task"
msgstr ""
-#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:448
+#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450
msgid "Add variable"
msgstr ""
@@ -540,18 +544,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
msgid "Alignment"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:42
-#: ../dialogs/BrowseLocationsDialog.py:135
-#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../dialogs/BrowseLocationsDialog.py:39
+#: ../dialogs/BrowseLocationsDialog.py:47
+#: ../dialogs/BrowseLocationsDialog.py:140
+#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298
#: ../controls/VariablePanel.py:70
msgid "All"
msgstr ""
@@ -560,7 +564,7 @@
msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
msgstr ""
-#: ../ProjectController.py:1579
+#: ../ProjectController.py:1607
msgid "Already connected. Please disconnect\n"
msgstr ""
@@ -590,7 +594,7 @@
msgstr ""
#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635
-#: ../controls/VariablePanel.py:827
+#: ../controls/VariablePanel.py:829
msgid "Array"
msgstr ""
@@ -622,7 +626,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
#, python-format
msgid "Bad location size : %s"
msgstr ""
@@ -632,11 +636,11 @@
msgid "Base Type:"
msgstr ""
-#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:785
+#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787
msgid "Base Types"
msgstr ""
-#: ../Beremiz.py:549
+#: ../Beremiz.py:553
msgid "Beremiz"
msgstr ""
@@ -668,7 +672,7 @@
msgid "Bitwise inverting"
msgstr ""
-#: ../editors/Viewer.py:521 ../editors/Viewer.py:2081
+#: ../editors/Viewer.py:525 ../editors/Viewer.py:2349
msgid "Block"
msgstr ""
@@ -680,28 +684,32 @@
msgid "Block name"
msgstr ""
-#: ../editors/Viewer.py:487
+#: ../editors/Viewer.py:491
msgid "Bottom"
msgstr ""
+#: ../ProjectController.py:1285
+msgid "Broken"
+msgstr ""
+
#: ../dialogs/BrowseValuesLibraryDialog.py:37
#, python-format
msgid "Browse %s values library"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:60
+#: ../dialogs/BrowseLocationsDialog.py:65
msgid "Browse Locations"
msgstr ""
-#: ../ProjectController.py:1724
+#: ../ProjectController.py:1753
msgid "Build"
msgstr ""
-#: ../ProjectController.py:1213
+#: ../ProjectController.py:1219
msgid "Build directory already clean\n"
msgstr ""
-#: ../ProjectController.py:1725
+#: ../ProjectController.py:1754
msgid "Build project into build folder"
msgstr ""
@@ -721,7 +729,7 @@
msgid "C code generated successfully.\n"
msgstr ""
-#: ../targets/toolchain_makefile.py:126
+#: ../targets/toolchain_makefile.py:122
msgid "C compilation failed.\n"
msgstr ""
@@ -750,8 +758,8 @@
msgid "CANopen support"
msgstr ""
-#: ../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 ""
@@ -773,21 +781,21 @@
msgid "Can't save project to file %s!"
msgstr ""
-#: ../controls/VariablePanel.py:311
+#: ../controls/VariablePanel.py:313
msgid "Can't set an initial value to a function block instance"
msgstr ""
-#: ../ConfigTreeNode.py:528
-#, python-format
-msgid "Cannot create child %s of type %s "
-msgstr ""
-
-#: ../ConfigTreeNode.py:453
+#: ../ConfigTreeNode.py:529
+#, python-brace-format
+msgid "Cannot create child {a1} of type {a2} "
+msgstr ""
+
+#: ../ConfigTreeNode.py:454
#, python-format
msgid "Cannot find lower free IEC channel than %d\n"
msgstr ""
-#: ../connectors/PYRO/__init__.py:127
+#: ../connectors/PYRO/__init__.py:131
msgid "Cannot get PLC status - connection failed.\n"
msgstr ""
@@ -795,16 +803,16 @@
msgid "Cannot open/parse VARIABLES.csv!\n"
msgstr ""
-#: ../canfestival/config_utils.py:372
-#, python-format
-msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:374
+#, python-brace-format
+msgid "Cannot set bit offset for non bool '{a1}' variable (ID:{a2},Idx:{a3},sIdx:{a4}))"
msgstr ""
#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:90
msgid "Case sensitive"
msgstr ""
-#: ../editors/Viewer.py:482
+#: ../editors/Viewer.py:486
msgid "Center"
msgstr ""
@@ -845,7 +853,7 @@
msgid "Choose a file"
msgstr ""
-#: ../Beremiz.py:921 ../Beremiz.py:956
+#: ../Beremiz.py:925 ../Beremiz.py:960
msgid "Choose a project"
msgstr ""
@@ -870,7 +878,7 @@
msgid "Class"
msgstr ""
-#: ../controls/VariablePanel.py:439
+#: ../controls/VariablePanel.py:441
msgid "Class Filter:"
msgstr ""
@@ -878,19 +886,19 @@
msgid "Class:"
msgstr ""
-#: ../ProjectController.py:1728
+#: ../ProjectController.py:1757
msgid "Clean"
msgstr ""
-#: ../controls/LogViewer.py:317
+#: ../controls/LogViewer.py:318
msgid "Clean log messages"
msgstr ""
-#: ../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 ""
@@ -898,7 +906,7 @@
msgid "Clear Errors"
msgstr ""
-#: ../editors/Viewer.py:577
+#: ../editors/Viewer.py:582
msgid "Clear Execution Order"
msgstr ""
@@ -906,24 +914,24 @@
msgid "Close"
msgstr ""
-#: ../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
#: ../IDEFrame.py:1009
msgid "Close Project"
msgstr ""
-#: ../PLCOpenEditor.py:106 ../Beremiz.py:330
+#: ../PLCOpenEditor.py:106 ../Beremiz.py:331
msgid "Close Tab"
msgstr ""
-#: ../editors/Viewer.py:537 ../editors/Viewer.py:2092
+#: ../editors/Viewer.py:541 ../editors/Viewer.py:2357
msgid "Coil"
msgstr ""
-#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506
msgid "Comment"
msgstr ""
@@ -967,27 +975,27 @@
msgid "Configurations"
msgstr ""
-#: ../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
msgid "Connect"
msgstr ""
-#: ../ProjectController.py:1744
+#: ../ProjectController.py:1773
msgid "Connect to the target PLC"
msgstr ""
-#: ../ProjectController.py:1270
+#: ../ProjectController.py:1276
#, python-format
msgid "Connected to URI: %s"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523
-#: ../editors/Viewer.py:2083
+#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527
+#: ../editors/Viewer.py:2350
msgid "Connection"
msgstr ""
@@ -995,29 +1003,29 @@
msgid "Connection Properties"
msgstr ""
-#: ../ProjectController.py:1603
+#: ../ProjectController.py:1631
msgid "Connection canceled!\n"
msgstr ""
-#: ../ProjectController.py:1628
+#: ../ProjectController.py:1656
#, python-format
msgid "Connection failed to %s!\n"
msgstr ""
-#: ../connectors/PYRO/__init__.py:98
+#: ../connectors/PYRO/__init__.py:102
#, python-format
msgid "Connection to '%s' failed.\n"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1577
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1585
msgid "Connector"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:64
+#: ../dialogs/SFCStepDialog.py:65
msgid "Connectors:"
msgstr ""
-#: ../Beremiz.py:447
+#: ../Beremiz.py:448
msgid "Console"
msgstr ""
@@ -1025,7 +1033,7 @@
msgid "Constant"
msgstr ""
-#: ../editors/Viewer.py:533 ../editors/Viewer.py:2088
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2353
msgid "Contact"
msgstr ""
@@ -1033,7 +1041,7 @@
msgid "Content Description (optional):"
msgstr ""
-#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1578
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1586
msgid "Continuation"
msgstr ""
@@ -1053,7 +1061,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
#: ../IDEFrame.py:425
msgid "Copy"
msgstr ""
@@ -1074,11 +1082,11 @@
msgid "Cosine"
msgstr ""
-#: ../ConfigTreeNode.py:650
-#, python-format
+#: ../ConfigTreeNode.py:656
+#, python-brace-format
msgid ""
-"Could not add child \"%s\", type %s :\n"
-"%s\n"
+"Could not add child \"{a1}\", type {a2} :\n"
+"{a3}\n"
msgstr ""
#: ../py_ext/PythonFileCTNMixin.py:77
@@ -1086,33 +1094,33 @@
msgid "Couldn't import old %s file."
msgstr ""
-#: ../ConfigTreeNode.py:622
-#, python-format
+#: ../ConfigTreeNode.py:626
+#, python-brace-format
msgid ""
-"Couldn't load confnode base parameters %s :\n"
-" %s"
-msgstr ""
-
-#: ../ConfigTreeNode.py:638 ../CodeFileTreeNode.py:124
-#, python-format
+"Couldn't load confnode base parameters {a1} :\n"
+" {a2}"
+msgstr ""
+
+#: ../ConfigTreeNode.py:643 ../CodeFileTreeNode.py:124
+#, python-brace-format
msgid ""
-"Couldn't load confnode parameters %s :\n"
-" %s"
+"Couldn't load confnode parameters {a1} :\n"
+" {a2}"
msgstr ""
#: ../PLCControler.py:946
msgid "Couldn't paste non-POU object."
msgstr ""
+#: ../ProjectController.py:1573
+msgid "Couldn't start PLC !\n"
+msgstr ""
+
+#: ../ProjectController.py:1581
+msgid "Couldn't stop PLC !\n"
+msgstr ""
+
#: ../ProjectController.py:1545
-msgid "Couldn't start PLC !\n"
-msgstr ""
-
-#: ../ProjectController.py:1553
-msgid "Couldn't stop PLC !\n"
-msgstr ""
-
-#: ../ProjectController.py:1517
msgid "Couldn't stop debugger.\n"
msgstr ""
@@ -1160,7 +1168,7 @@
msgid "Create a new divergence"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:51
+#: ../dialogs/SFCDivergenceDialog.py:53
msgid "Create a new divergence or convergence"
msgstr ""
@@ -1196,7 +1204,7 @@
msgid "Credits"
msgstr ""
-#: ../editors/Viewer.py:592 ../IDEFrame.py:368 ../IDEFrame.py:424
+#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424
msgid "Cut"
msgstr ""
@@ -1249,7 +1257,7 @@
msgid "Days:"
msgstr ""
-#: ../ProjectController.py:1650
+#: ../ProjectController.py:1678
msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
msgstr ""
@@ -1257,17 +1265,17 @@
msgid "Debug instance"
msgstr ""
-#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3598
+#: ../editors/Viewer.py:1108 ../editors/Viewer.py:3614
#, python-format
msgid "Debug: %s"
msgstr ""
-#: ../ProjectController.py:1306
+#: ../ProjectController.py:1334
#, python-format
msgid "Debug: Unknown variable '%s'\n"
msgstr ""
-#: ../ProjectController.py:1304
+#: ../ProjectController.py:1332
#, python-format
msgid "Debug: Unsupported type to debug '%s'\n"
msgstr ""
@@ -1276,23 +1284,23 @@
msgid "Debugger"
msgstr ""
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1514
msgid "Debugger disabled\n"
msgstr ""
-#: ../ProjectController.py:1647
+#: ../ProjectController.py:1675
msgid "Debugger ready\n"
msgstr ""
-#: ../ProjectController.py:1519
+#: ../ProjectController.py:1547
msgid "Debugger stopped.\n"
msgstr ""
-#: ../editors/Viewer.py:568 ../Beremiz.py:1051 ../IDEFrame.py:1955
+#: ../editors/Viewer.py:572 ../Beremiz.py:1055 ../IDEFrame.py:1955
msgid "Delete"
msgstr ""
-#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:514
msgid "Delete Divergence Branch"
msgstr ""
@@ -1300,7 +1308,7 @@
msgid "Delete File"
msgstr ""
-#: ../editors/Viewer.py:497
+#: ../editors/Viewer.py:501
msgid "Delete Wire Segment"
msgstr ""
@@ -1322,7 +1330,7 @@
"The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
msgstr ""
-#: ../controls/VariablePanel.py:430
+#: ../controls/VariablePanel.py:432
msgid "Description:"
msgstr ""
@@ -1334,7 +1342,7 @@
msgid "Direction"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:85
+#: ../dialogs/BrowseLocationsDialog.py:90
msgid "Direction:"
msgstr ""
@@ -1342,15 +1350,19 @@
msgid "Directly"
msgstr ""
-#: ../ProjectController.py:1752
+#: ../ProjectController.py:1781
msgid "Disconnect"
msgstr ""
-#: ../ProjectController.py:1754
+#: ../ProjectController.py:1783
msgid "Disconnect from PLC"
msgstr ""
-#: ../editors/Viewer.py:552 ../editors/Viewer.py:2069
+#: ../ProjectController.py:1286
+msgid "Disconnected"
+msgstr ""
+
+#: ../editors/Viewer.py:556 ../editors/Viewer.py:2345
msgid "Divergence"
msgstr ""
@@ -1385,7 +1397,7 @@
msgid "EDS files (*.eds)|*.eds|All files|*.*"
msgstr ""
-#: ../editors/Viewer.py:566
+#: ../editors/Viewer.py:570
msgid "Edit Block"
msgstr ""
@@ -1401,7 +1413,7 @@
msgid "Edit Duration"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:49
+#: ../dialogs/SFCStepDialog.py:50
msgid "Edit Step"
msgstr ""
@@ -1417,7 +1429,7 @@
msgid "Edit array type properties"
msgstr ""
-#: ../editors/Viewer.py:2550 ../editors/Viewer.py:2961
+#: ../editors/Viewer.py:2566 ../editors/Viewer.py:2977
msgid "Edit comment"
msgstr ""
@@ -1429,19 +1441,19 @@
msgid "Edit item"
msgstr ""
-#: ../editors/Viewer.py:2925
+#: ../editors/Viewer.py:2941
msgid "Edit jump target"
msgstr ""
-#: ../ProjectController.py:1766
+#: ../ProjectController.py:1795
msgid "Edit raw IEC code added to code generated by PLCGenerator"
msgstr ""
-#: ../editors/SFCViewer.py:725
+#: ../editors/SFCViewer.py:799
msgid "Edit step name"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:50
+#: ../dialogs/SFCTransitionDialog.py:51
msgid "Edit transition"
msgstr ""
@@ -1449,7 +1461,7 @@
msgid "Editor ToolBar"
msgstr ""
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179
msgid "Editor selection"
msgstr ""
@@ -1457,6 +1469,10 @@
msgid "Elements :"
msgstr ""
+#: ../ProjectController.py:1284
+msgid "Empty"
+msgstr ""
+
#: ../IDEFrame.py:365
msgid "Enable Undo/Redo"
msgstr ""
@@ -1482,15 +1498,15 @@
msgstr ""
#: ../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
msgid "Error"
@@ -1541,7 +1557,7 @@
msgid "Error: No PLC built\n"
msgstr ""
-#: ../ProjectController.py:1622
+#: ../ProjectController.py:1650
#, python-format
msgid "Exception while connecting %s!\n"
msgstr ""
@@ -1595,11 +1611,11 @@
msgid "FBD"
msgstr ""
-#: ../ProjectController.py:1685
+#: ../ProjectController.py:1713
msgid "Failed : Must build before transfer.\n"
msgstr ""
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462
msgid "Falling Edge"
msgstr ""
@@ -1613,6 +1629,11 @@
msgid "Fatal : cannot get builder.\n"
msgstr ""
+#: ../Beremiz.py:118
+#, python-format
+msgid "Fetching %s"
+msgstr ""
+
#: ../dialogs/DurationEditorDialog.py:160
#, python-format
msgid "Field %s hasn't a valid value!"
@@ -1649,11 +1670,11 @@
msgid "Find:"
msgstr ""
-#: ../connectors/PYRO/__init__.py:159
+#: ../connectors/PYRO/__init__.py:163
msgid "Force runtime reload\n"
msgstr ""
-#: ../editors/Viewer.py:1536
+#: ../editors/Viewer.py:1544
msgid "Force value"
msgstr ""
@@ -1661,14 +1682,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
#, python-format
msgid "Form isn't complete. %s must be filled!"
msgstr ""
-#: ../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 ""
@@ -1694,7 +1715,7 @@
msgid "Function Block"
msgstr ""
-#: ../controls/VariablePanel.py:823
+#: ../controls/VariablePanel.py:825
msgid "Function Block Types"
msgstr ""
@@ -1702,11 +1723,11 @@
msgid "Function Blocks"
msgstr ""
-#: ../editors/Viewer.py:244
+#: ../editors/Viewer.py:248
msgid "Function Blocks can't be used in Functions!"
msgstr ""
-#: ../PLCControler.py:2336
+#: ../PLCControler.py:2337
#, python-format
msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
msgstr ""
@@ -1774,7 +1795,7 @@
msgid "IL"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:93
+#: ../dialogs/DiscoveryDialog.py:94
msgid "IP"
msgstr ""
@@ -1786,35 +1807,35 @@
msgid "Import SVG"
msgstr ""
-#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1563
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1571
#: ../controls/VariablePanel.py:71
msgid "InOut"
msgstr ""
-#: ../editors/Viewer.py:1087
+#: ../editors/Viewer.py:1091
msgid "Inactive"
msgstr ""
#: ../controls/VariablePanel.py:276
-#, python-format
-msgid "Incompatible data types between \"%s\" and \"%s\""
-msgstr ""
-
-#: ../controls/VariablePanel.py:285
-#, python-format
-msgid "Incompatible size of data between \"%s\" and \"%s\""
-msgstr ""
-
-#: ../controls/VariablePanel.py:281
+#, python-brace-format
+msgid "Incompatible data types between \"{a1}\" and \"{a2}\""
+msgstr ""
+
+#: ../controls/VariablePanel.py:282
#, python-format
msgid "Incompatible size of data between \"%s\" and \"BOOL\""
msgstr ""
+#: ../controls/VariablePanel.py:286
+#, python-brace-format
+msgid "Incompatible size of data between \"{a1}\" and \"{a2}\""
+msgstr ""
+
#: ../dialogs/ActionBlockDialog.py:38
msgid "Indicator"
msgstr ""
-#: ../editors/Viewer.py:548 ../editors/Viewer.py:2066
+#: ../editors/Viewer.py:552
msgid "Initial Step"
msgstr ""
@@ -1832,13 +1853,15 @@
msgid "Inkscape"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
+#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42
msgid "Inline"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
-#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py: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
msgid "Input"
msgstr ""
@@ -1850,7 +1873,7 @@
msgid "Insertion (into)"
msgstr ""
-#: ../plcopen/plcopen.py:1693
+#: ../plcopen/plcopen.py:1695
#, python-format
msgid "Instance with id %d doesn't exist!"
msgstr ""
@@ -1877,18 +1900,18 @@
msgid "Interval"
msgstr ""
-#: ../PLCControler.py:2324
+#: ../PLCControler.py:2325
msgid "Invalid plcopen element(s)!!!"
msgstr ""
-#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
-#, python-format
-msgid "Invalid type \"%s\"-> %d != %d for location\"%s\""
-msgstr ""
-
-#: ../dialogs/ForceVariableDialog.py:177
-#, python-format
-msgid "Invalid value \"%s\" for \"%s\" variable!"
+#: ../canfestival/config_utils.py:381
+#, python-brace-format
+msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location\"{a4}\""
+msgstr ""
+
+#: ../canfestival/config_utils.py:645
+#, python-brace-format
+msgid "Invalid type \"{a1}\"-> {a2} != {a3} for location \"{a4}\""
msgstr ""
#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
@@ -1903,18 +1926,23 @@
msgid "Invalid value \"%s\" for variable grid element"
msgstr ""
-#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
+#: ../editors/Viewer.py:233 ../editors/Viewer.py:236
#, python-format
msgid "Invalid value \"%s\" for viewer block"
msgstr ""
+#: ../dialogs/ForceVariableDialog.py:177
+#, python-brace-format
+msgid "Invalid value \"{a1}\" for \"{a2}\" variable!"
+msgstr ""
+
#: ../dialogs/DurationEditorDialog.py:121
msgid ""
"Invalid value!\n"
"You must fill a numeric value."
msgstr ""
-#: ../editors/Viewer.py:553 ../editors/Viewer.py:2070
+#: ../editors/Viewer.py:557 ../editors/Viewer.py:2334
msgid "Jump"
msgstr ""
@@ -1942,7 +1970,7 @@
msgid "Language:"
msgstr ""
-#: ../ProjectController.py:1691
+#: ../ProjectController.py:1719
msgid "Latest build already matches current target. Transfering anyway...\n"
msgstr ""
@@ -1954,11 +1982,11 @@
msgid "Launch a live Python shell"
msgstr ""
-#: ../editors/Viewer.py:481
+#: ../editors/Viewer.py:485
msgid "Left"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:61
+#: ../dialogs/LDPowerRailDialog.py:62
msgid "Left PowerRail"
msgstr ""
@@ -1990,7 +2018,7 @@
msgid "Linking :\n"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
+#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72
msgid "Local"
msgstr ""
@@ -1998,7 +2026,7 @@
msgid "Local entries"
msgstr ""
-#: ../ProjectController.py:1597
+#: ../ProjectController.py:1625
msgid "Local service discovery failed!\n"
msgstr ""
@@ -2006,7 +2034,7 @@
msgid "Location"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:67
+#: ../dialogs/BrowseLocationsDialog.py:72
msgid "Locations available:"
msgstr ""
@@ -2014,7 +2042,7 @@
msgid "Logarithm to base 10"
msgstr ""
-#: ../connectors/PYRO/__init__.py:90
+#: ../connectors/PYRO/__init__.py:94
#, python-format
msgid "MDNS resolution failure for '%s'\n"
msgstr ""
@@ -2031,9 +2059,9 @@
msgid "Master"
msgstr ""
-#: ../ConfigTreeNode.py:538
-#, python-format
-msgid "Max count (%d) reached for this confnode of type %s "
+#: ../ConfigTreeNode.py:539
+#, python-brace-format
+msgid "Max count ({a1}) reached for this confnode of type {a2} "
msgstr ""
#: ../plcopen/iec_std.csv:71
@@ -2044,7 +2072,9 @@
msgid "Maximum:"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289
+#: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98
+#: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351
msgid "Memory"
msgstr ""
@@ -2056,7 +2086,7 @@
msgid "Microseconds:"
msgstr ""
-#: ../editors/Viewer.py:486
+#: ../editors/Viewer.py:490
msgid "Middle"
msgstr ""
@@ -2084,9 +2114,9 @@
msgid "Modifier:"
msgstr ""
-#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
-#, python-format
-msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1222
+#, python-brace-format
+msgid "More than one connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
msgstr ""
#: ../dialogs/ActionBlockDialog.py:140
@@ -2133,11 +2163,11 @@
msgid "Move up"
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
msgid "Move variable up"
msgstr ""
@@ -2153,7 +2183,7 @@
msgid "My Computer:"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:91
+#: ../dialogs/DiscoveryDialog.py:92
msgid "NAME"
msgstr ""
@@ -2167,7 +2197,7 @@
msgid "Name must not be null!"
msgstr ""
-#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83
+#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83
#: ../dialogs/ConnectionDialog.py:75
msgid "Name:"
msgstr ""
@@ -2176,12 +2206,12 @@
msgid "Natural logarithm"
msgstr ""
-#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460
msgid "Negated"
msgstr ""
-#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:320
-#: ../Beremiz.py:355
+#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321
+#: ../Beremiz.py:356
msgid "New"
msgstr ""
@@ -2189,22 +2219,22 @@
msgid "New item"
msgstr ""
-#: ../editors/Viewer.py:455
+#: ../editors/Viewer.py:459
msgid "No Modifier"
msgstr ""
-#: ../ProjectController.py:1718
+#: ../ProjectController.py:1747
msgid "No PLC to transfer (did build succeed ?)\n"
msgstr ""
-#: ../PLCGenerator.py:1608
+#: ../PLCGenerator.py:1619
#, python-format
msgid "No body defined in \"%s\" POU"
msgstr ""
-#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
-#, python-format
-msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
+#: ../PLCGenerator.py:798 ../PLCGenerator.py:1233
+#, python-brace-format
+msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU"
msgstr ""
#: ../PLCOpenEditor.py:347
@@ -2213,14 +2243,14 @@
"Coming soon."
msgstr ""
-#: ../PLCGenerator.py:819
+#: ../PLCGenerator.py:821
#, python-format
msgid "No informations found for \"%s\" block"
msgstr ""
-#: ../PLCGenerator.py:1183
-#, python-format
-msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
+#: ../PLCGenerator.py:1186
+#, python-brace-format
+msgid "No output {a1} variable found in block {a2} in POU {a3}. Connection must be broken"
msgstr ""
#: ../controls/SearchResultPanel.py:169
@@ -2232,28 +2262,28 @@
msgid "No such SVG file: %s\n"
msgstr ""
-#: ../canfestival/config_utils.py:633
-#, python-format
-msgid "No such index/subindex (%x,%x) (variable %s)"
+#: ../canfestival/config_utils.py:639
+#, python-brace-format
+msgid "No such index/subindex ({a1},{a2}) (variable {a3})"
msgstr ""
#: ../canfestival/config_utils.py:362
-#, python-format
-msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
+#, python-brace-format
+msgid "No such index/subindex ({a1},{a2}) in ID : {a3} (variable {a4})"
msgstr ""
#: ../dialogs/BrowseValuesLibraryDialog.py:83
msgid "No valid value selected!"
msgstr ""
-#: ../PLCGenerator.py:1606
+#: ../PLCGenerator.py:1617
#, python-format
msgid "No variable defined in \"%s\" POU"
msgstr ""
#: ../canfestival/config_utils.py:355
-#, python-format
-msgid "Non existing node ID : %d (variable %s)"
+#, python-brace-format
+msgid "Non existing node ID : {a1} (variable {a2})"
msgstr ""
#: ../controls/VariablePanel.py:64
@@ -2264,16 +2294,16 @@
msgid "Normal"
msgstr ""
-#: ../canfestival/config_utils.py:384
-#, python-format
-msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
+#: ../canfestival/config_utils.py:389
+#, python-brace-format
+msgid "Not PDO mappable variable : '{a1}' (ID:{a2},Idx:{a3},sIdx:{a4}))"
msgstr ""
#: ../plcopen/iec_std.csv:80
msgid "Not equal to"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:78
+#: ../dialogs/SFCDivergenceDialog.py:89
msgid "Number of sequences:"
msgstr ""
@@ -2297,8 +2327,8 @@
msgid "Only Elements"
msgstr ""
-#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:322
-#: ../Beremiz.py:356
+#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323
+#: ../Beremiz.py:357
msgid "Open"
msgstr ""
@@ -2310,7 +2340,7 @@
msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime."
msgstr ""
-#: ../ProjectController.py:1770
+#: ../ProjectController.py:1799
msgid "Open a file explorer to manage project files"
msgstr ""
@@ -2334,9 +2364,11 @@
msgid "Other Profile"
msgstr ""
-#: ../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
msgid "Output"
msgstr ""
@@ -2358,7 +2390,7 @@
msgid "PLC :\n"
msgstr ""
-#: ../Beremiz.py:452
+#: ../Beremiz.py:453
msgid "PLC Log"
msgstr ""
@@ -2367,10 +2399,10 @@
msgstr ""
#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309
-#, python-format
+#, python-brace-format
msgid ""
-"PLC syntax error at line %d:\n"
-"%s"
+"PLC syntax error at line {a1}:\n"
+"{a2}"
msgstr ""
#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373
@@ -2388,7 +2420,7 @@
"Beremiz is an "
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:94
+#: ../dialogs/DiscoveryDialog.py:95
msgid "PORT"
msgstr ""
@@ -2408,17 +2440,17 @@
msgid "POU Type:"
msgstr ""
-#: ../connectors/PYRO/__init__.py:41
+#: ../connectors/PYRO/__init__.py:45
#, python-format
msgid "PYRO connecting to URI : %s\n"
msgstr ""
-#: ../connectors/PYRO/__init__.py:57
+#: ../connectors/PYRO/__init__.py:61
#, python-format
msgid "PYRO using certificates in '%s' \n"
msgstr ""
-#: ../PLCOpenEditor.py:118 ../Beremiz.py:335
+#: ../PLCOpenEditor.py:118 ../Beremiz.py:336
msgid "Page Setup"
msgstr ""
@@ -2435,7 +2467,7 @@
msgid "Parent instance"
msgstr ""
-#: ../editors/Viewer.py:594 ../IDEFrame.py:372 ../IDEFrame.py:426
+#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426
msgid "Paste"
msgstr ""
@@ -2447,12 +2479,12 @@
msgid "Pattern to search:"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:72
+#: ../dialogs/LDPowerRailDialog.py:73
msgid "Pin number:"
msgstr ""
-#: ../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 ""
@@ -2460,12 +2492,12 @@
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 ""
@@ -2482,15 +2514,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
msgid "Power Rail"
msgstr ""
-#: ../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
msgid "Preview"
msgstr ""
@@ -2498,8 +2530,8 @@
msgid "Preview:"
msgstr ""
-#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:339
-#: ../Beremiz.py:359
+#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340
+#: ../Beremiz.py:360
msgid "Print"
msgstr ""
@@ -2511,11 +2543,11 @@
msgid "Priority"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:88
+#: ../dialogs/SFCTransitionDialog.py:89
msgid "Priority:"
msgstr ""
-#: ../runtime/PLCObject.py:369
+#: ../runtime/PLCObject.py:370
#, python-format
msgid "Problem starting PLC : error %d"
msgstr ""
@@ -2553,7 +2585,7 @@
msgid "Programs"
msgstr ""
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:242
msgid "Programs can't be used by other POUs!"
msgstr ""
@@ -2566,7 +2598,7 @@
msgid "Project '%s':"
msgstr ""
-#: ../ProjectController.py:1769
+#: ../ProjectController.py:1798
msgid "Project Files"
msgstr ""
@@ -2582,7 +2614,7 @@
msgid "Project Version (optional):"
msgstr ""
-#: ../PLCControler.py:3157
+#: ../PLCControler.py:3158
msgid ""
"Project file syntax error:\n"
"\n"
@@ -2592,9 +2624,9 @@
msgid "Project properties"
msgstr ""
-#: ../ConfigTreeNode.py:564
-#, python-format
-msgid "Project tree layout do not match confnode.xml %s!=%s "
+#: ../ConfigTreeNode.py:566
+#, python-brace-format
+msgid "Project tree layout do not match confnode.xml {a1}!={a2} "
msgstr ""
#: ../dialogs/ConnectionDialog.py:94
@@ -2623,7 +2655,7 @@
msgid "Qualifier"
msgstr ""
-#: ../PLCOpenEditor.py:128 ../Beremiz.py:342 ../Beremiz_service.py:252
+#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:252
msgid "Quit"
msgstr ""
@@ -2643,7 +2675,7 @@
msgid "Range:"
msgstr ""
-#: ../ProjectController.py:1765
+#: ../ProjectController.py:1794
msgid "Raw IEC code"
msgstr ""
@@ -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."
msgstr ""
-#: ../Beremiz.py:1130
+#: ../Beremiz.py:1134
#, python-format
msgid "Really delete node '%s'?"
msgstr ""
@@ -2662,11 +2694,11 @@
msgid "Redo"
msgstr ""
-#: ../dialogs/SFCTransitionDialog.py:73
+#: ../dialogs/SFCTransitionDialog.py:74
msgid "Reference"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:432
+#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432
msgid "Refresh"
msgstr ""
@@ -2678,7 +2710,7 @@
msgid "Regular expressions"
msgstr ""
-#: ../editors/Viewer.py:1539
+#: ../editors/Viewer.py:1547
msgid "Release value"
msgstr ""
@@ -2686,7 +2718,7 @@
msgid "Remainder (modulo)"
msgstr ""
-#: ../Beremiz.py:1131
+#: ../Beremiz.py:1135
#, python-format
msgid "Remove %s node"
msgstr ""
@@ -2723,7 +2755,7 @@
msgid "Remove task"
msgstr ""
-#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:449
+#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451
msgid "Remove variable"
msgstr ""
@@ -2735,7 +2767,7 @@
msgid "Replace File"
msgstr ""
-#: ../editors/Viewer.py:498
+#: ../editors/Viewer.py:502
msgid "Replace Wire by connections"
msgstr ""
@@ -2747,7 +2779,7 @@
msgid "Reset"
msgstr ""
-#: ../editors/Viewer.py:578
+#: ../editors/Viewer.py:583
msgid "Reset Execution Order"
msgstr ""
@@ -2759,7 +2791,7 @@
msgid "Reset search result"
msgstr ""
-#: ../PLCControler.py:97 ../Beremiz.py:1062
+#: ../PLCControler.py:97 ../Beremiz.py:1066
msgid "Resources"
msgstr ""
@@ -2767,19 +2799,19 @@
msgid "Retain"
msgstr ""
-#: ../controls/VariablePanel.py:422
+#: ../controls/VariablePanel.py:424
msgid "Return Type:"
msgstr ""
-#: ../editors/Viewer.py:483
+#: ../editors/Viewer.py:487
msgid "Right"
msgstr ""
-#: ../dialogs/LDPowerRailDialog.py:62
+#: ../dialogs/LDPowerRailDialog.py:63
msgid "Right PowerRail"
msgstr ""
-#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461
msgid "Rising Edge"
msgstr ""
@@ -2801,7 +2833,7 @@
msgid "Rounding up/down"
msgstr ""
-#: ../ProjectController.py:1733
+#: ../ProjectController.py:1762
msgid "Run"
msgstr ""
@@ -2848,16 +2880,16 @@
msgid "SVGUI"
msgstr ""
-#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:326
-#: ../Beremiz.py:357
+#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327
+#: ../Beremiz.py:358
msgid "Save"
msgstr ""
-#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:358
+#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359
msgid "Save As..."
msgstr ""
-#: ../Beremiz.py:328
+#: ../Beremiz.py:329
msgid "Save as"
msgstr ""
@@ -2881,13 +2913,13 @@
msgid "Select All"
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
msgid "Select a variable class:"
msgstr ""
-#: ../ProjectController.py:1173
+#: ../ProjectController.py:1179
msgid "Select an editor:"
msgstr ""
@@ -2917,11 +2949,11 @@
"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:81
+#: ../dialogs/DiscoveryDialog.py:82
msgid "Service Discovery"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:84
+#: ../dialogs/DiscoveryDialog.py:85
msgid "Services available:"
msgstr ""
@@ -2937,7 +2969,7 @@
msgid "Shift right"
msgstr ""
-#: ../ProjectController.py:1759
+#: ../ProjectController.py:1788
msgid "Show IEC code generated by PLCGenerator"
msgstr ""
@@ -2949,7 +2981,7 @@
msgid "Show Master generated by config_utils"
msgstr ""
-#: ../ProjectController.py:1757
+#: ../ProjectController.py:1786
msgid "Show code"
msgstr ""
@@ -2969,7 +3001,7 @@
msgid "Single"
msgstr ""
-#: ../targets/toolchain_makefile.py:130
+#: ../targets/toolchain_makefile.py:126
msgid "Source didn't change, no build.\n"
msgstr ""
@@ -2981,7 +3013,7 @@
msgid "Standard function blocks"
msgstr ""
-#: ../ProjectController.py:1735 ../Beremiz_service.py:240
+#: ../ProjectController.py:1764 ../Beremiz_service.py:240
msgid "Start PLC"
msgstr ""
@@ -2990,19 +3022,23 @@
msgid "Start build in %s\n"
msgstr ""
-#: ../ProjectController.py:1542
+#: ../ProjectController.py:1282
+msgid "Started"
+msgstr ""
+
+#: ../ProjectController.py:1570
msgid "Starting PLC\n"
msgstr ""
-#: ../Beremiz.py:462
+#: ../Beremiz.py:463
msgid "Status ToolBar"
msgstr ""
-#: ../editors/Viewer.py:549 ../editors/Viewer.py:2067
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2333
msgid "Step"
msgstr ""
-#: ../ProjectController.py:1738
+#: ../ProjectController.py:1767
msgid "Stop"
msgstr ""
@@ -3010,11 +3046,15 @@
msgid "Stop PLC"
msgstr ""
-#: ../ProjectController.py:1740
+#: ../ProjectController.py:1769
msgid "Stop Running PLC"
msgstr ""
-#: ../ProjectController.py:1514
+#: ../ProjectController.py:1283
+msgid "Stopped"
+msgstr ""
+
+#: ../ProjectController.py:1542
msgid "Stopping debugger...\n"
msgstr ""
@@ -3042,7 +3082,7 @@
msgid "Syntax error in regular expression of pattern to search!"
msgstr ""
-#: ../dialogs/DiscoveryDialog.py:92
+#: ../dialogs/DiscoveryDialog.py:93
msgid "TYPE"
msgstr ""
@@ -3073,7 +3113,7 @@
msgid "The group of block must be coherent!"
msgstr ""
-#: ../Beremiz.py:636 ../IDEFrame.py:1011
+#: ../Beremiz.py:640 ../IDEFrame.py:1011
msgid "There are changes, do you want to save?"
msgstr ""
@@ -3130,31 +3170,31 @@
msgid "Time-of-day subtraction"
msgstr ""
-#: ../editors/Viewer.py:485
+#: ../editors/Viewer.py:489
msgid "Top"
msgstr ""
-#: ../ProjectController.py:1747
+#: ../ProjectController.py:1776
msgid "Transfer"
msgstr ""
-#: ../ProjectController.py:1749
+#: ../ProjectController.py:1778
msgid "Transfer PLC"
msgstr ""
-#: ../ProjectController.py:1714
+#: ../ProjectController.py:1742
msgid "Transfer completed successfully.\n"
msgstr ""
-#: ../ProjectController.py:1716
+#: ../ProjectController.py:1744
msgid "Transfer failed\n"
msgstr ""
-#: ../editors/Viewer.py:550 ../editors/Viewer.py:2068 ../editors/Viewer.py:2097
+#: ../editors/Viewer.py:554 ../editors/Viewer.py:2335 ../editors/Viewer.py:2362
msgid "Transition"
msgstr ""
-#: ../PLCGenerator.py:1499
+#: ../PLCGenerator.py:1506
#, python-format
msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
msgstr ""
@@ -3167,17 +3207,17 @@
msgid "Transition Name:"
msgstr ""
-#: ../PLCGenerator.py:1588
-#, python-format
-msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
-msgstr ""
-
-#: ../PLCGenerator.py:1579
-#, python-format
-msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
-msgstr ""
-
-#: ../plcopen/plcopen.py:1320
+#: ../PLCGenerator.py:1597
+#, python-brace-format
+msgid "Transition with content \"{a1}\" not connected to a next step in \"{a2}\" POU"
+msgstr ""
+
+#: ../PLCGenerator.py:1586
+#, python-brace-format
+msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU"
+msgstr ""
+
+#: ../plcopen/plcopen.py:1322
#, python-format
msgid "Transition with name %s doesn't exist!"
msgstr ""
@@ -3200,11 +3240,11 @@
msgid "Type"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:43
+#: ../dialogs/BrowseLocationsDialog.py:48
msgid "Type and derivated"
msgstr ""
-#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624
#, python-format
msgid "Type conflict for location \"%s\""
msgstr ""
@@ -3217,17 +3257,17 @@
msgid "Type infos:"
msgstr ""
-#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:49
msgid "Type strict"
msgstr ""
-#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
-#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57
+#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99
#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
msgid "Type:"
msgstr ""
-#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
+#: ../canfestival/config_utils.py:462 ../canfestival/config_utils.py:476
#, python-format
msgid "Unable to define PDO mapping for node %02x"
msgstr ""
@@ -3237,9 +3277,9 @@
msgid "Unable to get Xenomai's %s \n"
msgstr ""
-#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
-#, python-format
-msgid "Undefined block type \"%s\" in \"%s\" POU"
+#: ../PLCGenerator.py:953 ../PLCGenerator.py:1206
+#, python-brace-format
+msgid "Undefined block type \"{a1}\" in \"{a2}\" POU"
msgstr ""
#: ../PLCGenerator.py:254
@@ -3255,7 +3295,7 @@
msgid "Unknown"
msgstr ""
-#: ../editors/Viewer.py:389
+#: ../editors/Viewer.py:393
#, python-format
msgid "Unknown variable \"%s\" for this POU!"
msgstr ""
@@ -3269,7 +3309,7 @@
msgid "Unnamed%d"
msgstr ""
-#: ../controls/VariablePanel.py:283
+#: ../controls/VariablePanel.py:284
#, python-format
msgid "Unrecognized data size \"%s\""
msgstr ""
@@ -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."
msgstr ""
-#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:796
+#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798
msgid "User Data Types"
msgstr ""
@@ -3306,22 +3346,28 @@
msgid "Values:"
msgstr ""
-#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
-#: ../editors/Viewer.py:2082
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526
+#: ../editors/Viewer.py:2365
msgid "Variable"
msgstr ""
+#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360
+#: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343
+#: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329
+msgid "Variable Drop"
+msgstr ""
+
#: ../dialogs/FBDVariableDialog.py:63
msgid "Variable Properties"
msgstr ""
-#: ../editors/Viewer.py:284 ../editors/TextViewer.py: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 "Variable class"
msgstr ""
-#: ../editors/Viewer.py:391 ../editors/TextViewer.py:387
+#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387
msgid "Variable don't belong to this POU!"
msgstr ""
@@ -3337,16 +3383,16 @@
msgid "Vertical:"
msgstr ""
-#: ../connectors/WAMP/__init__.py:88
+#: ../connectors/WAMP/__init__.py:91
#, python-format
msgid "WAMP connecting to URL : %s\n"
msgstr ""
-#: ../connectors/WAMP/__init__.py:128
+#: ../connectors/WAMP/__init__.py:131
msgid "WAMP connection timeout"
msgstr ""
-#: ../connectors/WAMP/__init__.py:147
+#: ../connectors/WAMP/__init__.py:150
#, python-format
msgid "WAMP connection to '%s' failed.\n"
msgstr ""
@@ -3409,7 +3455,7 @@
msgid "You must select the wire where a contact should be added!"
msgstr ""
-#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45
+#: ../dialogs/SFCStepNameDialog.py:48 ../dialogs/PouNameDialog.py:46
msgid "You must type a name!"
msgstr ""
@@ -3430,9 +3476,9 @@
msgid "error: %s\n"
msgstr ""
-#: ../util/ProcessLogger.py:170
-#, python-format
-msgid "exited with status %s (pid %s)\n"
+#: ../util/ProcessLogger.py:169
+#, python-brace-format
+msgid "exited with status {a1} (pid {a2})\n"
msgstr ""
#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398
@@ -3487,11 +3533,27 @@
msgid "string right of"
msgstr ""
+#: ../Beremiz.py:126
+msgid "update info unavailable."
+msgstr ""
+
#: ../PLCOpenEditor.py:331
#, python-format
msgid "warning: %s\n"
msgstr ""
+#: ../PLCControler.py:970
+#, python-brace-format
+msgid "{a1} \"{a2}\" can't be pasted as a {a3}."
+msgstr ""
+
+#: ../ConfigTreeNode.py:56
+#, python-brace-format
+msgid ""
+"{a1} XML file doesn't follow XSD schema at line %{a2}:\n"
+"{a3}"
+msgstr ""
+
#: Extra XSD strings
msgid "CanFestivalSlaveNode"