# HG changeset patch # User Andrey Skvortsov # Date 1480606270 -10800 # Node ID 9277d31747447c62b6703053b08ff0f70565147f # Parent b1be424015228820650e12841d65eea718b6268e update Russian translation diff -r b1be42401522 -r 9277d3174744 i18n/Beremiz_ru_RU.po --- 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 \n" "Language-Team: Andrey Skvortsov \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 "Форма заполнена неполностью. Шаблон поиска должен быть заполнен!" diff -r b1be42401522 -r 9277d3174744 i18n/messages.pot --- 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 \n" "Language-Team: LANGUAGE \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" diff -r b1be42401522 -r 9277d3174744 locale/ru_RU/LC_MESSAGES/Beremiz.mo Binary file locale/ru_RU/LC_MESSAGES/Beremiz.mo has changed