# HG changeset patch # User Andrey Skvortsov # Date 1489062919 -10800 # Node ID 3a98027ff372cb2bb60529176c05d65aa63323e2 # Parent bb5440697405c25a308650529cf56ca31e77cb30 apply constraints to names for tasks and task instances in resource configuration The same rules as for IEC identifiers are applied. - no non-lating characters, ... - no IEC keywords - check for duplicate names in resource configuration closes #19 diff -r bb5440697405 -r 3a98027ff372 editors/ResourceEditor.py --- a/editors/ResourceEditor.py Thu Mar 09 13:01:28 2017 +0500 +++ b/editors/ResourceEditor.py Thu Mar 09 15:35:19 2017 +0300 @@ -31,7 +31,7 @@ from dialogs.DurationEditorDialog import IEC_TIME_MODEL from EditorPanel import EditorPanel from util.BitmapLibrary import GetBitmap - +from plcopen.structures import LOCATIONDATATYPES, TestIdentifier, IEC_KEYWORDS, DefaultType #------------------------------------------------------------------------------- # Configuration Editor class #------------------------------------------------------------------------------- @@ -108,7 +108,7 @@ def GetValue(self, row, col): if row < self.GetNumberRows(): colname = self.GetColLabelValue(col, False) - value = str(self.data[row].get(colname, "")) + value = self.data[row].get(colname, "") if colname == "Triggering": return _(value) return value @@ -432,9 +432,28 @@ self.TasksGrid.RefreshButtons() self.InstancesGrid.RefreshButtons() + def ShowErrorMessage(self, message): + dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR) + dialog.ShowModal() + dialog.Destroy() + def OnTasksGridCellChange(self, event): row, col = event.GetRow(), event.GetCol() if self.TasksTable.GetColLabelValue(col, False) == "Name": + value = self.TasksTable.GetValue(row, col) + message = None + + if not TestIdentifier(value): + message = _("\"%s\" is not a valid identifier!") % value + elif value.upper() in IEC_KEYWORDS: + message = _("\"%s\" is a keyword. It can't be used!") % value + elif value.upper() in [var["Name"].upper() for i, var in enumerate(self.TasksTable.data) if i!=row]: + message = _("A task with the same name already exists!") + if message is not None: + event.Veto() + wx.CallAfter(self.ShowErrorMessage, message) + return + tasklist = [name for name in self.TaskList.split(",") if name != ""] for i in xrange(self.TasksTable.GetNumberRows()): task = self.TasksTable.GetValueByName(i, "Name") @@ -454,6 +473,22 @@ event.Skip() def OnInstancesGridCellChange(self, event): + row, col = event.GetRow(), event.GetCol() + if self.InstancesTable.GetColLabelValue(col, False) == "Name": + value = self.InstancesTable.GetValue(row, col) + message = None + + if not TestIdentifier(value): + message = _("\"%s\" is not a valid identifier!") % value + elif value.upper() in IEC_KEYWORDS: + message = _("\"%s\" is a keyword. It can't be used!") % value + elif value.upper() in [var["Name"].upper() for i ,var in enumerate(self.InstancesTable.data) if i!=row]: + message = _("An instance with the same name already exists!") + if message is not None: + event.Veto() + wx.CallAfter(self.ShowErrorMessage, message) + return + self.RefreshModel() self.ParentWindow.RefreshPouInstanceVariablesPanel() self.InstancesGrid.RefreshButtons() diff -r bb5440697405 -r 3a98027ff372 i18n/Beremiz_ru_RU.po --- a/i18n/Beremiz_ru_RU.po Thu Mar 09 13:01:28 2017 +0500 +++ b/i18n/Beremiz_ru_RU.po Thu Mar 09 15:35:19 2017 +0300 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: Beremiz\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-12 14:39+0300\n" -"PO-Revision-Date: 2017-01-12 14:41+0300\n" +"POT-Creation-Date: 2017-03-09 15:28+0300\n" +"PO-Revision-Date: 2017-03-09 15:30+0300\n" "Last-Translator: Andrey Skvortsov \n" "Language-Team: Andrey Skvortsov \n" "Language: ru_RU\n" @@ -72,7 +72,7 @@ msgid " and %s" msgstr "и %s" -#: ../ProjectController.py:1089 +#: ../ProjectController.py:1110 msgid " generation failed !\n" msgstr "неудачная генерация кода!\n" @@ -96,7 +96,7 @@ msgid "\"%s\" can't use itself!" msgstr "\"%s\" не может использовать сам себя!!!" -#: ../IDEFrame.py:1652 ../IDEFrame.py:1671 +#: ../IDEFrame.py:1651 ../IDEFrame.py:1670 #, python-format msgid "\"%s\" config already exists!" msgstr "Конфигурация \"%s\" уже существует!!!" @@ -106,7 +106,7 @@ msgid "\"%s\" configuration already exists !!!" msgstr "Конфигурация \"%s\" уже существует!!!" -#: ../IDEFrame.py:1602 +#: ../IDEFrame.py:1601 #, python-format msgid "\"%s\" data type already exists!" msgstr "Тип данных \"%s\" уже существует!!!" @@ -128,9 +128,10 @@ #: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106 #: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 #: ../dialogs/PouActionDialog.py:98 ../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:751 -#: ../IDEFrame.py:1593 +#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:763 +#: ../IDEFrame.py:1592 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "\"%s\" является ключевым словом и не может быть использован!" @@ -148,13 +149,14 @@ #: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104 #: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 #: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 +#: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482 #: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768 -#: ../controls/VariablePanel.py:749 ../IDEFrame.py:1591 +#: ../controls/VariablePanel.py:761 ../IDEFrame.py:1590 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "\"%s\" неверный идентификатор!" -#: ../IDEFrame.py:2396 +#: ../IDEFrame.py:2395 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "\"%s\" используется более чем одним POU. Продолжить?" @@ -164,7 +166,7 @@ #: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 #: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 -#: ../IDEFrame.py:1611 +#: ../IDEFrame.py:1610 #, python-format msgid "\"%s\" pou already exists!" msgstr "POU \"%s\" уже существует!" @@ -279,8 +281,8 @@ msgid "&Add Element" msgstr "&Добавить элемент" -#: ../dialogs/AboutDialog.py:65 ../dialogs/AboutDialog.py:113 -#: ../dialogs/AboutDialog.py:150 +#: ../dialogs/AboutDialog.py:73 ../dialogs/AboutDialog.py:121 +#: ../dialogs/AboutDialog.py:158 msgid "&Close" msgstr "&Закрыть" @@ -316,7 +318,7 @@ msgid "&Help" msgstr "&Помощь" -#: ../dialogs/AboutDialog.py:64 +#: ../dialogs/AboutDialog.py:72 msgid "&License" msgstr "&Лицензия" @@ -402,15 +404,15 @@ msgid "1s" msgstr "1 сек" -#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1614 ../IDEFrame.py:1660 -#: ../IDEFrame.py:1679 +#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1613 ../IDEFrame.py:1659 +#: ../IDEFrame.py:1678 #, 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:753 ../IDEFrame.py:1628 ../IDEFrame.py:1641 +#: ../controls/VariablePanel.py:765 ../IDEFrame.py:1627 ../IDEFrame.py:1640 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "POU с именем \"%s\" уже существует!" @@ -424,8 +426,12 @@ msgid "A location must be selected!" msgstr "Необходимо выбрать размещение!" -#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755 -#: ../IDEFrame.py:1630 ../IDEFrame.py:1643 +#: ../editors/ResourceEditor.py:451 +msgid "A task with the same name already exists!" +msgstr "Задача с таким именем уже существует!" + +#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:767 +#: ../IDEFrame.py:1629 ../IDEFrame.py:1642 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "Переменная с именем \"%s\" уже существует в этом POU!" @@ -435,7 +441,7 @@ msgid "A variable with \"%s\" as name already exists!" msgstr "Переменная с именем \"%s\" уже существует!" -#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381 +#: ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:158 ../Beremiz.py:381 msgid "About" msgstr "О программе" @@ -447,7 +453,7 @@ msgid "Action" msgstr "Действие" -#: ../editors/Viewer.py:555 ../editors/Viewer.py:2345 +#: ../editors/Viewer.py:555 ../editors/Viewer.py:2356 msgid "Action Block" msgstr "Блок действия" @@ -472,7 +478,7 @@ msgid "Actions:" msgstr "Действия:" -#: ../editors/Viewer.py:1100 +#: ../editors/Viewer.py:1110 msgid "Active" msgstr "Активный" @@ -481,7 +487,7 @@ msgid "Add" msgstr "Добавить" -#: ../IDEFrame.py:1890 ../IDEFrame.py:1925 +#: ../IDEFrame.py:1889 ../IDEFrame.py:1924 msgid "Add Action" msgstr "Добавить действие" @@ -489,11 +495,11 @@ msgid "Add C code accessing located variables synchronously" msgstr "Добавить C-код с синхронным доступом к локальным переменным" -#: ../IDEFrame.py:1873 +#: ../IDEFrame.py:1872 msgid "Add Configuration" msgstr "Добавить конфигурацию" -#: ../IDEFrame.py:1853 +#: ../IDEFrame.py:1852 msgid "Add DataType" msgstr "Добавить тип данных" @@ -505,7 +511,7 @@ msgid "Add IP" msgstr "Добавить IP адрес" -#: ../IDEFrame.py:1861 +#: ../IDEFrame.py:1860 msgid "Add POU" msgstr "Добавить POU" @@ -513,11 +519,11 @@ msgid "Add Python code executed asynchronously" msgstr "Добавить асинхронно вызываемый код на Python" -#: ../IDEFrame.py:1901 ../IDEFrame.py:1951 +#: ../IDEFrame.py:1900 ../IDEFrame.py:1950 msgid "Add Resource" msgstr "Добавить ресурс" -#: ../IDEFrame.py:1879 ../IDEFrame.py:1922 +#: ../IDEFrame.py:1878 ../IDEFrame.py:1921 msgid "Add Transition" msgstr "Добавить переход" @@ -529,7 +535,7 @@ msgid "Add a new initial step" msgstr "Добавить новый исходный шаг" -#: ../editors/Viewer.py:2706 ../editors/SFCViewer.py:770 +#: ../editors/Viewer.py:2717 ../editors/SFCViewer.py:770 msgid "Add a new jump" msgstr "Добавить новый безусловный переход" @@ -577,7 +583,7 @@ msgid "Adjust Block Size" msgstr "Скорректировать размер элемента" -#: ../editors/Viewer.py:1637 +#: ../editors/Viewer.py:1648 msgid "Alignment" msgstr "Выравнивание" @@ -593,7 +599,7 @@ msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "Все файлы (*.*)|*.*|CSV files (*.csv)|*.csv" -#: ../ProjectController.py:1623 +#: ../ProjectController.py:1644 msgid "Already connected. Please disconnect\n" msgstr "Уже подключен. Пожалуйста, отключитесь сначала.\n" @@ -602,6 +608,10 @@ msgid "An element named \"%s\" already exists in this structure!" msgstr "Поле с именем \"%s\" уже существует в данной структуре!" +#: ../editors/ResourceEditor.py:486 +msgid "An instance with the same name already exists!" +msgstr "Экземпляр задачи с таким именем уже существует!" + #: ../dialogs/ConnectionDialog.py:96 msgid "Apply name modification to all continuations with the same name" msgstr "Переименовать все цепи с тем же самым именем" @@ -623,7 +633,7 @@ msgstr "Математика" #: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 -#: ../controls/VariablePanel.py:829 +#: ../controls/VariablePanel.py:841 msgid "Array" msgstr "Массив" @@ -668,7 +678,7 @@ msgid "Base Type:" msgstr "Базовый тип:" -#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787 +#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:799 msgid "Base Types" msgstr "Базовые типы" @@ -710,7 +720,7 @@ msgid "Bitwise inverting" msgstr "Битовое НЕ" -#: ../editors/Viewer.py:525 ../editors/Viewer.py:2358 +#: ../editors/Viewer.py:525 ../editors/Viewer.py:2369 msgid "Block" msgstr "Блок" @@ -726,7 +736,7 @@ msgid "Bottom" msgstr "Низ" -#: ../ProjectController.py:1301 +#: ../ProjectController.py:1322 msgid "Broken" msgstr "Ошибка" @@ -739,23 +749,23 @@ msgid "Browse Locations" msgstr "Просмотр директорий" -#: ../ProjectController.py:1769 +#: ../ProjectController.py:1790 msgid "Build" msgstr "Сборка" -#: ../ProjectController.py:1235 +#: ../ProjectController.py:1256 msgid "Build directory already clean\n" msgstr "Директория сборки уже пуста\n" -#: ../ProjectController.py:1770 +#: ../ProjectController.py:1791 msgid "Build project into build folder" msgstr "Сборка проекта в директории сборки" -#: ../ProjectController.py:1018 +#: ../ProjectController.py:1039 msgid "C Build crashed !\n" msgstr "Крэш во время сборки C-кода!\n" -#: ../ProjectController.py:1015 +#: ../ProjectController.py:1036 msgid "C Build failed.\n" msgstr "Ошибка сборки C-кода.\n" @@ -763,7 +773,7 @@ msgid "C code" msgstr "C код " -#: ../ProjectController.py:1093 +#: ../ProjectController.py:1114 msgid "C code generated successfully.\n" msgstr "C-код успешно сгенерирован.\n" @@ -780,7 +790,7 @@ msgid "C extension" msgstr "С-расширение" -#: ../dialogs/AboutDialog.py:63 +#: ../dialogs/AboutDialog.py:71 msgid "C&redits" msgstr "&Благодарности" @@ -859,7 +869,7 @@ msgid "Cannot get PLC status - connection failed.\n" msgstr "Невозможно получить состояние ПЛК - ошибка подключения.\n" -#: ../ProjectController.py:881 +#: ../ProjectController.py:902 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "Не удалось открыть/прочитать VARIABLES.csv\n" @@ -884,7 +894,7 @@ msgid "Change Name" msgstr "Сменить имя" -#: ../IDEFrame.py:1943 +#: ../IDEFrame.py:1942 msgid "Change POU Type To" msgstr "Сменить тип POU на" @@ -904,7 +914,7 @@ msgid "Choose a SVG file" msgstr "Выберите SVG-файл" -#: ../ProjectController.py:451 +#: ../ProjectController.py:501 msgid "Choose a directory to save project" msgstr "Выберите директорию, чтобы сохранить проект" @@ -926,11 +936,11 @@ msgid "Choose a working directory " msgstr "Выберите рабочую директорию" -#: ../ProjectController.py:358 +#: ../ProjectController.py:408 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "Выбранная директория не содержит программы. Это некорректный проект!" -#: ../ProjectController.py:325 +#: ../ProjectController.py:375 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "Выбранная директория не пуста и не может использоваться для нового проекта!" @@ -946,7 +956,7 @@ msgid "Class:" msgstr "Класс:" -#: ../ProjectController.py:1773 +#: ../ProjectController.py:1794 msgid "Clean" msgstr "Очистить" @@ -954,11 +964,11 @@ msgid "Clean log messages" msgstr "Очистить лог" -#: ../ProjectController.py:1775 +#: ../ProjectController.py:1796 msgid "Clean project build folder" msgstr "Очистить директорию сборки проекта" -#: ../ProjectController.py:1232 +#: ../ProjectController.py:1253 msgid "Cleaning the build directory\n" msgstr "Очистка директории сборки\n" @@ -987,7 +997,7 @@ msgid "Close Tab" msgstr "Закрыть вкладку" -#: ../editors/Viewer.py:541 ../editors/Viewer.py:2366 +#: ../editors/Viewer.py:541 ../editors/Viewer.py:2377 msgid "Coil" msgstr "Катушка" @@ -1017,7 +1027,7 @@ msgid "Compiler" msgstr "Компилятор" -#: ../ProjectController.py:672 +#: ../ProjectController.py:693 msgid "Compiling IEC Program into C code...\n" msgstr "Компиляция МЭК-программы в C-код...\n" @@ -1047,21 +1057,21 @@ msgid "Confirm or change variable name" msgstr "Подтвердить или поменять имя переменной" -#: ../ProjectController.py:1788 +#: ../ProjectController.py:1809 msgid "Connect" msgstr "Подключиться" -#: ../ProjectController.py:1789 +#: ../ProjectController.py:1810 msgid "Connect to the target PLC" msgstr "Подключиться к целевому ПЛК" -#: ../ProjectController.py:1292 +#: ../ProjectController.py:1313 #, python-format msgid "Connected to URI: %s" msgstr "Подключен к URI: %s" #: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 -#: ../editors/Viewer.py:2359 +#: ../editors/Viewer.py:2370 msgid "Connection" msgstr "Подключение" @@ -1069,11 +1079,11 @@ msgid "Connection Properties" msgstr "Свойства подключение" -#: ../ProjectController.py:1647 +#: ../ProjectController.py:1668 msgid "Connection canceled!\n" msgstr "Подключение отменено!\n" -#: ../ProjectController.py:1672 +#: ../ProjectController.py:1693 #, python-format msgid "Connection failed to %s!\n" msgstr "Неудачное подключение к %s!\n" @@ -1087,7 +1097,7 @@ msgid "Connection to '%s' failed.\n" msgstr "Неудачное подключение к %s!\n" -#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1594 +#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1605 msgid "Connector" msgstr "Коннектор" @@ -1103,7 +1113,7 @@ msgid "Constant" msgstr "Константа" -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2362 +#: ../editors/Viewer.py:537 ../editors/Viewer.py:2373 msgid "Contact" msgstr "Контакт" @@ -1111,7 +1121,7 @@ msgid "Content Description (optional):" msgstr "Описание содержимого (опционально):" -#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1595 +#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1606 msgid "Continuation" msgstr "Продолжение" @@ -1136,7 +1146,7 @@ msgid "Copy" msgstr "Копировать" -#: ../IDEFrame.py:1930 +#: ../IDEFrame.py:1929 msgid "Copy POU" msgstr "Копировать POU" @@ -1191,15 +1201,15 @@ msgid "Couldn't paste non-POU object." msgstr "Невозможно вставить не-POU." -#: ../ProjectController.py:1589 +#: ../ProjectController.py:1610 msgid "Couldn't start PLC !\n" msgstr "Невозможно запустить ПЛК!\n" -#: ../ProjectController.py:1597 +#: ../ProjectController.py:1618 msgid "Couldn't stop PLC !\n" msgstr "Невозможно остановить ПЛК!\n" -#: ../ProjectController.py:1561 +#: ../ProjectController.py:1582 msgid "Couldn't stop debugger.\n" msgstr "Невозможно остановить отладчик.\n" @@ -1279,7 +1289,7 @@ msgid "Create a new variable" msgstr "Создать новую переменную" -#: ../dialogs/AboutDialog.py:105 +#: ../dialogs/AboutDialog.py:113 msgid "Credits" msgstr "Благодарности" @@ -1343,7 +1353,7 @@ msgid "Days:" msgstr "Дни:" -#: ../ProjectController.py:1694 +#: ../ProjectController.py:1715 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "Отлаживаемая программа не соответствует программе в ПЛК - остановите/загрузите/запустите, чтобы разрешить отладку\n" @@ -1351,17 +1361,17 @@ msgid "Debug instance" msgstr "Отладка экземпляра" -#: ../editors/Viewer.py:1117 ../editors/Viewer.py:3653 +#: ../editors/Viewer.py:1127 ../editors/Viewer.py:3664 #, python-format msgid "Debug: %s" msgstr "Отладка: %s" -#: ../ProjectController.py:1350 +#: ../ProjectController.py:1371 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "Отладка: неизвестная переменная '%s'\n" -#: ../ProjectController.py:1348 +#: ../ProjectController.py:1369 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "Отладка: неподдерживамый отладкой тип '%s'\n" @@ -1370,19 +1380,19 @@ msgid "Debugger" msgstr "Отладчик" -#: ../ProjectController.py:1530 +#: ../ProjectController.py:1551 msgid "Debugger disabled\n" msgstr "Отладчик запрещен\n" -#: ../ProjectController.py:1691 +#: ../ProjectController.py:1712 msgid "Debugger ready\n" msgstr "Отладчик готов\n" -#: ../ProjectController.py:1563 +#: ../ProjectController.py:1584 msgid "Debugger stopped.\n" msgstr "Отладчик остановлен.\n" -#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1959 +#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1958 msgid "Delete" msgstr "Удалить" @@ -1439,19 +1449,19 @@ msgid "Disable_Extensions" msgstr "Запретить расширения" -#: ../ProjectController.py:1797 +#: ../ProjectController.py:1818 msgid "Disconnect" msgstr "Отключиться" -#: ../ProjectController.py:1799 +#: ../ProjectController.py:1820 msgid "Disconnect from PLC" msgstr "Отключиться от ПЛК" -#: ../ProjectController.py:1302 +#: ../ProjectController.py:1323 msgid "Disconnected" msgstr "Отключено" -#: ../editors/Viewer.py:556 ../editors/Viewer.py:2354 +#: ../editors/Viewer.py:556 ../editors/Viewer.py:2365 msgid "Divergence" msgstr "Ветвление" @@ -1512,7 +1522,7 @@ msgid "Edit array type properties" msgstr "Редактировать свойства массива" -#: ../editors/Viewer.py:2575 ../editors/Viewer.py:3004 +#: ../editors/Viewer.py:2586 ../editors/Viewer.py:3015 msgid "Edit comment" msgstr "Редактировать комментарий" @@ -1524,11 +1534,11 @@ msgid "Edit item" msgstr "Редактировать элемент" -#: ../editors/Viewer.py:2963 +#: ../editors/Viewer.py:2974 msgid "Edit jump target" msgstr "Редактирование безусловного перехода" -#: ../ProjectController.py:1811 +#: ../ProjectController.py:1832 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "Редактировать МЭК-код добавленный к коду сгенерированному PLCGenerator" @@ -1544,7 +1554,7 @@ msgid "Editor ToolBar" msgstr "Редактор панели инструментов" -#: ../ProjectController.py:1195 +#: ../ProjectController.py:1216 msgid "Editor selection" msgstr "Редактор выделения" @@ -1555,7 +1565,7 @@ msgid "Elements :" msgstr "Элементы:" -#: ../ProjectController.py:1300 +#: ../ProjectController.py:1321 msgid "Empty" msgstr "Нет программы" @@ -1595,35 +1605,36 @@ #: ../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/Viewer.py:423 +#: ../PLCOpenEditor.py:420 ../PLCOpenEditor.py:430 +#: ../editors/ResourceEditor.py:436 ../editors/Viewer.py:423 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882 #: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550 #: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579 #: ../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:293 ../ProjectController.py:421 -#: ../ProjectController.py:428 ../controls/FolderTree.py:217 +#: ../ProjectController.py:343 ../ProjectController.py:471 +#: ../ProjectController.py:478 ../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:772 -#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1614 -#: ../IDEFrame.py:1655 ../IDEFrame.py:1660 ../IDEFrame.py:1674 -#: ../IDEFrame.py:1679 ../Beremiz_service.py:211 +#: ../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 msgid "Error" msgstr "Ошибка" -#: ../ProjectController.py:727 +#: ../ProjectController.py:748 msgid "Error : At least one configuration and one resource must be declared in PLC !\n" msgstr "Ошибка: Как минимум одна конфигурация и один ресурс должны быть задекларированы в ПЛК!\n" -#: ../ProjectController.py:719 +#: ../ProjectController.py:740 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "Ошибка: компилятор МЭК в C вернул код ошибки %d\n" -#: ../ProjectController.py:621 +#: ../ProjectController.py:671 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1647,7 +1658,7 @@ msgid "Error: No PLC built\n" msgstr "Ошибка: ПЛК не собран\n" -#: ../ProjectController.py:1666 +#: ../ProjectController.py:1687 #, python-format msgid "Exception while connecting %s!\n" msgstr "Исключение во время подключения %s!\n" @@ -1692,7 +1703,7 @@ msgid "External" msgstr "Внешний" -#: ../ProjectController.py:740 +#: ../ProjectController.py:761 msgid "Extracting Located Variables...\n" msgstr "Экспорт локальных переменных...\n" @@ -1707,7 +1718,7 @@ msgid "FBD" msgstr "FBD" -#: ../ProjectController.py:1729 +#: ../ProjectController.py:1750 msgid "Failed : Must build before transfer.\n" msgstr "Ошибка: необходима сборка перед передачей.\n" @@ -1715,7 +1726,7 @@ msgid "Falling Edge" msgstr "Спадающий фронт" -#: ../ProjectController.py:1008 +#: ../ProjectController.py:1029 msgid "Fatal : cannot get builder.\n" msgstr "Ошибка: невозможно получить сборщик.\n" @@ -1764,7 +1775,7 @@ msgid "Force runtime reload\n" msgstr "Принудительный перезапуск системы исполнения\n" -#: ../editors/Viewer.py:1553 +#: ../editors/Viewer.py:1564 msgid "Force value" msgstr "Фиксировать значение" @@ -1792,7 +1803,7 @@ msgid "Forward" msgstr "Вперед" -#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1746 +#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1745 msgid "Function" msgstr "Функция" @@ -1800,12 +1811,12 @@ msgid "Function &Block" msgstr "Функциональный &блок" -#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1745 -#: ../IDEFrame.py:1938 +#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1744 +#: ../IDEFrame.py:1937 msgid "Function Block" msgstr "Функциональный блок" -#: ../controls/VariablePanel.py:825 +#: ../controls/VariablePanel.py:837 msgid "Function Block Types" msgstr "Типы функциональных блоков" @@ -1830,7 +1841,7 @@ msgid "Generate Program" msgstr "Сгенерировать программу" -#: ../ProjectController.py:612 +#: ../ProjectController.py:662 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n" @@ -1900,12 +1911,12 @@ msgid "Import SVG" msgstr "Импорт SVG" -#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1580 +#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1591 #: ../controls/VariablePanel.py:71 msgid "InOut" msgstr "Вход/Выход" -#: ../editors/Viewer.py:1100 +#: ../editors/Viewer.py:1110 msgid "Inactive" msgstr "Неактивный" @@ -1955,7 +1966,7 @@ #: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 #: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1578 ../editors/TextViewer.py:307 +#: ../editors/Viewer.py:1589 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Input" @@ -2043,7 +2054,7 @@ "Неверное значение!\n" "Необходимо ввести числовое значение." -#: ../editors/Viewer.py:557 ../editors/Viewer.py:2343 +#: ../editors/Viewer.py:557 ../editors/Viewer.py:2354 msgid "Jump" msgstr "Безусловный переход" @@ -2074,7 +2085,7 @@ msgid "Language:" msgstr "Язык:" -#: ../ProjectController.py:1735 +#: ../ProjectController.py:1756 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "Загружаемая программа совпадает с текущий программой в целевом ПЛК. Загрузка продолжена...\n" @@ -2113,7 +2124,7 @@ msgid "Library" msgstr "Библиотеки" -#: ../dialogs/AboutDialog.py:143 +#: ../dialogs/AboutDialog.py:151 msgid "License" msgstr "Лицензия" @@ -2139,7 +2150,7 @@ msgid "Local entries" msgstr "Локальные записи" -#: ../ProjectController.py:1641 +#: ../ProjectController.py:1662 msgid "Local service discovery failed!\n" msgstr "Локальный сервис не найден!\n" @@ -2350,7 +2361,7 @@ msgid "No Modifier" msgstr "Нет модификатора" -#: ../ProjectController.py:1763 +#: ../ProjectController.py:1784 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "Нет ПЛК для передачи (была сборка успешна?)\n" @@ -2460,7 +2471,7 @@ msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime." msgstr "Свободное программное обеспечение для промышленной автоматизации, состоящие из среды разработки программ по стандарту МЭК 61131 с постоянно расширяющимся набором плагинов и гибкой системой исполнения для ПЛК." -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1836 msgid "Open a file explorer to manage project files" msgstr "Открыть файловый менеджер для просмотра файлов проекта" @@ -2486,7 +2497,7 @@ #: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 #: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1579 ../editors/TextViewer.py:307 +#: ../editors/Viewer.py:1590 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Output" @@ -2514,7 +2525,7 @@ msgid "PLC Log" msgstr "Лог ПЛК" -#: ../ProjectController.py:992 +#: ../ProjectController.py:1013 msgid "PLC code generation failed !\n" msgstr "Неудачная генерация кода!\n" @@ -2594,7 +2605,7 @@ msgid "Page Size (optional):" msgstr "Размер страницы (опционально):" -#: ../IDEFrame.py:2599 +#: ../IDEFrame.py:2598 #, python-format msgid "Page: %d" msgstr "Страница: %d" @@ -2607,7 +2618,7 @@ msgid "Paste" msgstr "Вставить" -#: ../IDEFrame.py:1865 +#: ../IDEFrame.py:1864 msgid "Paste POU" msgstr "Вставить POU" @@ -2619,7 +2630,7 @@ msgid "Pin number:" msgstr "Номер пина:" -#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2963 +#: ../editors/Viewer.py:2717 ../editors/Viewer.py:2974 #: ../editors/SFCViewer.py:770 msgid "Please choose a target" msgstr "Выберите цель перехода" @@ -2628,7 +2639,7 @@ msgid "Please enter a block name" msgstr "Введите имя блока" -#: ../editors/Viewer.py:2576 ../editors/Viewer.py:3005 +#: ../editors/Viewer.py:2587 ../editors/Viewer.py:3016 msgid "Please enter comment text" msgstr "Введите текст комментария" @@ -2654,7 +2665,7 @@ msgid "Port number must be an integer!" msgstr "Номер порта должен быть целым числом!" -#: ../editors/Viewer.py:536 ../editors/Viewer.py:2367 +#: ../editors/Viewer.py:536 ../editors/Viewer.py:2378 msgid "Power Rail" msgstr "Шина питания" @@ -2718,8 +2729,8 @@ msgid "Product Version (required):" msgstr "Версия продукта (обязательно):" -#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1744 -#: ../IDEFrame.py:1941 +#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1743 +#: ../IDEFrame.py:1940 msgid "Program" msgstr "Программа" @@ -2744,7 +2755,7 @@ msgid "Project '%s':" msgstr "Проект '%s':" -#: ../ProjectController.py:1814 +#: ../ProjectController.py:1835 msgid "Project Files" msgstr "Файлы проекта" @@ -2828,7 +2839,7 @@ msgid "Range:" msgstr "Диапазон:" -#: ../ProjectController.py:1810 +#: ../ProjectController.py:1831 msgid "Raw IEC code" msgstr "МЭК-код" @@ -2857,7 +2868,7 @@ msgid "Regular expressions" msgstr "Регулярные выражения" -#: ../editors/Viewer.py:1556 +#: ../editors/Viewer.py:1567 msgid "Release value" msgstr "Освободить значение" @@ -2870,11 +2881,11 @@ msgid "Remove %s node" msgstr "Удалить %s элемент" -#: ../IDEFrame.py:2405 +#: ../IDEFrame.py:2404 msgid "Remove Datatype" msgstr "Удалить тип данных" -#: ../IDEFrame.py:2410 +#: ../IDEFrame.py:2409 msgid "Remove Pou" msgstr "Удалить POU" @@ -2906,7 +2917,7 @@ msgid "Remove variable" msgstr "Удалить переменную" -#: ../IDEFrame.py:1945 +#: ../IDEFrame.py:1944 msgid "Rename" msgstr "Переименовать" @@ -2977,15 +2988,15 @@ msgid "Rounding up/down" msgstr "Округление вверх/вниз" -#: ../ProjectController.py:1778 +#: ../ProjectController.py:1799 msgid "Run" msgstr "Старт" -#: ../ProjectController.py:1037 +#: ../ProjectController.py:1058 msgid "Runtime IO extensions C code generation failed !\n" msgstr "Ошибка генерации C-кода для расширений ввода-вывода!\n" -#: ../ProjectController.py:1046 +#: ../ProjectController.py:1067 msgid "Runtime library extensions C code generation failed !\n" msgstr "Ошибка генерации C-кода для библиотеки расширений системы исполнения!\n" @@ -3044,7 +3055,7 @@ msgid "Save as" msgstr "Сохранить как" -#: ../ProjectController.py:420 +#: ../ProjectController.py:470 msgid "Save path is the same as path of a project! \n" msgstr "Выбранный путь совпадает с путём проекта!\n" @@ -3074,7 +3085,7 @@ msgid "Select a variable class:" msgstr "Выберите класс переменной:" -#: ../ProjectController.py:1195 +#: ../ProjectController.py:1216 msgid "Select an editor:" msgstr "Выберите редактор:" @@ -3086,7 +3097,7 @@ msgid "Select an object" msgstr "Выберите объект" -#: ../ProjectController.py:427 +#: ../ProjectController.py:477 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "Выбранная директория уже содержит другой проект. Перезаписать?\n" @@ -3125,7 +3136,7 @@ msgid "Shift right" msgstr "Сдвиг вправо" -#: ../ProjectController.py:1804 +#: ../ProjectController.py:1825 msgid "Show IEC code generated by PLCGenerator" msgstr "Показать код, сгенерированный PLCGenerator" @@ -3137,7 +3148,7 @@ msgid "Show Master generated by config_utils" msgstr "Показать ведущий узел сгенерированный config_utils" -#: ../ProjectController.py:1802 +#: ../ProjectController.py:1823 msgid "Show code" msgstr "Показать код" @@ -3174,20 +3185,20 @@ msgid "Standard function blocks" msgstr "Стандартные функциональные блоки" -#: ../ProjectController.py:1780 ../Beremiz_service.py:261 +#: ../ProjectController.py:1801 ../Beremiz_service.py:261 msgid "Start PLC" msgstr "Запустить ПЛК" -#: ../ProjectController.py:984 +#: ../ProjectController.py:1005 #, python-format msgid "Start build in %s\n" msgstr "Сборка запущена в %s\n" -#: ../ProjectController.py:1298 +#: ../ProjectController.py:1319 msgid "Started" msgstr "Работа" -#: ../ProjectController.py:1586 +#: ../ProjectController.py:1607 msgid "Starting PLC\n" msgstr "ПЛК запускается\n" @@ -3195,11 +3206,11 @@ msgid "Status ToolBar" msgstr "Панель статуса" -#: ../editors/Viewer.py:553 ../editors/Viewer.py:2342 +#: ../editors/Viewer.py:553 ../editors/Viewer.py:2353 msgid "Step" msgstr "Шаг" -#: ../ProjectController.py:1783 +#: ../ProjectController.py:1804 msgid "Stop" msgstr "Стоп" @@ -3207,15 +3218,15 @@ msgid "Stop PLC" msgstr "Остановить ПЛК" -#: ../ProjectController.py:1785 +#: ../ProjectController.py:1806 msgid "Stop Running PLC" msgstr "Остановить запущенный ПЛК" -#: ../ProjectController.py:1299 +#: ../ProjectController.py:1320 msgid "Stopped" msgstr "Стоп" -#: ../ProjectController.py:1558 +#: ../ProjectController.py:1579 msgid "Stopping debugger...\n" msgstr "Остановка отладчика...\n" @@ -3231,7 +3242,7 @@ msgid "Subtraction" msgstr "Вычитание" -#: ../ProjectController.py:1023 +#: ../ProjectController.py:1044 msgid "Successfully built.\n" msgstr "Сборка прошла успешно.\n" @@ -3343,7 +3354,7 @@ msgid "There are changes, do you want to save?" msgstr "Хотите сохранить изменения?" -#: ../IDEFrame.py:1655 ../IDEFrame.py:1674 +#: ../IDEFrame.py:1654 ../IDEFrame.py:1673 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "Существует POU с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?" @@ -3402,23 +3413,23 @@ msgid "Top" msgstr "Верх" -#: ../ProjectController.py:1792 +#: ../ProjectController.py:1813 msgid "Transfer" msgstr "Передать" -#: ../ProjectController.py:1794 +#: ../ProjectController.py:1815 msgid "Transfer PLC" msgstr "Передать ПЛК" -#: ../ProjectController.py:1758 +#: ../ProjectController.py:1779 msgid "Transfer completed successfully.\n" msgstr "Передача успешно завершена.\n" -#: ../ProjectController.py:1760 +#: ../ProjectController.py:1781 msgid "Transfer failed\n" msgstr "Ошибка передачи\n" -#: ../editors/Viewer.py:554 ../editors/Viewer.py:2344 ../editors/Viewer.py:2371 +#: ../editors/Viewer.py:554 ../editors/Viewer.py:2355 ../editors/Viewer.py:2382 msgid "Transition" msgstr "Переход" @@ -3454,7 +3465,7 @@ msgid "Transitions" msgstr "Переходы" -#: ../dialogs/AboutDialog.py:123 +#: ../dialogs/AboutDialog.py:131 msgid "Translated by" msgstr "Перевод" @@ -3526,7 +3537,7 @@ msgid "Undo" msgstr "Отмена" -#: ../ProjectController.py:332 +#: ../ProjectController.py:382 msgid "Unknown" msgstr "Неизвестно" @@ -3535,7 +3546,7 @@ msgid "Unknown variable \"%s\" for this POU!" msgstr "Неизвестная переменная \"%s\" для этого POU!" -#: ../ProjectController.py:329 ../ProjectController.py:330 +#: ../ProjectController.py:379 ../ProjectController.py:380 msgid "Unnamed" msgstr "Unnamed" @@ -3549,7 +3560,7 @@ msgid "Unrecognized data size \"%s\"" msgstr "Неопределенный размер данных \"%s\"" -#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798 +#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:810 msgid "User Data Types" msgstr "Пользовательские типы данных" @@ -3570,7 +3581,7 @@ msgstr "Значения:" #: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 -#: ../editors/Viewer.py:2374 +#: ../editors/Viewer.py:2385 msgid "Variable" msgstr "Переменная" @@ -3636,7 +3647,7 @@ msgid "Warning" msgstr "Предупреждение" -#: ../ProjectController.py:616 +#: ../ProjectController.py:666 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "Предупреждения в ST/IL/SFC коде генераторе:\n" @@ -3655,7 +3666,7 @@ msgid "Wrap search" msgstr "Продолжить поиск сначала" -#: ../dialogs/AboutDialog.py:122 +#: ../dialogs/AboutDialog.py:130 msgid "Written by" msgstr "Авторы" @@ -3685,7 +3696,7 @@ "У вас недостаточно прав для записи.\n" "Открыть wxGlade все равно?" -#: ../ProjectController.py:292 +#: ../ProjectController.py:342 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" diff -r bb5440697405 -r 3a98027ff372 i18n/messages.pot --- a/i18n/messages.pot Thu Mar 09 13:01:28 2017 +0500 +++ b/i18n/messages.pot Thu Mar 09 15:35:19 2017 +0300 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-12 14:39+0300\n" +"POT-Creation-Date: 2017-03-09 15:28+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -62,7 +62,7 @@ msgid " and %s" msgstr "" -#: ../ProjectController.py:1089 +#: ../ProjectController.py:1110 msgid " generation failed !\n" msgstr "" @@ -86,7 +86,7 @@ msgid "\"%s\" can't use itself!" msgstr "" -#: ../IDEFrame.py:1652 ../IDEFrame.py:1671 +#: ../IDEFrame.py:1651 ../IDEFrame.py:1670 #, python-format msgid "\"%s\" config already exists!" msgstr "" @@ -96,7 +96,7 @@ msgid "\"%s\" configuration already exists !!!" msgstr "" -#: ../IDEFrame.py:1602 +#: ../IDEFrame.py:1601 #, python-format msgid "\"%s\" data type already exists!" msgstr "" @@ -118,9 +118,10 @@ #: ../dialogs/SFCStepNameDialog.py:52 ../dialogs/PouTransitionDialog.py:106 #: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:50 #: ../dialogs/PouActionDialog.py:98 ../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:751 -#: ../IDEFrame.py:1593 +#: ../editors/CodeFileEditor.py:770 ../controls/VariablePanel.py:763 +#: ../IDEFrame.py:1592 #, python-format msgid "\"%s\" is a keyword. It can't be used!" msgstr "" @@ -138,13 +139,14 @@ #: ../dialogs/SFCStepNameDialog.py:50 ../dialogs/PouTransitionDialog.py:104 #: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:48 #: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118 +#: ../editors/ResourceEditor.py:447 ../editors/ResourceEditor.py:482 #: ../editors/DataTypeEditor.py:579 ../editors/CodeFileEditor.py:768 -#: ../controls/VariablePanel.py:749 ../IDEFrame.py:1591 +#: ../controls/VariablePanel.py:761 ../IDEFrame.py:1590 #, python-format msgid "\"%s\" is not a valid identifier!" msgstr "" -#: ../IDEFrame.py:2396 +#: ../IDEFrame.py:2395 #, python-format msgid "\"%s\" is used by one or more POUs. Do you wish to continue?" msgstr "" @@ -154,7 +156,7 @@ #: ../editors/Viewer.py:367 ../editors/TextViewer.py:270 #: ../editors/TextViewer.py:299 ../editors/TextViewer.py:350 #: ../editors/TextViewer.py:373 ../controls/VariablePanel.py:338 -#: ../IDEFrame.py:1611 +#: ../IDEFrame.py:1610 #, python-format msgid "\"%s\" pou already exists!" msgstr "" @@ -266,8 +268,8 @@ msgid "&Add Element" msgstr "" -#: ../dialogs/AboutDialog.py:65 ../dialogs/AboutDialog.py:113 -#: ../dialogs/AboutDialog.py:150 +#: ../dialogs/AboutDialog.py:73 ../dialogs/AboutDialog.py:121 +#: ../dialogs/AboutDialog.py:158 msgid "&Close" msgstr "" @@ -303,7 +305,7 @@ msgid "&Help" msgstr "" -#: ../dialogs/AboutDialog.py:64 +#: ../dialogs/AboutDialog.py:72 msgid "&License" msgstr "" @@ -373,15 +375,15 @@ msgid "1s" msgstr "" -#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1614 ../IDEFrame.py:1660 -#: ../IDEFrame.py:1679 +#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1613 ../IDEFrame.py:1659 +#: ../IDEFrame.py:1678 #, python-format msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" #: ../dialogs/SFCStepNameDialog.py:54 ../dialogs/PouTransitionDialog.py:108 #: ../dialogs/PouNameDialog.py:52 ../dialogs/PouActionDialog.py:100 -#: ../controls/VariablePanel.py:753 ../IDEFrame.py:1628 ../IDEFrame.py:1641 +#: ../controls/VariablePanel.py:765 ../IDEFrame.py:1627 ../IDEFrame.py:1640 #, python-format msgid "A POU named \"%s\" already exists!" msgstr "" @@ -395,8 +397,12 @@ msgid "A location must be selected!" msgstr "" -#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:755 -#: ../IDEFrame.py:1630 ../IDEFrame.py:1643 +#: ../editors/ResourceEditor.py:451 +msgid "A task with the same name already exists!" +msgstr "" + +#: ../dialogs/SFCStepNameDialog.py:56 ../controls/VariablePanel.py:767 +#: ../IDEFrame.py:1629 ../IDEFrame.py:1642 #, python-format msgid "A variable with \"%s\" as name already exists in this pou!" msgstr "" @@ -406,7 +412,7 @@ msgid "A variable with \"%s\" as name already exists!" msgstr "" -#: ../dialogs/AboutDialog.py:40 ../PLCOpenEditor.py:158 ../Beremiz.py:381 +#: ../dialogs/AboutDialog.py:48 ../PLCOpenEditor.py:158 ../Beremiz.py:381 msgid "About" msgstr "" @@ -418,7 +424,7 @@ msgid "Action" msgstr "" -#: ../editors/Viewer.py:555 ../editors/Viewer.py:2345 +#: ../editors/Viewer.py:555 ../editors/Viewer.py:2356 msgid "Action Block" msgstr "" @@ -443,7 +449,7 @@ msgid "Actions:" msgstr "" -#: ../editors/Viewer.py:1100 +#: ../editors/Viewer.py:1110 msgid "Active" msgstr "" @@ -452,7 +458,7 @@ msgid "Add" msgstr "" -#: ../IDEFrame.py:1890 ../IDEFrame.py:1925 +#: ../IDEFrame.py:1889 ../IDEFrame.py:1924 msgid "Add Action" msgstr "" @@ -460,11 +466,11 @@ msgid "Add C code accessing located variables synchronously" msgstr "" -#: ../IDEFrame.py:1873 +#: ../IDEFrame.py:1872 msgid "Add Configuration" msgstr "" -#: ../IDEFrame.py:1853 +#: ../IDEFrame.py:1852 msgid "Add DataType" msgstr "" @@ -476,7 +482,7 @@ msgid "Add IP" msgstr "" -#: ../IDEFrame.py:1861 +#: ../IDEFrame.py:1860 msgid "Add POU" msgstr "" @@ -484,11 +490,11 @@ msgid "Add Python code executed asynchronously" msgstr "" -#: ../IDEFrame.py:1901 ../IDEFrame.py:1951 +#: ../IDEFrame.py:1900 ../IDEFrame.py:1950 msgid "Add Resource" msgstr "" -#: ../IDEFrame.py:1879 ../IDEFrame.py:1922 +#: ../IDEFrame.py:1878 ../IDEFrame.py:1921 msgid "Add Transition" msgstr "" @@ -500,7 +506,7 @@ msgid "Add a new initial step" msgstr "" -#: ../editors/Viewer.py:2706 ../editors/SFCViewer.py:770 +#: ../editors/Viewer.py:2717 ../editors/SFCViewer.py:770 msgid "Add a new jump" msgstr "" @@ -548,7 +554,7 @@ msgid "Adjust Block Size" msgstr "" -#: ../editors/Viewer.py:1637 +#: ../editors/Viewer.py:1648 msgid "Alignment" msgstr "" @@ -564,7 +570,7 @@ msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv" msgstr "" -#: ../ProjectController.py:1623 +#: ../ProjectController.py:1644 msgid "Already connected. Please disconnect\n" msgstr "" @@ -573,6 +579,10 @@ msgid "An element named \"%s\" already exists in this structure!" msgstr "" +#: ../editors/ResourceEditor.py:486 +msgid "An instance with the same name already exists!" +msgstr "" + #: ../dialogs/ConnectionDialog.py:96 msgid "Apply name modification to all continuations with the same name" msgstr "" @@ -594,7 +604,7 @@ msgstr "" #: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:635 -#: ../controls/VariablePanel.py:829 +#: ../controls/VariablePanel.py:841 msgid "Array" msgstr "" @@ -636,7 +646,7 @@ msgid "Base Type:" msgstr "" -#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:787 +#: ../editors/DataTypeEditor.py:625 ../controls/VariablePanel.py:799 msgid "Base Types" msgstr "" @@ -672,7 +682,7 @@ msgid "Bitwise inverting" msgstr "" -#: ../editors/Viewer.py:525 ../editors/Viewer.py:2358 +#: ../editors/Viewer.py:525 ../editors/Viewer.py:2369 msgid "Block" msgstr "" @@ -688,7 +698,7 @@ msgid "Bottom" msgstr "" -#: ../ProjectController.py:1301 +#: ../ProjectController.py:1322 msgid "Broken" msgstr "" @@ -701,23 +711,23 @@ msgid "Browse Locations" msgstr "" -#: ../ProjectController.py:1769 +#: ../ProjectController.py:1790 msgid "Build" msgstr "" -#: ../ProjectController.py:1235 +#: ../ProjectController.py:1256 msgid "Build directory already clean\n" msgstr "" -#: ../ProjectController.py:1770 +#: ../ProjectController.py:1791 msgid "Build project into build folder" msgstr "" -#: ../ProjectController.py:1018 +#: ../ProjectController.py:1039 msgid "C Build crashed !\n" msgstr "" -#: ../ProjectController.py:1015 +#: ../ProjectController.py:1036 msgid "C Build failed.\n" msgstr "" @@ -725,7 +735,7 @@ msgid "C code" msgstr "" -#: ../ProjectController.py:1093 +#: ../ProjectController.py:1114 msgid "C code generated successfully.\n" msgstr "" @@ -742,7 +752,7 @@ msgid "C extension" msgstr "" -#: ../dialogs/AboutDialog.py:63 +#: ../dialogs/AboutDialog.py:71 msgid "C&redits" msgstr "" @@ -799,7 +809,7 @@ msgid "Cannot get PLC status - connection failed.\n" msgstr "" -#: ../ProjectController.py:881 +#: ../ProjectController.py:902 msgid "Cannot open/parse VARIABLES.csv!\n" msgstr "" @@ -824,7 +834,7 @@ msgid "Change Name" msgstr "" -#: ../IDEFrame.py:1943 +#: ../IDEFrame.py:1942 msgid "Change POU Type To" msgstr "" @@ -844,7 +854,7 @@ msgid "Choose a SVG file" msgstr "" -#: ../ProjectController.py:451 +#: ../ProjectController.py:501 msgid "Choose a directory to save project" msgstr "" @@ -866,11 +876,11 @@ msgid "Choose a working directory " msgstr "" -#: ../ProjectController.py:358 +#: ../ProjectController.py:408 msgid "Chosen folder doesn't contain a program. It's not a valid project!" msgstr "" -#: ../ProjectController.py:325 +#: ../ProjectController.py:375 msgid "Chosen folder isn't empty. You can't use it for a new project!" msgstr "" @@ -886,7 +896,7 @@ msgid "Class:" msgstr "" -#: ../ProjectController.py:1773 +#: ../ProjectController.py:1794 msgid "Clean" msgstr "" @@ -894,11 +904,11 @@ msgid "Clean log messages" msgstr "" -#: ../ProjectController.py:1775 +#: ../ProjectController.py:1796 msgid "Clean project build folder" msgstr "" -#: ../ProjectController.py:1232 +#: ../ProjectController.py:1253 msgid "Cleaning the build directory\n" msgstr "" @@ -927,7 +937,7 @@ msgid "Close Tab" msgstr "" -#: ../editors/Viewer.py:541 ../editors/Viewer.py:2366 +#: ../editors/Viewer.py:541 ../editors/Viewer.py:2377 msgid "Coil" msgstr "" @@ -951,7 +961,7 @@ msgid "Comparison" msgstr "" -#: ../ProjectController.py:672 +#: ../ProjectController.py:693 msgid "Compiling IEC Program into C code...\n" msgstr "" @@ -981,21 +991,21 @@ msgid "Confirm or change variable name" msgstr "" -#: ../ProjectController.py:1788 +#: ../ProjectController.py:1809 msgid "Connect" msgstr "" -#: ../ProjectController.py:1789 +#: ../ProjectController.py:1810 msgid "Connect to the target PLC" msgstr "" -#: ../ProjectController.py:1292 +#: ../ProjectController.py:1313 #, python-format msgid "Connected to URI: %s" msgstr "" #: ../dialogs/SFCTransitionDialog.py:76 ../editors/Viewer.py:527 -#: ../editors/Viewer.py:2359 +#: ../editors/Viewer.py:2370 msgid "Connection" msgstr "" @@ -1003,11 +1013,11 @@ msgid "Connection Properties" msgstr "" -#: ../ProjectController.py:1647 +#: ../ProjectController.py:1668 msgid "Connection canceled!\n" msgstr "" -#: ../ProjectController.py:1672 +#: ../ProjectController.py:1693 #, python-format msgid "Connection failed to %s!\n" msgstr "" @@ -1021,7 +1031,7 @@ msgid "Connection to '%s' failed.\n" msgstr "" -#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1594 +#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1605 msgid "Connector" msgstr "" @@ -1037,7 +1047,7 @@ msgid "Constant" msgstr "" -#: ../editors/Viewer.py:537 ../editors/Viewer.py:2362 +#: ../editors/Viewer.py:537 ../editors/Viewer.py:2373 msgid "Contact" msgstr "" @@ -1045,7 +1055,7 @@ msgid "Content Description (optional):" msgstr "" -#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1595 +#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1606 msgid "Continuation" msgstr "" @@ -1070,7 +1080,7 @@ msgid "Copy" msgstr "" -#: ../IDEFrame.py:1930 +#: ../IDEFrame.py:1929 msgid "Copy POU" msgstr "" @@ -1116,15 +1126,15 @@ msgid "Couldn't paste non-POU object." msgstr "" -#: ../ProjectController.py:1589 +#: ../ProjectController.py:1610 msgid "Couldn't start PLC !\n" msgstr "" -#: ../ProjectController.py:1597 +#: ../ProjectController.py:1618 msgid "Couldn't stop PLC !\n" msgstr "" -#: ../ProjectController.py:1561 +#: ../ProjectController.py:1582 msgid "Couldn't stop debugger.\n" msgstr "" @@ -1204,7 +1214,7 @@ msgid "Create a new variable" msgstr "" -#: ../dialogs/AboutDialog.py:105 +#: ../dialogs/AboutDialog.py:113 msgid "Credits" msgstr "" @@ -1265,7 +1275,7 @@ msgid "Days:" msgstr "" -#: ../ProjectController.py:1694 +#: ../ProjectController.py:1715 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n" msgstr "" @@ -1273,17 +1283,17 @@ msgid "Debug instance" msgstr "" -#: ../editors/Viewer.py:1117 ../editors/Viewer.py:3653 +#: ../editors/Viewer.py:1127 ../editors/Viewer.py:3664 #, python-format msgid "Debug: %s" msgstr "" -#: ../ProjectController.py:1350 +#: ../ProjectController.py:1371 #, python-format msgid "Debug: Unknown variable '%s'\n" msgstr "" -#: ../ProjectController.py:1348 +#: ../ProjectController.py:1369 #, python-format msgid "Debug: Unsupported type to debug '%s'\n" msgstr "" @@ -1292,19 +1302,19 @@ msgid "Debugger" msgstr "" -#: ../ProjectController.py:1530 +#: ../ProjectController.py:1551 msgid "Debugger disabled\n" msgstr "" -#: ../ProjectController.py:1691 +#: ../ProjectController.py:1712 msgid "Debugger ready\n" msgstr "" -#: ../ProjectController.py:1563 +#: ../ProjectController.py:1584 msgid "Debugger stopped.\n" msgstr "" -#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1959 +#: ../editors/Viewer.py:572 ../Beremiz.py:1064 ../IDEFrame.py:1958 msgid "Delete" msgstr "" @@ -1352,19 +1362,19 @@ msgid "Directly" msgstr "" -#: ../ProjectController.py:1797 +#: ../ProjectController.py:1818 msgid "Disconnect" msgstr "" -#: ../ProjectController.py:1799 +#: ../ProjectController.py:1820 msgid "Disconnect from PLC" msgstr "" -#: ../ProjectController.py:1302 +#: ../ProjectController.py:1323 msgid "Disconnected" msgstr "" -#: ../editors/Viewer.py:556 ../editors/Viewer.py:2354 +#: ../editors/Viewer.py:556 ../editors/Viewer.py:2365 msgid "Divergence" msgstr "" @@ -1425,7 +1435,7 @@ msgid "Edit array type properties" msgstr "" -#: ../editors/Viewer.py:2575 ../editors/Viewer.py:3004 +#: ../editors/Viewer.py:2586 ../editors/Viewer.py:3015 msgid "Edit comment" msgstr "" @@ -1437,11 +1447,11 @@ msgid "Edit item" msgstr "" -#: ../editors/Viewer.py:2963 +#: ../editors/Viewer.py:2974 msgid "Edit jump target" msgstr "" -#: ../ProjectController.py:1811 +#: ../ProjectController.py:1832 msgid "Edit raw IEC code added to code generated by PLCGenerator" msgstr "" @@ -1457,7 +1467,7 @@ msgid "Editor ToolBar" msgstr "" -#: ../ProjectController.py:1195 +#: ../ProjectController.py:1216 msgid "Editor selection" msgstr "" @@ -1465,7 +1475,7 @@ msgid "Elements :" msgstr "" -#: ../ProjectController.py:1300 +#: ../ProjectController.py:1321 msgid "Empty" msgstr "" @@ -1502,35 +1512,36 @@ #: ../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/Viewer.py:423 +#: ../PLCOpenEditor.py:420 ../PLCOpenEditor.py:430 +#: ../editors/ResourceEditor.py:436 ../editors/Viewer.py:423 #: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882 #: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:550 #: ../editors/DataTypeEditor.py:555 ../editors/DataTypeEditor.py:579 #: ../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:293 ../ProjectController.py:421 -#: ../ProjectController.py:428 ../controls/FolderTree.py:217 +#: ../ProjectController.py:343 ../ProjectController.py:471 +#: ../ProjectController.py:478 ../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:772 -#: ../Beremiz.py:1203 ../IDEFrame.py:1003 ../IDEFrame.py:1614 -#: ../IDEFrame.py:1655 ../IDEFrame.py:1660 ../IDEFrame.py:1674 -#: ../IDEFrame.py:1679 ../Beremiz_service.py:211 +#: ../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 msgid "Error" msgstr "" -#: ../ProjectController.py:727 +#: ../ProjectController.py:748 msgid "Error : At least one configuration and one resource must be declared in PLC !\n" msgstr "" -#: ../ProjectController.py:719 +#: ../ProjectController.py:740 #, python-format msgid "Error : IEC to C compiler returned %d\n" msgstr "" -#: ../ProjectController.py:621 +#: ../ProjectController.py:671 #, python-format msgid "" "Error in ST/IL/SFC code generator :\n" @@ -1554,7 +1565,7 @@ msgid "Error: No PLC built\n" msgstr "" -#: ../ProjectController.py:1666 +#: ../ProjectController.py:1687 #, python-format msgid "Exception while connecting %s!\n" msgstr "" @@ -1599,7 +1610,7 @@ msgid "External" msgstr "" -#: ../ProjectController.py:740 +#: ../ProjectController.py:761 msgid "Extracting Located Variables...\n" msgstr "" @@ -1608,7 +1619,7 @@ msgid "FBD" msgstr "" -#: ../ProjectController.py:1729 +#: ../ProjectController.py:1750 msgid "Failed : Must build before transfer.\n" msgstr "" @@ -1616,7 +1627,7 @@ msgid "Falling Edge" msgstr "" -#: ../ProjectController.py:1008 +#: ../ProjectController.py:1029 msgid "Fatal : cannot get builder.\n" msgstr "" @@ -1665,7 +1676,7 @@ msgid "Force runtime reload\n" msgstr "" -#: ../editors/Viewer.py:1553 +#: ../editors/Viewer.py:1564 msgid "Force value" msgstr "" @@ -1693,7 +1704,7 @@ msgid "Forward" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1746 +#: ../dialogs/SearchInProjectDialog.py:36 ../IDEFrame.py:1745 msgid "Function" msgstr "" @@ -1701,12 +1712,12 @@ msgid "Function &Block" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1745 -#: ../IDEFrame.py:1938 +#: ../dialogs/SearchInProjectDialog.py:37 ../IDEFrame.py:1744 +#: ../IDEFrame.py:1937 msgid "Function Block" msgstr "" -#: ../controls/VariablePanel.py:825 +#: ../controls/VariablePanel.py:837 msgid "Function Block Types" msgstr "" @@ -1731,7 +1742,7 @@ msgid "Generate Program" msgstr "" -#: ../ProjectController.py:612 +#: ../ProjectController.py:662 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n" msgstr "" @@ -1795,12 +1806,12 @@ msgid "Import SVG" msgstr "" -#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1580 +#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1591 #: ../controls/VariablePanel.py:71 msgid "InOut" msgstr "" -#: ../editors/Viewer.py:1100 +#: ../editors/Viewer.py:1110 msgid "Inactive" msgstr "" @@ -1847,7 +1858,7 @@ #: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:37 #: ../dialogs/BrowseLocationsDialog.py:40 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1578 ../editors/TextViewer.py:307 +#: ../editors/Viewer.py:1589 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Input" @@ -1924,7 +1935,7 @@ "You must fill a numeric value." msgstr "" -#: ../editors/Viewer.py:557 ../editors/Viewer.py:2343 +#: ../editors/Viewer.py:557 ../editors/Viewer.py:2354 msgid "Jump" msgstr "" @@ -1952,7 +1963,7 @@ msgid "Language:" msgstr "" -#: ../ProjectController.py:1735 +#: ../ProjectController.py:1756 msgid "Latest build already matches current target. Transfering anyway...\n" msgstr "" @@ -1988,7 +1999,7 @@ msgid "Library" msgstr "" -#: ../dialogs/AboutDialog.py:143 +#: ../dialogs/AboutDialog.py:151 msgid "License" msgstr "" @@ -2008,7 +2019,7 @@ msgid "Local entries" msgstr "" -#: ../ProjectController.py:1641 +#: ../ProjectController.py:1662 msgid "Local service discovery failed!\n" msgstr "" @@ -2213,7 +2224,7 @@ msgid "No Modifier" msgstr "" -#: ../ProjectController.py:1763 +#: ../ProjectController.py:1784 msgid "No PLC to transfer (did build succeed ?)\n" msgstr "" @@ -2318,7 +2329,7 @@ msgid "Open Source framework for automation, implemented IEC 61131 IDE with constantly growing set of extensions and flexible PLC runtime." msgstr "" -#: ../ProjectController.py:1815 +#: ../ProjectController.py:1836 msgid "Open a file explorer to manage project files" msgstr "" @@ -2344,7 +2355,7 @@ #: ../dialogs/SFCStepDialog.py:71 ../dialogs/FBDVariableDialog.py:39 #: ../dialogs/BrowseLocationsDialog.py:41 ../editors/Viewer.py:289 -#: ../editors/Viewer.py:1579 ../editors/TextViewer.py:307 +#: ../editors/Viewer.py:1590 ../editors/TextViewer.py:307 #: ../controls/LocationCellEditor.py:98 ../controls/VariablePanel.py:71 #: ../controls/VariablePanel.py:291 ../controls/VariablePanel.py:351 msgid "Output" @@ -2366,7 +2377,7 @@ msgid "PLC Log" msgstr "" -#: ../ProjectController.py:992 +#: ../ProjectController.py:1013 msgid "PLC code generation failed !\n" msgstr "" @@ -2438,7 +2449,7 @@ msgid "Page Size (optional):" msgstr "" -#: ../IDEFrame.py:2599 +#: ../IDEFrame.py:2598 #, python-format msgid "Page: %d" msgstr "" @@ -2451,7 +2462,7 @@ msgid "Paste" msgstr "" -#: ../IDEFrame.py:1865 +#: ../IDEFrame.py:1864 msgid "Paste POU" msgstr "" @@ -2463,7 +2474,7 @@ msgid "Pin number:" msgstr "" -#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2963 +#: ../editors/Viewer.py:2717 ../editors/Viewer.py:2974 #: ../editors/SFCViewer.py:770 msgid "Please choose a target" msgstr "" @@ -2472,7 +2483,7 @@ msgid "Please enter a block name" msgstr "" -#: ../editors/Viewer.py:2576 ../editors/Viewer.py:3005 +#: ../editors/Viewer.py:2587 ../editors/Viewer.py:3016 msgid "Please enter comment text" msgstr "" @@ -2498,7 +2509,7 @@ msgid "Port number must be an integer!" msgstr "" -#: ../editors/Viewer.py:536 ../editors/Viewer.py:2367 +#: ../editors/Viewer.py:536 ../editors/Viewer.py:2378 msgid "Power Rail" msgstr "" @@ -2556,8 +2567,8 @@ msgid "Product Version (required):" msgstr "" -#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1744 -#: ../IDEFrame.py:1941 +#: ../dialogs/SearchInProjectDialog.py:38 ../IDEFrame.py:1743 +#: ../IDEFrame.py:1940 msgid "Program" msgstr "" @@ -2582,7 +2593,7 @@ msgid "Project '%s':" msgstr "" -#: ../ProjectController.py:1814 +#: ../ProjectController.py:1835 msgid "Project Files" msgstr "" @@ -2658,7 +2669,7 @@ msgid "Range:" msgstr "" -#: ../ProjectController.py:1810 +#: ../ProjectController.py:1831 msgid "Raw IEC code" msgstr "" @@ -2687,7 +2698,7 @@ msgid "Regular expressions" msgstr "" -#: ../editors/Viewer.py:1556 +#: ../editors/Viewer.py:1567 msgid "Release value" msgstr "" @@ -2700,11 +2711,11 @@ msgid "Remove %s node" msgstr "" -#: ../IDEFrame.py:2405 +#: ../IDEFrame.py:2404 msgid "Remove Datatype" msgstr "" -#: ../IDEFrame.py:2410 +#: ../IDEFrame.py:2409 msgid "Remove Pou" msgstr "" @@ -2736,7 +2747,7 @@ msgid "Remove variable" msgstr "" -#: ../IDEFrame.py:1945 +#: ../IDEFrame.py:1944 msgid "Rename" msgstr "" @@ -2804,15 +2815,15 @@ msgid "Rounding up/down" msgstr "" -#: ../ProjectController.py:1778 +#: ../ProjectController.py:1799 msgid "Run" msgstr "" -#: ../ProjectController.py:1037 +#: ../ProjectController.py:1058 msgid "Runtime IO extensions C code generation failed !\n" msgstr "" -#: ../ProjectController.py:1046 +#: ../ProjectController.py:1067 msgid "Runtime library extensions C code generation failed !\n" msgstr "" @@ -2868,7 +2879,7 @@ msgid "Save as" msgstr "" -#: ../ProjectController.py:420 +#: ../ProjectController.py:470 msgid "Save path is the same as path of a project! \n" msgstr "" @@ -2898,7 +2909,7 @@ msgid "Select a variable class:" msgstr "" -#: ../ProjectController.py:1195 +#: ../ProjectController.py:1216 msgid "Select an editor:" msgstr "" @@ -2910,7 +2921,7 @@ msgid "Select an object" msgstr "" -#: ../ProjectController.py:427 +#: ../ProjectController.py:477 msgid "Selected directory already contains another project. Overwrite? \n" msgstr "" @@ -2946,7 +2957,7 @@ msgid "Shift right" msgstr "" -#: ../ProjectController.py:1804 +#: ../ProjectController.py:1825 msgid "Show IEC code generated by PLCGenerator" msgstr "" @@ -2958,7 +2969,7 @@ msgid "Show Master generated by config_utils" msgstr "" -#: ../ProjectController.py:1802 +#: ../ProjectController.py:1823 msgid "Show code" msgstr "" @@ -2995,20 +3006,20 @@ msgid "Standard function blocks" msgstr "" -#: ../ProjectController.py:1780 ../Beremiz_service.py:261 +#: ../ProjectController.py:1801 ../Beremiz_service.py:261 msgid "Start PLC" msgstr "" -#: ../ProjectController.py:984 +#: ../ProjectController.py:1005 #, python-format msgid "Start build in %s\n" msgstr "" -#: ../ProjectController.py:1298 +#: ../ProjectController.py:1319 msgid "Started" msgstr "" -#: ../ProjectController.py:1586 +#: ../ProjectController.py:1607 msgid "Starting PLC\n" msgstr "" @@ -3016,11 +3027,11 @@ msgid "Status ToolBar" msgstr "" -#: ../editors/Viewer.py:553 ../editors/Viewer.py:2342 +#: ../editors/Viewer.py:553 ../editors/Viewer.py:2353 msgid "Step" msgstr "" -#: ../ProjectController.py:1783 +#: ../ProjectController.py:1804 msgid "Stop" msgstr "" @@ -3028,15 +3039,15 @@ msgid "Stop PLC" msgstr "" -#: ../ProjectController.py:1785 +#: ../ProjectController.py:1806 msgid "Stop Running PLC" msgstr "" -#: ../ProjectController.py:1299 +#: ../ProjectController.py:1320 msgid "Stopped" msgstr "" -#: ../ProjectController.py:1558 +#: ../ProjectController.py:1579 msgid "Stopping debugger...\n" msgstr "" @@ -3052,7 +3063,7 @@ msgid "Subtraction" msgstr "" -#: ../ProjectController.py:1023 +#: ../ProjectController.py:1044 msgid "Successfully built.\n" msgstr "" @@ -3099,7 +3110,7 @@ msgid "There are changes, do you want to save?" msgstr "" -#: ../IDEFrame.py:1655 ../IDEFrame.py:1674 +#: ../IDEFrame.py:1654 ../IDEFrame.py:1673 #, python-format msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?" msgstr "" @@ -3156,23 +3167,23 @@ msgid "Top" msgstr "" -#: ../ProjectController.py:1792 +#: ../ProjectController.py:1813 msgid "Transfer" msgstr "" -#: ../ProjectController.py:1794 +#: ../ProjectController.py:1815 msgid "Transfer PLC" msgstr "" -#: ../ProjectController.py:1758 +#: ../ProjectController.py:1779 msgid "Transfer completed successfully.\n" msgstr "" -#: ../ProjectController.py:1760 +#: ../ProjectController.py:1781 msgid "Transfer failed\n" msgstr "" -#: ../editors/Viewer.py:554 ../editors/Viewer.py:2344 ../editors/Viewer.py:2371 +#: ../editors/Viewer.py:554 ../editors/Viewer.py:2355 ../editors/Viewer.py:2382 msgid "Transition" msgstr "" @@ -3208,7 +3219,7 @@ msgid "Transitions" msgstr "" -#: ../dialogs/AboutDialog.py:123 +#: ../dialogs/AboutDialog.py:131 msgid "Translated by" msgstr "" @@ -3277,7 +3288,7 @@ msgid "Undo" msgstr "" -#: ../ProjectController.py:332 +#: ../ProjectController.py:382 msgid "Unknown" msgstr "" @@ -3286,7 +3297,7 @@ msgid "Unknown variable \"%s\" for this POU!" msgstr "" -#: ../ProjectController.py:329 ../ProjectController.py:330 +#: ../ProjectController.py:379 ../ProjectController.py:380 msgid "Unnamed" msgstr "" @@ -3300,7 +3311,7 @@ msgid "Unrecognized data size \"%s\"" msgstr "" -#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:798 +#: ../editors/DataTypeEditor.py:632 ../controls/VariablePanel.py:810 msgid "User Data Types" msgstr "" @@ -3321,7 +3332,7 @@ msgstr "" #: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:526 -#: ../editors/Viewer.py:2374 +#: ../editors/Viewer.py:2385 msgid "Variable" msgstr "" @@ -3387,7 +3398,7 @@ msgid "Warning" msgstr "" -#: ../ProjectController.py:616 +#: ../ProjectController.py:666 msgid "Warnings in ST/IL/SFC code generator :\n" msgstr "" @@ -3403,7 +3414,7 @@ msgid "Wrap search" msgstr "" -#: ../dialogs/AboutDialog.py:122 +#: ../dialogs/AboutDialog.py:130 msgid "Written by" msgstr "" @@ -3423,7 +3434,7 @@ "Open wxGlade anyway ?" msgstr "" -#: ../ProjectController.py:292 +#: ../ProjectController.py:342 msgid "" "You must have permission to work on the project\n" "Work on a project copy ?" diff -r bb5440697405 -r 3a98027ff372 locale/ru_RU/LC_MESSAGES/Beremiz.mo Binary file locale/ru_RU/LC_MESSAGES/Beremiz.mo has changed