diff -r 5df7b3d404e8 -r b5c0a10145f1 i18n/Beremiz_ru_RU.po --- a/i18n/Beremiz_ru_RU.po Thu Jun 22 16:08:50 2017 +0300 +++ b/i18n/Beremiz_ru_RU.po Thu Jun 22 16:43:38 2017 +0300 @@ -7,18 +7,18 @@ msgstr "" "Project-Id-Version: Beremiz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-09 15:28+0300\n" -"PO-Revision-Date: 2017-03-21 17:59+0300\n" +"POT-Creation-Date: 2017-06-21 18:30+0300\n" +"PO-Revision-Date: 2017-06-21 18:37+0300\n" "Last-Translator: Andrey Skvortsov \n" -"Language-Team: Andrey Skvortsov \n" +"Language-Team: Russian (Russia) (https://www.transifex.com/beremiz/teams/75746/ru_RU/)\n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Poedit 1.8.11\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#: ../PLCOpenEditor.py:408 ../Beremiz.py:1191 + +#: ../BeremizIDE.py:1094 ../PLCOpenEditor.py:418 #, python-format msgid "" "\n" @@ -67,107 +67,107 @@ msgid " Temp" msgstr " Временный" -#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/ProjectDialog.py:66 -#: ../dialogs/PouActionDialog.py:91 ../dialogs/PouDialog.py:113 +#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/ProjectDialog.py:69 +#: ../dialogs/PouActionDialog.py:92 ../dialogs/PouDialog.py:113 #, python-format msgid " and %s" msgstr "и %s" -#: ../ProjectController.py:1110 +#: ../ProjectController.py:1139 msgid " generation failed !\n" msgstr "неудачная генерация кода!\n" -#: ../plcopen/plcopen.py:881 +#: ../plcopen/plcopen.py:886 #, python-format msgid "\"%s\" Data Type doesn't exist !!!" msgstr "Тип данных \"%s\" не существует!!!" -#: ../plcopen/plcopen.py:899 +#: ../plcopen/plcopen.py:904 #, python-format msgid "\"%s\" POU already exists !!!" msgstr "POU \"%s\" уже существует!!!" -#: ../plcopen/plcopen.py:920 +#: ../plcopen/plcopen.py:925 #, python-format msgid "\"%s\" POU doesn't exist !!!" msgstr "POU \"%s\" не найден!!!" -#: ../editors/Viewer.py:246 +#: ../editors/Viewer.py:247 #, python-format msgid "\"%s\" can't use itself!" msgstr "\"%s\" не может использовать сам себя!!!" -#: ../IDEFrame.py:1651 ../IDEFrame.py:1670 +#: ../IDEFrame.py:1655 ../IDEFrame.py:1674 #, python-format msgid "\"%s\" config already exists!" msgstr "Конфигурация \"%s\" уже существует!!!" -#: ../plcopen/plcopen.py:467 +#: ../plcopen/plcopen.py:472 #, python-format msgid "\"%s\" configuration already exists !!!" msgstr "Конфигурация \"%s\" уже существует!!!" -#: ../IDEFrame.py:1601 +#: ../IDEFrame.py:1605 #, python-format msgid "\"%s\" data type already exists!" msgstr "Тип данных \"%s\" уже существует!!!" -#: ../dialogs/PouTransitionDialog.py:110 ../dialogs/BlockPreviewDialog.py:219 -#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:262 -#: ../editors/Viewer.py:330 ../editors/Viewer.py:354 ../editors/Viewer.py:374 +#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:220 +#: ../dialogs/PouActionDialog.py:103 ../editors/Viewer.py:263 +#: ../editors/Viewer.py:331 ../editors/Viewer.py:355 ../editors/Viewer.py:375 #: ../editors/TextViewer.py:272 ../editors/TextViewer.py:301 #: ../controls/VariablePanel.py:396 #, python-format msgid "\"%s\" element for this pou already exists!" msgstr "Элемент с именем \"%s\" уже существует в этом POU!!!" -#: ../Beremiz.py:994 +#: ../BeremizIDE.py:896 #, python-format msgid "\"%s\" folder is not a valid Beremiz project\n" msgstr "Директория \"%s\" не является проектом Beremiz\n" -#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106 -#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 -#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120 +#: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:101 +#: ../dialogs/BlockPreviewDialog.py:208 ../dialogs/PouNameDialog.py:50 +#: ../dialogs/PouActionDialog.py:99 ../dialogs/PouDialog.py:120 #: ../editors/ResourceEditor.py:449 ../editors/ResourceEditor.py:484 -#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:584 -#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:763 -#: ../IDEFrame.py:1592 +#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:587 +#: ../editors/CodeFileEditor.py:781 ../controls/VariablePanel.py:773 +#: ../IDEFrame.py:1596 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "\"%s\" является ключевым словом и не может быть использован!" -#: ../plcopen/plcopen.py:2412 +#: ../plcopen/plcopen.py:2417 #, python-format msgid "\"%s\" is an invalid value!" msgstr "\"%s\" недопустимое значение!" -#: ../PLCOpenEditor.py:339 ../PLCOpenEditor.py:381 +#: ../PLCOpenEditor.py:349 ../PLCOpenEditor.py:391 #, python-format msgid "\"%s\" is not a valid folder!" msgstr "\"%s\" не является директорией!" -#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104 -#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 -#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 +#: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:99 +#: ../dialogs/BlockPreviewDialog.py:204 ../dialogs/PouNameDialog.py:48 +#: ../dialogs/PouActionDialog.py:97 ../dialogs/PouDialog.py:118 #: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482 -#: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768 -#: ../controls/VariablePanel.py:761 ../IDEFrame.py:1590 +#: ../editors/DataTypeEditor.py:585 ../editors/CodeFileEditor.py:779 +#: ../controls/VariablePanel.py:771 ../IDEFrame.py:1594 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" неверный идентификатор!" -#: ../IDEFrame.py:2395 +#: ../IDEFrame.py:2399 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "\"%s\" используется более чем одним POU. Продолжить?" -#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122 -#: ../editors/Viewer.py:260 ../editors/Viewer.py:315 ../editors/Viewer.py:345 -#: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 +#: ../dialogs/BlockPreviewDialog.py:212 ../dialogs/PouDialog.py:122 +#: ../editors/Viewer.py:261 ../editors/Viewer.py:316 ../editors/Viewer.py:346 +#: ../editors/Viewer.py:368 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 #: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 -#: ../IDEFrame.py:1610 +#: ../IDEFrame.py:1614 #, python-format msgid "\"%s\" pou already exists!" msgstr "POU \"%s\" уже существует!" @@ -182,12 +182,12 @@ msgid "\"%s\" value already defined!" msgstr "\"%s\" значение уже задано!" -#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:745 +#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:743 #, python-format msgid "\"%s\" value isn't a valid array dimension!" msgstr "\"%s\" не является корректной размерностью для массива! " -#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:752 +#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:750 #, python-format msgid "" "\"%s\" value isn't a valid array dimension!\n" @@ -199,17 +199,17 @@ msgid "\"{a1}\" function cancelled in \"{a2}\" POU: No input connected" msgstr "Функция \"{a1}\" не используется в POU \"{a2}\": входы не подключены" -#: ../editors/Viewer.py:250 +#: ../editors/Viewer.py:251 #, python-brace-format msgid "\"{a1}\" is already used by \"{a2}\"!" msgstr "\"{a1}\" уже используется \"{a2}\"!" -#: ../plcopen/plcopen.py:491 +#: ../plcopen/plcopen.py:496 #, python-brace-format msgid "\"{a1}\" resource already exists in \"{a2}\" configuration !!!" msgstr "Ресурс \"{a1}\" уже существует в конфигурации \"{a2}\"!!!" -#: ../plcopen/plcopen.py:509 +#: ../plcopen/plcopen.py:514 #, python-brace-format msgid "\"{a1}\" resource doesn't exist in \"{a2}\" configuration !!!" msgstr "Ресурс \"{a1}\" отсутствует в конфигурации \"{a2}\"!!!" @@ -250,12 +250,12 @@ msgid "%ds" msgstr "%dc" -#: ../PLCControler.py:1531 +#: ../PLCControler.py:1533 #, python-format msgid "%s Data Types" msgstr "%s типы данных" -#: ../PLCControler.py:1514 +#: ../PLCControler.py:1516 #, python-format msgid "%s POUs" msgstr "%s POU" @@ -265,15 +265,15 @@ msgid "%s Profile" msgstr "%s профиль" -#: ../plcopen/plcopen.py:1645 ../plcopen/plcopen.py:1652 -#: ../plcopen/plcopen.py:1664 ../plcopen/plcopen.py:1672 -#: ../plcopen/plcopen.py:1682 +#: ../plcopen/plcopen.py:1650 ../plcopen/plcopen.py:1657 +#: ../plcopen/plcopen.py:1669 ../plcopen/plcopen.py:1677 +#: ../plcopen/plcopen.py:1687 #, python-format msgid "%s body don't have instances!" msgstr "Тело %s не содержит экземпляров!" -#: ../plcopen/plcopen.py:1700 ../plcopen/plcopen.py:1707 -#: ../plcopen/plcopen.py:1714 +#: ../plcopen/plcopen.py:1705 ../plcopen/plcopen.py:1712 +#: ../plcopen/plcopen.py:1719 #, python-format msgid "%s body don't have text!" msgstr "Тело %s не содержит никакой текст!" @@ -327,11 +327,11 @@ msgid "&Program" msgstr "&Программы" -#: ../PLCOpenEditor.py:125 +#: ../PLCOpenEditor.py:127 msgid "&Properties" msgstr "&Свойства" -#: ../Beremiz.py:324 +#: ../BeremizIDE.py:219 msgid "&Recent Projects" msgstr "&Недавние проекты" @@ -359,36 +359,20 @@ msgid "(%d matches)" msgstr "(%d совпадений)" -#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 ../PLCOpenEditor.py:409 msgid ", " msgstr ", " -#: ../dialogs/PouTransitionDialog.py:101 ../dialogs/PouActionDialog.py:93 +#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:94 #: ../dialogs/PouDialog.py:115 #, python-format msgid ", %s" msgstr ", %s" -#: ../PLCOpenEditor.py:394 +#: ../PLCOpenEditor.py:404 msgid ". " msgstr ". " -#: Extra TC6 documentation strings -msgid "0 - current time, 1 - load time from PDT" -msgstr "0 - текущее время, 1 - отклонение от PDT" - -msgid "0 - manual , 1 - automatic" -msgstr "0 - ручной, 1 - автоматический" - -msgid "0 - track X0, 1 - ramp to/track X1" -msgstr "0 - вход X0, 1 - нарастание до значения X1" - -msgid "0 = reset" -msgstr "0 = сброс" - -msgid "1 = integrate, 0 = hold" -msgstr "1 = интегрировать, 0 = остановка" - #: ../controls/LogViewer.py:279 msgid "1d" msgstr "1 день" @@ -405,15 +389,15 @@ msgid "1s" msgstr "1 сек" -#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1613 ../IDEFrame.py:1659 -#: ../IDEFrame.py:1678 +#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1617 ../IDEFrame.py:1663 +#: ../IDEFrame.py:1682 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "В POU присутствует элемент с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?" -#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:108 -#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 -#: ../controls/VariablePanel.py:765 ../IDEFrame.py:1627 ../IDEFrame.py:1640 +#: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:103 +#: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:101 +#: ../controls/VariablePanel.py:775 ../IDEFrame.py:1631 ../IDEFrame.py:1644 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "POU с именем \"%s\" уже существует!" @@ -423,7 +407,7 @@ msgid "A child named \"{a1}\" already exists -> \"{a2}\"\n" msgstr "Дочерний элемент с именем \"{a1}\" уже существует -> \"{a2}\"\n" -#: ../dialogs/BrowseLocationsDialog.py:216 +#: ../dialogs/BrowseLocationsDialog.py:218 msgid "A location must be selected!" msgstr "Необходимо выбрать размещение!" @@ -431,18 +415,18 @@ msgid "A task with the same name already exists!" msgstr "Задача с таким именем уже существует!" -#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:767 -#: ../IDEFrame.py:1629 ../IDEFrame.py:1642 +#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:777 +#: ../IDEFrame.py:1633 ../IDEFrame.py:1646 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "Переменная с именем \"%s\" уже существует в этом POU!" -#: ../editors/CodeFileEditor.py:774 +#: ../editors/CodeFileEditor.py:785 #, python-format msgid "A variable with \"%s\" as name already exists!" msgstr "Переменная с именем \"%s\" уже существует!" -#: ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:158 ../Beremiz.py:381 +#: ../BeremizIDE.py:283 ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:168 msgid "About" msgstr "О программе" @@ -450,15 +434,15 @@ msgid "Absolute number" msgstr "Абсолютный номер" -#: ../dialogs/SFCStepDialog.py:72 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCStepDialog.py:73 ../dialogs/ActionBlockDialog.py:43 msgid "Action" msgstr "Действие" -#: ../editors/Viewer.py:555 ../editors/Viewer.py:2356 +#: ../editors/Viewer.py:614 ../editors/Viewer.py:2392 msgid "Action Block" msgstr "Блок действия" -#: ../dialogs/PouActionDialog.py:81 +#: ../dialogs/PouActionDialog.py:82 msgid "Action Name" msgstr "Имя действия" @@ -466,12 +450,12 @@ msgid "Action Name:" msgstr "Имя действия:" -#: ../plcopen/plcopen.py:1359 +#: ../plcopen/plcopen.py:1364 #, python-format msgid "Action with name %s doesn't exist!" msgstr "Действие с именем %s не существует!" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Actions" msgstr "Действия" @@ -479,16 +463,16 @@ msgid "Actions:" msgstr "Действия:" -#: ../editors/Viewer.py:1110 +#: ../editors/Viewer.py:431 msgid "Active" msgstr "Активный" #: ../canfestival/SlaveEditor.py:80 ../canfestival/NetworkEditor.py:101 -#: ../editors/Viewer.py:588 ../Beremiz.py:1060 +#: ../BeremizIDE.py:964 ../editors/Viewer.py:647 msgid "Add" msgstr "Добавить" -#: ../IDEFrame.py:1889 ../IDEFrame.py:1924 +#: ../IDEFrame.py:1893 ../IDEFrame.py:1928 msgid "Add Action" msgstr "Добавить действие" @@ -496,23 +480,23 @@ msgid "Add C code accessing located variables synchronously" msgstr "Добавить C-код с синхронным доступом к локальным переменным" -#: ../IDEFrame.py:1872 +#: ../IDEFrame.py:1876 msgid "Add Configuration" msgstr "Добавить конфигурацию" -#: ../IDEFrame.py:1852 +#: ../IDEFrame.py:1856 msgid "Add DataType" msgstr "Добавить тип данных" -#: ../editors/Viewer.py:513 +#: ../editors/Viewer.py:572 msgid "Add Divergence Branch" msgstr "Добавить ветвление" -#: ../dialogs/DiscoveryDialog.py:116 +#: ../dialogs/DiscoveryDialog.py:117 msgid "Add IP" msgstr "Добавить IP адрес" -#: ../IDEFrame.py:1860 +#: ../IDEFrame.py:1864 msgid "Add POU" msgstr "Добавить POU" @@ -520,15 +504,15 @@ msgid "Add Python code executed asynchronously" msgstr "Добавить асинхронно вызываемый код на Python" -#: ../IDEFrame.py:1900 ../IDEFrame.py:1950 +#: ../IDEFrame.py:1904 ../IDEFrame.py:1954 msgid "Add Resource" msgstr "Добавить ресурс" -#: ../IDEFrame.py:1878 ../IDEFrame.py:1921 +#: ../IDEFrame.py:1882 ../IDEFrame.py:1925 msgid "Add Transition" msgstr "Добавить переход" -#: ../editors/Viewer.py:500 +#: ../editors/Viewer.py:559 msgid "Add Wire Segment" msgstr "Добавить провод" @@ -536,7 +520,7 @@ msgid "Add a new initial step" msgstr "Добавить новый исходный шаг" -#: ../editors/Viewer.py:2717 ../editors/SFCViewer.py:770 +#: ../editors/Viewer.py:2755 ../editors/SFCViewer.py:770 msgid "Add a new jump" msgstr "Добавить новый безусловный переход" @@ -568,7 +552,7 @@ msgid "Add task" msgstr "Добавить задачу" -#: ../editors/CodeFileEditor.py:658 ../controls/VariablePanel.py:450 +#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:450 msgid "Add variable" msgstr "Добавить переменную" @@ -576,22 +560,22 @@ msgid "Addition" msgstr "Сложение" -#: ../plcopen/definitions.py:47 +#: ../plcopen/definitions.py:49 msgid "Additional function blocks" msgstr "Дополнительные функциональные блоки" -#: ../editors/Viewer.py:571 +#: ../editors/Viewer.py:630 msgid "Adjust Block Size" msgstr "Скорректировать размер элемента" -#: ../editors/Viewer.py:1648 +#: ../editors/Viewer.py:1684 msgid "Alignment" msgstr "Выравнивание" -#: ../dialogs/BrowseLocationsDialog.py:39 -#: ../dialogs/BrowseLocationsDialog.py:47 -#: ../dialogs/BrowseLocationsDialog.py:140 -#: ../dialogs/BrowseLocationsDialog.py:143 ../controls/LogViewer.py:298 +#: ../dialogs/BrowseLocationsDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:48 +#: ../dialogs/BrowseLocationsDialog.py:141 +#: ../dialogs/BrowseLocationsDialog.py:144 ../controls/LogViewer.py:298 #: ../controls/VariablePanel.py:70 msgid "All" msgstr "Все" @@ -600,11 +584,11 @@ msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "Все файлы (*.*)|*.*|CSV files (*.csv)|*.csv" -#: ../ProjectController.py:1644 +#: ../ProjectController.py:1673 msgid "Already connected. Please disconnect\n" msgstr "Уже подключен. Пожалуйста, отключитесь сначала.\n" -#: ../editors/DataTypeEditor.py:594 +#: ../editors/DataTypeEditor.py:591 #, python-format msgid "An element named \"%s\" already exists in this structure!" msgstr "Поле с именем \"%s\" уже существует в данной структуре!" @@ -613,7 +597,7 @@ msgid "An instance with the same name already exists!" msgstr "Экземпляр задачи с таким именем уже существует!" -#: ../dialogs/ConnectionDialog.py:96 +#: ../dialogs/ConnectionDialog.py:100 msgid "Apply name modification to all continuations with the same name" msgstr "Переименовать все цепи с тем же самым именем" @@ -633,8 +617,8 @@ msgid "Arithmetic" msgstr "Математика" -#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 -#: ../controls/VariablePanel.py:841 +#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:633 +#: ../controls/VariablePanel.py:858 msgid "Array" msgstr "Массив" @@ -642,22 +626,19 @@ msgid "Assignment" msgstr "Присвоение" -#: ../dialogs/FBDVariableDialog.py:217 +#: ../dialogs/FBDVariableDialog.py:222 msgid "At least a variable or an expression must be selected!" msgstr "Переменная или выражение должно быть выбрано!" -#: ../controls/ProjectPropertiesPanel.py:99 +#: ../controls/ProjectPropertiesPanel.py:100 msgid "Author" msgstr "Автор" -#: ../controls/ProjectPropertiesPanel.py:96 +#: ../controls/ProjectPropertiesPanel.py:97 msgid "Author Name (optional):" msgstr "Имя автора (опционально):" -msgid "BUSY = 1 during ramping period" -msgstr "BUSY = 1 во время " - -#: ../dialogs/FindInPouDialog.py:79 +#: ../dialogs/FindInPouDialog.py:77 msgid "Backward" msgstr "Назад" @@ -674,19 +655,19 @@ msgid "Bad location size : %s" msgstr "Неправильный размер: %s" -#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:175 +#: ../dialogs/ArrayTypeDialog.py:54 ../editors/DataTypeEditor.py:175 #: ../editors/DataTypeEditor.py:205 ../editors/DataTypeEditor.py:297 msgid "Base Type:" msgstr "Базовый тип:" -#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:799 +#: ../editors/DataTypeEditor.py:623 ../controls/VariablePanel.py:816 msgid "Base Types" msgstr "Базовые типы" msgid "BaseParams" msgstr "Базовые параметры" -#: ../Beremiz.py:553 +#: ../BeremizIDE.py:455 msgid "Beremiz" msgstr "Beremiz" @@ -721,11 +702,11 @@ msgid "Bitwise inverting" msgstr "Битовое НЕ" -#: ../editors/Viewer.py:525 ../editors/Viewer.py:2369 +#: ../editors/Viewer.py:584 ../editors/Viewer.py:2405 msgid "Block" msgstr "Блок" -#: ../dialogs/FBDBlockDialog.py:59 +#: ../dialogs/FBDBlockDialog.py:60 msgid "Block Properties" msgstr "Свойства блока" @@ -733,40 +714,40 @@ msgid "Block name" msgstr "Имя блока" -#: ../editors/Viewer.py:491 +#: ../editors/Viewer.py:550 msgid "Bottom" msgstr "Низ" -#: ../ProjectController.py:1322 +#: ../ProjectController.py:1351 msgid "Broken" msgstr "Ошибка" -#: ../dialogs/BrowseValuesLibraryDialog.py:37 +#: ../dialogs/BrowseValuesLibraryDialog.py:38 #, python-format msgid "Browse %s values library" msgstr "Просмотр %s значений библиотеки" #: ../dialogs/BrowseLocationsDialog.py:65 msgid "Browse Locations" -msgstr "Просмотр директорий" - -#: ../ProjectController.py:1790 +msgstr "Просмотр адресов" + +#: ../ProjectController.py:1820 msgid "Build" msgstr "Сборка" -#: ../ProjectController.py:1256 +#: ../ProjectController.py:1285 msgid "Build directory already clean\n" msgstr "Директория сборки уже пуста\n" -#: ../ProjectController.py:1791 +#: ../ProjectController.py:1821 msgid "Build project into build folder" msgstr "Сборка проекта в директории сборки" -#: ../ProjectController.py:1039 +#: ../ProjectController.py:1068 msgid "C Build crashed !\n" msgstr "Крэш во время сборки C-кода!\n" -#: ../ProjectController.py:1036 +#: ../ProjectController.py:1065 msgid "C Build failed.\n" msgstr "Ошибка сборки C-кода.\n" @@ -774,7 +755,7 @@ msgid "C code" msgstr "C код " -#: ../ProjectController.py:1114 +#: ../ProjectController.py:1143 msgid "C code generated successfully.\n" msgstr "C-код успешно сгенерирован.\n" @@ -782,7 +763,7 @@ msgid "C compilation failed.\n" msgstr "Ошибка компиляции.\n" -#: ../targets/toolchain_gcc.py:156 +#: ../targets/toolchain_gcc.py:192 #, python-format msgid "C compilation of %s failed.\n" msgstr "Ошибка компиляции %s.\n" @@ -819,16 +800,16 @@ msgid "CFLAGS" msgstr "CFLAGS" -#: ../plcopen/plcopen.py:1584 ../plcopen/plcopen.py:1598 -#: ../plcopen/plcopen.py:1622 ../plcopen/plcopen.py:1638 +#: ../plcopen/plcopen.py:1589 ../plcopen/plcopen.py:1603 +#: ../plcopen/plcopen.py:1627 ../plcopen/plcopen.py:1643 msgid "Can only generate execution order on FBD networks!" msgstr "Можно сгенерировать порядок исполнения только для FBD!" #: ../controls/VariablePanel.py:267 msgid "Can only give a location to local or global variables" -msgstr "Можно задать размещение только локальным или глобальным переменны" - -#: ../PLCOpenEditor.py:334 +msgstr "Можно задать адреса только локальным или глобальным переменны" + +#: ../PLCOpenEditor.py:344 #, python-format msgid "Can't generate program to file %s!" msgstr "Нельзя сгенерировать программу в файл %s!" @@ -837,7 +818,7 @@ msgid "Can't give a location to a function block instance" msgstr "Нельзя задать размещение для экземпляра функционального блока" -#: ../PLCOpenEditor.py:379 +#: ../PLCOpenEditor.py:389 #, python-format msgid "Can't save project to file %s!" msgstr "Нельзя сохранить проект в файл %s!" @@ -870,7 +851,7 @@ msgid "Cannot get PLC status - connection failed.\n" msgstr "Невозможно получить состояние ПЛК - ошибка подключения.\n" -#: ../ProjectController.py:902 +#: ../ProjectController.py:931 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "Не удалось открыть/прочитать VARIABLES.csv\n" @@ -879,31 +860,31 @@ 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:88 +#: ../dialogs/SearchInProjectDialog.py:59 ../dialogs/FindInPouDialog.py:86 msgid "Case sensitive" msgstr "Регистрозависимый" -#: ../editors/Viewer.py:486 +#: ../editors/Viewer.py:545 msgid "Center" msgstr "Центр" -#: ../Beremiz_service.py:266 +#: ../Beremiz_service.py:268 msgid "Change IP of interface to bind" msgstr "Сменить IP-адрес интерфейса для привязки сокета" -#: ../Beremiz_service.py:265 +#: ../Beremiz_service.py:267 msgid "Change Name" msgstr "Сменить имя" -#: ../IDEFrame.py:1942 +#: ../IDEFrame.py:1946 msgid "Change POU Type To" msgstr "Сменить тип POU на" -#: ../Beremiz_service.py:267 +#: ../Beremiz_service.py:269 msgid "Change Port Number" msgstr "Сменить номер порта" -#: ../Beremiz_service.py:268 +#: ../Beremiz_service.py:270 msgid "Change working directory" msgstr "Сменить рабочую директорию" @@ -911,37 +892,37 @@ msgid "Character string" msgstr "Строковые операции" -#: ../svgui/svgui.py:125 +#: ../svgui/svgui.py:128 msgid "Choose a SVG file" msgstr "Выберите SVG-файл" -#: ../ProjectController.py:501 +#: ../ProjectController.py:530 msgid "Choose a directory to save project" msgstr "Выберите директорию, чтобы сохранить проект" -#: ../canfestival/canfestival.py:160 ../PLCOpenEditor.py:292 -#: ../PLCOpenEditor.py:324 ../PLCOpenEditor.py:373 +#: ../canfestival/canfestival.py:162 ../PLCOpenEditor.py:302 +#: ../PLCOpenEditor.py:334 ../PLCOpenEditor.py:383 msgid "Choose a file" msgstr "Выберите файл" -#: ../Beremiz.py:931 ../Beremiz.py:966 +#: ../BeremizIDE.py:833 ../BeremizIDE.py:868 msgid "Choose a project" msgstr "Выберите проект" -#: ../dialogs/BrowseValuesLibraryDialog.py:42 +#: ../dialogs/BrowseValuesLibraryDialog.py:41 #, python-format msgid "Choose a value for %s:" msgstr "Выберите значение для %s:" -#: ../Beremiz_service.py:323 +#: ../Beremiz_service.py:325 msgid "Choose a working directory " msgstr "Выберите рабочую директорию" -#: ../ProjectController.py:408 +#: ../ProjectController.py:437 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "Выбранная директория не содержит программы. Это некорректный проект!" -#: ../ProjectController.py:375 +#: ../ProjectController.py:404 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "Выбранная директория не пуста и не может использоваться для нового проекта!" @@ -953,11 +934,11 @@ msgid "Class Filter:" msgstr "Фильтр класса:" -#: ../dialogs/FBDVariableDialog.py:69 +#: ../dialogs/FBDVariableDialog.py:70 msgid "Class:" msgstr "Класс:" -#: ../ProjectController.py:1794 +#: ../ProjectController.py:1824 msgid "Clean" msgstr "Очистить" @@ -965,11 +946,11 @@ msgid "Clean log messages" msgstr "Очистить лог" -#: ../ProjectController.py:1796 +#: ../ProjectController.py:1826 msgid "Clean project build folder" msgstr "Очистить директорию сборки проекта" -#: ../ProjectController.py:1253 +#: ../ProjectController.py:1282 msgid "Cleaning the build directory\n" msgstr "Очистка директории сборки\n" @@ -977,47 +958,52 @@ msgid "Clear Errors" msgstr "Очистить ошибки" -#: ../editors/Viewer.py:582 +#: ../editors/Viewer.py:641 msgid "Clear Execution Order" msgstr "Очистить порядок исполнения" -#: ../dialogs/SearchInProjectDialog.py:105 ../dialogs/FindInPouDialog.py:111 +#: ../dialogs/SearchInProjectDialog.py:103 ../dialogs/FindInPouDialog.py:109 msgid "Close" msgstr "Закрыть" -#: ../PLCOpenEditor.py:199 ../Beremiz.py:693 +#: ../BeremizIDE.py:595 ../PLCOpenEditor.py:209 msgid "Close Application" msgstr "Закрыть приложение" -#: ../PLCOpenEditor.py:108 ../Beremiz.py:333 ../Beremiz.py:637 -#: ../IDEFrame.py:1009 +#: ../BeremizIDE.py:228 ../BeremizIDE.py:539 ../PLCOpenEditor.py:110 +#: ../IDEFrame.py:1013 msgid "Close Project" msgstr "Закрыть проект" -#: ../PLCOpenEditor.py:106 ../Beremiz.py:331 +#: ../BeremizIDE.py:226 ../PLCOpenEditor.py:108 msgid "Close Tab" msgstr "Закрыть вкладку" -#: ../editors/Viewer.py:541 ../editors/Viewer.py:2377 +#: ../editors/Viewer.py:600 ../editors/Viewer.py:2413 msgid "Coil" msgstr "Катушка" msgid "Command" msgstr "Команда" -#: ../editors/Viewer.py:561 ../editors/LDViewer.py:506 +#: ../editors/Viewer.py:620 ../editors/LDViewer.py:506 msgid "Comment" msgstr "Комментарий" -#: ../dialogs/ProjectDialog.py:57 +#: ../BeremizIDE.py:276 ../BeremizIDE.py:279 ../PLCOpenEditor.py:161 +#: ../PLCOpenEditor.py:164 +msgid "Community support" +msgstr "Поддержка сообщества" + +#: ../dialogs/ProjectDialog.py:60 msgid "Company Name" msgstr "Имя компании" -#: ../controls/ProjectPropertiesPanel.py:94 +#: ../controls/ProjectPropertiesPanel.py:95 msgid "Company Name (required):" msgstr "Компания (обязательно):" -#: ../controls/ProjectPropertiesPanel.py:95 +#: ../controls/ProjectPropertiesPanel.py:96 msgid "Company URL (optional):" msgstr "Сайт компании (опционально):" @@ -1028,7 +1014,7 @@ msgid "Compiler" msgstr "Компилятор" -#: ../ProjectController.py:693 +#: ../ProjectController.py:722 msgid "Compiling IEC Program into C code...\n" msgstr "Компиляция МЭК-программы в C-код...\n" @@ -1036,7 +1022,7 @@ msgid "Concatenation" msgstr "Объединение" -#: ../editors/ConfTreeNodeEditor.py:229 +#: ../editors/ConfTreeNodeEditor.py:230 msgid "Config" msgstr "Конфигурация" @@ -1044,47 +1030,47 @@ msgid "Config variables" msgstr "Конфигурационные переменные" -#: ../dialogs/SearchInProjectDialog.py:39 +#: ../dialogs/SearchInProjectDialog.py:40 msgid "Configuration" msgstr "Конфигурация" -#: ../PLCControler.py:97 +#: ../PLCControler.py:99 msgid "Configurations" msgstr "Конфигурации" -#: ../editors/Viewer.py:307 ../editors/Viewer.py:337 ../editors/Viewer.py:359 +#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 #: ../editors/TextViewer.py:291 ../editors/TextViewer.py:342 #: ../editors/TextViewer.py:365 ../controls/VariablePanel.py:328 msgid "Confirm or change variable name" msgstr "Подтвердить или поменять имя переменной" -#: ../ProjectController.py:1809 +#: ../ProjectController.py:1839 msgid "Connect" msgstr "Подключиться" -#: ../ProjectController.py:1810 +#: ../ProjectController.py:1840 msgid "Connect to the target PLC" msgstr "Подключиться к целевому ПЛК" -#: ../ProjectController.py:1313 +#: ../ProjectController.py:1342 #, python-format msgid "Connected to URI: %s" msgstr "Подключен к URI: %s" -#: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 -#: ../editors/Viewer.py:2370 +#: ../dialogs/SFCTransitionDialog.py:77 ../editors/Viewer.py:586 +#: ../editors/Viewer.py:2406 msgid "Connection" msgstr "Подключение" -#: ../dialogs/ConnectionDialog.py:52 +#: ../dialogs/ConnectionDialog.py:53 msgid "Connection Properties" msgstr "Свойства подключения" -#: ../ProjectController.py:1668 +#: ../ProjectController.py:1697 msgid "Connection canceled!\n" msgstr "Подключение отменено!\n" -#: ../ProjectController.py:1693 +#: ../ProjectController.py:1722 #, python-format msgid "Connection failed to %s!\n" msgstr "Неудачное подключение к %s!\n" @@ -1098,15 +1084,15 @@ msgid "Connection to '%s' failed.\n" msgstr "Неудачное подключение к %s!\n" -#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1605 +#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1641 msgid "Connector" msgstr "Коннектор" -#: ../dialogs/SFCStepDialog.py:65 +#: ../dialogs/SFCStepDialog.py:66 msgid "Connectors:" msgstr "Коннекторы:" -#: ../Beremiz.py:448 +#: ../BeremizIDE.py:350 msgid "Console" msgstr "Консоль" @@ -1114,15 +1100,15 @@ msgid "Constant" msgstr "Константа" -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2373 +#: ../editors/Viewer.py:596 ../editors/Viewer.py:2409 msgid "Contact" msgstr "Контакт" -#: ../controls/ProjectPropertiesPanel.py:197 +#: ../controls/ProjectPropertiesPanel.py:198 msgid "Content Description (optional):" msgstr "Описание содержимого (опционально):" -#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1606 +#: ../dialogs/ConnectionDialog.py:66 ../editors/Viewer.py:1642 msgid "Continuation" msgstr "Продолжение" @@ -1142,12 +1128,12 @@ msgid "Conversion to time-of-day" msgstr "Преобразование во время суток" -#: ../editors/Viewer.py:597 ../controls/LogViewer.py:693 ../IDEFrame.py:370 +#: ../editors/Viewer.py:656 ../controls/LogViewer.py:704 ../IDEFrame.py:370 #: ../IDEFrame.py:425 msgid "Copy" msgstr "Копировать" -#: ../IDEFrame.py:1929 +#: ../IDEFrame.py:1933 msgid "Copy POU" msgstr "Копировать POU" @@ -1159,9 +1145,6 @@ msgid "Copy file from right folder to left" msgstr "Скопировать файл с правой директории в левую" -msgid "Copy of IN" -msgstr "Копия входа IN" - #: ../plcopen/iec_std.csv:28 msgid "Cosine" msgstr "Косинус" @@ -1175,7 +1158,7 @@ "Невозможно добавить дочерний элемент \"{a1}\", тип {a2}:\n" "{a3}\n" -#: ../py_ext/PythonFileCTNMixin.py:77 +#: ../py_ext/PythonFileCTNMixin.py:78 #, python-format msgid "Couldn't import old %s file." msgstr "Невозможно импортировать старый файл %s." @@ -1198,27 +1181,27 @@ "Невозможно загрузить параметры confnode {a1}:\n" " {a2}" -#: ../PLCControler.py:946 +#: ../PLCControler.py:948 msgid "Couldn't paste non-POU object." msgstr "Невозможно вставить не-POU." -#: ../ProjectController.py:1610 +#: ../ProjectController.py:1639 msgid "Couldn't start PLC !\n" msgstr "Невозможно запустить ПЛК!\n" -#: ../ProjectController.py:1618 +#: ../ProjectController.py:1647 msgid "Couldn't stop PLC !\n" msgstr "Невозможно остановить ПЛК!\n" -#: ../ProjectController.py:1582 +#: ../ProjectController.py:1611 msgid "Couldn't stop debugger.\n" msgstr "Невозможно остановить отладчик.\n" -#: ../svgui/svgui.py:47 +#: ../svgui/svgui.py:49 msgid "Create HMI" msgstr "Создать HMI" -#: ../dialogs/PouDialog.py:45 +#: ../dialogs/PouDialog.py:46 msgid "Create a new POU" msgstr "Создать новый POU" @@ -1282,7 +1265,7 @@ msgid "Create a new step" msgstr "Создать новый шаг" -#: ../dialogs/PouTransitionDialog.py:47 ../IDEFrame.py:156 +#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:156 msgid "Create a new transition" msgstr "Создать новый переход" @@ -1294,11 +1277,11 @@ msgid "Credits" msgstr "Благодарности" -#: ../Beremiz_service.py:432 +#: ../Beremiz_service.py:434 msgid "Current working directory :" msgstr "Текущая рабочая директория :" -#: ../editors/Viewer.py:596 ../IDEFrame.py:368 ../IDEFrame.py:424 +#: ../editors/Viewer.py:655 ../IDEFrame.py:368 ../IDEFrame.py:424 msgid "Cut" msgstr "Вырезать" @@ -1322,11 +1305,11 @@ msgid "DS-302 Profile" msgstr "Профиль DS-302" -#: ../dialogs/SearchInProjectDialog.py:35 +#: ../dialogs/SearchInProjectDialog.py:36 msgid "Data Type" msgstr "Тип данных" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Data Types" msgstr "Типы данных" @@ -1347,14 +1330,11 @@ msgid "Date subtraction" msgstr "Вычитание дат" -msgid "Datetime, current or relative to PDT" -msgstr "Текущие дата и время, абсолютные или относительные от PDT" - -#: ../dialogs/DurationEditorDialog.py:43 +#: ../dialogs/DurationEditorDialog.py:44 msgid "Days:" msgstr "Дни:" -#: ../ProjectController.py:1715 +#: ../ProjectController.py:1744 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "Отлаживаемая программа не соответствует программе в ПЛК - остановите/загрузите/запустите, чтобы разрешить отладку\n" @@ -1362,17 +1342,17 @@ msgid "Debug instance" msgstr "Отладка экземпляра" -#: ../editors/Viewer.py:1127 ../editors/Viewer.py:3664 +#: ../editors/Viewer.py:448 #, python-format msgid "Debug: %s" msgstr "Отладка: %s" -#: ../ProjectController.py:1371 +#: ../ProjectController.py:1400 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "Отладка: неизвестная переменная '%s'\n" -#: ../ProjectController.py:1369 +#: ../ProjectController.py:1398 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "Отладка: неподдерживамый отладкой тип '%s'\n" @@ -1381,23 +1361,23 @@ msgid "Debugger" msgstr "Отладчик" -#: ../ProjectController.py:1551 +#: ../ProjectController.py:1580 msgid "Debugger disabled\n" msgstr "Отладчик запрещен\n" -#: ../ProjectController.py:1712 +#: ../ProjectController.py:1741 msgid "Debugger ready\n" msgstr "Отладчик готов\n" -#: ../ProjectController.py:1584 +#: ../ProjectController.py:1613 msgid "Debugger stopped.\n" msgstr "Отладчик остановлен.\n" -#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1958 +#: ../BeremizIDE.py:967 ../editors/Viewer.py:631 ../IDEFrame.py:1962 msgid "Delete" msgstr "Удалить" -#: ../editors/Viewer.py:514 +#: ../editors/Viewer.py:573 msgid "Delete Divergence Branch" msgstr "Удалить ветвь" @@ -1405,7 +1385,7 @@ msgid "Delete File" msgstr "Удалить файл" -#: ../editors/Viewer.py:501 +#: ../editors/Viewer.py:560 msgid "Delete Wire Segment" msgstr "Удалить сегмент цепи" @@ -1421,25 +1401,23 @@ msgid "Derivation Type:" msgstr "Механизм создания типа:" -msgid "Derivative time constant" -msgstr "Постоянная времени дифференцирования" +#: ../editors/CodeFileEditor.py:744 +msgid "Description" +msgstr "Описание" #: ../controls/VariablePanel.py:432 msgid "Description:" msgstr "Описание:" -msgid "Differentiated output" -msgstr "Дифференцированный выход" - -#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:321 +#: ../dialogs/ArrayTypeDialog.py:60 ../editors/DataTypeEditor.py:321 msgid "Dimensions:" msgstr "Размеры:" -#: ../dialogs/FindInPouDialog.py:68 +#: ../dialogs/FindInPouDialog.py:66 msgid "Direction" msgstr "Направление" -#: ../dialogs/BrowseLocationsDialog.py:90 +#: ../dialogs/BrowseLocationsDialog.py:91 msgid "Direction:" msgstr "Направление:" @@ -1450,19 +1428,19 @@ msgid "Disable_Extensions" msgstr "Запретить расширения" -#: ../ProjectController.py:1818 +#: ../ProjectController.py:1848 msgid "Disconnect" msgstr "Отключиться" -#: ../ProjectController.py:1820 +#: ../ProjectController.py:1850 msgid "Disconnect from PLC" msgstr "Отключиться от ПЛК" -#: ../ProjectController.py:1323 +#: ../ProjectController.py:1352 msgid "Disconnected" msgstr "Отключено" -#: ../editors/Viewer.py:556 ../editors/Viewer.py:2365 +#: ../editors/Viewer.py:615 ../editors/Viewer.py:2401 msgid "Divergence" msgstr "Ветвление" @@ -1479,19 +1457,19 @@ msgid "Documentation" msgstr "Описание" -#: ../PLCOpenEditor.py:328 +#: ../PLCOpenEditor.py:338 msgid "Done" msgstr "Завершено" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Duration" msgstr "Длительность" -#: ../canfestival/canfestival.py:163 +#: ../canfestival/canfestival.py:165 msgid "EDS files (*.eds)|*.eds|All files|*.*" msgstr "Файлы EDS (*.eds)|*.eds|All files|*.*" -#: ../editors/Viewer.py:570 +#: ../editors/Viewer.py:629 msgid "Edit Block" msgstr "Редактировать блок" @@ -1507,11 +1485,11 @@ msgid "Edit Duration" msgstr "Редактировать длительность" -#: ../dialogs/SFCStepDialog.py:50 +#: ../dialogs/SFCStepDialog.py:51 msgid "Edit Step" msgstr "Редактировать шаг" -#: ../wxglade_hmi/wxglade_hmi.py:36 +#: ../wxglade_hmi/wxglade_hmi.py:38 msgid "Edit a WxWidgets GUI with WXGlade" msgstr "Редактировать WxWidgets GUI с помощью WXGlade" @@ -1519,11 +1497,11 @@ msgid "Edit action block properties" msgstr "Редактировать свойства блока действия" -#: ../dialogs/ArrayTypeDialog.py:45 +#: ../dialogs/ArrayTypeDialog.py:44 msgid "Edit array type properties" msgstr "Редактировать свойства массива" -#: ../editors/Viewer.py:2586 ../editors/Viewer.py:3015 +#: ../editors/Viewer.py:2624 ../editors/Viewer.py:3053 msgid "Edit comment" msgstr "Редактировать комментарий" @@ -1535,11 +1513,11 @@ msgid "Edit item" msgstr "Редактировать элемент" -#: ../editors/Viewer.py:2974 +#: ../editors/Viewer.py:3012 msgid "Edit jump target" msgstr "Редактирование безусловного перехода" -#: ../ProjectController.py:1832 +#: ../ProjectController.py:1862 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "Редактировать МЭК-код добавленный к коду сгенерированному PLCGenerator" @@ -1547,7 +1525,7 @@ msgid "Edit step name" msgstr "Редактировать имя шага" -#: ../dialogs/SFCTransitionDialog.py:51 +#: ../dialogs/SFCTransitionDialog.py:52 msgid "Edit transition" msgstr "Редактировать переход" @@ -1555,18 +1533,15 @@ msgid "Editor ToolBar" msgstr "Редактор панели инструментов" -#: ../ProjectController.py:1216 +#: ../ProjectController.py:1245 msgid "Editor selection" msgstr "Редактор выделения" -msgid "Elapsed time of ramp" -msgstr "Прошедшее время нарастания" - #: ../editors/DataTypeEditor.py:348 msgid "Elements :" msgstr "Элементы:" -#: ../ProjectController.py:1321 +#: ../ProjectController.py:1350 msgid "Empty" msgstr "Нет программы" @@ -1577,15 +1552,15 @@ msgid "Enabled" msgstr "Разрешено" -#: ../Beremiz_service.py:331 +#: ../Beremiz_service.py:333 msgid "Enter a name " msgstr "Введите имя" -#: ../Beremiz_service.py:316 +#: ../Beremiz_service.py:318 msgid "Enter a port number " msgstr "Введите номер порта" -#: ../Beremiz_service.py:307 +#: ../Beremiz_service.py:309 msgid "Enter the IP of the interface to bind" msgstr "Введите IP-адрес используемого интерфейса" @@ -1597,45 +1572,44 @@ msgid "Equal to" msgstr "Равно" -#: ../dialogs/ForceVariableDialog.py:179 +#: ../BeremizIDE.py:1106 ../dialogs/ForceVariableDialog.py:197 #: ../dialogs/SearchInProjectDialog.py:168 ../dialogs/SFCStepNameDialog.py:60 #: ../dialogs/DurationEditorDialog.py:121 -#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:112 -#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71 +#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107 +#: ../dialogs/BlockPreviewDialog.py:237 ../dialogs/ProjectDialog.py:74 #: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103 -#: ../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:420 ../PLCOpenEditor.py:430 -#: ../editors/ResourceEditor.py:436 ../editors/Viewer.py:423 +#: ../dialogs/PouNameDialog.py:54 ../dialogs/BrowseLocationsDialog.py:218 +#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:105 +#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:345 ../PLCOpenEditor.py:350 +#: ../PLCOpenEditor.py:430 ../PLCOpenEditor.py:440 +#: ../editors/ResourceEditor.py:436 ../editors/Viewer.py:424 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882 #: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550 -#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579 -#: ../editors/DataTypeEditor.py:584 ../editors/DataTypeEditor.py:594 -#: ../editors/DataTypeEditor.py:745 ../editors/DataTypeEditor.py:752 -#: ../editors/TextViewer.py:389 ../editors/CodeFileEditor.py:783 -#: ../ProjectController.py:343 ../ProjectController.py:471 -#: ../ProjectController.py:478 ../controls/FolderTree.py:217 +#: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:574 +#: ../editors/DataTypeEditor.py:743 ../editors/DataTypeEditor.py:750 +#: ../editors/TextViewer.py:389 ../editors/CodeFileEditor.py:767 +#: ../ProjectController.py:372 ../ProjectController.py:500 +#: ../ProjectController.py:507 ../controls/FolderTree.py:217 #: ../controls/DebugVariablePanel/DebugVariablePanel.py:166 #: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137 #: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:231 -#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:784 -#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1613 -#: ../IDEFrame.py:1654 ../IDEFrame.py:1659 ../IDEFrame.py:1673 -#: ../IDEFrame.py:1678 ../Beremiz_service.py:211 +#: ../controls/VariablePanel.py:402 ../controls/VariablePanel.py:759 +#: ../IDEFrame.py:1007 ../IDEFrame.py:1617 ../IDEFrame.py:1658 +#: ../IDEFrame.py:1663 ../IDEFrame.py:1677 ../IDEFrame.py:1682 +#: ../Beremiz_service.py:213 msgid "Error" msgstr "Ошибка" -#: ../ProjectController.py:748 +#: ../ProjectController.py:777 msgid "Error : At least one configuration and one resource must be declared in PLC !\n" msgstr "Ошибка: Как минимум одна конфигурация и один ресурс должны быть задекларированы в ПЛК!\n" -#: ../ProjectController.py:740 +#: ../ProjectController.py:769 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "Ошибка: компилятор МЭК в C вернул код ошибки %d\n" -#: ../ProjectController.py:671 +#: ../ProjectController.py:700 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1647,28 +1621,28 @@ msgid "Error while saving \"%s\"\n" msgstr "Ошибка во время сохранения \"%s\"\n" -#: ../canfestival/canfestival.py:168 +#: ../canfestival/canfestival.py:170 msgid "Error: Export slave failed\n" msgstr "Ошибка: неудачный экспорт ведомого\n" -#: ../canfestival/canfestival.py:369 +#: ../canfestival/canfestival.py:371 msgid "Error: No Master generated\n" msgstr "Ошибка: мастер не сгенерирован\n" -#: ../canfestival/canfestival.py:364 +#: ../canfestival/canfestival.py:366 msgid "Error: No PLC built\n" msgstr "Ошибка: ПЛК не собран\n" -#: ../ProjectController.py:1687 +#: ../ProjectController.py:1716 #, python-format msgid "Exception while connecting %s!\n" msgstr "Исключение во время подключения %s!\n" -#: ../dialogs/FBDBlockDialog.py:117 +#: ../dialogs/FBDBlockDialog.py:120 msgid "Execution Control:" msgstr "Управление исполнением:" -#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105 +#: ../dialogs/FBDVariableDialog.py:80 ../dialogs/FBDBlockDialog.py:108 msgid "Execution Order:" msgstr "Порядок исполнения:" @@ -1684,7 +1658,7 @@ msgid "Exponentiation" msgstr "Взятие экспоненты" -#: ../canfestival/canfestival.py:174 +#: ../canfestival/canfestival.py:176 msgid "Export CanOpen slave to EDS file" msgstr "Экспортировать CanOpen ведомое устройство в EDS файл" @@ -1692,11 +1666,11 @@ msgid "Export graph values to clipboard" msgstr "Экспортировать график значений в буфер обмена" -#: ../canfestival/canfestival.py:173 +#: ../canfestival/canfestival.py:175 msgid "Export slave" msgstr "Экспортировать ведомое устройство" -#: ../dialogs/FBDVariableDialog.py:89 +#: ../dialogs/FBDVariableDialog.py:90 msgid "Expression:" msgstr "Выражение:" @@ -1704,34 +1678,28 @@ msgid "External" msgstr "Внешний" -#: ../ProjectController.py:761 +#: ../ProjectController.py:790 msgid "Extracting Located Variables...\n" msgstr "Экспорт локальных переменных...\n" -msgid "FB for derivative term" -msgstr "ФБ дифференцирования" - -msgid "FB for integral term" -msgstr "ФД интегрирования" - -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "FBD" msgstr "FBD" -#: ../ProjectController.py:1750 +#: ../ProjectController.py:1779 msgid "Failed : Must build before transfer.\n" msgstr "Ошибка: необходима сборка перед передачей.\n" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:462 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:521 msgid "Falling Edge" msgstr "Спадающий фронт" -#: ../ProjectController.py:1029 +#: ../ProjectController.py:1058 msgid "Fatal : cannot get builder.\n" msgstr "Ошибка: невозможно получить сборщик.\n" -#: ../Beremiz.py:118 +#: ../Beremiz.py:156 #, python-format msgid "Fetching %s" msgstr "Проверка %s" @@ -1751,8 +1719,8 @@ msgid "File '%s' already exists!" msgstr "Файл '%s' уже существует!" -#: ../dialogs/SearchInProjectDialog.py:100 ../dialogs/FindInPouDialog.py:36 -#: ../dialogs/FindInPouDialog.py:106 ../IDEFrame.py:375 +#: ../dialogs/SearchInProjectDialog.py:98 ../dialogs/FindInPouDialog.py:37 +#: ../dialogs/FindInPouDialog.py:104 ../IDEFrame.py:375 msgid "Find" msgstr "Поиск" @@ -1768,7 +1736,7 @@ msgid "Find position" msgstr "Поиск позиции" -#: ../dialogs/FindInPouDialog.py:57 +#: ../dialogs/FindInPouDialog.py:55 msgid "Find:" msgstr "Поиск:" @@ -1776,7 +1744,7 @@ msgid "Force runtime reload\n" msgstr "Принудительный перезапуск системы исполнения\n" -#: ../editors/Viewer.py:1564 +#: ../editors/Viewer.py:1600 msgid "Force value" msgstr "Форсировать значение" @@ -1784,27 +1752,27 @@ msgid "Forcing Variable Value" msgstr "Форсировать значение переменной" -#: ../dialogs/SFCTransitionDialog.py:179 ../dialogs/PouTransitionDialog.py:102 -#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94 +#: ../dialogs/SFCTransitionDialog.py:182 ../dialogs/PouTransitionDialog.py:97 +#: ../dialogs/ProjectDialog.py:73 ../dialogs/PouActionDialog.py:95 #: ../dialogs/PouDialog.py:116 #, python-format msgid "Form isn't complete. %s must be filled!" msgstr "Форма заполнена неполностью. %s должен быть заполнен!" -#: ../dialogs/SFCStepDialog.py:144 ../dialogs/FBDBlockDialog.py:232 -#: ../dialogs/ConnectionDialog.py:160 +#: ../dialogs/SFCStepDialog.py:147 ../dialogs/FBDBlockDialog.py:236 +#: ../dialogs/ConnectionDialog.py:163 msgid "Form isn't complete. Name must be filled!" msgstr "Форма заполнена неполностью. Имя должно быть заполнено!" -#: ../dialogs/FBDBlockDialog.py:228 +#: ../dialogs/FBDBlockDialog.py:232 msgid "Form isn't complete. Valid block type must be selected!" msgstr "Форма заполнена неполностью. Должен быть выбран корректный тип блока!" -#: ../dialogs/FindInPouDialog.py:74 +#: ../dialogs/FindInPouDialog.py:72 msgid "Forward" msgstr "Вперед" -#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1745 +#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1749 msgid "Function" msgstr "Функция" @@ -1812,37 +1780,37 @@ msgid "Function &Block" msgstr "Функциональный &блок" -#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1744 -#: ../IDEFrame.py:1937 +#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1748 +#: ../IDEFrame.py:1941 msgid "Function Block" msgstr "Функциональный блок" -#: ../controls/VariablePanel.py:837 +#: ../controls/VariablePanel.py:854 msgid "Function Block Types" msgstr "Типы функциональных блоков" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "Function Blocks" msgstr "Функциональные блоки" -#: ../editors/Viewer.py:248 +#: ../editors/Viewer.py:249 msgid "Function Blocks can't be used in Functions!" msgstr "Функциональные блоки не могут использоваться в функциях!" -#: ../PLCControler.py:2337 +#: ../PLCControler.py:2343 #, python-format msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!" msgstr "Функциональный блок \"%s\" не может быть вставлен в функцию!!!" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "Functions" msgstr "Функции" -#: ../PLCOpenEditor.py:115 +#: ../PLCOpenEditor.py:117 msgid "Generate Program" msgstr "Сгенерировать программу" -#: ../ProjectController.py:662 +#: ../ProjectController.py:691 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n" @@ -1857,7 +1825,7 @@ msgid "Go to current value" msgstr "Перейти к текущему значению" -#: ../controls/ProjectPropertiesPanel.py:173 +#: ../controls/ProjectPropertiesPanel.py:174 msgid "Graphics" msgstr "Графика" @@ -1869,15 +1837,15 @@ msgid "Greater than or equal to" msgstr "Больше или равно" -#: ../controls/ProjectPropertiesPanel.py:134 +#: ../controls/ProjectPropertiesPanel.py:135 msgid "Grid Resolution:" msgstr "Шаг сетки:" -#: ../runtime/NevowServer.py:181 +#: ../runtime/NevowServer.py:182 msgid "HTTP interface port :" msgstr "Порт HTTP-интерфейса :" -#: ../controls/ProjectPropertiesPanel.py:120 +#: ../controls/ProjectPropertiesPanel.py:121 msgid "Height:" msgstr "Высота:" @@ -1885,18 +1853,19 @@ msgid "Home Directory:" msgstr "Домашняя директория:" -#: ../controls/ProjectPropertiesPanel.py:150 +#: ../controls/ProjectPropertiesPanel.py:151 msgid "Horizontal:" msgstr "Горизонтальный:" -#: ../dialogs/DurationEditorDialog.py:44 +#: ../dialogs/DurationEditorDialog.py:45 msgid "Hours:" msgstr "Часы:" msgid "IEC_Channel" msgstr "МЭК-канал" -#: ../dialogs/PouActionDialog.py:31 ../dialogs/PouDialog.py:36 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 msgid "IL" msgstr "IL" @@ -1904,20 +1873,20 @@ msgid "IP" msgstr "IP" -#: ../Beremiz_service.py:308 ../Beremiz_service.py:309 +#: ../Beremiz_service.py:310 ../Beremiz_service.py:311 msgid "IP is not valid!" msgstr "Неверный IP-адрес" -#: ../svgui/svgui.py:42 ../svgui/svgui.py:43 +#: ../svgui/svgui.py:44 ../svgui/svgui.py:45 msgid "Import SVG" msgstr "Импорт SVG" -#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1591 +#: ../dialogs/FBDVariableDialog.py:39 ../editors/Viewer.py:1627 #: ../controls/VariablePanel.py:71 msgid "InOut" msgstr "Вход/Выход" -#: ../editors/Viewer.py:1110 +#: ../editors/Viewer.py:431 msgid "Inactive" msgstr "Неактивный" @@ -1936,11 +1905,15 @@ msgid "Incompatible size of data between \"{a1}\" and \"{a2}\"" msgstr "\"{a1}\" и \"{a2}\" имеют несовместимый размер данных" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Indicator" msgstr "Индикатор" -#: ../editors/Viewer.py:552 +#: ../editors/CodeFileEditor.py:744 +msgid "Initial" +msgstr "Исходное значение" + +#: ../editors/Viewer.py:611 msgid "Initial Step" msgstr "Исходный шаг" @@ -1954,32 +1927,23 @@ msgid "Initial Value:" msgstr "Исходное значение:" -msgid "Initial value" -msgstr "Исходное значение" - -#: ../svgui/svgui.py:46 +#: ../svgui/svgui.py:48 msgid "Inkscape" msgstr "Inkscape" -#: ../dialogs/SFCTransitionDialog.py:75 ../dialogs/ActionBlockDialog.py:42 +#: ../dialogs/SFCTransitionDialog.py:76 ../dialogs/ActionBlockDialog.py:43 msgid "Inline" msgstr "Непосредственно" -#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 -#: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1589 ../editors/TextViewer.py:307 +#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:38 +#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:290 +#: ../editors/Viewer.py:1625 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Input" msgstr "Вход" -msgid "Input to be differentiated" -msgstr "Вход для дифференцирования" - -msgid "Input variable" -msgstr "Входная переменная" - -#: ../dialogs/FBDBlockDialog.py:93 +#: ../dialogs/FBDBlockDialog.py:96 msgid "Inputs:" msgstr "Входы:" @@ -1987,7 +1951,7 @@ msgid "Insertion (into)" msgstr "Вставка подстроки" -#: ../plcopen/plcopen.py:1691 +#: ../plcopen/plcopen.py:1696 #, python-format msgid "Instance with id %d doesn't exist!" msgstr "Экземпляр с id %d не существует!" @@ -1996,9 +1960,6 @@ msgid "Instances:" msgstr "Экземпляры:" -msgid "Integrated output" -msgstr "Интегрированный выход" - #: ../controls/VariablePanel.py:70 msgid "Interface" msgstr "Интерфейс" @@ -2011,7 +1972,7 @@ msgid "Interval" msgstr "Интервал" -#: ../PLCControler.py:2325 +#: ../PLCControler.py:2331 msgid "Invalid plcopen element(s)!!!" msgstr "Некорректный PlcOpen элемент(ы)!!!" @@ -2037,12 +1998,12 @@ msgid "Invalid value \"%s\" for variable grid element" msgstr "Неверное значение \"%s\" для значения размещения переменной" -#: ../editors/Viewer.py:233 ../editors/Viewer.py:236 +#: ../editors/Viewer.py:234 ../editors/Viewer.py:237 #, python-format msgid "Invalid value \"%s\" for viewer block" msgstr "Неверное значение \"%s\" для вставки в редактор" -#: ../dialogs/ForceVariableDialog.py:177 +#: ../dialogs/ForceVariableDialog.py:195 #, python-brace-format msgid "Invalid value \"{a1}\" for \"{a2}\" variable!" msgstr "Неверное значение \"{a1}\" для переменной \"{a2}\"!" @@ -2055,12 +2016,12 @@ "Неверное значение!\n" "Необходимо ввести числовое значение." -#: ../editors/Viewer.py:557 ../editors/Viewer.py:2354 +#: ../editors/Viewer.py:616 ../editors/Viewer.py:2390 msgid "Jump" msgstr "Безусловный переход" -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "LD" msgstr "LD" @@ -2072,37 +2033,37 @@ msgid "Ladder element with id %d is on more than one rung." msgstr "Элемент лестничной диаграммы с id %d более чем на одной ступени." -#: ../dialogs/PouTransitionDialog.py:91 ../dialogs/PouActionDialog.py:83 +#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:84 #: ../dialogs/PouDialog.py:104 msgid "Language" msgstr "Язык" -#: ../controls/ProjectPropertiesPanel.py:186 +#: ../controls/ProjectPropertiesPanel.py:187 msgid "Language (optional):" msgstr "Язык (опционально):" -#: ../dialogs/PouTransitionDialog.py:65 ../dialogs/PouActionDialog.py:56 +#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56 #: ../dialogs/PouDialog.py:73 msgid "Language:" msgstr "Язык:" -#: ../ProjectController.py:1756 +#: ../ProjectController.py:1785 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "Загружаемая программа совпадает с текущий программой в целевом ПЛК. Загрузка продолжена...\n" -#: ../Beremiz_service.py:271 +#: ../Beremiz_service.py:273 msgid "Launch WX GUI inspector" msgstr "Запустить WX GUI Inspector" -#: ../Beremiz_service.py:270 +#: ../Beremiz_service.py:272 msgid "Launch a live Python shell" msgstr "Запустить консоль Python" -#: ../editors/Viewer.py:485 +#: ../editors/Viewer.py:544 msgid "Left" msgstr "Слева" -#: ../dialogs/LDPowerRailDialog.py:62 +#: ../dialogs/LDPowerRailDialog.py:63 msgid "Left PowerRail" msgstr "Левая шина питания" @@ -2134,34 +2095,34 @@ msgstr "Ограничение" msgid "Linker" -msgstr "Линковщик" - -#: ../targets/toolchain_gcc.py:166 +msgstr "Компоновщик" + +#: ../targets/toolchain_gcc.py:202 msgid "Linking :\n" msgstr "Линковка:\n" msgid "Linux" msgstr "GNU/Linux" -#: ../dialogs/DiscoveryDialog.py:111 ../controls/VariablePanel.py:72 +#: ../dialogs/DiscoveryDialog.py:112 ../controls/VariablePanel.py:72 msgid "Local" msgstr "Локальный" -#: ../canfestival/canfestival.py:346 +#: ../canfestival/canfestival.py:348 msgid "Local entries" msgstr "Локальные записи" -#: ../ProjectController.py:1662 +#: ../ProjectController.py:1691 msgid "Local service discovery failed!\n" msgstr "Локальный сервис не найден!\n" #: ../controls/VariablePanel.py:53 msgid "Location" -msgstr "Размещение" +msgstr "Адрес" #: ../dialogs/BrowseLocationsDialog.py:72 msgid "Locations available:" -msgstr "Доступные размещения:" +msgstr "Доступные адреса:" #: ../plcopen/iec_std.csv:25 msgid "Logarithm to base 10" @@ -2172,9 +2133,6 @@ msgid "MDNS resolution failure for '%s'\n" msgstr "MDNS разрешение неудачно для '%s'\n" -msgid "Manual output adjustment - Typically from transfer station" -msgstr "Ручной выход" - #: ../canfestival/SlaveEditor.py:64 ../canfestival/NetworkEditor.py:85 msgid "Map Variable" msgstr "Отображение переменной" @@ -2200,7 +2158,7 @@ msgid "Maximum:" msgstr "Максимум:" -#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:289 +#: ../dialogs/BrowseLocationsDialog.py:43 ../editors/Viewer.py:290 #: ../editors/TextViewer.py:307 ../controls/LocationCellEditor.py:98 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Memory" @@ -2210,15 +2168,15 @@ msgid "Menu ToolBar" msgstr "Меню" -#: ../dialogs/DurationEditorDialog.py:48 +#: ../dialogs/DurationEditorDialog.py:49 msgid "Microseconds:" msgstr "Микросекунды:" -#: ../editors/Viewer.py:490 +#: ../editors/Viewer.py:549 msgid "Middle" msgstr "Посередине" -#: ../dialogs/DurationEditorDialog.py:47 +#: ../dialogs/DurationEditorDialog.py:48 msgid "Milliseconds:" msgstr "Миллисекунды:" @@ -2230,11 +2188,11 @@ msgid "Minimum:" msgstr "Минимум:" -#: ../dialogs/DurationEditorDialog.py:45 +#: ../dialogs/DurationEditorDialog.py:46 msgid "Minutes:" msgstr "Минуты:" -#: ../controls/ProjectPropertiesPanel.py:210 +#: ../controls/ProjectPropertiesPanel.py:211 msgid "Miscellaneous" msgstr "Прочее" @@ -2291,11 +2249,11 @@ msgid "Move up" msgstr "Переместить выше" -#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:453 +#: ../editors/CodeFileEditor.py:663 ../controls/VariablePanel.py:453 msgid "Move variable down" msgstr "Переместить переменную ниже" -#: ../editors/CodeFileEditor.py:660 ../controls/VariablePanel.py:452 +#: ../editors/CodeFileEditor.py:662 ../controls/VariablePanel.py:452 msgid "Move variable up" msgstr "Переместить переменную выше" @@ -2315,21 +2273,18 @@ msgid "NAME" msgstr "Имя" -msgid "NOT R1" -msgstr "НЕ R1" - #: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 -#: ../controls/VariablePanel.py:54 +#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:744 +#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 msgid "Name" msgstr "Имя" -#: ../Beremiz_service.py:332 +#: ../Beremiz_service.py:334 msgid "Name must not be null!" msgstr "Имя не может быть null!" -#: ../dialogs/SFCStepDialog.py:56 ../dialogs/FBDBlockDialog.py:83 -#: ../dialogs/ConnectionDialog.py:75 +#: ../dialogs/SFCStepDialog.py:57 ../dialogs/FBDBlockDialog.py:86 +#: ../dialogs/ConnectionDialog.py:76 msgid "Name:" msgstr "Имя:" @@ -2337,20 +2292,20 @@ msgid "Natural logarithm" msgstr "Натуральный логарифм" -#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:460 +#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:519 msgid "Negated" msgstr "Инверсия" -#: ../Beremiz_service.py:578 +#: ../Beremiz_service.py:580 msgid "Nevow Web service failed. " msgstr "Ошибка Web сервиса Nevow. " -#: ../Beremiz_service.py:554 +#: ../Beremiz_service.py:556 msgid "Nevow/Athena import failed :" msgstr "Ошибка импорта Nevow/Athena :" -#: ../PLCOpenEditor.py:102 ../PLCOpenEditor.py:144 ../Beremiz.py:321 -#: ../Beremiz.py:356 +#: ../BeremizIDE.py:216 ../BeremizIDE.py:251 ../PLCOpenEditor.py:104 +#: ../PLCOpenEditor.py:146 msgid "New" msgstr "Новый" @@ -2358,11 +2313,11 @@ msgid "New item" msgstr "Новый элемент" -#: ../editors/Viewer.py:459 +#: ../editors/Viewer.py:518 msgid "No Modifier" msgstr "Нет модификатора" -#: ../ProjectController.py:1784 +#: ../ProjectController.py:1814 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "Нет ПЛК для передачи (была сборка успешна?)\n" @@ -2376,7 +2331,7 @@ msgid "No connector found corresponding to \"{a1}\" continuation in \"{a2}\" POU" msgstr "Не найден коннектор, соответствующий продолжению цепи \"{a1}\" в POU \"{a2}\"" -#: ../PLCOpenEditor.py:347 +#: ../PLCOpenEditor.py:357 msgid "" "No documentation available.\n" "Coming soon." @@ -2398,7 +2353,7 @@ msgid "No search results available." msgstr "Ничего не найдено." -#: ../svgui/svgui.py:131 +#: ../svgui/svgui.py:134 #, python-format msgid "No such SVG file: %s\n" msgstr "Нет такого SVG файла: %s\n" @@ -2455,40 +2410,44 @@ msgid "Numerical" msgstr "Математические функции" -#: ../dialogs/SearchInProjectDialog.py:86 +#: ../editors/CodeFileEditor.py:744 +msgid "OnChange" +msgstr "При изменении" + +#: ../dialogs/SearchInProjectDialog.py:84 msgid "Only Elements" msgstr "Только элементы" -#: ../PLCOpenEditor.py:104 ../PLCOpenEditor.py:145 ../Beremiz.py:323 -#: ../Beremiz.py:357 +#: ../BeremizIDE.py:218 ../BeremizIDE.py:252 ../PLCOpenEditor.py:106 +#: ../PLCOpenEditor.py:147 msgid "Open" msgstr "Открыть" -#: ../svgui/svgui.py:140 +#: ../svgui/svgui.py:143 msgid "Open Inkscape" msgstr "Открыть Inkscape" -#: ../version.py:66 +#: ../version.py:77 msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime." msgstr "Свободное программное обеспечение для промышленной автоматизации, состоящие из среды разработки программ по стандарту МЭК 61131 с постоянно расширяющимся набором плагинов и гибкой системой исполнения для ПЛК." -#: ../ProjectController.py:1836 +#: ../ProjectController.py:1866 msgid "Open a file explorer to manage project files" msgstr "Открыть файловый менеджер для просмотра файлов проекта" -#: ../wxglade_hmi/wxglade_hmi.py:138 +#: ../wxglade_hmi/wxglade_hmi.py:155 msgid "Open wxGlade" msgstr "Открыть wxGlade" #: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 msgid "Option" -msgstr "Настройка" - -#: ../dialogs/FindInPouDialog.py:83 +msgstr "Квалификатор" + +#: ../dialogs/FindInPouDialog.py:81 ../editors/CodeFileEditor.py:744 msgid "Options" msgstr "Настройки" -#: ../controls/ProjectPropertiesPanel.py:97 +#: ../controls/ProjectPropertiesPanel.py:98 msgid "Organization (optional):" msgstr "Организация (опционально):" @@ -2496,17 +2455,14 @@ msgid "Other Profile" msgstr "Другой профиль" -#: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 -#: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1590 ../editors/TextViewer.py:307 +#: ../dialogs/SFCStepDialog.py:72 ../dialogs/FBDVariableDialog.py:40 +#: ../dialogs/BrowseLocationsDialog.py:42 ../editors/Viewer.py:290 +#: ../editors/Viewer.py:1626 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Output" msgstr "Выход" -msgid "Overriding reset" -msgstr "Сброс интегратора" - #: ../canfestival/SlaveEditor.py:63 ../canfestival/NetworkEditor.py:84 msgid "PDO Receive" msgstr "PDO приема" @@ -2515,30 +2471,27 @@ msgid "PDO Transmit" msgstr "PDO передачи" -msgid "PLC" -msgstr "ПЛК" - -#: ../targets/toolchain_gcc.py:131 +#: ../targets/toolchain_gcc.py:167 msgid "PLC :\n" msgstr "ПЛК:\n" -#: ../Beremiz.py:453 +#: ../BeremizIDE.py:355 msgid "PLC Log" msgstr "Лог ПЛК" -#: ../ProjectController.py:1013 +#: ../ProjectController.py:1042 msgid "PLC code generation failed !\n" msgstr "Неудачная генерация кода!\n" -#: ../Beremiz_service.py:295 +#: ../Beremiz_service.py:297 msgid "PLC is empty or already started." msgstr "В ПЛК нет программы или он уже запущен." -#: ../Beremiz_service.py:302 +#: ../Beremiz_service.py:304 msgid "PLC is not started." msgstr "ПЛК незапущен." -#: ../PLCOpenEditor.py:196 ../PLCOpenEditor.py:309 +#: ../PLCOpenEditor.py:206 ../PLCOpenEditor.py:319 #, python-brace-format msgid "" "PLC syntax error at line {a1}:\n" @@ -2547,15 +2500,15 @@ "Синтаксическая ошибка в строке {a1}:\n" "{a2}" -#: ../PLCOpenEditor.py:292 ../PLCOpenEditor.py:373 +#: ../PLCOpenEditor.py:302 ../PLCOpenEditor.py:383 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*" msgstr "PLCOpen файлы (*.xml)|*.xml|All files|*.*" -#: ../PLCOpenEditor.py:152 ../PLCOpenEditor.py:209 +#: ../PLCOpenEditor.py:154 ../PLCOpenEditor.py:219 msgid "PLCOpenEditor" msgstr "PLCOpenEditor" -#: ../PLCOpenEditor.py:355 +#: ../PLCOpenEditor.py:365 msgid "" "PLCOpenEditor is part of Beremiz project.\n" "\n" @@ -2585,9 +2538,6 @@ msgid "POU Type:" msgstr "Тип POU:" -msgid "PV - SP" -msgstr "Ошибка, PV - SP" - #: ../connectors/PYRO/__init__.py:45 #, python-format msgid "PYRO connecting to URI : %s\n" @@ -2598,15 +2548,15 @@ msgid "PYRO using certificates in '%s' \n" msgstr "PYRO использует сертификаты в '%s'\n" -#: ../PLCOpenEditor.py:118 ../Beremiz.py:336 +#: ../BeremizIDE.py:231 ../PLCOpenEditor.py:120 msgid "Page Setup" msgstr "Настройки страницы" -#: ../controls/ProjectPropertiesPanel.py:110 +#: ../controls/ProjectPropertiesPanel.py:111 msgid "Page Size (optional):" msgstr "Размер страницы (опционально):" -#: ../IDEFrame.py:2598 +#: ../IDEFrame.py:2602 #, python-format msgid "Page: %d" msgstr "Страница: %d" @@ -2615,11 +2565,11 @@ msgid "Parent instance" msgstr "Родительский экземпляр" -#: ../editors/Viewer.py:598 ../IDEFrame.py:372 ../IDEFrame.py:426 +#: ../editors/Viewer.py:657 ../IDEFrame.py:372 ../IDEFrame.py:426 msgid "Paste" msgstr "Вставить" -#: ../IDEFrame.py:1864 +#: ../IDEFrame.py:1868 msgid "Paste POU" msgstr "Вставить POU" @@ -2627,11 +2577,11 @@ msgid "Pattern to search:" msgstr "Шаблон поиска:" -#: ../dialogs/LDPowerRailDialog.py:73 +#: ../dialogs/LDPowerRailDialog.py:74 msgid "Pin number:" msgstr "Номер пина:" -#: ../editors/Viewer.py:2717 ../editors/Viewer.py:2974 +#: ../editors/Viewer.py:2755 ../editors/Viewer.py:3012 #: ../editors/SFCViewer.py:770 msgid "Please choose a target" msgstr "Выберите цель перехода" @@ -2640,7 +2590,7 @@ msgid "Please enter a block name" msgstr "Введите имя блока" -#: ../editors/Viewer.py:2587 ../editors/Viewer.py:3016 +#: ../editors/Viewer.py:2625 ../editors/Viewer.py:3054 msgid "Please enter comment text" msgstr "Введите текст комментария" @@ -2649,7 +2599,7 @@ msgid "Please enter step name" msgstr "Введите имя шага" -#: ../Beremiz_service.py:194 +#: ../Beremiz_service.py:196 msgid "Please enter text" msgstr "Введите текст" @@ -2658,26 +2608,23 @@ msgid "Please enter value for a \"%s\" variable:" msgstr "Введите значение для переменной \"%s\":" -#: ../Beremiz_service.py:317 +#: ../Beremiz_service.py:319 msgid "Port number must be 0 <= port <= 65535!" msgstr "Номер порта должен быть в диапазоне от 0 до 65535!" -#: ../Beremiz_service.py:317 +#: ../Beremiz_service.py:319 msgid "Port number must be an integer!" msgstr "Номер порта должен быть целым числом!" -#: ../editors/Viewer.py:536 ../editors/Viewer.py:2378 +#: ../editors/Viewer.py:595 ../editors/Viewer.py:2414 msgid "Power Rail" msgstr "Шина питания" -#: ../dialogs/LDPowerRailDialog.py:50 +#: ../dialogs/LDPowerRailDialog.py:51 msgid "Power Rail Properties" msgstr "Свойства шины питания" -msgid "Preset datetime" -msgstr "Основное время" - -#: ../PLCOpenEditor.py:120 ../Beremiz.py:338 +#: ../BeremizIDE.py:233 ../PLCOpenEditor.py:122 msgid "Preview" msgstr "Просмотр" @@ -2685,12 +2632,12 @@ msgid "Preview:" msgstr "Просмотр:" -#: ../PLCOpenEditor.py:122 ../PLCOpenEditor.py:148 ../Beremiz.py:340 -#: ../Beremiz.py:360 +#: ../BeremizIDE.py:235 ../BeremizIDE.py:255 ../PLCOpenEditor.py:124 +#: ../PLCOpenEditor.py:150 msgid "Print" msgstr "Печать" -#: ../IDEFrame.py:1075 +#: ../IDEFrame.py:1079 msgid "Print preview" msgstr "Предварительный просмотр" @@ -2698,56 +2645,53 @@ msgid "Priority" msgstr "Приоритет" -#: ../dialogs/SFCTransitionDialog.py:89 +#: ../dialogs/SFCTransitionDialog.py:90 msgid "Priority:" msgstr "Приоритет:" -#: ../runtime/PLCObject.py:370 +#: ../runtime/PLCObject.py:369 #, python-format msgid "Problem starting PLC : error %d" msgstr "Проблема запуска ПЛК: ошибка %d" -msgid "Process variable" -msgstr "Текущее значение регулируемой переменной" - -#: ../dialogs/ProjectDialog.py:55 +#: ../dialogs/ProjectDialog.py:58 msgid "Product Name" msgstr "Имя продукта" -#: ../controls/ProjectPropertiesPanel.py:80 +#: ../controls/ProjectPropertiesPanel.py:81 msgid "Product Name (required):" msgstr "Имя продукта (обязательно):" -#: ../controls/ProjectPropertiesPanel.py:82 +#: ../controls/ProjectPropertiesPanel.py:83 msgid "Product Release (optional):" msgstr "Релиз продукта (опционально):" -#: ../dialogs/ProjectDialog.py:56 +#: ../dialogs/ProjectDialog.py:59 msgid "Product Version" msgstr "Версия продукта" -#: ../controls/ProjectPropertiesPanel.py:81 +#: ../controls/ProjectPropertiesPanel.py:82 msgid "Product Version (required):" msgstr "Версия продукта (обязательно):" -#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1743 -#: ../IDEFrame.py:1940 +#: ../dialogs/SearchInProjectDialog.py:39 ../IDEFrame.py:1747 +#: ../IDEFrame.py:1944 msgid "Program" msgstr "Программа" -#: ../PLCOpenEditor.py:337 +#: ../PLCOpenEditor.py:347 msgid "Program was successfully generated!" msgstr "Программа успешно сгенерирована!" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Programs" msgstr "Программы" -#: ../editors/Viewer.py:242 +#: ../editors/Viewer.py:243 msgid "Programs can't be used by other POUs!" msgstr "Программы не могут использоваться другими POU!" -#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:584 +#: ../controls/ProjectPropertiesPanel.py:85 ../IDEFrame.py:584 msgid "Project" msgstr "Проект" @@ -2756,23 +2700,23 @@ msgid "Project '%s':" msgstr "Проект '%s':" -#: ../ProjectController.py:1835 +#: ../ProjectController.py:1865 msgid "Project Files" msgstr "Файлы проекта" -#: ../dialogs/ProjectDialog.py:54 +#: ../dialogs/ProjectDialog.py:57 msgid "Project Name" msgstr "Имя проекта" -#: ../controls/ProjectPropertiesPanel.py:78 +#: ../controls/ProjectPropertiesPanel.py:79 msgid "Project Name (required):" msgstr "Имя проекта (обязательно):" -#: ../controls/ProjectPropertiesPanel.py:79 +#: ../controls/ProjectPropertiesPanel.py:80 msgid "Project Version (optional):" msgstr "Версия проекта (опционально):" -#: ../PLCControler.py:3158 +#: ../PLCControler.py:3164 msgid "" "Project file syntax error:\n" "\n" @@ -2780,7 +2724,7 @@ "Синтаксическая ошибка в файле проекта:\n" "\n" -#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:37 +#: ../dialogs/ProjectDialog.py:33 ../editors/ProjectNodeEditor.py:37 msgid "Project properties" msgstr "Свойства проекта" @@ -2789,18 +2733,15 @@ msgid "Project tree layout do not match confnode.xml {a1}!={a2} " msgstr "Дерево проекта не соответствует confnode.xml {a1}!={a2} " -#: ../dialogs/ConnectionDialog.py:94 +#: ../dialogs/ConnectionDialog.py:98 msgid "Propagate Name" msgstr "Для всей цепи" -#: ../PLCControler.py:97 +#: ../PLCControler.py:99 msgid "Properties" msgstr "Свойства" -msgid "Proportionality constant" -msgstr "Коэффициент пропорциональности" - -#: ../Beremiz_service.py:440 +#: ../Beremiz_service.py:442 msgid "Publishing service on local network" msgstr "Сервис доступен в локальной сети" @@ -2809,11 +2750,11 @@ msgid "Pyro exception: %s\n" msgstr "Исключение Pyro: %s\n" -#: ../Beremiz_service.py:427 +#: ../Beremiz_service.py:429 msgid "Pyro object's uri :" msgstr "URI для Pyro :" -#: ../Beremiz_service.py:426 +#: ../Beremiz_service.py:428 msgid "Pyro port :" msgstr "Порт Pyro :" @@ -2825,26 +2766,23 @@ msgid "Python file" msgstr "Python файл" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Qualifier" msgstr "Спецификатор" -#: ../PLCOpenEditor.py:128 ../Beremiz.py:343 ../Beremiz_service.py:273 +#: ../BeremizIDE.py:238 ../PLCOpenEditor.py:130 ../Beremiz_service.py:275 msgid "Quit" msgstr "Выход" -msgid "Ramp duration" -msgstr "Длительность нарастания" - #: ../controls/DebugVariablePanel/DebugVariablePanel.py:225 msgid "Range:" msgstr "Диапазон:" -#: ../ProjectController.py:1831 +#: ../ProjectController.py:1861 msgid "Raw IEC code" msgstr "МЭК-код" -#: ../Beremiz.py:1143 +#: ../BeremizIDE.py:1046 #, python-format msgid "Really delete node '%s'?" msgstr "Действительно удалить элемент '%s'?" @@ -2853,11 +2791,11 @@ msgid "Redo" msgstr "Повторить" -#: ../dialogs/SFCTransitionDialog.py:74 +#: ../dialogs/SFCTransitionDialog.py:75 msgid "Reference" msgstr "Ссылка" -#: ../dialogs/DiscoveryDialog.py:106 ../IDEFrame.py:432 +#: ../dialogs/DiscoveryDialog.py:107 ../IDEFrame.py:432 msgid "Refresh" msgstr "Обновить" @@ -2865,11 +2803,11 @@ msgid "Regular expression" msgstr "Регулярное выражение" -#: ../dialogs/FindInPouDialog.py:98 +#: ../dialogs/FindInPouDialog.py:96 msgid "Regular expressions" msgstr "Регулярные выражения" -#: ../editors/Viewer.py:1567 +#: ../editors/Viewer.py:1603 msgid "Release value" msgstr "Освободить значение" @@ -2877,16 +2815,16 @@ msgid "Remainder (modulo)" msgstr "Остаток от деления (modulo)" -#: ../Beremiz.py:1144 +#: ../BeremizIDE.py:1047 #, python-format msgid "Remove %s node" msgstr "Удалить %s элемент" -#: ../IDEFrame.py:2404 +#: ../IDEFrame.py:2408 msgid "Remove Datatype" msgstr "Удалить тип данных" -#: ../IDEFrame.py:2409 +#: ../IDEFrame.py:2413 msgid "Remove Pou" msgstr "Удалить POU" @@ -2914,11 +2852,11 @@ msgid "Remove task" msgstr "Удалить задачу" -#: ../editors/CodeFileEditor.py:659 ../controls/VariablePanel.py:451 +#: ../editors/CodeFileEditor.py:661 ../controls/VariablePanel.py:451 msgid "Remove variable" msgstr "Удалить переменную" -#: ../IDEFrame.py:1944 +#: ../IDEFrame.py:1948 msgid "Rename" msgstr "Переименовать" @@ -2926,7 +2864,7 @@ msgid "Replace File" msgstr "Заменить файл" -#: ../editors/Viewer.py:502 +#: ../editors/Viewer.py:561 msgid "Replace Wire by connections" msgstr "Заменить цепь подключениями" @@ -2938,7 +2876,7 @@ msgid "Reset" msgstr "Сброс" -#: ../editors/Viewer.py:583 +#: ../editors/Viewer.py:642 msgid "Reset Execution Order" msgstr "Сбросить порядок исполнения" @@ -2950,10 +2888,7 @@ msgid "Reset search result" msgstr "Сбросить результаты поиска" -msgid "Reset time" -msgstr "Постоянная времени интегрирования" - -#: ../PLCControler.py:97 ../Beremiz.py:1075 +#: ../BeremizIDE.py:978 ../PLCControler.py:99 msgid "Resources" msgstr "Ресурсы" @@ -2965,15 +2900,15 @@ msgid "Return Type:" msgstr "Возвращаемый тип:" -#: ../editors/Viewer.py:487 +#: ../editors/Viewer.py:546 msgid "Right" msgstr "Право" -#: ../dialogs/LDPowerRailDialog.py:63 +#: ../dialogs/LDPowerRailDialog.py:64 msgid "Right PowerRail" msgstr "Правая шина питания" -#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:461 +#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:520 msgid "Rising Edge" msgstr "Нарастающий фронт" @@ -2989,15 +2924,15 @@ msgid "Rounding up/down" msgstr "Округление вверх/вниз" -#: ../ProjectController.py:1799 +#: ../ProjectController.py:1829 msgid "Run" msgstr "Старт" -#: ../ProjectController.py:1058 +#: ../ProjectController.py:1087 msgid "Runtime IO extensions C code generation failed !\n" msgstr "Ошибка генерации C-кода для расширений ввода-вывода!\n" -#: ../ProjectController.py:1067 +#: ../ProjectController.py:1096 msgid "Runtime library extensions C code generation failed !\n" msgstr "Ошибка генерации C-кода для библиотеки расширений системы исполнения!\n" @@ -3009,7 +2944,7 @@ msgid "SDO Server" msgstr "SDO сервер" -#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143 +#: ../dialogs/PouDialog.py:37 ../controls/ProjectPropertiesPanel.py:144 msgid "SFC" msgstr "SFC" @@ -3023,16 +2958,16 @@ msgid "SFC transition in POU \"%s\" must be connected." msgstr "SFC переход в POU \"%s\" должен быть подключен." -#: ../dialogs/PouTransitionDialog.py:40 ../dialogs/PouActionDialog.py:31 -#: ../dialogs/PouDialog.py:36 +#: ../dialogs/PouTransitionDialog.py:36 ../dialogs/PouActionDialog.py:32 +#: ../dialogs/PouDialog.py:37 msgid "ST" msgstr "ST" -#: ../PLCOpenEditor.py:324 +#: ../PLCOpenEditor.py:334 msgid "ST files (*.st)|*.st|All files|*.*" msgstr "ST файлы (*.st)|*.st|Все файлы|*.*" -#: ../svgui/svgui.py:125 +#: ../svgui/svgui.py:128 msgid "SVG files (*.svg)|*.svg|All files|*.*" msgstr "SVG файлы (*.svg)|*.svg|Все файлы|*.*" @@ -3040,23 +2975,20 @@ msgid "SVGUI" msgstr "SVGUI" -msgid "Sampling period" -msgstr "Период сэмплирования" - -#: ../PLCOpenEditor.py:111 ../PLCOpenEditor.py:146 ../Beremiz.py:327 -#: ../Beremiz.py:358 +#: ../BeremizIDE.py:222 ../BeremizIDE.py:253 ../PLCOpenEditor.py:113 +#: ../PLCOpenEditor.py:148 msgid "Save" msgstr "Сохранить" -#: ../PLCOpenEditor.py:113 ../PLCOpenEditor.py:147 ../Beremiz.py:359 +#: ../BeremizIDE.py:254 ../PLCOpenEditor.py:115 ../PLCOpenEditor.py:149 msgid "Save As..." msgstr "Сохранить как..." -#: ../Beremiz.py:329 +#: ../BeremizIDE.py:224 msgid "Save as" msgstr "Сохранить как" -#: ../ProjectController.py:470 +#: ../ProjectController.py:499 msgid "Save path is the same as path of a project! \n" msgstr "Выбранный путь совпадает с путём проекта!\n" @@ -3068,11 +3000,11 @@ msgid "Search" msgstr "Поиск" -#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:382 ../IDEFrame.py:428 +#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:382 ../IDEFrame.py:428 msgid "Search in Project" msgstr "Поиск в проекте" -#: ../dialogs/DurationEditorDialog.py:46 +#: ../dialogs/DurationEditorDialog.py:47 msgid "Seconds:" msgstr "Секунды:" @@ -3080,17 +3012,17 @@ msgid "Select All" msgstr "Выделить все" -#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 #: ../controls/VariablePanel.py:350 msgid "Select a variable class:" msgstr "Выберите класс переменной:" -#: ../ProjectController.py:1216 +#: ../ProjectController.py:1245 msgid "Select an editor:" msgstr "Выберите редактор:" -#: ../controls/PouInstanceVariablesPanel.py:276 +#: ../controls/PouInstanceVariablesPanel.py:281 msgid "Select an instance" msgstr "Выберите экземпляр" @@ -3098,7 +3030,7 @@ msgid "Select an object" msgstr "Выберите объект" -#: ../ProjectController.py:477 +#: ../ProjectController.py:506 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "Выбранная директория уже содержит другой проект. Перезаписать?\n" @@ -3126,9 +3058,6 @@ msgid "Set" msgstr "Установить" -msgid "Set point" -msgstr "Уставка" - #: ../plcopen/iec_std.csv:62 msgid "Shift left" msgstr "Сдвиг влево" @@ -3137,19 +3066,19 @@ msgid "Shift right" msgstr "Сдвиг вправо" -#: ../ProjectController.py:1825 +#: ../ProjectController.py:1855 msgid "Show IEC code generated by PLCGenerator" msgstr "Показать код, сгенерированный PLCGenerator" -#: ../canfestival/canfestival.py:387 +#: ../canfestival/canfestival.py:389 msgid "Show Master" msgstr "Показать ведущего" -#: ../canfestival/canfestival.py:388 +#: ../canfestival/canfestival.py:390 msgid "Show Master generated by config_utils" msgstr "Показать ведущий узел сгенерированный config_utils" -#: ../ProjectController.py:1823 +#: ../ProjectController.py:1853 msgid "Show code" msgstr "Показать код" @@ -3182,52 +3111,52 @@ msgid "Square root (base 2)" msgstr "Квадратный корень" -#: ../plcopen/definitions.py:46 +#: ../plcopen/definitions.py:48 msgid "Standard function blocks" msgstr "Стандартные функциональные блоки" -#: ../ProjectController.py:1801 ../Beremiz_service.py:261 +#: ../ProjectController.py:1831 ../Beremiz_service.py:263 msgid "Start PLC" msgstr "Запустить ПЛК" -#: ../ProjectController.py:1005 +#: ../ProjectController.py:1034 #, python-format msgid "Start build in %s\n" msgstr "Сборка запущена в %s\n" -#: ../ProjectController.py:1319 +#: ../ProjectController.py:1348 msgid "Started" msgstr "Работа" -#: ../ProjectController.py:1607 +#: ../ProjectController.py:1636 msgid "Starting PLC\n" msgstr "ПЛК запускается\n" -#: ../Beremiz.py:463 +#: ../BeremizIDE.py:365 msgid "Status ToolBar" msgstr "Панель статуса" -#: ../editors/Viewer.py:553 ../editors/Viewer.py:2353 +#: ../editors/Viewer.py:612 ../editors/Viewer.py:2389 msgid "Step" msgstr "Шаг" -#: ../ProjectController.py:1804 +#: ../ProjectController.py:1834 msgid "Stop" msgstr "Стоп" -#: ../Beremiz_service.py:262 +#: ../Beremiz_service.py:264 msgid "Stop PLC" msgstr "Остановить ПЛК" -#: ../ProjectController.py:1806 +#: ../ProjectController.py:1836 msgid "Stop Running PLC" msgstr "Остановить запущенный ПЛК" -#: ../ProjectController.py:1320 +#: ../ProjectController.py:1349 msgid "Stopped" msgstr "Стоп" -#: ../ProjectController.py:1579 +#: ../ProjectController.py:1608 msgid "Stopping debugger...\n" msgstr "Остановка отладчика...\n" @@ -3243,7 +3172,7 @@ msgid "Subtraction" msgstr "Вычитание" -#: ../ProjectController.py:1044 +#: ../ProjectController.py:1073 msgid "Successfully built.\n" msgstr "Сборка прошла успешно.\n" @@ -3260,7 +3189,7 @@ msgid "Sync_TPDOs" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:172 +#: ../dialogs/SearchInProjectDialog.py:165 ../dialogs/FindInPouDialog.py:115 msgid "Syntax error in regular expression of pattern to search!" msgstr "Синтаксическая ошибка в регулярном выражении шаблона поиска!" @@ -3287,23 +3216,25 @@ msgid "Temp" msgstr "Временный" -msgid "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." -msgstr "ПИД (Пропорциональный Интегральный Дифференциальный) ФБ - классический регулятор, используемый в системах с обратной связью." - -msgid "The RAMP function block is modelled on example given in the standard." -msgstr "Ограничитель скорости изменения сигнала. Функциональный блок написан согласно примеру, приведенному в стандарте." - -msgid "The RS bistable is a latch where the Reset dominates." -msgstr "RS-триггер с приоритетом выключения." - -msgid "The SR bistable is a latch where the Set dominates." -msgstr "SR-триггер с приоритетом включения." - -msgid "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." -msgstr "Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN." - -msgid "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." -msgstr "Декрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг нулевого значения с исходного заданного значения." +#: ../version.py:30 +msgid "" +"The best place to ask questions about Beremiz/PLCOpenEditor\n" +"is project's mailing list: beremiz-devel@lists.sourceforge.net\n" +"\n" +"This is the main community support channel.\n" +"For posting it is required to be subscribed to the mailing list.\n" +"\n" +"You can subscribe to the list here:\n" +"https://lists.sourceforge.net/lists/listinfo/beremiz-devel" +msgstr "" +"Самым лучшим местом для вопросов о Beremiz или PLCOpenEditor\n" +"является список рассылки проекта: beremiz-devel@lists.sourceforge.net\n" +"\n" +"Это основной канал поддержки сообщества.\n" +"Для публикации вопроса в список рассылки необходимо на него подписаться.\n" +"\n" +"Вы можете подписаться, перейдя по следующей ссылке:\n" +"https://lists.sourceforge.net/lists/listinfo/beremiz-devel" #: ../editors/FileManagementPanel.py:180 #, python-format @@ -3318,49 +3249,16 @@ msgid "The group of block must be coherent!" msgstr "Группа блоков должна быть связанной!" -msgid "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." -msgstr "Функциональный блок формирует дискретный выход с гистерезисом в зависимости от разницы двух вещественных входов XIN1 и XIN2." - -msgid "The integral function block integrates the value of input XIN over time." -msgstr "Функциональный блок интегрирует входное значение XIN во времени." - -msgid "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." -msgstr "Таймер выключения может быть использован, чтобы внести задержку установки выхода в FALSE на фиксированный период времени после того, как вход стал FALSE." - -msgid "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." -msgstr "Таймер включения может быть использован, чтобы внести задержку установки выхода в TRUE на фиксированный период времени после того, как вход стал TRUE." - -msgid "The output produces a single pulse when a falling edge is detected." -msgstr "Детектор падающего фронта. На выходе формируется одиночный импульс, если обнаружен падающий фронт." - -msgid "The output produces a single pulse when a rising edge is detected." -msgstr "Детектор нарастающего фронта. На выходе формируется одиночный импульс, если обнаружен нарастающий фронт." - -msgid "The pulse timer can be used to generate output pulses of a given time duration." -msgstr "Генератор импульсов. Функциональный блок используется для генерации выходных импульсов заданной длительности." - -msgid "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on." -msgstr "Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр." - -msgid "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." -msgstr "Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам." - -msgid "The up-counter can be used to signal when a count has reached a maximum value." -msgstr "Инкрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг максимального значения." - -msgid "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." -msgstr "Инкрементный/декрементный счетчик имеет два входа CU и CD. Он может использоваться для счета вверх по одному входу и для счета низ по другому." - -#: ../Beremiz.py:640 ../IDEFrame.py:1011 +#: ../BeremizIDE.py:542 ../IDEFrame.py:1015 msgid "There are changes, do you want to save?" msgstr "Хотите сохранить изменения?" -#: ../IDEFrame.py:1654 ../IDEFrame.py:1673 +#: ../IDEFrame.py:1658 ../IDEFrame.py:1677 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "Существует POU с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?" -#: ../IDEFrame.py:1098 +#: ../IDEFrame.py:1102 msgid "" "There was a problem printing.\n" "Perhaps your current printer is not set correctly?" @@ -3410,27 +3308,31 @@ msgid "Time-of-day subtraction" msgstr "Вычитание времени суток" -#: ../editors/Viewer.py:489 +#: ../dialogs/ForceVariableDialog.py:172 +msgid "Toggle value" +msgstr "Переключить значение" + +#: ../editors/Viewer.py:548 msgid "Top" msgstr "Верх" -#: ../ProjectController.py:1813 +#: ../ProjectController.py:1843 msgid "Transfer" msgstr "Передать" -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1845 msgid "Transfer PLC" msgstr "Передать ПЛК" -#: ../ProjectController.py:1779 +#: ../ProjectController.py:1808 msgid "Transfer completed successfully.\n" msgstr "Передача успешно завершена.\n" -#: ../ProjectController.py:1781 +#: ../ProjectController.py:1811 msgid "Transfer failed\n" msgstr "Ошибка передачи\n" -#: ../editors/Viewer.py:554 ../editors/Viewer.py:2355 ../editors/Viewer.py:2382 +#: ../editors/Viewer.py:613 ../editors/Viewer.py:2391 ../editors/Viewer.py:2418 msgid "Transition" msgstr "Переход" @@ -3439,11 +3341,11 @@ msgid "Transition \"%s\" body must contain an output variable or coil referring to its name" msgstr "Тело перехода \"%s\" должно содержать выходную переменную или катушку, ссылающуюся на его имя" -#: ../dialogs/PouTransitionDialog.py:89 +#: ../dialogs/PouTransitionDialog.py:84 msgid "Transition Name" msgstr "Имя перехода" -#: ../dialogs/PouTransitionDialog.py:58 +#: ../dialogs/PouTransitionDialog.py:53 msgid "Transition Name:" msgstr "Имя перехода:" @@ -3457,12 +3359,12 @@ msgid "Transition with content \"{a1}\" not connected to a previous step in \"{a2}\" POU" msgstr "Переход с содержимым \"{a1}\" не подключен к предыдущему шагу в POU \"{a2}\"" -#: ../plcopen/plcopen.py:1318 +#: ../plcopen/plcopen.py:1323 #, python-format msgid "Transition with name %s doesn't exist!" msgstr "Переход с именем %s отсутствует!" -#: ../PLCControler.py:96 +#: ../PLCControler.py:98 msgid "Transitions" msgstr "Переходы" @@ -3474,24 +3376,24 @@ msgid "Triggering" msgstr "Запуск" -#: ../Beremiz_service.py:476 +#: ../Beremiz_service.py:478 msgid "Twisted unavailable." msgstr "Модуль Twisted недоступен." -#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83 -#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53 -#: ../controls/VariablePanel.py:54 +#: ../dialogs/ActionBlockDialog.py:39 ../editors/ResourceEditor.py:83 +#: ../editors/DataTypeEditor.py:50 ../editors/CodeFileEditor.py:744 +#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54 msgid "Type" msgstr "Тип" -#: ../dialogs/BrowseLocationsDialog.py:48 +#: ../dialogs/BrowseLocationsDialog.py:49 msgid "Type and derivated" msgstr "Тип и его производные" #: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:624 #, python-format msgid "Type conflict for location \"%s\"" -msgstr "Конфликт типов \"%s\"" +msgstr "Конфликт типов для адреса \"%s\"" #: ../plcopen/iec_std.csv:16 msgid "Type conversion" @@ -3501,13 +3403,13 @@ msgid "Type infos:" msgstr "Информация о типе:" -#: ../dialogs/BrowseLocationsDialog.py:49 +#: ../dialogs/BrowseLocationsDialog.py:50 msgid "Type strict" msgstr "Только данный тип" -#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:57 -#: ../dialogs/LDPowerRailDialog.py:56 ../dialogs/BrowseLocationsDialog.py:99 -#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58 +#: ../dialogs/SFCDivergenceDialog.py:59 ../dialogs/SFCTransitionDialog.py:58 +#: ../dialogs/LDPowerRailDialog.py:57 ../dialogs/BrowseLocationsDialog.py:100 +#: ../dialogs/FBDBlockDialog.py:66 ../dialogs/ConnectionDialog.py:59 msgid "Type:" msgstr "Тип:" @@ -3538,20 +3440,20 @@ msgid "Undo" msgstr "Отмена" -#: ../ProjectController.py:382 +#: ../ProjectController.py:411 msgid "Unknown" msgstr "Неизвестно" -#: ../editors/Viewer.py:393 +#: ../editors/Viewer.py:394 #, python-format msgid "Unknown variable \"%s\" for this POU!" msgstr "Неизвестная переменная \"%s\" для этого POU!" -#: ../ProjectController.py:379 ../ProjectController.py:380 +#: ../ProjectController.py:408 ../ProjectController.py:409 msgid "Unnamed" msgstr "Unnamed" -#: ../PLCControler.py:636 +#: ../PLCControler.py:638 #, python-format msgid "Unnamed%d" msgstr "Unnamed%d" @@ -3561,7 +3463,7 @@ msgid "Unrecognized data size \"%s\"" msgstr "Неопределенный размер данных \"%s\"" -#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:810 +#: ../editors/DataTypeEditor.py:630 ../controls/VariablePanel.py:827 msgid "User Data Types" msgstr "Пользовательские типы данных" @@ -3569,11 +3471,11 @@ msgid "User Type" msgstr "Пользовательский тип" -#: ../PLCControler.py:95 +#: ../PLCControler.py:97 msgid "User-defined POUs" msgstr "Пользовательские POU" -#: ../dialogs/ActionBlockDialog.py:38 +#: ../dialogs/ActionBlockDialog.py:39 msgid "Value" msgstr "Значение" @@ -3581,28 +3483,28 @@ msgid "Values:" msgstr "Значения:" -#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 -#: ../editors/Viewer.py:2385 +#: ../dialogs/ActionBlockDialog.py:43 ../editors/Viewer.py:585 +#: ../editors/Viewer.py:2421 msgid "Variable" msgstr "Переменная" -#: ../editors/Viewer.py:308 ../editors/Viewer.py:338 ../editors/Viewer.py:360 +#: ../editors/Viewer.py:309 ../editors/Viewer.py:339 ../editors/Viewer.py:361 #: ../editors/TextViewer.py:292 ../editors/TextViewer.py:343 #: ../editors/TextViewer.py:366 ../controls/VariablePanel.py:329 msgid "Variable Drop" msgstr "Перетаскивание переменной" -#: ../dialogs/FBDVariableDialog.py:63 +#: ../dialogs/FBDVariableDialog.py:64 msgid "Variable Properties" msgstr "Свойства переменных" -#: ../editors/Viewer.py:288 ../editors/TextViewer.py:306 +#: ../editors/Viewer.py:289 ../editors/TextViewer.py:306 #: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:290 #: ../controls/VariablePanel.py:350 msgid "Variable class" msgstr "Класс переменной" -#: ../editors/Viewer.py:395 ../editors/TextViewer.py:387 +#: ../editors/Viewer.py:396 ../editors/TextViewer.py:387 msgid "Variable don't belong to this POU!" msgstr "Переменная не принадлежит этому POU!" @@ -3614,11 +3516,11 @@ msgid "Variables" msgstr "Переменные" -#: ../controls/ProjectPropertiesPanel.py:151 +#: ../controls/ProjectPropertiesPanel.py:152 msgid "Vertical:" msgstr "Вертикальный:" -#: ../Beremiz_service.py:586 +#: ../Beremiz_service.py:588 msgid "WAMP client startup failed. " msgstr "Ошибка импорта WAMP. " @@ -3636,11 +3538,11 @@ msgid "WAMP connection to '%s' failed.\n" msgstr "Не удалось установить WAMP подключение к %s.\n" -#: ../Beremiz_service.py:562 +#: ../Beremiz_service.py:564 msgid "WAMP import failed :" msgstr "Ошибка импорта WAMP :" -#: ../wxglade_hmi/wxglade_hmi.py:35 +#: ../wxglade_hmi/wxglade_hmi.py:37 msgid "WXGLADE GUI" msgstr "WXGLADE GUI" @@ -3648,7 +3550,7 @@ msgid "Warning" msgstr "Предупреждение" -#: ../ProjectController.py:666 +#: ../ProjectController.py:695 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "Предупреждения в ST/IL/SFC коде генераторе:\n" @@ -3656,14 +3558,14 @@ msgid "Whole Project" msgstr "Весь проект" -#: ../controls/ProjectPropertiesPanel.py:119 +#: ../controls/ProjectPropertiesPanel.py:120 msgid "Width:" msgstr "Ширина:" msgid "Win32" msgstr "Win32" -#: ../dialogs/FindInPouDialog.py:93 +#: ../dialogs/FindInPouDialog.py:91 msgid "Wrap search" msgstr "Продолжить поиск сначала" @@ -3681,7 +3583,7 @@ msgid "Xenomai" msgstr "Xenomai" -#: ../svgui/svgui.py:139 +#: ../svgui/svgui.py:142 msgid "" "You don't have write permissions.\n" "Open Inkscape anyway ?" @@ -3689,7 +3591,7 @@ "У вас недостаточно прав для записи.\n" "Открыть Inkscape все равно?" -#: ../wxglade_hmi/wxglade_hmi.py:137 +#: ../wxglade_hmi/wxglade_hmi.py:154 msgid "" "You don't have write permissions.\n" "Open wxGlade anyway ?" @@ -3697,7 +3599,7 @@ "У вас недостаточно прав для записи.\n" "Открыть wxGlade все равно?" -#: ../ProjectController.py:342 +#: ../ProjectController.py:371 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" @@ -3717,7 +3619,7 @@ msgid "You must type a name!" msgstr "Введите имя!" -#: ../dialogs/ForceVariableDialog.py:175 +#: ../dialogs/ForceVariableDialog.py:193 msgid "You must type a value!" msgstr "Введите значение!" @@ -3735,7 +3637,7 @@ msgid "desc" msgstr "" -#: ../PLCOpenEditor.py:333 +#: ../PLCOpenEditor.py:343 #, python-format msgid "error: %s\n" msgstr "ошибка: %s\n" @@ -3745,25 +3647,19 @@ msgid "exited with status {a1} (pid {a2})\n" msgstr "завершился с кодом {a1} (pid {a2})\n" -#: ../PLCOpenEditor.py:396 ../PLCOpenEditor.py:398 +#: ../PLCOpenEditor.py:406 ../PLCOpenEditor.py:408 msgid "file : " msgstr "файл:" -msgid "first input parameter" -msgstr "первый входной параметр" - -msgid "first output parameter" -msgstr "первый выходной параметр" - -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "function" msgstr "функция" -#: ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:409 msgid "function : " msgstr "функция: " -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "functionBlock" msgstr "функциональный блок" @@ -3774,10 +3670,7 @@ msgid "initial" msgstr "исходный" -msgid "internal state: 0-reset, 1-counting, 2-set" -msgstr "состояние: 0 - сброс, 1 - счёт, 2 - установка" - -#: ../PLCOpenEditor.py:399 +#: ../PLCOpenEditor.py:409 msgid "line : " msgstr "строка:" @@ -3798,16 +3691,10 @@ msgid "opts" msgstr "" -#: ../dialogs/PouDialog.py:31 +#: ../dialogs/PouDialog.py:32 msgid "program" msgstr "программа" -msgid "second input parameter" -msgstr "второй входной параметр" - -msgid "second output parameter" -msgstr "второй выходной параметр" - #: ../dialogs/DurationEditorDialog.py:152 msgid "seconds" msgstr "секунды" @@ -3827,7 +3714,7 @@ msgid "type" msgstr "тип" -#: ../Beremiz.py:126 +#: ../Beremiz.py:164 msgid "update info unavailable." msgstr "информация об обновлениях недоступна." @@ -3837,12 +3724,12 @@ msgid "variables" msgstr "переменные" -#: ../PLCOpenEditor.py:331 +#: ../PLCOpenEditor.py:341 #, python-format msgid "warning: %s\n" msgstr "предупреждение: %s\n" -#: ../PLCControler.py:970 +#: ../PLCControler.py:972 #, python-brace-format msgid "{a1} \"{a2}\" can't be pasted as a {a3}." msgstr "{a1} \"{a2}\" не может быть вставлен как {a3}." @@ -3856,220 +3743,155 @@ "{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 " -> Nothing to do\n" -#~ msgstr " -> Ничего не нужно делать\n" - -#~ msgid " : " -#~ msgstr " : " - -#~ msgid "\"%s\" element can't be pasted here!!!" -#~ msgstr "Элемент \"%s\" не может быть вставлен сюда!!!" - -#~ msgid "... debugger recovered\n" -#~ msgstr "... отладчик восстановлен\n" - -#~ msgid "About Beremiz" -#~ msgstr "О Beremiz" - -#~ msgid "About PLCOpenEditor" -#~ msgstr "О PLCOpenEditor" - -#~ msgid "Clear the graph values" -#~ msgstr "Очистить значения на графике" - -#~ msgid "" -#~ "Derivative\n" -#~ "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." -#~ msgstr "" -#~ "Производная\n" -#~ "Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN." - -#~ msgid "Description" -#~ msgstr "Описание" - -#~ msgid "" -#~ "Down-counter\n" -#~ "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." -#~ msgstr "" -#~ "Декрементный счетчик\n" -#~ "Декрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг нулевого значения с исходного заданного значения." - -#~ msgid "Enable_Native_Library" -#~ msgstr "Разрешить библиотеку Native" - -#~ msgid "" -#~ "Falling edge detector\n" -#~ "The output produces a single pulse when a falling edge is detected." -#~ msgstr "" -#~ "Детектор падающего фронта\n" -#~ "На выходе формируется одиночный импульс, если обнаружен падающий фронт." - -#~ msgid "Form isn't complete. Pattern to search must be filled!" -#~ msgstr "Форма заполнена неполностью. Шаблон поиска должен быть заполнен!" - -#~ msgid "" -#~ "Hysteresis\n" -#~ "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." -#~ msgstr "" -#~ "Гистерезис\n" -#~ "Функциональный блок формирует дискретный выход с гистерезисом в зависимости от разницы двух вещественных входов XIN1 и XIN2." - -#~ msgid "IEC-61131-3 code generation failed !\n" -#~ msgstr "Неудачная генерация МЭК-61131-3 кода!\n" - -#~ msgid "In section: " -#~ msgstr "В секции: " - -#~ msgid "Initial" +#~ msgid "0 - current time, 1 - load time from PDT" +#~ msgstr "0 - текущее время, 1 - отклонение от PDT" + +#~ msgid "0 - manual , 1 - automatic" +#~ msgstr "0 - ручной, 1 - автоматический" + +#~ msgid "0 - track X0, 1 - ramp to/track X1" +#~ msgstr "0 - вход X0, 1 - нарастание до значения X1" + +#~ msgid "0 = reset" +#~ msgstr "0 = сброс" + +#~ msgid "1 = integrate, 0 = hold" +#~ msgstr "1 = интегрировать, 0 = остановка" + +#~ msgid "BUSY = 1 during ramping period" +#~ msgstr "BUSY = 1 во время " + +#~ msgid "Copy of IN" +#~ msgstr "Копия входа IN" + +#~ msgid "Datetime, current or relative to PDT" +#~ msgstr "Текущие дата и время, абсолютные или относительные от PDT" + +#~ msgid "Derivative time constant" +#~ msgstr "Постоянная времени дифференцирования" + +#~ msgid "Differentiated output" +#~ msgstr "Дифференцированный выход" + +#~ msgid "Elapsed time of ramp" +#~ msgstr "Прошедшее время нарастания" + +#~ msgid "FB for derivative term" +#~ msgstr "ФБ дифференцирования" + +#~ msgid "FB for integral term" +#~ msgstr "ФД интегрирования" + +#~ msgid "Initial value" #~ msgstr "Исходное значение" -#~ msgid "" -#~ "Integral\n" -#~ "The integral function block integrates the value of input XIN over time." -#~ msgstr "" -#~ "Интеграл\n" -#~ "Функциональный блок интегрирует входное значение XIN во времени." - -#~ msgid "Move debug variable down" -#~ msgstr "Переместить отлаживаемую переменную ниже" - -#~ msgid "Move debug variable up" -#~ msgstr "Переместить отлаживаемую переменную выше" - -#~ msgid "No PLC project found" -#~ msgstr "Не найден проект ПЛК" - -#~ msgid "No output variable found" -#~ msgstr "Выходная переменная не найдена" - -#~ msgid "" -#~ "Off-delay timer\n" -#~ "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." -#~ msgstr "" -#~ "Таймер выключения\n" -#~ "Таймер выключения может быть использован, чтобы внести задержку установки выхода в FALSE на фиксированный период времени после того, как вход стал FALSE." - -#~ msgid "" -#~ "On-delay timer\n" -#~ "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." -#~ msgstr "" -#~ "Таймер включения\n" -#~ "Таймер выключения может быть использован, чтобы внести задержку установки выхода в TRUE на фиксированный период времени после того, как вход стал TRUE." - -#~ msgid "" -#~ "PID\n" -#~ "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." -#~ msgstr "" -#~ "ПИД\n" -#~ "ПИД (Пропорциональный Интегральный Дифференциальный) ФБ - классический регулятор, используемый в системах с обратной связью." - -#~ msgid "Position:" -#~ msgstr "Позиция:" - -#~ msgid "" -#~ "Pulse timer\n" -#~ "The pulse timer can be used to generate output pulses of a given time duration." -#~ msgstr "" -#~ "Генератор импульсов\n" -#~ "Функциональный блок используется для генерации выходных импульсов заданной длительности." - -#~ msgid "" -#~ "RS bistable\n" -#~ "The RS bistable is a latch where the Reset dominates." -#~ msgstr "" -#~ "RS триггер\n" -#~ "RS триггер - переключатель с доминантой выключения." - -#~ msgid "" -#~ "Ramp\n" -#~ "The RAMP function block is modelled on example given in the standard." -#~ msgstr "" -#~ "Ограничитель скорости изменения сигнала\n" -#~ "Функциональный блок написан согласно примеру, приведенному в стандарте." - -#~ msgid "" -#~ "Real time clock\n" -#~ "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on." -#~ msgstr "" -#~ "RTC часы\n" -#~ "Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр." - -#~ msgid "Remove debug variable" -#~ msgstr "Удалить отлаживаемую переменную" - -#~ msgid "Reset zoom and offset" -#~ msgstr "Сбросить приближение и смещение" - -#~ msgid "" -#~ "Rising edge detector\n" -#~ "The output produces a single pulse when a rising edge is detected." -#~ msgstr "" -#~ "Детектор нарастающего фронта\n" -#~ "На выходе формируется одиночный импульс, если обнаружен нарастающий фронт." - -#~ msgid "" -#~ "SR bistable\n" -#~ "The SR bistable is a latch where the Set dominates." -#~ msgstr "" -#~ "SR триггер\n" -#~ "SR триггер - переключатель с доминантой включения." - -#~ msgid "" -#~ "Semaphore\n" -#~ "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." -#~ msgstr "" -#~ "Семафор\n" -#~ "Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам." - -#~ msgid "Tick" -#~ msgstr "Тик" - -#~ msgid "" -#~ "Up-counter\n" -#~ "The up-counter can be used to signal when a count has reached a maximum value." -#~ msgstr "" -#~ "Инкрементный счетчик\n" -#~ "Инкрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг максимального значения." - -#~ msgid "" -#~ "Up-down counter\n" -#~ "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." -#~ msgstr "" -#~ "Инкрементный/декрементный счетчик\n" -#~ "Инкрементный/декрементный счетчик имеет два входа CU и CD. Он может использоваться для счета вверх по одному входу и для счета низ по другому." - -#~ msgid "Values" -#~ msgstr "Значения" - -#~ msgid "Waiting debugger to recover...\n" -#~ msgstr "Ожидание восстановления отладчика...\n" - -#~ msgid "Zoom:" -#~ msgstr "Приближение:" - -#~ msgid "about.html" -#~ msgstr "about.ru.html" - -#~ msgid "plcopen_about.html" -#~ msgstr "plcopen_about.ru.html" +#~ msgid "Input to be differentiated" +#~ msgstr "Вход для дифференцирования" + +#~ msgid "Input variable" +#~ msgstr "Входная переменная" + +#~ msgid "Integrated output" +#~ msgstr "Интегрированный выход" + +#~ msgid "Manual output adjustment - Typically from transfer station" +#~ msgstr "Ручной выход" + +#~ msgid "NOT R1" +#~ msgstr "НЕ R1" + +#~ msgid "Overriding reset" +#~ msgstr "Сброс интегратора" + +#~ msgid "PLC" +#~ msgstr "ПЛК" + +#~ msgid "PV - SP" +#~ msgstr "Ошибка, PV - SP" + +#~ msgid "Preset datetime" +#~ msgstr "Основное время" + +#~ msgid "Process variable" +#~ msgstr "Текущее значение регулируемой переменной" + +#~ msgid "Proportionality constant" +#~ msgstr "Коэффициент пропорциональности" + +#~ msgid "Ramp duration" +#~ msgstr "Длительность нарастания" + +#~ msgid "Reset time" +#~ msgstr "Постоянная времени интегрирования" + +#~ msgid "Sampling period" +#~ msgstr "Период сэмплирования" + +#~ msgid "Set point" +#~ msgstr "Уставка" + +#~ msgid "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control." +#~ msgstr "ПИД (Пропорциональный Интегральный Дифференциальный) ФБ - классический регулятор, используемый в системах с обратной связью." + +#~ msgid "The RAMP function block is modelled on example given in the standard." +#~ msgstr "Ограничитель скорости изменения сигнала. Функциональный блок написан согласно примеру, приведенному в стандарте." + +#~ msgid "The RS bistable is a latch where the Reset dominates." +#~ msgstr "RS-триггер с приоритетом выключения." + +#~ msgid "The SR bistable is a latch where the Set dominates." +#~ msgstr "SR-триггер с приоритетом включения." + +#~ msgid "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN." +#~ msgstr "Функциональный блок формирует выход XOUT пропорционально частоте изменения входа XIN." + +#~ msgid "The down-counter can be used to signal when a count has reached zero, on counting down from a preset value." +#~ msgstr "Декрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг нулевого значения с исходного заданного значения." + +#~ msgid "The hysteresis function block provides a hysteresis boolean output driven by the difference of two floating point (REAL) inputs XIN1 and XIN2." +#~ msgstr "Функциональный блок формирует дискретный выход с гистерезисом в зависимости от разницы двух вещественных входов XIN1 и XIN2." + +#~ msgid "The integral function block integrates the value of input XIN over time." +#~ msgstr "Функциональный блок интегрирует входное значение XIN во времени." + +#~ msgid "The off-delay timer can be used to delay setting an output false, for fixed period after input goes false." +#~ msgstr "Таймер выключения может быть использован, чтобы внести задержку установки выхода в FALSE на фиксированный период времени после того, как вход стал FALSE." + +#~ msgid "The on-delay timer can be used to delay setting an output true, for fixed period after an input becomes true." +#~ msgstr "Таймер включения может быть использован, чтобы внести задержку установки выхода в TRUE на фиксированный период времени после того, как вход стал TRUE." + +#~ msgid "The output produces a single pulse when a falling edge is detected." +#~ msgstr "Детектор падающего фронта. На выходе формируется одиночный импульс, если обнаружен падающий фронт." + +#~ msgid "The output produces a single pulse when a rising edge is detected." +#~ msgstr "Детектор нарастающего фронта. На выходе формируется одиночный импульс, если обнаружен нарастающий фронт." + +#~ msgid "The pulse timer can be used to generate output pulses of a given time duration." +#~ msgstr "Генератор импульсов. Функциональный блок используется для генерации выходных импульсов заданной длительности." + +#~ msgid "The real time clock has many uses including time stamping, setting dates and times of day in batch reports, in alarm messages and so on." +#~ msgstr "Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр." + +#~ msgid "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources." +#~ msgstr "Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам." + +#~ msgid "The up-counter can be used to signal when a count has reached a maximum value." +#~ msgstr "Инкрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг максимального значения." + +#~ msgid "The up-down counter has two inputs CU and CD. It can be used to both count up on one input and down on the other." +#~ msgstr "Инкрементный/декрементный счетчик имеет два входа CU и CD. Он может использоваться для счета вверх по одному входу и для счета низ по другому." + +#~ msgid "first input parameter" +#~ msgstr "первый входной параметр" + +#~ msgid "first output parameter" +#~ msgstr "первый выходной параметр" + +#~ msgid "internal state: 0-reset, 1-counting, 2-set" +#~ msgstr "состояние: 0 - сброс, 1 - счёт, 2 - установка" + +#~ msgid "second input parameter" +#~ msgstr "второй входной параметр" + +#~ msgid "second output parameter" +#~ msgstr "второй выходной параметр"