add i18n for couple of strings in TextViewer.py
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>
Wed, 20 Apr 2016 16:20:53 +0300
changeset 1488 00fb79aba7ac
parent 1487 789acd7cc347
child 1489 9c22ff9c8c06
add i18n for couple of strings in TextViewer.py
add source file for Russian translation
update messages.pot and app.fil
update Russian translation
editors/TextViewer.py
i18n/Beremiz_ru_RU.mo
i18n/Beremiz_ru_RU.po
i18n/app.fil
i18n/messages.pot
locale/ru_RU/LC_MESSAGES/Beremiz.mo
--- a/editors/TextViewer.py	Wed Apr 20 16:14:25 2016 +0300
+++ b/editors/TextViewer.py	Wed Apr 20 16:20:53 2016 +0300
@@ -258,7 +258,7 @@
                     blockinputs = None
                 if values[1] != "function":
                     if blockname == "":
-                        dialog = wx.TextEntryDialog(self.ParentWindow, "Block name", "Please enter a block name", "", wx.OK|wx.CANCEL|wx.CENTRE)
+                        dialog = wx.TextEntryDialog(self.ParentWindow, _("Block name"), _("Please enter a block name"), "", wx.OK|wx.CANCEL|wx.CENTRE)
                         if dialog.ShowModal() == wx.ID_OK:
                             blockname = dialog.GetValue()
                         else:
Binary file i18n/Beremiz_ru_RU.mo has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/i18n/Beremiz_ru_RU.po	Wed Apr 20 16:20:53 2016 +0300
@@ -0,0 +1,3635 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Beremiz\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-04-20 13:39+0300\n"
+"PO-Revision-Date: 2016-04-20 16:06+0300\n"
+"Last-Translator: \n"
+"Language-Team: Andrey Skvortsov <andrej.skvortzov@gmail.com>\n"
+"Language: ru_RU\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: ../PLCOpenEditor.py:396
+msgid ""
+"\n"
+"An error has occurred.\n"
+"\n"
+"Click OK to save an error report.\n"
+"\n"
+"Please be kind enough to send this file to:\n"
+"edouard.tisserant@gmail.com\n"
+"\n"
+"Error:\n"
+msgstr ""
+"\n"
+"Произошла ошибка.\n"
+"\n"
+"Нажмите OK, чтобы сохранить репорт об ошибке.\n"
+"\n"
+"Будьте так добры, пошлите этот файл:\n"
+"edouard.tisserant@gmail.com\n"
+"\n"
+"Ошибка:\n"
+
+#: ../Beremiz.py:1157
+#, python-format
+msgid ""
+"\n"
+"An unhandled exception (bug) occured. Bug report saved at :\n"
+"(%s)\n"
+"\n"
+"Please be kind enough to send this file to:\n"
+"beremiz-devel@lists.sourceforge.net\n"
+"\n"
+"You should now restart Beremiz.\n"
+"\n"
+"Traceback:\n"
+msgstr ""
+"\n"
+"Произошла невосстанавливаемая ошибка (bug). Отчет об ошибке сохранен:\n"
+"(%s)\n"
+"\n"
+"Будьте добры, отправьте этот файл по адресу\n"
+"beremiz-devel@lists.sourceforge.net\n"
+"\n"
+"Для дальнейшей работы перезапустите Beremiz.\n"
+"\n"
+"Traceback:\n"
+
+#: ../controls/VariablePanel.py:72
+msgid "   External"
+msgstr "Внешний"
+
+#: ../controls/VariablePanel.py:71
+msgid "   InOut"
+msgstr "Вход/Выход"
+
+#: ../controls/VariablePanel.py:71
+msgid "   Input"
+msgstr "Вход"
+
+#: ../controls/VariablePanel.py:72
+msgid "   Local"
+msgstr "Локальный"
+
+#: ../controls/VariablePanel.py:71
+msgid "   Output"
+msgstr "Выход"
+
+#: ../controls/VariablePanel.py:73
+msgid "   Temp"
+msgstr "Временный"
+
+#: ../PLCOpenEditor.py:406
+msgid " : "
+msgstr ""
+
+#: ../dialogs/PouTransitionDialog.py:94 ../dialogs/PouActionDialog.py:91
+#: ../dialogs/PouDialog.py:113
+#, python-format
+msgid " and %s"
+msgstr "и %s"
+
+#: ../ProjectController.py:1027
+msgid " generation failed !\n"
+msgstr "неудачная генерация кода!\n"
+
+#: ../plcopen/plcopen.py:883
+#, python-format
+msgid "\"%s\" Data Type doesn't exist !!!"
+msgstr "Тип данных \"%s\" не существует!!!"
+
+#: ../plcopen/plcopen.py:901
+#, python-format
+msgid "\"%s\" POU already exists !!!"
+msgstr "POU \"%s\"  уже существует!!!"
+
+#: ../plcopen/plcopen.py:922
+#, python-format
+msgid "\"%s\" POU doesn't exist !!!"
+msgstr "POU \"%s\"  не найден!!!"
+
+#: ../editors/Viewer.py:242
+#, python-format
+msgid "\"%s\" can't use itself!"
+msgstr "\"%s\" не может использовать сам себя!!!"
+
+#: ../IDEFrame.py:1618 ../IDEFrame.py:1637
+#, python-format
+msgid "\"%s\" config already exists!"
+msgstr "Конфигурация \"%s\"  уже существует!!!"
+
+#: ../plcopen/plcopen.py:471
+#, python-format
+msgid "\"%s\" configuration already exists !!!"
+msgstr "Конфигурация \"%s\"  уже существует!!!"
+
+#: ../IDEFrame.py:1572
+#, python-format
+msgid "\"%s\" data type already exists!"
+msgstr "Тип данных \"%s\"  уже существует!!!"
+
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:219
+#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:258
+#: ../editors/Viewer.py:326 ../editors/Viewer.py:350 ../editors/Viewer.py:370
+#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299
+#: ../controls/VariablePanel.py:386
+#, python-format
+msgid "\"%s\" element for this pou already exists!"
+msgstr "Элемент с именем \"%s\" уже существует в этом POU!!!"
+
+#: ../Beremiz.py:964
+#, python-format
+msgid "\"%s\" folder is not a valid Beremiz project\n"
+msgstr "Директория \"%s\" не является проектом Beremiz\n"
+
+#: ../PLCGenerator.py:1091
+#, python-format
+msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
+msgstr "Функция \"%s\" не используется  в POU \"%s\": входы не подключены"
+
+#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
+#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
+#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583
+#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733
+#: ../IDEFrame.py:1563
+#, python-format
+msgid "\"%s\" is a keyword. It can't be used!"
+msgstr "\"%s\" является ключевым словом и не может быть использован!"
+
+#: ../editors/Viewer.py:246
+#, python-format
+msgid "\"%s\" is already used by \"%s\"!"
+msgstr "\"%s\" уже используется \"%s\"!"
+
+#: ../plcopen/plcopen.py:2405
+#, python-format
+msgid "\"%s\" is an invalid value!"
+msgstr "\"%s\" недопустимое значение!"
+
+#: ../PLCOpenEditor.py:332 ../PLCOpenEditor.py:369
+#, python-format
+msgid "\"%s\" is not a valid folder!"
+msgstr "\"%s\" не является директорией!"
+
+#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
+#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
+#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748
+#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1561
+#, python-format
+msgid "\"%s\" is not a valid identifier!"
+msgstr "\"%s\" неверный идентификатор!"
+
+#: ../IDEFrame.py:2364
+#, 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:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341
+#: ../editors/Viewer.py:363 ../editors/TextViewer.py:268
+#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:348
+#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:328
+#: ../IDEFrame.py:1581
+#, python-format
+msgid "\"%s\" pou already exists!"
+msgstr "POU \"%s\" уже существует!"
+
+#: ../plcopen/plcopen.py:495
+#, python-format
+msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
+msgstr "Ресурс \"%s\"  уже существует в конфигурации \"%s\"!!!"
+
+#: ../plcopen/plcopen.py:512
+#, python-format
+msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
+msgstr "Ресурс \"%s\"  отсутствует в конфигурации \"%s\"!!!"
+
+#: ../dialogs/SFCStepNameDialog.py:57
+#, python-format
+msgid "\"%s\" step already exists!"
+msgstr "Шаг \"%s\" уже существует!"
+
+#: ../editors/DataTypeEditor.py:549
+#, python-format
+msgid "\"%s\" value already defined!"
+msgstr "\"%s\" значение уже задано!"
+
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744
+#, python-format
+msgid "\"%s\" value isn't a valid array dimension!"
+msgstr "\"%s\" не является корректной размерностью для массива! "
+
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751
+#, python-format
+msgid ""
+"\"%s\" value isn't a valid array dimension!\n"
+"Right value must be greater than left value."
+msgstr "\"%s\" не является корректной размерностью массива! Правое значение должно быть больше левого."
+
+msgid "%(codefile_name)s"
+msgstr "%(codefile_name)"
+
+#: ../PLCControler.py:970
+#, python-format
+msgid "%s \"%s\" can't be pasted as a %s."
+msgstr "%s \"%s\" не может быть вставлен как %s."
+
+#: ../PLCControler.py:1530
+#, python-format
+msgid "%s Data Types"
+msgstr "%s типы данных"
+
+#: ../PLCControler.py:1513
+#, python-format
+msgid "%s POUs"
+msgstr "%s POU"
+
+#: ../canfestival/SlaveEditor.py:46 ../canfestival/NetworkEditor.py:67
+#, python-format
+msgid "%s Profile"
+msgstr "%s профиль"
+
+#: ../ConfigTreeNode.py:32
+#, python-format
+msgid ""
+"%s XML file doesn't follow XSD schema at line %d:\n"
+"%s"
+msgstr ""
+"%s XML файл не следует XSD-схеме в строке %d:\n"
+"%s"
+
+#: ../plcopen/plcopen.py:1638 ../plcopen/plcopen.py:1645
+#: ../plcopen/plcopen.py:1657 ../plcopen/plcopen.py:1665
+#: ../plcopen/plcopen.py:1675
+#, python-format
+msgid "%s body don't have instances!"
+msgstr "Тело %s не содержит экземпляров!"
+
+#: ../plcopen/plcopen.py:1693 ../plcopen/plcopen.py:1700
+#: ../plcopen/plcopen.py:1707
+#, python-format
+msgid "%s body don't have text!"
+msgstr "Тело %s не содержит никакой текст!"
+
+#: ../IDEFrame.py:362
+msgid "&Add Element"
+msgstr "&Добавить элемент"
+
+#: ../IDEFrame.py:332
+msgid "&Configuration"
+msgstr "&Конфигурация"
+
+#: ../IDEFrame.py:321
+msgid "&Data Type"
+msgstr "&Типы данных"
+
+#: ../IDEFrame.py:366
+msgid "&Delete"
+msgstr "&Удалить"
+
+#: ../IDEFrame.py:313
+msgid "&Display"
+msgstr "&Вид"
+
+#: ../IDEFrame.py:312
+msgid "&Edit"
+msgstr "&Редактировать"
+
+#: ../IDEFrame.py:311
+msgid "&File"
+msgstr "&Файл"
+
+#: ../IDEFrame.py:323
+msgid "&Function"
+msgstr "&Функции"
+
+#: ../IDEFrame.py:314
+msgid "&Help"
+msgstr "&Помощь"
+
+#: ../IDEFrame.py:327
+msgid "&Program"
+msgstr "&Программы"
+
+#: ../PLCOpenEditor.py:119
+msgid "&Properties"
+msgstr "&Свойства"
+
+#: ../Beremiz.py:317
+msgid "&Recent Projects"
+msgstr "&Недавние проекты"
+
+#: ../IDEFrame.py:329
+msgid "&Resource"
+msgstr "&Ресурсы"
+
+#: ../controls/SearchResultPanel.py:252
+#, python-format
+msgid "'%s' - %d match in project"
+msgstr "'%s'- %d совпадений в проекте"
+
+#: ../controls/SearchResultPanel.py:254
+#, python-format
+msgid "'%s' - %d matches in project"
+msgstr "'%s' - %d совпадений в проекте"
+
+#: ../connectors/PYRO/__init__.py:86
+#, python-format
+msgid "'%s' is located at %s\n"
+msgstr "'%s' находится %s\n"
+
+#: ../controls/SearchResultPanel.py:304
+#, python-format
+msgid "(%d matches)"
+msgstr "(%d совпадений)"
+
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 ../PLCOpenEditor.py:387
+msgid ",   "
+msgstr ""
+
+#: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
+#: ../dialogs/PouDialog.py:115
+#, python-format
+msgid ", %s"
+msgstr ""
+
+#: ../PLCOpenEditor.py:382
+msgid ". "
+msgstr ""
+
+#: ../controls/LogViewer.py:278
+msgid "1d"
+msgstr "1 день"
+
+#: ../controls/LogViewer.py:279
+msgid "1h"
+msgstr "1 час"
+
+#: ../controls/LogViewer.py:280
+msgid "1m"
+msgstr "1 мин"
+
+#: ../controls/LogViewer.py:281
+msgid "1s"
+msgstr "1 сек"
+
+#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1584 ../IDEFrame.py:1626
+#: ../IDEFrame.py:1645
+#, 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:53 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouActionDialog.py:100
+#: ../controls/VariablePanel.py:735 ../IDEFrame.py:1596 ../IDEFrame.py:1607
+#, python-format
+msgid "A POU named \"%s\" already exists!"
+msgstr "POU с именем \"%s\" уже существует!"
+
+#: ../ConfigTreeNode.py:400
+#, python-format
+msgid "A child named \"%s\" already exist -> \"%s\"\n"
+msgstr "Дочерний элемент с именем \"%s\" уже существует -> \"%s\"\n"
+
+#: ../dialogs/BrowseLocationsDialog.py:211
+msgid "A location must be selected!"
+msgstr "Необходимо выбрать размещение!"
+
+#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737
+#: ../IDEFrame.py:1598 ../IDEFrame.py:1609
+#, python-format
+msgid "A variable with \"%s\" as name already exists in this pou!"
+msgstr "Переменная с именем \"%s\" уже существует в этом POU!"
+
+#: ../editors/CodeFileEditor.py:754
+#, python-format
+msgid "A variable with \"%s\" as name already exists!"
+msgstr "Переменная с именем \"%s\" уже существует!"
+
+#: ../PLCOpenEditor.py:152 ../Beremiz.py:374
+msgid "About"
+msgstr "О программе"
+
+#: ../Beremiz.py:999
+msgid "About Beremiz"
+msgstr "О Beremiz"
+
+#: ../PLCOpenEditor.py:346
+msgid "About PLCOpenEditor"
+msgstr "О PLCOpenEditor"
+
+#: ../plcopen/iec_std.csv:22
+msgid "Absolute number"
+msgstr "Абсолютный номер"
+
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
+msgid "Action"
+msgstr "Действие"
+
+#: ../editors/Viewer.py:551 ../editors/Viewer.py:2069
+msgid "Action Block"
+msgstr "Блок действия"
+
+#: ../dialogs/PouActionDialog.py:81
+msgid "Action Name"
+msgstr "Имя действия"
+
+#: ../dialogs/PouActionDialog.py:49
+msgid "Action Name:"
+msgstr "Имя действия:"
+
+#: ../plcopen/plcopen.py:1356
+#, python-format
+msgid "Action with name %s doesn't exist!"
+msgstr "Действие с именем %s не существует!"
+
+#: ../PLCControler.py:96
+msgid "Actions"
+msgstr "Действия"
+
+#: ../dialogs/ActionBlockDialog.py:133
+msgid "Actions:"
+msgstr "Действия:"
+
+#: ../editors/Viewer.py:1087
+msgid "Active"
+msgstr "Активный"
+
+#: ../canfestival/SlaveEditor.py:57 ../canfestival/NetworkEditor.py:78
+#: ../editors/Viewer.py:584 ../Beremiz.py:1026
+msgid "Add"
+msgstr "Добавить"
+
+#: ../IDEFrame.py:1858 ../IDEFrame.py:1893
+msgid "Add Action"
+msgstr "Добавить действие"
+
+#: ../features.py:8
+msgid "Add C code accessing located variables synchronously"
+msgstr "Добавить C-код с синхронным доступом к локальным переменным"
+
+#: ../IDEFrame.py:1841
+msgid "Add Configuration"
+msgstr "Добавить конфигурацию"
+
+#: ../IDEFrame.py:1821
+msgid "Add DataType"
+msgstr "Добавить тип данных"
+
+#: ../editors/Viewer.py:509
+msgid "Add Divergence Branch"
+msgstr "Добавить ветвление"
+
+#: ../dialogs/DiscoveryDialog.py:115
+msgid "Add IP"
+msgstr "Добавить IP адрес"
+
+#: ../IDEFrame.py:1829
+msgid "Add POU"
+msgstr "Добавить POU"
+
+#: ../features.py:9
+msgid "Add Python code executed asynchronously"
+msgstr "Добавить асинхронно вызываемый код на Python"
+
+#: ../IDEFrame.py:1869 ../IDEFrame.py:1919
+msgid "Add Resource"
+msgstr "Добавить ресурс"
+
+#: ../IDEFrame.py:1847 ../IDEFrame.py:1890
+msgid "Add Transition"
+msgstr "Добавить переход"
+
+#: ../editors/Viewer.py:496
+msgid "Add Wire Segment"
+msgstr "Добавить провод"
+
+#: ../editors/SFCViewer.py:359
+msgid "Add a new initial step"
+msgstr "Добавить новый исходный шаг"
+
+#: ../editors/Viewer.py:2672 ../editors/SFCViewer.py:696
+msgid "Add a new jump"
+msgstr "Добавить новый безусловный переход"
+
+#: ../editors/SFCViewer.py:381
+msgid "Add a new step"
+msgstr "Добавить новый шаг"
+
+#: ../features.py:10
+msgid "Add a simple WxGlade based GUI."
+msgstr "Добавить простой GUI на WxGlade "
+
+#: ../dialogs/ActionBlockDialog.py:137
+msgid "Add action"
+msgstr "Добавить действие"
+
+#: ../editors/DataTypeEditor.py:351
+msgid "Add element"
+msgstr "Добавить элемент"
+
+#: ../editors/ResourceEditor.py:268
+msgid "Add instance"
+msgstr "Добавить экземпляр"
+
+#: ../canfestival/NetworkEditor.py:80
+msgid "Add slave"
+msgstr "Добавить слэйв"
+
+#: ../editors/ResourceEditor.py:239
+msgid "Add task"
+msgstr "Добавить задачу"
+
+#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440
+msgid "Add variable"
+msgstr "Добавить переменную"
+
+#: ../plcopen/iec_std.csv:33
+msgid "Addition"
+msgstr "Сложение"
+
+#: ../plcopen/definitions.py:22
+msgid "Additional function blocks"
+msgstr "Дополнительные функциональные блоки"
+
+#: ../editors/Viewer.py:567
+msgid "Adjust Block Size"
+msgstr "Скорректировать размер элемента"
+
+#: ../editors/Viewer.py:1612
+msgid "Alignment"
+msgstr "Выравнивание"
+
+#: ../dialogs/BrowseLocationsDialog.py:34
+#: ../dialogs/BrowseLocationsDialog.py:42
+#: ../dialogs/BrowseLocationsDialog.py:135
+#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../controls/VariablePanel.py:70
+msgid "All"
+msgstr "Все"
+
+#: ../editors/FileManagementPanel.py:35
+msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
+msgstr "Все файлы  (*.*)|*.*|CSV files (*.csv)|*.csv"
+
+#: ../ProjectController.py:1523
+msgid "Already connected. Please disconnect\n"
+msgstr "Уже подключен. Пожалуйста, отключитесь сначала.\n"
+
+#: ../editors/DataTypeEditor.py:593
+#, python-format
+msgid "An element named \"%s\" already exists in this structure!"
+msgstr "Поле с именем \"%s\" уже существует в данной структуре!"
+
+#: ../dialogs/ConnectionDialog.py:96
+msgid "Apply name modification to all continuations with the same name"
+msgstr "Переименовать все цепи с тем же самым именем"
+
+#: ../plcopen/iec_std.csv:31
+msgid "Arc cosine"
+msgstr "Арккосинус"
+
+#: ../plcopen/iec_std.csv:30
+msgid "Arc sine"
+msgstr "Арксинус"
+
+#: ../plcopen/iec_std.csv:32
+msgid "Arc tangent"
+msgstr "Арктангенс"
+
+#: ../plcopen/iec_std.csv:33
+msgid "Arithmetic"
+msgstr "Математика"
+
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634
+#: ../controls/VariablePanel.py:811
+msgid "Array"
+msgstr "Массив"
+
+#: ../plcopen/iec_std.csv:39
+msgid "Assignment"
+msgstr "Присвоение"
+
+#: ../dialogs/FBDVariableDialog.py:217
+msgid "At least a variable or an expression must be selected!"
+msgstr "Переменная или выражение должно быть выбрано!"
+
+#: ../controls/ProjectPropertiesPanel.py:99
+msgid "Author"
+msgstr "Автор"
+
+#: ../controls/ProjectPropertiesPanel.py:96
+msgid "Author Name (optional):"
+msgstr "Имя автора (опционально):"
+
+#: ../dialogs/FindInPouDialog.py:78
+msgid "Backward"
+msgstr "Назад"
+
+#: ../util/Zeroconf.py:599
+msgid "Bad domain name (circular) at "
+msgstr "Неправильное доменное имя (ответ) в "
+
+#: ../util/Zeroconf.py:602
+msgid "Bad domain name at "
+msgstr "Неправильное доменное имя в"
+
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624
+#, python-format
+msgid "Bad location size : %s"
+msgstr "Неправильный размер: %s"
+
+#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:174
+#: ../editors/DataTypeEditor.py:204 ../editors/DataTypeEditor.py:296
+msgid "Base Type:"
+msgstr "Базовый тип:"
+
+#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769
+msgid "Base Types"
+msgstr "Базовые типы"
+
+msgid "BaseParams"
+msgstr "Базовые параметры"
+
+#: ../Beremiz.py:529
+msgid "Beremiz"
+msgstr ""
+
+msgid "BeremizRoot"
+msgstr "Настройки Beremiz "
+
+#: ../plcopen/iec_std.csv:70
+msgid "Binary selection (1 of 2)"
+msgstr "Бинарный выбор (1 или 2)"
+
+#: ../plcopen/iec_std.csv:62
+msgid "Bit-shift"
+msgstr "Сдвиговые операции"
+
+#: ../plcopen/iec_std.csv:66
+msgid "Bitwise"
+msgstr "Битовые операции"
+
+#: ../plcopen/iec_std.csv:66
+msgid "Bitwise AND"
+msgstr "Битовое И"
+
+#: ../plcopen/iec_std.csv:67
+msgid "Bitwise OR"
+msgstr "Битовое ИЛИ"
+
+#: ../plcopen/iec_std.csv:68
+msgid "Bitwise XOR"
+msgstr "Исключающее ИЛИ"
+
+#: ../plcopen/iec_std.csv:69
+msgid "Bitwise inverting"
+msgstr "Битовое НЕ"
+
+#: ../editors/Viewer.py:521 ../editors/Viewer.py:2073
+msgid "Block"
+msgstr "Блок"
+
+#: ../dialogs/FBDBlockDialog.py:59
+msgid "Block Properties"
+msgstr "Свойства блока"
+
+#: ../editors/TextViewer.py:261
+msgid "Block name"
+msgstr "Имя блока"
+
+#: ../editors/Viewer.py:487
+msgid "Bottom"
+msgstr "Низ"
+
+#: ../dialogs/BrowseValuesLibraryDialog.py:37
+#, python-format
+msgid "Browse %s values library"
+msgstr ""
+
+#: ../dialogs/BrowseLocationsDialog.py:60
+msgid "Browse Locations"
+msgstr "Просмотр директорий"
+
+#: ../ProjectController.py:1668
+msgid "Build"
+msgstr "Сборка"
+
+#: ../ProjectController.py:1166
+msgid "Build directory already clean\n"
+msgstr "Директория сборки уже пуста\n"
+
+#: ../ProjectController.py:1669
+msgid "Build project into build folder"
+msgstr "Сборка проекта в директории сборки"
+
+#: ../ProjectController.py:956
+msgid "C Build crashed !\n"
+msgstr "Крэш во время сборки C-кода!\n"
+
+#: ../ProjectController.py:953
+msgid "C Build failed.\n"
+msgstr "Ошибка сборки C-кода.\n"
+
+#: ../c_ext/CFileEditor.py:40
+msgid "C code"
+msgstr "C код "
+
+#: ../ProjectController.py:1031
+msgid "C code generated successfully.\n"
+msgstr "C-код успешно сгенерирован.\n"
+
+#: ../targets/toolchain_makefile.py:108
+msgid "C compilation failed.\n"
+msgstr "Ошибка компиляции.\n"
+
+#: ../targets/toolchain_gcc.py:132
+#, python-format
+msgid "C compilation of %s failed.\n"
+msgstr "Ошибка компиляции %s.\n"
+
+#: ../features.py:8
+msgid "C extension"
+msgstr "С-расширение"
+
+#: ../canfestival/NetworkEditor.py:29
+msgid "CANOpen network"
+msgstr "Сеть CANOpen"
+
+#: ../canfestival/SlaveEditor.py:21
+msgid "CANOpen slave"
+msgstr "CANOpen ведущий"
+
+msgid "CAN_Baudrate"
+msgstr "Скорость CAN"
+
+msgid "CAN_Device"
+msgstr "CAN устройство"
+
+msgid "CAN_Driver"
+msgstr "CAN драйвер"
+
+#: ../features.py:7
+msgid "CANopen support"
+msgstr "Поддержка CANOpen"
+
+msgid "CFLAGS"
+msgstr ""
+
+#: ../plcopen/plcopen.py:1580 ../plcopen/plcopen.py:1594
+#: ../plcopen/plcopen.py:1615 ../plcopen/plcopen.py:1631
+msgid "Can only generate execution order on FBD networks!"
+msgstr "Можно сгенерировать порядок исполнения только для FBD!"
+
+#: ../controls/VariablePanel.py:259
+msgid "Can only give a location to local or global variables"
+msgstr "Можно задать размещение только локальным или глобальным переменны"
+
+#: ../PLCOpenEditor.py:327
+#, python-format
+msgid "Can't generate program to file %s!"
+msgstr "Нельзя сгенерировать программу в файл %s!"
+
+#: ../controls/VariablePanel.py:257
+msgid "Can't give a location to a function block instance"
+msgstr "Нельзя задать размещение для экземпляра функционального блока"
+
+#: ../PLCOpenEditor.py:367
+#, python-format
+msgid "Can't save project to file %s!"
+msgstr "Нельзя сохранить проект в файл %s!"
+
+#: ../controls/VariablePanel.py:303
+msgid "Can't set an initial value to a function block instance"
+msgstr "Нельзя задать исходное значение экземпляру функционального блока"
+
+msgid "CanFestivalInstance"
+msgstr ""
+
+msgid "CanFestivalNode"
+msgstr ""
+
+#: Extra XSD strings
+msgid "CanFestivalSlaveNode"
+msgstr ""
+
+#: ../ConfigTreeNode.py:504
+#, python-format
+msgid "Cannot create child %s of type %s "
+msgstr "Нельзя создать дочерний элемент %s типа %s"
+
+#: ../ConfigTreeNode.py:429
+#, python-format
+msgid "Cannot find lower free IEC channel than %d\n"
+msgstr "Не удалось найти свободный МЭК-канал с номером меньше чем %d\n"
+
+#: ../connectors/PYRO/__init__.py:127
+msgid "Cannot get PLC status - connection failed.\n"
+msgstr "Невозможно получить состояние ПЛК - ошибка подключения.\n"
+
+#: ../ProjectController.py:817
+msgid "Cannot open/parse VARIABLES.csv!\n"
+msgstr "Не удалось открыть/прочитать VARIABLES.csv\n"
+
+#: ../canfestival/config_utils.py:372
+#, python-format
+msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
+msgstr "Невозможно установить битовое смещение для небулевой переменной '%s' (ID:%d,Idx:%x,sIdx:%x))"
+
+#: ../dialogs/SearchInProjectDialog.py:67 ../dialogs/FindInPouDialog.py:87
+msgid "Case sensitive"
+msgstr "Регистрозависимый"
+
+#: ../editors/Viewer.py:482
+msgid "Center"
+msgstr "Центр"
+
+#: ../Beremiz_service.py:245
+msgid "Change IP of interface to bind"
+msgstr "Сменить IP-адрес интерфейса для привязки сокета"
+
+#: ../Beremiz_service.py:244
+msgid "Change Name"
+msgstr "Сменить имя"
+
+#: ../IDEFrame.py:1911
+msgid "Change POU Type To"
+msgstr "Сменить тип POU на"
+
+#: ../Beremiz_service.py:246
+msgid "Change Port Number"
+msgstr "Сменить номер порта"
+
+#: ../Beremiz_service.py:247
+msgid "Change working directory"
+msgstr "Сменить рабочую директорию"
+
+#: ../plcopen/iec_std.csv:81
+msgid "Character string"
+msgstr "Символьные строки"
+
+#: ../svgui/svgui.py:101
+msgid "Choose a SVG file"
+msgstr "Выберете SVG-файл"
+
+#: ../ProjectController.py:420
+msgid "Choose a directory to save project"
+msgstr "Выберете директорию, чтобы сохранить проект"
+
+#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285
+#: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361
+msgid "Choose a file"
+msgstr "Выберете файл"
+
+#: ../Beremiz.py:901 ../Beremiz.py:936
+msgid "Choose a project"
+msgstr "Выберете проект"
+
+#: ../dialogs/BrowseValuesLibraryDialog.py:42
+#, python-format
+msgid "Choose a value for %s:"
+msgstr "Выберете значение для %s:"
+
+#: ../Beremiz_service.py:293
+msgid "Choose a working directory "
+msgstr "Выберете рабочую директорию"
+
+#: ../ProjectController.py:334
+msgid "Chosen folder doesn't contain a program. It's not a valid project!"
+msgstr "Выбранная директория не содержит программы. Это некорректный проект!"
+
+#: ../ProjectController.py:301
+msgid "Chosen folder isn't empty. You can't use it for a new project!"
+msgstr "Выбранная директория не пуста и не может использоваться для нового проекта!"
+
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+msgid "Class"
+msgstr "Класс"
+
+#: ../controls/VariablePanel.py:431
+msgid "Class Filter:"
+msgstr "Фильтр класса:"
+
+#: ../dialogs/FBDVariableDialog.py:69
+msgid "Class:"
+msgstr "Класс:"
+
+#: ../ProjectController.py:1672
+msgid "Clean"
+msgstr "Очистить"
+
+#: ../controls/LogViewer.py:317
+msgid "Clean log messages"
+msgstr "Очистить лог"
+
+#: ../ProjectController.py:1674
+msgid "Clean project build folder"
+msgstr "Очистить директорию сборки проекта"
+
+#: ../ProjectController.py:1163
+msgid "Cleaning the build directory\n"
+msgstr "Очистка директории сборки\n"
+
+#: ../IDEFrame.py:411
+msgid "Clear Errors"
+msgstr "Очистить ошибки"
+
+#: ../editors/Viewer.py:577
+msgid "Clear Execution Order"
+msgstr "Очистить порядок исполнения"
+
+#: ../dialogs/FindInPouDialog.py:110
+msgid "Close"
+msgstr "Закрыть"
+
+#: ../PLCOpenEditor.py:192 ../Beremiz.py:669
+msgid "Close Application"
+msgstr "Закрыть приложение"
+
+#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:613
+#: ../IDEFrame.py:984
+msgid "Close Project"
+msgstr "Закрыть проект"
+
+#: ../PLCOpenEditor.py:100 ../Beremiz.py:324
+msgid "Close Tab"
+msgstr "Закрыть вкладку"
+
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2084
+msgid "Coil"
+msgstr "Катушка"
+
+msgid "Command"
+msgstr "Комманда"
+
+#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
+msgid "Comment"
+msgstr "Комментарий"
+
+#: ../controls/ProjectPropertiesPanel.py:94
+msgid "Company Name (required):"
+msgstr "Компания (обязательно):"
+
+#: ../controls/ProjectPropertiesPanel.py:95
+msgid "Company URL (optional):"
+msgstr "Сайт компании (опционально):"
+
+#: ../plcopen/iec_std.csv:75
+msgid "Comparison"
+msgstr "Сравнение"
+
+msgid "Compiler"
+msgstr "Компилятор"
+
+#: ../ProjectController.py:609
+msgid "Compiling IEC Program into C code...\n"
+msgstr "Компиляция МЭК-программы в C-код...\n"
+
+#: ../plcopen/iec_std.csv:85
+msgid "Concatenation"
+msgstr "Объединение"
+
+#: ../editors/ConfTreeNodeEditor.py:206
+msgid "Config"
+msgstr "Конфигурация"
+
+#: ../editors/ProjectNodeEditor.py:13
+msgid "Config variables"
+msgstr "Конфигурационные переменные"
+
+#: ../dialogs/SearchInProjectDialog.py:47
+msgid "Configuration"
+msgstr "Конфигурация"
+
+#: ../PLCControler.py:97
+msgid "Configurations"
+msgstr "Конфигурации"
+
+#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355
+#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:340
+#: ../editors/TextViewer.py:363 ../controls/VariablePanel.py:318
+msgid "Confirm or change variable name"
+msgstr "Подтвердить или поменять имя переменной"
+
+#: ../ProjectController.py:1687
+msgid "Connect"
+msgstr "Подключиться"
+
+#: ../ProjectController.py:1688
+msgid "Connect to the target PLC"
+msgstr "Подключиться к целевому ПЛК"
+
+#: ../ProjectController.py:1212
+#, python-format
+msgid "Connected to URI: %s"
+msgstr "Подключен к URI: %s"
+
+#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523
+#: ../editors/Viewer.py:2075
+msgid "Connection"
+msgstr "Подключение"
+
+#: ../dialogs/ConnectionDialog.py:52
+msgid "Connection Properties"
+msgstr "Свойства подключение"
+
+#: ../ProjectController.py:1547
+msgid "Connection canceled!\n"
+msgstr "Подключение отменено!\n"
+
+#: ../ProjectController.py:1572
+#, python-format
+msgid "Connection failed to %s!\n"
+msgstr "Неудачное подключение к %s!\n"
+
+#: ../connectors/PYRO/__init__.py:98
+#, python-format
+msgid "Connection to '%s' failed.\n"
+msgstr "Неудачное подключение к %s!\n"
+
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1569
+msgid "Connector"
+msgstr "Коннектор"
+
+#: ../dialogs/SFCStepDialog.py:64
+msgid "Connectors:"
+msgstr "Коннекторы:"
+
+#: ../Beremiz.py:436
+msgid "Console"
+msgstr "Консоль"
+
+#: ../controls/VariablePanel.py:60
+msgid "Constant"
+msgstr "Константа"
+
+#: ../editors/Viewer.py:533 ../editors/Viewer.py:2080
+msgid "Contact"
+msgstr "Контакт"
+
+#: ../controls/ProjectPropertiesPanel.py:197
+msgid "Content Description (optional):"
+msgstr "Описание содержимого (опционально):"
+
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1570
+msgid "Continuation"
+msgstr "Продолжение"
+
+#: ../plcopen/iec_std.csv:18
+msgid "Conversion from BCD"
+msgstr "Преобразование из BCD"
+
+#: ../plcopen/iec_std.csv:19
+msgid "Conversion to BCD"
+msgstr "Преобразование в BCD"
+
+#: ../plcopen/iec_std.csv:21
+msgid "Conversion to date"
+msgstr "Преобразование в дату"
+
+#: ../plcopen/iec_std.csv:20
+msgid "Conversion to time-of-day"
+msgstr "Преобразование во время суток"
+
+#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346
+#: ../IDEFrame.py:401
+msgid "Copy"
+msgstr "Копировать"
+
+#: ../IDEFrame.py:1898
+msgid "Copy POU"
+msgstr "Копировать POU"
+
+#: ../editors/FileManagementPanel.py:65
+msgid "Copy file from left folder to right"
+msgstr "Скопировать файл с левой директории в правую"
+
+#: ../editors/FileManagementPanel.py:64
+msgid "Copy file from right folder to left"
+msgstr "Скопировать файл с правой директории в левую"
+
+#: ../plcopen/iec_std.csv:28
+msgid "Cosine"
+msgstr "Косинус"
+
+#: ../ConfigTreeNode.py:626
+#, python-format
+msgid ""
+"Could not add child \"%s\", type %s :\n"
+"%s\n"
+msgstr ""
+"Невозможно добавить дочерний элемент \"%s\", тип %s:\n"
+"%s\n"
+
+#: ../py_ext/PythonFileCTNMixin.py:53
+#, python-format
+msgid "Couldn't import old %s file."
+msgstr "Невозможно импортировать старый файл %s."
+
+#: ../ConfigTreeNode.py:598
+#, python-format
+msgid ""
+"Couldn't load confnode base parameters %s :\n"
+" %s"
+msgstr "Невозможно загрузить базовые параметры confnode %s: %s"
+
+#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99
+#, python-format
+msgid ""
+"Couldn't load confnode parameters %s :\n"
+" %s"
+msgstr "Невозможно загрузить параметры confnode %s: %s"
+
+#: ../PLCControler.py:946
+msgid "Couldn't paste non-POU object."
+msgstr "Невозможно вставить не-POU."
+
+#: ../ProjectController.py:1486
+msgid "Couldn't start PLC !\n"
+msgstr "Невозможно запустить ПЛК!\n"
+
+#: ../ProjectController.py:1494
+msgid "Couldn't stop PLC !\n"
+msgstr "Невозможно остановить ПЛК!\n"
+
+#: ../ProjectController.py:1458
+msgid "Couldn't stop debugger.\n"
+msgstr "Невозможно остановить отладчик.\n"
+
+#: ../svgui/svgui.py:23
+msgid "Create HMI"
+msgstr "Создать HMI"
+
+#: ../dialogs/PouDialog.py:45
+msgid "Create a new POU"
+msgstr "Создать новый POU"
+
+#: ../dialogs/PouActionDialog.py:38
+msgid "Create a new action"
+msgstr "Создать новое действие"
+
+#: ../IDEFrame.py:135
+msgid "Create a new action block"
+msgstr "Создать новый блок действие"
+
+#: ../IDEFrame.py:84 ../IDEFrame.py:114 ../IDEFrame.py:147
+msgid "Create a new block"
+msgstr "Создать новый блок"
+
+#: ../IDEFrame.py:108
+msgid "Create a new branch"
+msgstr "Создать новое ветвление"
+
+#: ../IDEFrame.py:102
+msgid "Create a new coil"
+msgstr "Создать новую катушку"
+
+#: ../IDEFrame.py:78 ../IDEFrame.py:93 ../IDEFrame.py:123
+msgid "Create a new comment"
+msgstr "Создать новый комментарий"
+
+#: ../IDEFrame.py:87 ../IDEFrame.py:117 ../IDEFrame.py:150
+msgid "Create a new connection"
+msgstr "Создать новое подключение"
+
+#: ../IDEFrame.py:105 ../IDEFrame.py:156
+msgid "Create a new contact"
+msgstr "Создать новый контакт"
+
+#: ../IDEFrame.py:138
+msgid "Create a new divergence"
+msgstr "Создать новое ветвление"
+
+#: ../dialogs/SFCDivergenceDialog.py:51
+msgid "Create a new divergence or convergence"
+msgstr "Создать новое ветвление или объединение"
+
+#: ../IDEFrame.py:126
+msgid "Create a new initial step"
+msgstr "Создать исходный шаг"
+
+#: ../IDEFrame.py:141
+msgid "Create a new jump"
+msgstr "Создать новый переход"
+
+#: ../IDEFrame.py:96 ../IDEFrame.py:153
+msgid "Create a new power rail"
+msgstr "Создать новую линию питания"
+
+#: ../IDEFrame.py:99
+msgid "Create a new rung"
+msgstr "Создать новую цепь"
+
+#: ../IDEFrame.py:129
+msgid "Create a new step"
+msgstr "Создать новый шаг"
+
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132
+msgid "Create a new transition"
+msgstr "Создать новый переход"
+
+#: ../IDEFrame.py:81 ../IDEFrame.py:111 ../IDEFrame.py:144
+msgid "Create a new variable"
+msgstr "Создать новую переменную"
+
+#: ../editors/Viewer.py:592 ../IDEFrame.py:344 ../IDEFrame.py:400
+msgid "Cut"
+msgstr "Вырезать"
+
+#: ../editors/ResourceEditor.py:72
+msgid "Cyclic"
+msgstr "Циклический"
+
+#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:44
+#: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:50
+#: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:54
+#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:58
+#: ../plcopen/iec_std.csv:60
+msgid "DEPRECATED"
+msgstr "УСТАРЕЛО"
+
+#: ../canfestival/SlaveEditor.py:53 ../canfestival/NetworkEditor.py:74
+msgid "DS-301 Profile"
+msgstr "Профиль DS-301"
+
+#: ../canfestival/SlaveEditor.py:54 ../canfestival/NetworkEditor.py:75
+msgid "DS-302 Profile"
+msgstr "Профиль DS-302"
+
+#: ../dialogs/SearchInProjectDialog.py:43
+msgid "Data Type"
+msgstr "Тип данных"
+
+#: ../PLCControler.py:96
+msgid "Data Types"
+msgstr "Типы данных"
+
+#: ../plcopen/iec_std.csv:16
+msgid "Data type conversion"
+msgstr "Преобразование типов данных"
+
+#: ../plcopen/iec_std.csv:44 ../plcopen/iec_std.csv:45
+msgid "Date addition"
+msgstr "Сложение дат"
+
+#: ../plcopen/iec_std.csv:56 ../plcopen/iec_std.csv:57
+#: ../plcopen/iec_std.csv:58 ../plcopen/iec_std.csv:59
+msgid "Date and time subtraction"
+msgstr "Вычитание даты и времени"
+
+#: ../plcopen/iec_std.csv:50 ../plcopen/iec_std.csv:51
+msgid "Date subtraction"
+msgstr "Вычитание дат"
+
+#: ../dialogs/DurationEditorDialog.py:43
+msgid "Days:"
+msgstr "Дни:"
+
+#: ../ProjectController.py:1594
+msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
+msgstr "Отлаживаемая программа не соответствует программе в ПЛК - остановите/загрузите/запустите, чтобы разрешить отладку\n"
+
+#: ../controls/PouInstanceVariablesPanel.py:134
+msgid "Debug instance"
+msgstr "Отладка экземпляра"
+
+#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3596
+#, python-format
+msgid "Debug: %s"
+msgstr "Отладка: %s"
+
+#: ../ProjectController.py:1247
+#, python-format
+msgid "Debug: Unknown variable '%s'\n"
+msgstr "Отладка: неизвестная переменная '%s'\n"
+
+#: ../ProjectController.py:1245
+#, python-format
+msgid "Debug: Unsupported type to debug '%s'\n"
+msgstr "Отладка: неподдерживамый отладкой тип '%s'\n"
+
+#: ../IDEFrame.py:614
+msgid "Debugger"
+msgstr "Отладчик"
+
+#: ../ProjectController.py:1427
+msgid "Debugger disabled\n"
+msgstr "Отладчик запрещен\n"
+
+#: ../ProjectController.py:1591
+msgid "Debugger ready\n"
+msgstr "Отладчик готов\n"
+
+#: ../ProjectController.py:1460
+msgid "Debugger stopped.\n"
+msgstr "Отладчик остановлен.\n"
+
+#: ../editors/Viewer.py:568 ../Beremiz.py:1030 ../IDEFrame.py:1927
+msgid "Delete"
+msgstr "Удалить"
+
+#: ../editors/Viewer.py:510
+msgid "Delete Divergence Branch"
+msgstr "Удалить ветвь"
+
+#: ../editors/FileManagementPanel.py:153
+msgid "Delete File"
+msgstr "Удалить файл"
+
+#: ../editors/Viewer.py:497
+msgid "Delete Wire Segment"
+msgstr "Удалить сегмент цепи"
+
+#: ../controls/CustomEditableListBox.py:41
+msgid "Delete item"
+msgstr "Удалить"
+
+#: ../plcopen/iec_std.csv:88
+msgid "Deletion (within)"
+msgstr "Удаление подстроки"
+
+#: ../editors/DataTypeEditor.py:152
+msgid "Derivation Type:"
+msgstr "Механизм создания типа:"
+
+#: ../plcopen/definitions.py:41
+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."
+
+#: ../controls/VariablePanel.py:422
+msgid "Description:"
+msgstr "Описание:"
+
+#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320
+msgid "Dimensions:"
+msgstr "Размеры:"
+
+#: ../dialogs/FindInPouDialog.py:67
+msgid "Direction"
+msgstr "Неправление"
+
+#: ../dialogs/BrowseLocationsDialog.py:85
+msgid "Direction:"
+msgstr "Направление:"
+
+#: ../editors/DataTypeEditor.py:54
+msgid "Directly"
+msgstr "Синоним"
+
+msgid "Disable_Extensions"
+msgstr "Запретить расширения"
+
+#: ../ProjectController.py:1696
+msgid "Disconnect"
+msgstr "Отключиться"
+
+#: ../ProjectController.py:1698
+msgid "Disconnect from PLC"
+msgstr "Отключиться от ПЛК"
+
+#: ../editors/Viewer.py:552 ../editors/Viewer.py:2061
+msgid "Divergence"
+msgstr "Ветвление"
+
+#: ../plcopen/iec_std.csv:36
+msgid "Division"
+msgstr "Деление"
+
+#: ../editors/FileManagementPanel.py:152
+#, python-format
+msgid "Do you really want to delete the file '%s'?"
+msgstr "Вы действительно хотите удалить этот файл '%s'?"
+
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+msgid "Documentation"
+msgstr "Описание"
+
+#: ../PLCOpenEditor.py:321
+msgid "Done"
+msgstr "Завершено"
+
+#: ../plcopen/definitions.py:34
+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"
+"Декрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг нулевого значения с исходного заданного значения."
+
+#: ../dialogs/ActionBlockDialog.py:38
+msgid "Duration"
+msgstr "Длительность"
+
+#: ../canfestival/canfestival.py:139
+msgid "EDS files (*.eds)|*.eds|All files|*.*"
+msgstr "Файлы EDS (*.eds)|*.eds|All files|*.*"
+
+#: ../editors/Viewer.py:566
+msgid "Edit Block"
+msgstr "Редактировать блок"
+
+#: ../dialogs/LDElementDialog.py:56
+msgid "Edit Coil Values"
+msgstr "Редактировать значение катушки"
+
+#: ../dialogs/LDElementDialog.py:54
+msgid "Edit Contact Values"
+msgstr "Редактировать значение контакта"
+
+#: ../dialogs/DurationEditorDialog.py:59
+msgid "Edit Duration"
+msgstr "Редактировать длительность"
+
+#: ../dialogs/SFCStepDialog.py:49
+msgid "Edit Step"
+msgstr "Редактировать шаг"
+
+#: ../wxglade_hmi/wxglade_hmi.py:12
+msgid "Edit a WxWidgets GUI with WXGlade"
+msgstr "Редактировать WxWidgets GUI с помощью WXGlade"
+
+#: ../dialogs/ActionBlockDialog.py:121
+msgid "Edit action block properties"
+msgstr "Редактировать свойства блока действия"
+
+#: ../dialogs/ArrayTypeDialog.py:45
+msgid "Edit array type properties"
+msgstr "Редактировать свойства массива"
+
+#: ../editors/Viewer.py:2541 ../editors/Viewer.py:2952
+msgid "Edit comment"
+msgstr "Редактировать комментарий"
+
+#: ../editors/FileManagementPanel.py:66
+msgid "Edit file"
+msgstr "Редактировать файл"
+
+#: ../controls/CustomEditableListBox.py:39
+msgid "Edit item"
+msgstr "Редактировать элемент"
+
+#: ../editors/Viewer.py:2916
+msgid "Edit jump target"
+msgstr "Редактирование безусловного перехода"
+
+#: ../ProjectController.py:1710
+msgid "Edit raw IEC code added to code generated by PLCGenerator"
+msgstr "Редактировать МЭК-код добавленный к коду сгенерированному PLCGenerator"
+
+#: ../editors/SFCViewer.py:725
+msgid "Edit step name"
+msgstr "Редактировать имя шага"
+
+#: ../dialogs/SFCTransitionDialog.py:50
+msgid "Edit transition"
+msgstr "Редактировать переход"
+
+#: ../IDEFrame.py:586
+msgid "Editor ToolBar"
+msgstr "Редактор панели инструментов"
+
+#: ../ProjectController.py:1126
+msgid "Editor selection"
+msgstr "Редактор выделения"
+
+#: ../editors/DataTypeEditor.py:347
+msgid "Elements :"
+msgstr "Элементы:"
+
+#: ../IDEFrame.py:341
+msgid "Enable Undo/Redo"
+msgstr "Разрешить отмену и повтор операций"
+
+msgid "Enabled"
+msgstr "Разрешено"
+
+#: ../Beremiz_service.py:299
+msgid "Enter a name "
+msgstr "Введите имя"
+
+#: ../Beremiz_service.py:286
+msgid "Enter a port number "
+msgstr "Введите номер порта"
+
+#: ../Beremiz_service.py:277
+msgid "Enter the IP of the interface to bind"
+msgstr "Введите IP-адрес используемого интерфейса"
+
+#: ../editors/DataTypeEditor.py:54
+msgid "Enumerated"
+msgstr "Перечисление"
+
+#: ../plcopen/iec_std.csv:77
+msgid "Equal to"
+msgstr "Равно"
+
+#: ../dialogs/ForceVariableDialog.py:179
+#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107
+#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71
+#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211
+#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104
+#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333
+#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419
+#: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
+#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549
+#: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578
+#: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593
+#: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751
+#: ../editors/TextViewer.py:387 ../editors/CodeFileEditor.py:763
+#: ../ProjectController.py:269 ../controls/FolderTree.py:217
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:225
+#: ../controls/VariablePanel.py:392 ../controls/VariablePanel.py:754
+#: ../Beremiz.py:1169 ../IDEFrame.py:978 ../IDEFrame.py:1584
+#: ../IDEFrame.py:1621 ../IDEFrame.py:1626 ../IDEFrame.py:1640
+#: ../IDEFrame.py:1645 ../Beremiz_service.py:190
+msgid "Error"
+msgstr "Ошибка"
+
+#: ../ProjectController.py:663
+msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
+msgstr "Ошибка: Как минимум одна конфигурация и один ресурс должны быть задекларированы в ПЛК!\n"
+
+#: ../ProjectController.py:655
+#, python-format
+msgid "Error : IEC to C compiler returned %d\n"
+msgstr "Ошибка: компилятор МЭК в C вернул код ошибки %d\n"
+
+#: ../ProjectController.py:589
+#, python-format
+msgid ""
+"Error in ST/IL/SFC code generator :\n"
+"%s\n"
+msgstr "Ошибка в ST/IL/SFC кодогенераторе: %s\n"
+
+#: ../ConfigTreeNode.py:192
+#, python-format
+msgid "Error while saving \"%s\"\n"
+msgstr "Ошибка во время сохранения \"%s\"\n"
+
+#: ../canfestival/canfestival.py:144
+msgid "Error: Export slave failed\n"
+msgstr "Ошибка: неудачный экспорт ведомого\n"
+
+#: ../canfestival/canfestival.py:345
+msgid "Error: No Master generated\n"
+msgstr "Ошибка: мастер не сгенерирован\n"
+
+#: ../canfestival/canfestival.py:340
+msgid "Error: No PLC built\n"
+msgstr "Ошибка: ПЛК не собран\n"
+
+#: ../ProjectController.py:1566
+#, python-format
+msgid "Exception while connecting %s!\n"
+msgstr "Исключение во время подключения %s!\n"
+
+#: ../dialogs/FBDBlockDialog.py:117
+msgid "Execution Control:"
+msgstr "Управление исполнением:"
+
+#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105
+msgid "Execution Order:"
+msgstr "Порядок исполнения:"
+
+#: ../features.py:11
+msgid "Experimental web based HMI"
+msgstr "Экспериментальный WEB-HMI"
+
+#: ../plcopen/iec_std.csv:38
+msgid "Exponent"
+msgstr "Экспонента"
+
+#: ../plcopen/iec_std.csv:26
+msgid "Exponentiation"
+msgstr "Взятие экспоненты"
+
+#: ../canfestival/canfestival.py:150
+msgid "Export CanOpen slave to EDS file"
+msgstr "Экспортировать CanOpen ведомое устройство в EDS файл"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
+msgid "Export graph values to clipboard"
+msgstr "Экспортировать график значений в буфер обмена"
+
+#: ../canfestival/canfestival.py:149
+msgid "Export slave"
+msgstr "Экспортировать ведомое устройство"
+
+#: ../dialogs/FBDVariableDialog.py:89
+msgid "Expression:"
+msgstr "Выражение:"
+
+#: ../controls/VariablePanel.py:72
+msgid "External"
+msgstr "Внешний"
+
+#: ../ProjectController.py:676
+msgid "Extracting Located Variables...\n"
+msgstr "Экспорт локальных переменных...\n"
+
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+msgid "FBD"
+msgstr ""
+
+#: ../ProjectController.py:1629
+msgid "Failed : Must build before transfer.\n"
+msgstr "Ошибка: необходима сборка перед передачей.\n"
+
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458
+msgid "Falling Edge"
+msgstr "Спадающий фронт"
+
+#: ../plcopen/definitions.py:32
+msgid ""
+"Falling edge detector\n"
+"The output produces a single pulse when a falling edge is detected."
+msgstr ""
+"Детектор падающего фронта\n"
+"На выходе формируется одиночный импульс, если обнаружен падающий фронт."
+
+#: ../ProjectController.py:946
+msgid "Fatal : cannot get builder.\n"
+msgstr "Ошибка: невозможно получить сборщик.\n"
+
+#: ../dialogs/DurationEditorDialog.py:160
+#, python-format
+msgid "Field %s hasn't a valid value!"
+msgstr "Поле %s имеет неверное значение!"
+
+#: ../dialogs/DurationEditorDialog.py:162
+#, python-format
+msgid "Fields %s haven't a valid value!"
+msgstr "Поля %s имеют неверные значения!"
+
+#: ../controls/FolderTree.py:216
+#, python-format
+msgid "File '%s' already exists!"
+msgstr "Файл '%s' уже существует!"
+
+#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105
+#: ../IDEFrame.py:351
+msgid "Find"
+msgstr "Поиск"
+
+#: ../IDEFrame.py:353
+msgid "Find Next"
+msgstr "Поиск следующего"
+
+#: ../IDEFrame.py:355
+msgid "Find Previous"
+msgstr "Поиск предыдущего"
+
+#: ../plcopen/iec_std.csv:90
+msgid "Find position"
+msgstr "Поиск позиции"
+
+#: ../dialogs/FindInPouDialog.py:57
+msgid "Find:"
+msgstr "Поиск:"
+
+#: ../connectors/PYRO/__init__.py:159
+msgid "Force runtime reload\n"
+msgstr "Принудительный перезапуск системы исполнения\n"
+
+#: ../editors/Viewer.py:1528
+msgid "Force value"
+msgstr "Фиксировать значение"
+
+#: ../dialogs/ForceVariableDialog.py:162
+msgid "Forcing Variable Value"
+msgstr "Форсировать значение переменной"
+
+#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94
+#: ../dialogs/PouDialog.py:116
+#, python-format
+msgid "Form isn't complete. %s must be filled!"
+msgstr "Форма заполнена неполностью. %s должен быть заполнен!"
+
+#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232
+#: ../dialogs/ConnectionDialog.py:160
+msgid "Form isn't complete. Name must be filled!"
+msgstr "Форма заполнена неполностью. Имя должно быть заполнено!"
+
+#: ../dialogs/SearchInProjectDialog.py:145
+msgid "Form isn't complete. Pattern to search must be filled!"
+msgstr "Форма заполнена неполностью. Шаблон поиска должен быть заполнен!"
+
+#: ../dialogs/FBDBlockDialog.py:228
+msgid "Form isn't complete. Valid block type must be selected!"
+msgstr "Форма заполнена неполностью. Должен быть выбран корректный тип блока!"
+
+#: ../dialogs/FindInPouDialog.py:73
+msgid "Forward"
+msgstr "Вперед"
+
+#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1714
+msgid "Function"
+msgstr "Функция"
+
+#: ../IDEFrame.py:325
+msgid "Function &Block"
+msgstr "Функциональный &блок"
+
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1713
+#: ../IDEFrame.py:1906
+msgid "Function Block"
+msgstr "Функциональный блок"
+
+#: ../controls/VariablePanel.py:807
+msgid "Function Block Types"
+msgstr "Типы функциональных блоков"
+
+#: ../PLCControler.py:95
+msgid "Function Blocks"
+msgstr "Функциональные блоки"
+
+#: ../editors/Viewer.py:244
+msgid "Function Blocks can't be used in Functions!"
+msgstr "Функциональные блоки не могут использоваться в функциях!"
+
+#: ../PLCControler.py:2336
+#, python-format
+msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
+msgstr "Функциональный блок \"%s\" не может быть вставлен в функцию!!!"
+
+#: ../PLCControler.py:95
+msgid "Functions"
+msgstr "Функции"
+
+#: ../PLCOpenEditor.py:109
+msgid "Generate Program"
+msgstr "Сгенерировать программу"
+
+#: ../ProjectController.py:580
+msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
+msgstr "Генерация МЭК-61131 ST/IL/SFC кода ПЛК...\n"
+
+msgid "Generic"
+msgstr ""
+
+#: ../controls/VariablePanel.py:73
+msgid "Global"
+msgstr "Глобальный"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
+msgid "Go to current value"
+msgstr "Перейти к текущему значению"
+
+#: ../controls/ProjectPropertiesPanel.py:173
+msgid "Graphics"
+msgstr "Графика"
+
+#: ../plcopen/iec_std.csv:75
+msgid "Greater than"
+msgstr "Больше"
+
+#: ../plcopen/iec_std.csv:76
+msgid "Greater than or equal to"
+msgstr "Больше или равно"
+
+#: ../controls/ProjectPropertiesPanel.py:134
+msgid "Grid Resolution:"
+msgstr "Шаг сетки:"
+
+#: ../controls/ProjectPropertiesPanel.py:120
+msgid "Height:"
+msgstr "Высота:"
+
+#: ../editors/FileManagementPanel.py:85
+msgid "Home Directory:"
+msgstr "Домашняя директория:"
+
+#: ../controls/ProjectPropertiesPanel.py:150
+msgid "Horizontal:"
+msgstr "Горизонтальный:"
+
+#: ../dialogs/DurationEditorDialog.py:44
+msgid "Hours:"
+msgstr "Часы:"
+
+#: ../plcopen/definitions.py:44
+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_Channel"
+msgstr "МЭК-канал"
+
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
+msgid "IL"
+msgstr ""
+
+#: ../Beremiz_service.py:278 ../Beremiz_service.py:279
+msgid "IP is not valid!"
+msgstr "Неверный IP-адрес"
+
+#: ../svgui/svgui.py:18 ../svgui/svgui.py:19
+msgid "Import SVG"
+msgstr "Импорт SVG"
+
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1555
+#: ../controls/VariablePanel.py:71
+msgid "InOut"
+msgstr "Вход/Выход"
+
+#: ../editors/Viewer.py:1087
+msgid "Inactive"
+msgstr "Неактивный"
+
+#: ../controls/VariablePanel.py:268
+#, python-format
+msgid "Incompatible data types between \"%s\" and \"%s\""
+msgstr "\"%s\" и \"%s\" имеют несовместимые типы данных"
+
+#: ../controls/VariablePanel.py:277
+#, python-format
+msgid "Incompatible size of data between \"%s\" and \"%s\""
+msgstr "\"%s\" и \"%s\" имеют несовместимый размер данных"
+
+#: ../controls/VariablePanel.py:273
+#, python-format
+msgid "Incompatible size of data between \"%s\" and \"BOOL\""
+msgstr "Несовместимый размер данных \"%s\" с типом \"BOOL\""
+
+#: ../dialogs/ActionBlockDialog.py:38
+msgid "Indicator"
+msgstr "Индикатор"
+
+#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058
+msgid "Initial Step"
+msgstr "Исходный шаг"
+
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
+msgid "Initial Value"
+msgstr "Исходное значение"
+
+#: ../editors/DataTypeEditor.py:184 ../editors/DataTypeEditor.py:215
+#: ../editors/DataTypeEditor.py:271 ../editors/DataTypeEditor.py:309
+msgid "Initial Value:"
+msgstr "Исходное значение:"
+
+#: ../svgui/svgui.py:22
+msgid "Inkscape"
+msgstr ""
+
+#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
+msgid "Inline"
+msgstr "Непосредственно"
+
+#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1553
+#: ../controls/VariablePanel.py:71
+msgid "Input"
+msgstr "Вход"
+
+#: ../dialogs/FBDBlockDialog.py:93
+msgid "Inputs:"
+msgstr "Входы:"
+
+#: ../plcopen/iec_std.csv:87
+msgid "Insertion (into)"
+msgstr "Вставка подстроки"
+
+#: ../plcopen/plcopen.py:1684
+#, python-format
+msgid "Instance with id %d doesn't exist!"
+msgstr "Экземпляр с id %d не существует!"
+
+#: ../editors/ResourceEditor.py:264
+msgid "Instances:"
+msgstr "Экземпляры:"
+
+#: ../plcopen/definitions.py:40
+msgid ""
+"Integral\n"
+"The integral function block integrates the value of input XIN over time."
+msgstr ""
+"Интеграл\n"
+"Функциональный блок интегрирует входное значение XIN во времени."
+
+#: ../controls/VariablePanel.py:70
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: ../editors/ResourceEditor.py:72
+msgid "Interrupt"
+msgstr "Прерывание"
+
+#: ../editors/ResourceEditor.py:68
+msgid "Interval"
+msgstr "Интервал"
+
+#: ../PLCControler.py:2324
+msgid "Invalid plcopen element(s)!!!"
+msgstr "Некорректный PlcOpen элемент(ы)!!!"
+
+#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
+#, python-format
+msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
+msgstr "Неправильный тип \"%s\"->\"%d != %d для \"%s\""
+
+#: ../dialogs/ForceVariableDialog.py:177
+#, python-format
+msgid "Invalid value \"%s\" for \"%s\" variable!"
+msgstr "Неверное значение \"%s\" для переменной \"%s\"!"
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160
+#, python-format
+msgid "Invalid value \"%s\" for debug variable"
+msgstr "Неверное значение \"%s\" для отлаживаемой переменной"
+
+#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250
+#, python-format
+msgid "Invalid value \"%s\" for variable grid element"
+msgstr ""
+
+#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
+#, python-format
+msgid "Invalid value \"%s\" for viewer block"
+msgstr ""
+
+#: ../dialogs/DurationEditorDialog.py:121
+msgid ""
+"Invalid value!\n"
+"You must fill a numeric value."
+msgstr ""
+"Неверное значение!\n"
+"Необходимо ввести числовое значение."
+
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2062
+msgid "Jump"
+msgstr "Переход"
+
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+msgid "LD"
+msgstr ""
+
+msgid "LDFLAGS"
+msgstr ""
+
+#: ../editors/LDViewer.py:215 ../editors/LDViewer.py:231
+#, python-format
+msgid "Ladder element with id %d is on more than one rung."
+msgstr "Элемент лестничной диаграммы с id %d более чем на одной ступени."
+
+#: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:83
+#: ../dialogs/PouDialog.py:104
+msgid "Language"
+msgstr "Язык"
+
+#: ../controls/ProjectPropertiesPanel.py:186
+msgid "Language (optional):"
+msgstr "Язык (опционально):"
+
+#: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
+#: ../dialogs/PouDialog.py:73
+msgid "Language:"
+msgstr "Язык:"
+
+#: ../ProjectController.py:1635
+msgid "Latest build already matches current target. Transfering anyway...\n"
+msgstr "Загружаемая программа совпадает с текущий программой в целевом ПЛК. Загрузка продолжена...\n"
+
+#: ../Beremiz_service.py:250
+msgid "Launch WX GUI inspector"
+msgstr "Запустить WX GUI Inspector"
+
+#: ../Beremiz_service.py:249
+msgid "Launch a live Python shell"
+msgstr "Запустить консоль Python"
+
+#: ../editors/Viewer.py:481
+msgid "Left"
+msgstr "Слева"
+
+#: ../dialogs/LDPowerRailDialog.py:61
+msgid "Left PowerRail"
+msgstr "Левая шина питания"
+
+#: ../plcopen/iec_std.csv:81
+msgid "Length of string"
+msgstr "Длина строки"
+
+#: ../plcopen/iec_std.csv:78
+msgid "Less than"
+msgstr "Меньше"
+
+#: ../plcopen/iec_std.csv:79
+msgid "Less than or equal to"
+msgstr "Меньше либо равно"
+
+msgid "Libraries"
+msgstr "Библиотеки"
+
+#: ../IDEFrame.py:606
+msgid "Library"
+msgstr "Библиотека"
+
+#: ../plcopen/iec_std.csv:73
+msgid "Limitation"
+msgstr "Ограничение"
+
+msgid "Linker"
+msgstr "Линковщик"
+
+#: ../targets/toolchain_gcc.py:142
+msgid "Linking :\n"
+msgstr "Линковка:\n"
+
+msgid "Linux"
+msgstr "GNU/Linux"
+
+#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
+msgid "Local"
+msgstr "Локальный"
+
+#: ../canfestival/canfestival.py:322
+msgid "Local entries"
+msgstr "Локальные записи"
+
+#: ../ProjectController.py:1541
+msgid "Local service discovery failed!\n"
+msgstr "Локальный сервис не найден!\n"
+
+#: ../controls/VariablePanel.py:53
+msgid "Location"
+msgstr "Размещение"
+
+#: ../dialogs/BrowseLocationsDialog.py:67
+msgid "Locations available:"
+msgstr "Доступные размещения:"
+
+#: ../plcopen/iec_std.csv:25
+msgid "Logarithm to base 10"
+msgstr "Десятичный логарифм"
+
+#: ../connectors/PYRO/__init__.py:90
+#, python-format
+msgid "MDNS resolution failure for '%s'\n"
+msgstr "MDNS разрешение неудачно для '%s'\n"
+
+#: ../canfestival/SlaveEditor.py:41 ../canfestival/NetworkEditor.py:62
+msgid "Map Variable"
+msgstr "Отображение переменной"
+
+#: ../features.py:7
+msgid "Map located variables over CANopen"
+msgstr "Отображение переменных по CANopen"
+
+#: ../canfestival/NetworkEditor.py:83
+msgid "Master"
+msgstr "Ведущий"
+
+#: ../ConfigTreeNode.py:514
+#, python-format
+msgid "Max count (%d) reached for this confnode of type %s "
+msgstr "Достигнуто максимальное количество (%d) для типа узла конфигурации %s"
+
+#: ../plcopen/iec_std.csv:71
+msgid "Maximum"
+msgstr "Максимум"
+
+#: ../editors/DataTypeEditor.py:238
+msgid "Maximum:"
+msgstr "Максимум:"
+
+#: ../dialogs/BrowseLocationsDialog.py:37
+msgid "Memory"
+msgstr "Память"
+
+#: ../IDEFrame.py:574
+msgid "Menu ToolBar"
+msgstr "Меню"
+
+#: ../dialogs/DurationEditorDialog.py:48
+msgid "Microseconds:"
+msgstr "Микросекунды:"
+
+#: ../editors/Viewer.py:486
+msgid "Middle"
+msgstr "Посередине"
+
+#: ../dialogs/DurationEditorDialog.py:47
+msgid "Milliseconds:"
+msgstr "Миллисекунды:"
+
+#: ../plcopen/iec_std.csv:72
+msgid "Minimum"
+msgstr "Минимум"
+
+#: ../editors/DataTypeEditor.py:225
+msgid "Minimum:"
+msgstr "Минимум:"
+
+#: ../dialogs/DurationEditorDialog.py:45
+msgid "Minutes:"
+msgstr "Минуты:"
+
+#: ../controls/ProjectPropertiesPanel.py:210
+msgid "Miscellaneous"
+msgstr "Прочее"
+
+#: ../dialogs/LDElementDialog.py:63
+msgid "Modifier:"
+msgstr "Модификатор:"
+
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
+#, python-format
+msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
+msgstr "Более одного коннектора соответствуют продолжению цепи \"%s\" в POU \"%s\""
+
+#: ../dialogs/ActionBlockDialog.py:140
+msgid "Move action down"
+msgstr "Переместить действие ниже"
+
+#: ../dialogs/ActionBlockDialog.py:139
+msgid "Move action up"
+msgstr "Переместить действие выше"
+
+#: ../controls/CustomEditableListBox.py:43
+msgid "Move down"
+msgstr "Переместить ниже"
+
+#: ../editors/DataTypeEditor.py:354
+msgid "Move element down"
+msgstr "Переместить элемент ниже"
+
+#: ../editors/DataTypeEditor.py:353
+msgid "Move element up"
+msgstr "Переместить элементы выше"
+
+#: ../editors/ResourceEditor.py:271
+msgid "Move instance down"
+msgstr "Переместить экземпляр ниже"
+
+#: ../editors/ResourceEditor.py:270
+msgid "Move instance up"
+msgstr "Переместить экземпляр выше"
+
+#: ../editors/ResourceEditor.py:242
+msgid "Move task down"
+msgstr "Переместить задачу ниже"
+
+#: ../editors/ResourceEditor.py:241
+msgid "Move task up"
+msgstr "Переместить задачу выше"
+
+#: ../IDEFrame.py:75 ../IDEFrame.py:90 ../IDEFrame.py:120 ../IDEFrame.py:161
+msgid "Move the view"
+msgstr "Переместить отображение"
+
+#: ../controls/CustomEditableListBox.py:42
+msgid "Move up"
+msgstr "Переместить выше"
+
+#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443
+msgid "Move variable down"
+msgstr "Переместить переменную ниже"
+
+#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442
+msgid "Move variable up"
+msgstr "Переместить переменную выше"
+
+#: ../plcopen/iec_std.csv:74
+msgid "Multiplexer (select 1 of N)"
+msgstr "Мультиплексор (1 в N)"
+
+#: ../plcopen/iec_std.csv:34
+msgid "Multiplication"
+msgstr "Умножение"
+
+#: ../editors/FileManagementPanel.py:83
+msgid "My Computer:"
+msgstr "Мой компьютер:"
+
+#: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
+msgid "Name"
+msgstr "Имя"
+
+#: ../Beremiz_service.py:300
+msgid "Name must not be null!"
+msgstr "Имя не может быть null!"
+
+#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83
+#: ../dialogs/ConnectionDialog.py:75
+msgid "Name:"
+msgstr "Имя:"
+
+#: ../plcopen/iec_std.csv:24
+msgid "Natural logarithm"
+msgstr "Натуральный логарифм"
+
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
+msgid "Negated"
+msgstr "Инверсия"
+
+#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314
+#: ../Beremiz.py:349
+msgid "New"
+msgstr "Новый"
+
+#: ../controls/CustomEditableListBox.py:40
+msgid "New item"
+msgstr "Новый элемент"
+
+#: ../editors/Viewer.py:455
+msgid "No Modifier"
+msgstr "Нет модификатора"
+
+#: ../ProjectController.py:1662
+msgid "No PLC to transfer (did build succeed ?)\n"
+msgstr "Нет ПЛК для передачи (была сборка успешна?)\n"
+
+#: ../PLCGenerator.py:1608
+#, python-format
+msgid "No body defined in \"%s\" POU"
+msgstr "Нет тела для POU \"%s\""
+
+#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
+#, python-format
+msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
+msgstr "Не найден коннектор, соответствующий продолжению цепи \"%s\" в POU \"%s\""
+
+#: ../PLCOpenEditor.py:340
+msgid ""
+"No documentation available.\n"
+"Coming soon."
+msgstr ""
+"Документация отсутствует.\n"
+"В разработке."
+
+#: ../PLCGenerator.py:819
+#, python-format
+msgid "No informations found for \"%s\" block"
+msgstr "Не найдена информация по блоку \"%s\""
+
+#: ../PLCGenerator.py:1183
+#, python-format
+msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
+msgstr "Выходная переменная %s не найдена в блоке %s в POU %s."
+
+#: ../controls/SearchResultPanel.py:169
+msgid "No search results available."
+msgstr "Ничего не найдено."
+
+#: ../svgui/svgui.py:107
+#, python-format
+msgid "No such SVG file: %s\n"
+msgstr "Нет такого SVG файла: %s\n"
+
+#: ../canfestival/config_utils.py:633
+#, python-format
+msgid "No such index/subindex (%x,%x) (variable %s)"
+msgstr "Нет индекса/подиндекса (%x,%x) (переменная %s)"
+
+#: ../canfestival/config_utils.py:362
+#, python-format
+msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
+msgstr "Нет индекса/подиндекса (%x,%x) в ID: %d (переменная %s)"
+
+#: ../dialogs/BrowseValuesLibraryDialog.py:83
+msgid "No valid value selected!"
+msgstr "Не выбрано допустимое значение!"
+
+#: ../PLCGenerator.py:1606
+#, python-format
+msgid "No variable defined in \"%s\" POU"
+msgstr "Переменная не определена в POU \"%s\""
+
+msgid "NodeId"
+msgstr "ID узла"
+
+#: ../canfestival/config_utils.py:355
+#, python-format
+msgid "Non existing node ID : %d (variable %s)"
+msgstr "Несуществующий ID узла: %d (переменная %s)"
+
+#: ../controls/VariablePanel.py:64
+msgid "Non-Retain"
+msgstr "Не-Retain"
+
+#: ../dialogs/LDElementDialog.py:75
+msgid "Normal"
+msgstr "Обычный"
+
+#: ../canfestival/config_utils.py:384
+#, python-format
+msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
+msgstr "Не переменная для отображения в PDO: '%s' (ID:%d,Idx:%x,sIdx:%x))"
+
+#: ../plcopen/iec_std.csv:80
+msgid "Not equal to"
+msgstr "Не равно"
+
+#: ../dialogs/SFCDivergenceDialog.py:78
+msgid "Number of sequences:"
+msgstr "Число ветвей:"
+
+#: ../plcopen/iec_std.csv:22
+msgid "Numerical"
+msgstr "Математические функции"
+
+#: ../plcopen/definitions.py:38
+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."
+
+#: ../plcopen/definitions.py:37
+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."
+
+#: ../dialogs/SearchInProjectDialog.py:93
+msgid "Only Elements"
+msgstr "Только элементы"
+
+#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316
+#: ../Beremiz.py:350
+msgid "Open"
+msgstr "Открыть"
+
+#: ../svgui/svgui.py:116
+msgid "Open Inkscape"
+msgstr "Открыть Inkscape"
+
+#: ../ProjectController.py:1714
+msgid "Open a file explorer to manage project files"
+msgstr "Открыть файловый менеджер для просмотра файлов проекта"
+
+#: ../wxglade_hmi/wxglade_hmi.py:114
+msgid "Open wxGlade"
+msgstr "Открыть wxGlade"
+
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
+msgid "Option"
+msgstr "Настройка"
+
+#: ../dialogs/FindInPouDialog.py:82
+msgid "Options"
+msgstr "Настройки"
+
+#: ../controls/ProjectPropertiesPanel.py:97
+msgid "Organization (optional):"
+msgstr "Организация (опционально):"
+
+#: ../canfestival/SlaveEditor.py:51 ../canfestival/NetworkEditor.py:72
+msgid "Other Profile"
+msgstr "Другой профиль"
+
+#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39
+#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1554
+#: ../controls/VariablePanel.py:71
+msgid "Output"
+msgstr "Выход"
+
+#: ../canfestival/SlaveEditor.py:40 ../canfestival/NetworkEditor.py:61
+msgid "PDO Receive"
+msgstr "PDO приема"
+
+#: ../canfestival/SlaveEditor.py:39 ../canfestival/NetworkEditor.py:60
+msgid "PDO Transmit"
+msgstr "PDO передачи"
+
+#: ../plcopen/definitions.py:42
+msgid ""
+"PID\n"
+"The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
+msgstr ""
+"ПИД\n"
+"ПИД (Пропорциональный Интегральный Дифференциальный) ФБ - классический регулятор, используемый в системах с обратной связью."
+
+#: ../targets/toolchain_gcc.py:107
+msgid "PLC :\n"
+msgstr "ПЛК:\n"
+
+#: ../Beremiz.py:441
+msgid "PLC Log"
+msgstr "Лог ПЛК"
+
+#: ../ProjectController.py:930
+msgid "PLC code generation failed !\n"
+msgstr "Неудачная генерация кода!\n"
+
+#: ../PLCOpenEditor.py:189 ../PLCOpenEditor.py:302
+#, python-format
+msgid ""
+"PLC syntax error at line %d:\n"
+"%s"
+msgstr ""
+"Синтаксическая ошибка в строке %d:\n"
+"%s"
+
+#: ../PLCOpenEditor.py:285 ../PLCOpenEditor.py:361
+msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
+msgstr "PLCOpen файлы (*.xml)|*.xml|All files|*.*"
+
+#: ../PLCOpenEditor.py:146 ../PLCOpenEditor.py:202
+msgid "PLCOpenEditor"
+msgstr ""
+
+#: ../dialogs/PouDialog.py:100
+msgid "POU Name"
+msgstr "Имя POU"
+
+#: ../dialogs/PouDialog.py:58
+msgid "POU Name:"
+msgstr "Имя POU:"
+
+#: ../dialogs/PouDialog.py:102
+msgid "POU Type"
+msgstr "Тип POU"
+
+#: ../dialogs/PouDialog.py:65
+msgid "POU Type:"
+msgstr "Тип POU:"
+
+#: ../connectors/PYRO/__init__.py:41
+#, python-format
+msgid "PYRO connecting to URI : %s\n"
+msgstr "PYRO подключение к URI: %s\n"
+
+#: ../connectors/PYRO/__init__.py:57
+#, python-format
+msgid "PYRO using certificates in '%s' \n"
+msgstr "PYRO использует сертификаты в '%s'\n"
+
+#: ../PLCOpenEditor.py:112 ../Beremiz.py:329
+msgid "Page Setup"
+msgstr "Настройки страницы"
+
+#: ../controls/ProjectPropertiesPanel.py:110
+msgid "Page Size (optional):"
+msgstr "Размер страницы (опционально):"
+
+#: ../IDEFrame.py:2567
+#, python-format
+msgid "Page: %d"
+msgstr "Страница: %d"
+
+#: ../controls/PouInstanceVariablesPanel.py:124
+msgid "Parent instance"
+msgstr "Родительский экземпляр"
+
+#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402
+msgid "Paste"
+msgstr "Вставить"
+
+#: ../IDEFrame.py:1833
+msgid "Paste POU"
+msgstr "Вставить POU"
+
+#: ../dialogs/SearchInProjectDialog.py:64
+msgid "Pattern to search:"
+msgstr "Шаблон поиска:"
+
+#: ../dialogs/LDPowerRailDialog.py:72
+msgid "Pin number:"
+msgstr "Номер пина:"
+
+#: ../editors/Viewer.py:2672 ../editors/Viewer.py:2916
+#: ../editors/SFCViewer.py:696
+msgid "Please choose a target"
+msgstr "Выберете цель перехода"
+
+#: ../editors/TextViewer.py:261
+msgid "Please enter a block name"
+msgstr "Введите имя блока"
+
+#: ../editors/Viewer.py:2542 ../editors/Viewer.py:2953
+msgid "Please enter comment text"
+msgstr "Введите текст комментария"
+
+#: ../editors/SFCViewer.py:359 ../editors/SFCViewer.py:381
+#: ../editors/SFCViewer.py:725
+msgid "Please enter step name"
+msgstr "Введите имя шага"
+
+#: ../dialogs/ForceVariableDialog.py:163
+#, python-format
+msgid "Please enter value for a \"%s\" variable:"
+msgstr "Введите значение для переменной \"%s\":"
+
+#: ../Beremiz_service.py:287
+msgid "Port number must be 0 <= port <= 65535!"
+msgstr "Номер порта должен быть в диапазоне от 0 до 65535!"
+
+#: ../Beremiz_service.py:287
+msgid "Port number must be an integer!"
+msgstr "Номер порта должен быть целым числом!"
+
+#: ../editors/Viewer.py:532 ../editors/Viewer.py:2085
+msgid "Power Rail"
+msgstr "Шина питания"
+
+#: ../dialogs/LDPowerRailDialog.py:49
+msgid "Power Rail Properties"
+msgstr "Свойства шины питания"
+
+#: ../PLCOpenEditor.py:114 ../Beremiz.py:331
+msgid "Preview"
+msgstr "Просмотр"
+
+#: ../dialogs/BlockPreviewDialog.py:57
+msgid "Preview:"
+msgstr "Просмотр:"
+
+#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333
+#: ../Beremiz.py:353
+msgid "Print"
+msgstr "Печать"
+
+#: ../IDEFrame.py:1050
+msgid "Print preview"
+msgstr "Предварительный просмотр"
+
+#: ../editors/ResourceEditor.py:68
+msgid "Priority"
+msgstr "Приоритет"
+
+#: ../dialogs/SFCTransitionDialog.py:88
+msgid "Priority:"
+msgstr "Приоритет:"
+
+#: ../runtime/PLCObject.py:369
+#, python-format
+msgid "Problem starting PLC : error %d"
+msgstr "Проблема запуска ПЛК: ошибка %d"
+
+#: ../controls/ProjectPropertiesPanel.py:80
+msgid "Product Name (required):"
+msgstr "Имя продукта (обязательно):"
+
+#: ../controls/ProjectPropertiesPanel.py:82
+msgid "Product Release (optional):"
+msgstr "Релиз продукта (опцинально):"
+
+#: ../controls/ProjectPropertiesPanel.py:81
+msgid "Product Version (required):"
+msgstr "Версия продукта (обязательно):"
+
+#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1712
+#: ../IDEFrame.py:1909
+msgid "Program"
+msgstr "Программа"
+
+#: ../PLCOpenEditor.py:330
+msgid "Program was successfully generated!"
+msgstr "Программа успешно сгенерирована!"
+
+#: ../PLCControler.py:96
+msgid "Programs"
+msgstr "Программы"
+
+#: ../editors/Viewer.py:238
+msgid "Programs can't be used by other POUs!"
+msgstr "Программы не могут использоваться другими POU!"
+
+#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:559
+msgid "Project"
+msgstr "Проект"
+
+#: ../controls/SearchResultPanel.py:173
+#, python-format
+msgid "Project '%s':"
+msgstr "Проект '%s':"
+
+#: ../ProjectController.py:1713
+msgid "Project Files"
+msgstr "Файлы проекта"
+
+#: ../controls/ProjectPropertiesPanel.py:78
+msgid "Project Name (required):"
+msgstr "Имя проекта (обязательно):"
+
+#: ../controls/ProjectPropertiesPanel.py:79
+msgid "Project Version (optional):"
+msgstr "Версия проекта (опционально):"
+
+#: ../PLCControler.py:3157
+msgid ""
+"Project file syntax error:\n"
+"\n"
+msgstr ""
+"Синтаксическая ошибка в файле проекта:\n"
+"\n"
+
+#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14
+msgid "Project properties"
+msgstr "Свойства проекта"
+
+#: ../ConfigTreeNode.py:540
+#, python-format
+msgid "Project tree layout do not match confnode.xml %s!=%s "
+msgstr "Дерево проекта не соответствует confnode.xml %s!=%s"
+
+#: ../dialogs/ConnectionDialog.py:94
+msgid "Propagate Name"
+msgstr "Для всей цепи"
+
+#: ../PLCControler.py:97
+msgid "Properties"
+msgstr "Свойства"
+
+#: ../plcopen/definitions.py:36
+msgid ""
+"Pulse timer\n"
+"The pulse timer can be used to generate output pulses of a given time duration."
+msgstr ""
+"Генератор импульсов\n"
+"Функциональный блок используется для генерации выходных импульсов заданной длительности."
+
+#: ../py_ext/PythonEditor.py:57
+msgid "Python code"
+msgstr "Код на python"
+
+#: ../features.py:9
+msgid "Python file"
+msgstr "Python файл"
+
+#: ../dialogs/ActionBlockDialog.py:38
+msgid "Qualifier"
+msgstr "Спецификатор"
+
+#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252
+msgid "Quit"
+msgstr "Выход"
+
+#: ../plcopen/definitions.py:29
+msgid ""
+"RS bistable\n"
+"The RS bistable is a latch where the Reset dominates."
+msgstr ""
+"RS триггер\n"
+"RS триггер - переключатель с доминантой выключения."
+
+#: ../plcopen/definitions.py:43
+msgid ""
+"Ramp\n"
+"The RAMP function block is modelled on example given in the standard."
+msgstr ""
+"Ограничитель скорости изменения сигнала\n"
+"Функциональный блок написан согласно примеру, приведенному в стандарте."
+
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:225
+msgid "Range:"
+msgstr "Диапазон:"
+
+#: ../ProjectController.py:1709
+msgid "Raw IEC code"
+msgstr "МЭК-код"
+
+#: ../plcopen/definitions.py:39
+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"
+"Часы реального времени используется для получения меток времени, установки даты и времени дня в отчетах, сообщениях об авариях и пр."
+
+#: ../Beremiz.py:1109
+#, python-format
+msgid "Really delete node '%s'?"
+msgstr "Действительно удалить элемент '%s'?"
+
+#: ../IDEFrame.py:338 ../IDEFrame.py:398
+msgid "Redo"
+msgstr "Повторить"
+
+#: ../dialogs/SFCTransitionDialog.py:73
+msgid "Reference"
+msgstr "Ссылка"
+
+#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408
+msgid "Refresh"
+msgstr "Обновить"
+
+#: ../dialogs/SearchInProjectDialog.py:73
+msgid "Regular expression"
+msgstr "Регулярное выражение"
+
+#: ../dialogs/FindInPouDialog.py:97
+msgid "Regular expressions"
+msgstr "Регулярные выражения"
+
+#: ../editors/Viewer.py:1531
+msgid "Release value"
+msgstr "Освободить значение"
+
+#: ../plcopen/iec_std.csv:37
+msgid "Remainder (modulo)"
+msgstr "Остаток от деления (modulo)"
+
+#: ../Beremiz.py:1110
+#, python-format
+msgid "Remove %s node"
+msgstr "Удалить %s элемент"
+
+#: ../IDEFrame.py:2373
+msgid "Remove Datatype"
+msgstr "Удалить тип данных"
+
+#: ../IDEFrame.py:2378
+msgid "Remove Pou"
+msgstr "Удалить POU"
+
+#: ../dialogs/ActionBlockDialog.py:138
+msgid "Remove action"
+msgstr "Удалить действие"
+
+#: ../editors/DataTypeEditor.py:352
+msgid "Remove element"
+msgstr "Удалить элемент"
+
+#: ../editors/FileManagementPanel.py:63
+msgid "Remove file from left folder"
+msgstr "Удалить файл из левой директории"
+
+#: ../editors/ResourceEditor.py:269
+msgid "Remove instance"
+msgstr "Удалить экземпляр"
+
+#: ../canfestival/NetworkEditor.py:81
+msgid "Remove slave"
+msgstr "Удалить ведомое устройство"
+
+#: ../editors/ResourceEditor.py:240
+msgid "Remove task"
+msgstr "Удалить задачу"
+
+#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441
+msgid "Remove variable"
+msgstr "Удалить переменную"
+
+#: ../IDEFrame.py:1913
+msgid "Rename"
+msgstr "Переименовать"
+
+#: ../editors/FileManagementPanel.py:181
+msgid "Replace File"
+msgstr "Заменить файл"
+
+#: ../editors/Viewer.py:498
+msgid "Replace Wire by connections"
+msgstr "Заменить цепь подключениями"
+
+#: ../plcopen/iec_std.csv:89
+msgid "Replacement (within)"
+msgstr "Замена подстроки"
+
+#: ../dialogs/LDElementDialog.py:76
+msgid "Reset"
+msgstr "Сброс"
+
+#: ../editors/Viewer.py:578
+msgid "Reset Execution Order"
+msgstr "Сбросить порядок исполнения"
+
+#: ../IDEFrame.py:423
+msgid "Reset Perspective"
+msgstr "Сбросить представление"
+
+#: ../controls/SearchResultPanel.py:105
+msgid "Reset search result"
+msgstr "Сбросить результаты поиска"
+
+#: ../PLCControler.py:97 ../Beremiz.py:1041
+msgid "Resources"
+msgstr "Ресурсы"
+
+#: ../controls/VariablePanel.py:62
+msgid "Retain"
+msgstr ""
+
+#: ../controls/VariablePanel.py:414
+msgid "Return Type:"
+msgstr "Возвращаемый тип:"
+
+#: ../editors/Viewer.py:483
+msgid "Right"
+msgstr "Право"
+
+#: ../dialogs/LDPowerRailDialog.py:62
+msgid "Right PowerRail"
+msgstr "Правая шина питания"
+
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
+msgid "Rising Edge"
+msgstr "Нарастающий фронт"
+
+#: ../plcopen/definitions.py:31
+msgid ""
+"Rising edge detector\n"
+"The output produces a single pulse when a rising edge is detected."
+msgstr ""
+"Детектор нарастающего фронта\n"
+"На выходе формируется одиночный импульс, если обнаружен нарастающий фронт."
+
+#: ../plcopen/iec_std.csv:65
+msgid "Rotate left"
+msgstr "Циклический сдвиг влево"
+
+#: ../plcopen/iec_std.csv:64
+msgid "Rotate right"
+msgstr "Циклический сдвиг вправо"
+
+#: ../plcopen/iec_std.csv:17
+msgid "Rounding up/down"
+msgstr "Округление вверх/вниз"
+
+#: ../ProjectController.py:1677
+msgid "Run"
+msgstr "Старт"
+
+#: ../ProjectController.py:975
+msgid "Runtime IO extensions C code generation failed !\n"
+msgstr "Ошибка генерации C-кода для расширений ввода-вывода!\n"
+
+#: ../ProjectController.py:984
+msgid "Runtime library extensions C code generation failed !\n"
+msgstr "Ошибка генерации C-кода для библиотеки расширений системы исполнения!\n"
+
+#: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59
+msgid "SDO Client"
+msgstr "SDO клиент"
+
+#: ../canfestival/SlaveEditor.py:37 ../canfestival/NetworkEditor.py:58
+msgid "SDO Server"
+msgstr "SDO сервер"
+
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
+msgid "SFC"
+msgstr ""
+
+#: ../plcopen/definitions.py:28
+msgid ""
+"SR bistable\n"
+"The SR bistable is a latch where the Set dominates."
+msgstr ""
+"SR триггер\n"
+"SR триггер - переключатель с доминантой включения."
+
+#: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
+#: ../dialogs/PouDialog.py:36
+msgid "ST"
+msgstr ""
+
+#: ../PLCOpenEditor.py:317
+msgid "ST files (*.st)|*.st|All files|*.*"
+msgstr "ST файлы (*.st)|*.st|Все файлы|*.*"
+
+#: ../svgui/svgui.py:101
+msgid "SVG files (*.svg)|*.svg|All files|*.*"
+msgstr "SVG файлы (*.svg)|*.svg|Все файлы|*.*"
+
+#: ../features.py:11
+msgid "SVGUI"
+msgstr ""
+
+#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320
+#: ../Beremiz.py:351
+msgid "Save"
+msgstr "Сохранить"
+
+#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352
+msgid "Save As..."
+msgstr "Сохранить как..."
+
+#: ../Beremiz.py:322
+msgid "Save as"
+msgstr "Сохранить как"
+
+#: ../dialogs/SearchInProjectDialog.py:76
+msgid "Scope"
+msgstr "Область действия"
+
+#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:598
+msgid "Search"
+msgstr "Поиск"
+
+#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404
+msgid "Search in Project"
+msgstr "Поиск в проекте"
+
+#: ../dialogs/DurationEditorDialog.py:46
+msgid "Seconds:"
+msgstr "Секунды:"
+
+#: ../IDEFrame.py:364
+msgid "Select All"
+msgstr "Выделить все"
+
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
+#: ../controls/VariablePanel.py:340
+msgid "Select a variable class:"
+msgstr ""
+
+#: ../ProjectController.py:1126
+msgid "Select an editor:"
+msgstr "Выберете редактор:"
+
+#: ../controls/PouInstanceVariablesPanel.py:276
+msgid "Select an instance"
+msgstr "Выберете экземпляр"
+
+#: ../IDEFrame.py:582
+msgid "Select an object"
+msgstr "Выберете объект"
+
+#: ../plcopen/iec_std.csv:70
+msgid "Selection"
+msgstr "Выбор"
+
+#: ../dialogs/SFCDivergenceDialog.py:65
+msgid "Selection Convergence"
+msgstr "Альтернативное объединение"
+
+#: ../dialogs/SFCDivergenceDialog.py:64
+msgid "Selection Divergence"
+msgstr "Альтернативное ветвление"
+
+#: ../plcopen/definitions.py:30
+msgid ""
+"Semaphore\n"
+"The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
+msgstr ""
+"Семафор\n"
+"Семафор предоставляет собой программный механизм синхронизации для обеспечения исключительного доступа к определенным ресурсам."
+
+#: ../dialogs/DiscoveryDialog.py:84
+msgid "Services available:"
+msgstr "Сервисы доступны:"
+
+#: ../dialogs/LDElementDialog.py:76
+msgid "Set"
+msgstr "Установить"
+
+#: ../plcopen/iec_std.csv:62
+msgid "Shift left"
+msgstr "Сдвиг влево"
+
+#: ../plcopen/iec_std.csv:63
+msgid "Shift right"
+msgstr "Сдвиг вправо"
+
+#: ../ProjectController.py:1703
+msgid "Show IEC code generated by PLCGenerator"
+msgstr "Показать год, сгенерированный PLCGenerator"
+
+#: ../canfestival/canfestival.py:363
+msgid "Show Master"
+msgstr "Показать ведущего"
+
+#: ../canfestival/canfestival.py:364
+msgid "Show Master generated by config_utils"
+msgstr "Показать ведущий узел сгенерированный config_utils"
+
+#: ../ProjectController.py:1701
+msgid "Show code"
+msgstr "Показать код"
+
+#: ../dialogs/SFCDivergenceDialog.py:67
+msgid "Simultaneous Convergence"
+msgstr "Параллельное объединение"
+
+#: ../dialogs/SFCDivergenceDialog.py:66
+msgid "Simultaneous Divergence"
+msgstr "Параллельное ветвление"
+
+#: ../plcopen/iec_std.csv:27
+msgid "Sine"
+msgstr "Синус"
+
+#: ../editors/ResourceEditor.py:68
+msgid "Single"
+msgstr "Источник прерывания"
+
+#: ../targets/toolchain_makefile.py:112
+msgid "Source didn't change, no build.\n"
+msgstr "Исходные файлы не изменились, сборка не нужна.\n"
+
+#: ../plcopen/iec_std.csv:23
+msgid "Square root (base 2)"
+msgstr "Квадратный корень"
+
+#: ../plcopen/definitions.py:21
+msgid "Standard function blocks"
+msgstr "Стандартные функциональные блоки"
+
+#: ../ProjectController.py:1679 ../Beremiz_service.py:240
+msgid "Start PLC"
+msgstr "Запустить ПЛК"
+
+#: ../ProjectController.py:922
+#, python-format
+msgid "Start build in %s\n"
+msgstr "Сборка запущена в %s\n"
+
+#: ../ProjectController.py:1483
+msgid "Starting PLC\n"
+msgstr "ПЛК запускается\\n\n"
+
+#: ../Beremiz.py:451
+msgid "Status ToolBar"
+msgstr "Панель статуса"
+
+#: ../editors/Viewer.py:549 ../editors/Viewer.py:2059
+msgid "Step"
+msgstr "Шаг"
+
+#: ../ProjectController.py:1682
+msgid "Stop"
+msgstr "Стоп"
+
+#: ../Beremiz_service.py:241
+msgid "Stop PLC"
+msgstr "Остановить ПЛК"
+
+#: ../ProjectController.py:1684
+msgid "Stop Running PLC"
+msgstr "Остановить запущенный ПЛК"
+
+#: ../ProjectController.py:1455
+msgid "Stopping debugger...\n"
+msgstr "Остановка отладчика...\n"
+
+#: ../editors/DataTypeEditor.py:54
+msgid "Structure"
+msgstr "Структура"
+
+#: ../editors/DataTypeEditor.py:54
+msgid "Subrange"
+msgstr "Поддиапазон"
+
+#: ../plcopen/iec_std.csv:35
+msgid "Subtraction"
+msgstr "Вычитание"
+
+#: ../ProjectController.py:961
+msgid "Successfully built.\n"
+msgstr "Сборка прошла успешно.\n"
+
+msgid "Sync_Align"
+msgstr ""
+
+msgid "Sync_Align_Ratio"
+msgstr ""
+
+msgid "Sync_TPDOs"
+msgstr ""
+
+#: ../dialogs/SearchInProjectDialog.py:154
+msgid "Syntax error in regular expression of pattern to search!"
+msgstr "Синтаксическая ошибка в регулярном выражении шаблона поиска!"
+
+#: ../plcopen/iec_std.csv:29
+msgid "Tangent"
+msgstr "Тангенс"
+
+msgid "TargetType"
+msgstr "Целевая платформа"
+
+#: ../editors/ResourceEditor.py:83
+msgid "Task"
+msgstr "Задача"
+
+#: ../editors/ResourceEditor.py:235
+msgid "Tasks:"
+msgstr "Задачи:"
+
+#: ../controls/VariablePanel.py:73
+msgid "Temp"
+msgstr "Временный"
+
+#: ../editors/FileManagementPanel.py:180
+#, python-format
+msgid ""
+"The file '%s' already exist.\n"
+"Do you want to replace it?"
+msgstr ""
+"Файл '%s' уже существует.\n"
+"Вы хотите заменить его?"
+
+#: ../editors/LDViewer.py:882
+msgid "The group of block must be coherent!"
+msgstr ""
+
+#: ../Beremiz.py:616 ../IDEFrame.py:986
+msgid "There are changes, do you want to save?"
+msgstr "Хотите сохранить изменения?"
+
+#: ../IDEFrame.py:1621 ../IDEFrame.py:1640
+#, python-format
+msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
+msgstr "Существует POU с именем \"%s\". Это может вызвать конфликт. Хотите продолжить?"
+
+#: ../IDEFrame.py:1073
+msgid ""
+"There was a problem printing.\n"
+"Perhaps your current printer is not set correctly?"
+msgstr ""
+"Произошла проблема во время печати.\n"
+"Возможно, текущий принтер не настроен?"
+
+#: ../editors/LDViewer.py:891
+msgid "This option isn't available yet!"
+msgstr "Это опция еще не доступна!"
+
+#: ../plcopen/iec_std.csv:40
+msgid "Time"
+msgstr "Время"
+
+#: ../plcopen/iec_std.csv:40 ../plcopen/iec_std.csv:41
+msgid "Time addition"
+msgstr "Сложение времени"
+
+#: ../plcopen/iec_std.csv:86
+msgid "Time concatenation"
+msgstr "Объединение времен"
+
+#: ../plcopen/iec_std.csv:60 ../plcopen/iec_std.csv:61
+msgid "Time division"
+msgstr "Деление времени"
+
+#: ../plcopen/iec_std.csv:46 ../plcopen/iec_std.csv:47
+msgid "Time multiplication"
+msgstr "Умножение времени"
+
+#: ../plcopen/iec_std.csv:48 ../plcopen/iec_std.csv:49
+msgid "Time subtraction"
+msgstr "Вычитание времени"
+
+#: ../plcopen/iec_std.csv:42 ../plcopen/iec_std.csv:43
+msgid "Time-of-day addition"
+msgstr "Сложение времени суток"
+
+#: ../plcopen/iec_std.csv:52 ../plcopen/iec_std.csv:53
+#: ../plcopen/iec_std.csv:54 ../plcopen/iec_std.csv:55
+msgid "Time-of-day subtraction"
+msgstr "Вычитание времени суток"
+
+#: ../editors/Viewer.py:485
+msgid "Top"
+msgstr "Верх"
+
+#: ../ProjectController.py:1691
+msgid "Transfer"
+msgstr "Передать"
+
+#: ../ProjectController.py:1693
+msgid "Transfer PLC"
+msgstr "Передать ПЛК"
+
+#: ../ProjectController.py:1658
+msgid "Transfer completed successfully.\n"
+msgstr "Передача успешно завершена.\n"
+
+#: ../ProjectController.py:1660
+msgid "Transfer failed\n"
+msgstr "Ошибка передачи\n"
+
+#: ../editors/Viewer.py:550 ../editors/Viewer.py:2060 ../editors/Viewer.py:2089
+msgid "Transition"
+msgstr "Переход"
+
+#: ../PLCGenerator.py:1499
+#, python-format
+msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
+msgstr "Тело перехода \"%s\" должно содержать выходную переменную или катушку, ссылающуюся на его имя"
+
+#: ../dialogs/PouTransitionDialog.py:84
+msgid "Transition Name"
+msgstr "Имя перехода"
+
+#: ../dialogs/PouTransitionDialog.py:53
+msgid "Transition Name:"
+msgstr "Имя перехода:"
+
+#: ../PLCGenerator.py:1588
+#, python-format
+msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
+msgstr "Переход с содержимым \"%s\" не подключен к следующему шагу в POU \"%s\""
+
+#: ../PLCGenerator.py:1579
+#, python-format
+msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
+msgstr "Переход с содержимым \"%s\" не подключен к предыдущему шагу в POU \"%s\""
+
+#: ../plcopen/plcopen.py:1315
+#, python-format
+msgid "Transition with name %s doesn't exist!"
+msgstr "Переход с именем %s отсутствует!"
+
+#: ../PLCControler.py:96
+msgid "Transitions"
+msgstr "Переходы"
+
+#: ../editors/ResourceEditor.py:68
+msgid "Triggering"
+msgstr "Запуск"
+
+#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
+msgid "Type"
+msgstr "Тип"
+
+#: ../dialogs/BrowseLocationsDialog.py:43
+msgid "Type and derivated"
+msgstr "Тип и его производные"
+
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
+#, python-format
+msgid "Type conflict for location \"%s\""
+msgstr "Конфликт типов \"%s\""
+
+#: ../plcopen/iec_std.csv:16
+msgid "Type conversion"
+msgstr "Преобразование типов"
+
+#: ../editors/DataTypeEditor.py:161
+msgid "Type infos:"
+msgstr "Информация о типе:"
+
+#: ../dialogs/BrowseLocationsDialog.py:44
+msgid "Type strict"
+msgstr "Только данный тип"
+
+#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
+#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
+msgid "Type:"
+msgstr "Тип:"
+
+msgid "URI_location"
+msgstr "URI системы исполнения"
+
+#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
+#, python-format
+msgid "Unable to define PDO mapping for node %02x"
+msgstr "Невозможно определить отображение PDO для узла %02x"
+
+#: ../targets/Xenomai/__init__.py:15
+#, python-format
+msgid "Unable to get Xenomai's %s \n"
+msgstr "Невозможно получить Xenomai %s\n"
+
+#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
+#, python-format
+msgid "Undefined block type \"%s\" in \"%s\" POU"
+msgstr "Неопределенный тип блока \"%s\" в POU \"%s\""
+
+#: ../PLCGenerator.py:254
+#, python-format
+msgid "Undefined pou type \"%s\""
+msgstr "Неопределенный тип POU \"%s\""
+
+#: ../IDEFrame.py:336 ../IDEFrame.py:397
+msgid "Undo"
+msgstr "Отмена"
+
+#: ../ProjectController.py:308
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: ../editors/Viewer.py:389
+#, python-format
+msgid "Unknown variable \"%s\" for this POU!"
+msgstr "Неизвестная переменная \"%s\" для этого POU!"
+
+#: ../ProjectController.py:305 ../ProjectController.py:306
+msgid "Unnamed"
+msgstr ""
+
+#: ../PLCControler.py:636
+#, python-format
+msgid "Unnamed%d"
+msgstr ""
+
+#: ../controls/VariablePanel.py:275
+#, python-format
+msgid "Unrecognized data size \"%s\""
+msgstr "Неопределенный размер данных \"%s\""
+
+#: ../plcopen/definitions.py:33
+msgid ""
+"Up-counter\n"
+"The up-counter can be used to signal when a count has reached a maximum value."
+msgstr ""
+"Инкрементный счетчик\n"
+"Инкрементный счетчик может использоваться, когда необходимо сигнализировать, что счетчик достиг максимального значения."
+
+#: ../plcopen/definitions.py:35
+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. Он может использоваться для счета вверх по одному входу и для счета низ по другому."
+
+#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780
+msgid "User Data Types"
+msgstr "Пользовательские типы данных"
+
+#: ../canfestival/SlaveEditor.py:42 ../canfestival/NetworkEditor.py:63
+msgid "User Type"
+msgstr "Пользовательский тип"
+
+#: ../PLCControler.py:95
+msgid "User-defined POUs"
+msgstr "Пользовательские POU"
+
+#: ../dialogs/ActionBlockDialog.py:38
+msgid "Value"
+msgstr "Значение"
+
+#: ../editors/DataTypeEditor.py:258
+msgid "Values:"
+msgstr "Значения:"
+
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
+#: ../editors/Viewer.py:2074
+msgid "Variable"
+msgstr "Переменная"
+
+#: ../dialogs/FBDVariableDialog.py:63
+msgid "Variable Properties"
+msgstr "Свойства переменных"
+
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
+#: ../controls/VariablePanel.py:340
+msgid "Variable class"
+msgstr ""
+
+#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385
+msgid "Variable don't belong to this POU!"
+msgstr "Переменная не принадлежит этому POU!"
+
+#: ../dialogs/LDElementDialog.py:89
+msgid "Variable:"
+msgstr "Переменная:"
+
+#: ../controls/VariablePanel.py:72
+msgid "Variables"
+msgstr "Переменные"
+
+#: ../controls/ProjectPropertiesPanel.py:151
+msgid "Vertical:"
+msgstr "Вертикальный:"
+
+#: ../connectors/WAMP/__init__.py:88
+#, python-format
+msgid "WAMP connecting to URL : %s\n"
+msgstr "WAMP подключение к URI: %s\n"
+
+#: ../connectors/WAMP/__init__.py:128
+msgid "WAMP connection timeout"
+msgstr "Тайм-аут WAMP подключения "
+
+#: ../connectors/WAMP/__init__.py:147
+#, python-format
+msgid "WAMP connection to '%s' failed.\n"
+msgstr "Не удалось установить WAMP подключение к %s.\n"
+
+#: ../wxglade_hmi/wxglade_hmi.py:11
+msgid "WXGLADE GUI"
+msgstr ""
+
+#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891
+msgid "Warning"
+msgstr "Предупреждение"
+
+#: ../ProjectController.py:584
+msgid "Warnings in ST/IL/SFC code generator :\n"
+msgstr "Предупреждения в ST/IL/SFC коде генераторе:\n"
+
+#: ../dialogs/SearchInProjectDialog.py:85
+msgid "Whole Project"
+msgstr "Целый проект"
+
+#: ../controls/ProjectPropertiesPanel.py:119
+msgid "Width:"
+msgstr "Ширина:"
+
+msgid "Win32"
+msgstr ""
+
+#: ../dialogs/FindInPouDialog.py:92
+msgid "Wrap search"
+msgstr "Продолжить поиск сначала"
+
+#: ../features.py:10
+msgid "WxGlade GUI"
+msgstr ""
+
+msgid "XenoConfig"
+msgstr "Настройки Xenomai"
+
+msgid "Xenomai"
+msgstr ""
+
+#: ../svgui/svgui.py:115
+msgid ""
+"You don't have write permissions.\n"
+"Open Inkscape anyway ?"
+msgstr ""
+"У вас недостаточно прав для записи.\n"
+"Открыть Inkscape все равно?"
+
+#: ../wxglade_hmi/wxglade_hmi.py:113
+msgid ""
+"You don't have write permissions.\n"
+"Open wxGlade anyway ?"
+msgstr ""
+"У вас недостаточно прав для записи.\n"
+"Открыть wxGlade все равно?"
+
+#: ../ProjectController.py:268
+msgid ""
+"You must have permission to work on the project\n"
+"Work on a project copy ?"
+msgstr ""
+"Вы должны иметь права на запись, чтобы работать с проектом\n"
+"Работать с копией проекта?"
+
+#: ../editors/LDViewer.py:886
+msgid "You must select the block or group of blocks around which a branch should be added!"
+msgstr "Выберете блок или группу блоков, вокруг которых нужно добавить ветвление!"
+
+#: ../editors/LDViewer.py:666
+msgid "You must select the wire where a contact should be added!"
+msgstr "Выберете провод, куда должен быть добавлен контакт!"
+
+#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45
+msgid "You must type a name!"
+msgstr "Введите имя!"
+
+#: ../dialogs/ForceVariableDialog.py:175
+msgid "You must type a value!"
+msgstr "Введите значение!"
+
+#: ../IDEFrame.py:414
+msgid "Zoom"
+msgstr "Приближение"
+
+msgid "class"
+msgstr "класс"
+
+msgid "desc"
+msgstr ""
+
+#: ../PLCOpenEditor.py:326
+#, python-format
+msgid "error: %s\n"
+msgstr "ошибка: %s\n"
+
+#: ../util/ProcessLogger.py:166
+#, python-format
+msgid "exited with status %s (pid %s)\n"
+msgstr "завершился с кодом %s (pid %s)\n"
+
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386
+msgid "file : "
+msgstr "файл:"
+
+#: ../dialogs/PouDialog.py:31
+msgid "function"
+msgstr "функция"
+
+#: ../PLCOpenEditor.py:387
+msgid "function : "
+msgstr "функция: "
+
+#: ../dialogs/PouDialog.py:31
+msgid "functionBlock"
+msgstr "функциональный блок"
+
+msgid "initial"
+msgstr "исходный"
+
+#: ../PLCOpenEditor.py:387
+msgid "line : "
+msgstr "строка:"
+
+msgid "name"
+msgstr "имя"
+
+msgid "onchange"
+msgstr ""
+
+msgid "opts"
+msgstr ""
+
+#: ../dialogs/PouDialog.py:31
+msgid "program"
+msgstr "программа"
+
+#: ../plcopen/iec_std.csv:84
+msgid "string from the middle"
+msgstr "строка из середины"
+
+#: ../plcopen/iec_std.csv:82
+msgid "string left of"
+msgstr "строка слева от "
+
+#: ../plcopen/iec_std.csv:83
+msgid "string right of"
+msgstr "строка справа от "
+
+msgid "type"
+msgstr "тип"
+
+msgid "variable"
+msgstr "переменная"
+
+msgid "variables"
+msgstr "переменные"
+
+#: ../PLCOpenEditor.py:324
+#, python-format
+msgid "warning: %s\n"
+msgstr "предупреждение: %s\n"
+
+#~ msgid "\"%s\" element can't be pasted here!!!"
+#~ msgstr "Элемент \"%s\" не может быть вставлен сюда!!!"
+
+#~ msgid "... debugger recovered\n"
+#~ msgstr "... отладчик восстановлен\n"
+
+#~ msgid "Clear the graph values"
+#~ msgstr "Очистить значения на графике"
+
+#~ msgid "IEC-61131-3 code generation failed !\n"
+#~ msgstr "Неудачная генерация МЭК-61131-3 кода!\n"
+
+#~ 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 "Position:"
+#~ msgstr "Позиция:"
+
+#~ msgid "Remove debug variable"
+#~ msgstr "Удалить отлаживаемую переменную"
+
+#~ msgid "Reset zoom and offset"
+#~ msgstr "Сбросить приближение и смещение"
+
+#~ msgid "Tick"
+#~ msgstr "Тик"
+
+#~ msgid "Values"
+#~ msgstr "Значения"
+
+#~ msgid "Waiting debugger to recover...\n"
+#~ msgstr "Ожидание восстановления отладчика...\n"
+
+#~ msgid "Zoom:"
+#~ msgstr "Приближение:"
--- a/i18n/app.fil	Wed Apr 20 16:14:25 2016 +0300
+++ b/i18n/app.fil	Wed Apr 20 16:20:53 2016 +0300
@@ -1,94 +1,115 @@
-../runtime/ServicePublisher.py
-../runtime/PLCObject.py
+../canfestival/canfestival.py
 ../canfestival/SlaveEditor.py
 ../canfestival/config_utils.py
-../canfestival/canfestival.py
 ../canfestival/NetworkEditor.py
-../Beremiz_service.py
+../dialogs/LDElementDialog.py
+../dialogs/ForceVariableDialog.py
+../dialogs/SearchInProjectDialog.py
+../dialogs/SFCStepDialog.py
+../dialogs/SFCStepNameDialog.py
+../dialogs/FindInPouDialog.py
+../dialogs/SFCDivergenceDialog.py
+../dialogs/SFCTransitionDialog.py
+../dialogs/DurationEditorDialog.py
+../dialogs/PouTransitionDialog.py
+../dialogs/FBDVariableDialog.py
+../dialogs/BlockPreviewDialog.py
+../dialogs/ProjectDialog.py
+../dialogs/LDPowerRailDialog.py
+../dialogs/ArrayTypeDialog.py
+../dialogs/PouNameDialog.py
+../dialogs/BrowseLocationsDialog.py
+../dialogs/FBDBlockDialog.py
+../dialogs/ConnectionDialog.py
+../dialogs/BrowseValuesLibraryDialog.py
+../dialogs/ActionBlockDialog.py
+../dialogs/PouActionDialog.py
+../dialogs/DiscoveryDialog.py
+../dialogs/PouDialog.py
+../graphics/RubberBand.py
+../graphics/FBD_Objects.py
+../graphics/DebugDataConsumer.py
+../graphics/ToolTipProducer.py
+../graphics/LD_Objects.py
+../graphics/SFC_Objects.py
+../graphics/GraphicCommons.py
+../connectors/PYRO/__init__.py
+../connectors/__init__.py
+../connectors/WAMP/__init__.py
+../targets/Generic/XSD
+../targets/XSD_toolchain_makefile
+../targets/Xenomai/__init__.py
+../targets/Xenomai/XSD
+../targets/XSD_toolchain_gcc
+../targets/__init__.py
+../targets/toolchain_gcc.py
+../targets/toolchain_makefile.py
+../targets/Linux/XSD
+../targets/Win32/XSD
+../PLCControler.py
+../PLCOpenEditor.py
+../py_ext/PythonEditor.py
+../py_ext/PythonFileCTNMixin.py
+../wxglade_hmi/wxglade_hmi.py
+../runtime/NevowServer.py
+../runtime/PLCObject.py
+../runtime/ServicePublisher.py
+../ConfigTreeNode.py
+../editors/ConfTreeNodeEditor.py
+../editors/ResourceEditor.py
+../editors/Viewer.py
+../editors/LDViewer.py
+../editors/DataTypeEditor.py
+../editors/IECCodeViewer.py
+../editors/TextViewer.py
+../editors/ProjectNodeEditor.py
+../editors/EditorPanel.py
+../editors/DebugViewer.py
+../editors/SFCViewer.py
+../editors/FileManagementPanel.py
+../editors/CodeFileEditor.py
+../ProjectController.py
 ../controls/LocationCellEditor.py
-../controls/CustomTree.py
+../controls/SearchResultPanel.py
+../controls/PouInstanceVariablesPanel.py
+../controls/CustomTable.py
+../controls/LibraryPanel.py
+../controls/CustomToolTip.py
+../controls/LogViewer.py
+../controls/FolderTree.py
+../controls/ProjectPropertiesPanel.py
+../controls/DebugVariablePanel/DebugVariablePanel.py
+../controls/DebugVariablePanel/DebugVariableViewer.py
+../controls/DebugVariablePanel/DebugVariableTextViewer.py
+../controls/DebugVariablePanel/DebugVariableGraphicViewer.py
+../controls/DebugVariablePanel/GraphButton.py
+../controls/DebugVariablePanel/DebugVariableItem.py
+../controls/TextCtrlAutoComplete.py
+../controls/DurationCellEditor.py
+../controls/CustomStyledTextCtrl.py
 ../controls/VariablePanel.py
 ../controls/CustomGrid.py
-../controls/SearchResultPanel.py
-../controls/LibraryPanel.py
-../controls/TextCtrlAutoComplete.py
-../controls/DebugVariablePanel.py
-../controls/PouInstanceVariablesPanel.py
-../controls/DurationCellEditor.py
-../controls/CustomTable.py
+../controls/CustomTree.py
 ../controls/CustomEditableListBox.py
-../controls/ProjectPropertiesPanel.py
-../IDEFrame.py
+../CodeFileTreeNode.py
+../docutil/dochtml.py
+../c_ext/CFileEditor.py
+../xmlclass/xsdschema.py
+../xmlclass/xmlclass.py
 ../Beremiz.py
+../POULibrary.py
+../util/MiniTextControler.py
+../util/Zeroconf.py
+../util/misc.py
+../util/ProcessLogger.py
+../features.py
 ../svgui/svgui.py
 ../svgui/svgui_server.py
 ../svgui/svguilib.py
-../xmlclass/xmlclass.py
-../xmlclass/xsdschema.py
-../PLCOpenEditor.py
-../c_ext/CFileEditor.py
-../c_ext/c_ext.py
-../ConfigTreeNode.py
-../wxglade_hmi/wxglade_hmi.py
-../PLCGenerator.py
-../docutil/dochtml.py
-../editors/ProjectNodeEditor.py
-../editors/ConfTreeNodeEditor.py
-../editors/TextViewer.py
-../editors/DataTypeEditor.py
-../editors/GraphicViewer.py
-../editors/ResourceEditor.py
-../editors/Viewer.py
-../editors/LDViewer.py
-../editors/SFCViewer.py
-../editors/EditorPanel.py
-../editors/FileManagementPanel.py
-../graphics/GraphicCommons.py
-../graphics/LD_Objects.py
-../graphics/SFC_Objects.py
-../graphics/FBD_Objects.py
-../PLCControler.py
-../connectors/__init__.py
-../connectors/PYRO/__init__.py
-../targets/toolchain_gcc.py
-../targets/__init__.py
-../targets/Linux/XSD
-../targets/XSD_toolchain_gcc
-../targets/Win32/XSD
-../targets/Xenomai/__init__.py
-../targets/Xenomai/XSD
-../features.py
-../ProjectController.py
-../POULibrary.py
-../dialogs/PouNameDialog.py
-../dialogs/SFCDivergenceDialog.py
-../dialogs/LDPowerRailDialog.py
-../dialogs/PouTransitionDialog.py
-../dialogs/BrowseLocationsDialog.py
-../dialogs/DiscoveryDialog.py
-../dialogs/ProjectDialog.py
-../dialogs/SFCStepNameDialog.py
-../dialogs/ConnectionDialog.py
-../dialogs/FBDVariableDialog.py
-../dialogs/PouActionDialog.py
-../dialogs/BrowseValuesLibraryDialog.py
-../dialogs/PouDialog.py
-../dialogs/ActionBlockDialog.py
-../dialogs/SFCTransitionDialog.py
-../dialogs/LDElementDialog.py
-../dialogs/DurationEditorDialog.py
-../dialogs/FindInPouDialog.py
-../dialogs/SearchInProjectDialog.py
-../dialogs/SFCStepDialog.py
-../dialogs/ArrayTypeDialog.py
-../dialogs/FBDBlockDialog.py
-../dialogs/ForceVariableDialog.py
-../util/ProcessLogger.py
-../util/MiniTextControler.py
-../util/Zeroconf.py
-../util/misc.py
 ../plcopen/iec_std.csv
 ../plcopen/structures.py
 ../plcopen/plcopen.py
-../py_ext/PythonFileCTNMixin.py
-../py_ext/PythonEditor.py
+../plcopen/definitions.py
+../IDEFrame.py
+../PLCGenerator.py
+../Beremiz_service.py
--- a/i18n/messages.pot	Wed Apr 20 16:14:25 2016 +0300
+++ b/i18n/messages.pot	Wed Apr 20 16:20:53 2016 +0300
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-26 22:55+0100\n"
+"POT-Creation-Date: 2016-04-20 13:39+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../PLCOpenEditor.py:405
+#: ../PLCOpenEditor.py:396
 msgid ""
 "\n"
 "An error has occurred.\n"
@@ -30,7 +30,7 @@
 "Error:\n"
 msgstr ""
 
-#: ../Beremiz.py:1119
+#: ../Beremiz.py:1157
 #, python-format
 msgid ""
 "\n"
@@ -45,164 +45,158 @@
 "Traceback:\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72
 msgid "   External"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71
 msgid "   InOut"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71
 msgid "   Input"
 msgstr ""
 
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72
 msgid "   Local"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76
+#: ../controls/VariablePanel.py:71
 msgid "   Output"
 msgstr ""
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "   Temp"
 msgstr ""
 
-#: ../PLCOpenEditor.py:415
+#: ../PLCOpenEditor.py:406
 msgid " : "
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:94 ../dialogs/PouActionDialog.py:91
-#: ../dialogs/PouDialog.py:111 ../dialogs/SFCTransitionDialog.py:144
+#: ../dialogs/PouDialog.py:113
 #, python-format
 msgid " and %s"
 msgstr ""
 
-#: ../ProjectController.py:917
+#: ../ProjectController.py:1027
 msgid " generation failed !\n"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1051
+#: ../plcopen/plcopen.py:883
 #, python-format
 msgid "\"%s\" Data Type doesn't exist !!!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1069
+#: ../plcopen/plcopen.py:901
 #, python-format
 msgid "\"%s\" POU already exists !!!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1090
+#: ../plcopen/plcopen.py:922
 #, python-format
 msgid "\"%s\" POU doesn't exist !!!"
 msgstr ""
 
-#: ../editors/Viewer.py:234
+#: ../editors/Viewer.py:242
 #, python-format
 msgid "\"%s\" can't use itself!"
 msgstr ""
 
-#: ../IDEFrame.py:1587 ../IDEFrame.py:1606
+#: ../IDEFrame.py:1618 ../IDEFrame.py:1637
 #, python-format
 msgid "\"%s\" config already exists!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:315
+#: ../plcopen/plcopen.py:471
 #, python-format
 msgid "\"%s\" configuration already exists !!!"
 msgstr ""
 
-#: ../IDEFrame.py:1541
+#: ../IDEFrame.py:1572
 #, python-format
 msgid "\"%s\" data type already exists!"
 msgstr ""
 
-#: ../PLCControler.py:2165 ../PLCControler.py:2169
-#, python-format
-msgid "\"%s\" element can't be pasted here!!!"
-msgstr ""
-
-#: ../editors/TextViewer.py:298 ../editors/TextViewer.py:318
-#: ../editors/Viewer.py:250 ../dialogs/PouTransitionDialog.py:105
-#: ../dialogs/ConnectionDialog.py:157 ../dialogs/PouActionDialog.py:102
-#: ../dialogs/FBDBlockDialog.py:162
+#: ../dialogs/PouTransitionDialog.py:105 ../dialogs/BlockPreviewDialog.py:219
+#: ../dialogs/PouActionDialog.py:102 ../editors/Viewer.py:258
+#: ../editors/Viewer.py:326 ../editors/Viewer.py:350 ../editors/Viewer.py:370
+#: ../editors/TextViewer.py:270 ../editors/TextViewer.py:299
+#: ../controls/VariablePanel.py:386
 #, python-format
 msgid "\"%s\" element for this pou already exists!"
 msgstr ""
 
-#: ../Beremiz.py:921
+#: ../Beremiz.py:964
 #, python-format
 msgid "\"%s\" folder is not a valid Beremiz project\n"
 msgstr ""
 
-#: ../plcopen/structures.py:105
+#: ../PLCGenerator.py:1091
 #, python-format
 msgid "\"%s\" function cancelled in \"%s\" POU: No input connected"
 msgstr ""
 
-#: ../controls/VariablePanel.py:659 ../IDEFrame.py:1532
+#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/PouTransitionDialog.py:101
+#: ../dialogs/BlockPreviewDialog.py:207 ../dialogs/PouNameDialog.py:49
+#: ../dialogs/PouActionDialog.py:98 ../dialogs/PouDialog.py:120
 #: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:583
-#: ../dialogs/PouNameDialog.py:49 ../dialogs/PouTransitionDialog.py:101
-#: ../dialogs/SFCStepNameDialog.py:51 ../dialogs/ConnectionDialog.py:153
-#: ../dialogs/FBDVariableDialog.py:199 ../dialogs/PouActionDialog.py:98
-#: ../dialogs/PouDialog.py:118 ../dialogs/SFCStepDialog.py:122
-#: ../dialogs/FBDBlockDialog.py:158
+#: ../editors/CodeFileEditor.py:750 ../controls/VariablePanel.py:733
+#: ../IDEFrame.py:1563
 #, python-format
 msgid "\"%s\" is a keyword. It can't be used!"
 msgstr ""
 
-#: ../editors/Viewer.py:238
+#: ../editors/Viewer.py:246
 #, python-format
 msgid "\"%s\" is already used by \"%s\"!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:2836
+#: ../plcopen/plcopen.py:2405
 #, python-format
 msgid "\"%s\" is an invalid value!"
 msgstr ""
 
-#: ../PLCOpenEditor.py:341 ../PLCOpenEditor.py:378
+#: ../PLCOpenEditor.py:332 ../PLCOpenEditor.py:369
 #, python-format
 msgid "\"%s\" is not a valid folder!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:657 ../IDEFrame.py:1530
-#: ../editors/DataTypeEditor.py:578 ../dialogs/PouNameDialog.py:47
-#: ../dialogs/PouTransitionDialog.py:99 ../dialogs/SFCStepNameDialog.py:49
-#: ../dialogs/ConnectionDialog.py:151 ../dialogs/PouActionDialog.py:96
-#: ../dialogs/PouDialog.py:116 ../dialogs/SFCStepDialog.py:120
-#: ../dialogs/FBDBlockDialog.py:156
+#: ../dialogs/SFCStepNameDialog.py:49 ../dialogs/PouTransitionDialog.py:99
+#: ../dialogs/BlockPreviewDialog.py:203 ../dialogs/PouNameDialog.py:47
+#: ../dialogs/PouActionDialog.py:96 ../dialogs/PouDialog.py:118
+#: ../editors/DataTypeEditor.py:578 ../editors/CodeFileEditor.py:748
+#: ../controls/VariablePanel.py:731 ../IDEFrame.py:1561
 #, python-format
 msgid "\"%s\" is not a valid identifier!"
 msgstr ""
 
-#: ../IDEFrame.py:221 ../IDEFrame.py:2313 ../IDEFrame.py:2332
-#, python-format
-msgid "\"%s\" is used by one or more POUs. It can't be removed!"
-msgstr ""
-
-#: ../controls/VariablePanel.py:313 ../IDEFrame.py:1550
-#: ../editors/TextViewer.py:296 ../editors/TextViewer.py:316
-#: ../editors/TextViewer.py:353 ../editors/Viewer.py:248
-#: ../editors/Viewer.py:293 ../editors/Viewer.py:311
-#: ../dialogs/ConnectionDialog.py:155 ../dialogs/PouDialog.py:120
-#: ../dialogs/FBDBlockDialog.py:160
+#: ../IDEFrame.py:2364
+#, python-format
+msgid "\"%s\" is used by one or more POUs. Do you wish to continue?"
+msgstr ""
+
+#: ../dialogs/BlockPreviewDialog.py:211 ../dialogs/PouDialog.py:122
+#: ../editors/Viewer.py:256 ../editors/Viewer.py:311 ../editors/Viewer.py:341
+#: ../editors/Viewer.py:363 ../editors/TextViewer.py:268
+#: ../editors/TextViewer.py:297 ../editors/TextViewer.py:348
+#: ../editors/TextViewer.py:371 ../controls/VariablePanel.py:328
+#: ../IDEFrame.py:1581
 #, python-format
 msgid "\"%s\" pou already exists!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:346
+#: ../plcopen/plcopen.py:495
 #, python-format
 msgid "\"%s\" resource already exists in \"%s\" configuration !!!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:362
+#: ../plcopen/plcopen.py:512
 #, python-format
 msgid "\"%s\" resource doesn't exist in \"%s\" configuration !!!"
 msgstr ""
 
-#: ../dialogs/SFCStepNameDialog.py:57 ../dialogs/SFCStepDialog.py:128
+#: ../dialogs/SFCStepNameDialog.py:57
 #, python-format
 msgid "\"%s\" step already exists!"
 msgstr ""
@@ -212,34 +206,29 @@
 msgid "\"%s\" value already defined!"
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:744 ../dialogs/ArrayTypeDialog.py:97
+#: ../dialogs/ArrayTypeDialog.py:97 ../editors/DataTypeEditor.py:744
 #, python-format
 msgid "\"%s\" value isn't a valid array dimension!"
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:751 ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/ArrayTypeDialog.py:103 ../editors/DataTypeEditor.py:751
 #, python-format
 msgid ""
 "\"%s\" value isn't a valid array dimension!\n"
 "Right value must be greater than left value."
 msgstr ""
 
-#: ../PLCControler.py:847
+#: ../PLCControler.py:970
 #, python-format
 msgid "%s \"%s\" can't be pasted as a %s."
 msgstr ""
 
-#: ../PLCControler.py:1476
+#: ../PLCControler.py:1530
 #, python-format
 msgid "%s Data Types"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:278
-#, python-format
-msgid "%s Graphics"
-msgstr ""
-
-#: ../PLCControler.py:1471
+#: ../PLCControler.py:1513
 #, python-format
 msgid "%s POUs"
 msgstr ""
@@ -249,67 +238,75 @@
 msgid "%s Profile"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1790 ../plcopen/plcopen.py:1800
-#: ../plcopen/plcopen.py:1810 ../plcopen/plcopen.py:1820
-#: ../plcopen/plcopen.py:1829
+#: ../ConfigTreeNode.py:32
+#, python-format
+msgid ""
+"%s XML file doesn't follow XSD schema at line %d:\n"
+"%s"
+msgstr ""
+
+#: ../plcopen/plcopen.py:1638 ../plcopen/plcopen.py:1645
+#: ../plcopen/plcopen.py:1657 ../plcopen/plcopen.py:1665
+#: ../plcopen/plcopen.py:1675
 #, python-format
 msgid "%s body don't have instances!"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1852 ../plcopen/plcopen.py:1859
+#: ../plcopen/plcopen.py:1693 ../plcopen/plcopen.py:1700
+#: ../plcopen/plcopen.py:1707
 #, python-format
 msgid "%s body don't have text!"
 msgstr ""
 
-#: ../IDEFrame.py:369
+#: ../IDEFrame.py:362
 msgid "&Add Element"
 msgstr ""
 
-#: ../IDEFrame.py:339
+#: ../IDEFrame.py:332
 msgid "&Configuration"
 msgstr ""
 
-#: ../IDEFrame.py:330
+#: ../IDEFrame.py:321
 msgid "&Data Type"
 msgstr ""
 
-#: ../IDEFrame.py:373
+#: ../IDEFrame.py:366
 msgid "&Delete"
 msgstr ""
 
-#: ../IDEFrame.py:322
+#: ../IDEFrame.py:313
 msgid "&Display"
 msgstr ""
 
-#: ../IDEFrame.py:321
+#: ../IDEFrame.py:312
 msgid "&Edit"
 msgstr ""
 
-#: ../IDEFrame.py:320
+#: ../IDEFrame.py:311
 msgid "&File"
 msgstr ""
 
-#: ../IDEFrame.py:332
+#: ../IDEFrame.py:323
 msgid "&Function"
 msgstr ""
 
-#: ../IDEFrame.py:323
+#: ../IDEFrame.py:314
 msgid "&Help"
 msgstr ""
 
-#: ../IDEFrame.py:336
+#: ../IDEFrame.py:327
 msgid "&Program"
 msgstr ""
 
-#: ../PLCOpenEditor.py:129
+#: ../PLCOpenEditor.py:119
 msgid "&Properties"
 msgstr ""
 
-#: ../Beremiz.py:312
+#: ../Beremiz.py:317
 msgid "&Recent Projects"
 msgstr ""
 
-#: ../Beremiz.py:354
+#: ../IDEFrame.py:329
 msgid "&Resource"
 msgstr ""
 
@@ -323,7 +320,7 @@
 msgid "'%s' - %d matches in project"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:51
+#: ../connectors/PYRO/__init__.py:86
 #, python-format
 msgid "'%s' is located at %s\n"
 msgstr ""
@@ -333,62 +330,78 @@
 msgid "(%d matches)"
 msgstr ""
 
-#: ../PLCOpenEditor.py:393 ../PLCOpenEditor.py:395 ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386 ../PLCOpenEditor.py:387
 msgid ",   "
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:96 ../dialogs/PouActionDialog.py:93
-#: ../dialogs/PouDialog.py:113 ../dialogs/SFCTransitionDialog.py:146
+#: ../dialogs/PouDialog.py:115
 #, python-format
 msgid ", %s"
 msgstr ""
 
-#: ../PLCOpenEditor.py:391
+#: ../PLCOpenEditor.py:382
 msgid ". "
 msgstr ""
 
-#: ../ProjectController.py:1294
-msgid "... debugger recovered\n"
-msgstr ""
-
-#: ../IDEFrame.py:1553 ../IDEFrame.py:1595 ../IDEFrame.py:1614
-#: ../dialogs/PouDialog.py:122
+#: ../controls/LogViewer.py:278
+msgid "1d"
+msgstr ""
+
+#: ../controls/LogViewer.py:279
+msgid "1h"
+msgstr ""
+
+#: ../controls/LogViewer.py:280
+msgid "1m"
+msgstr ""
+
+#: ../controls/LogViewer.py:281
+msgid "1s"
+msgstr ""
+
+#: ../dialogs/PouDialog.py:124 ../IDEFrame.py:1584 ../IDEFrame.py:1626
+#: ../IDEFrame.py:1645
 #, python-format
 msgid "A POU has an element named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr ""
 
-#: ../controls/VariablePanel.py:661 ../IDEFrame.py:1565 ../IDEFrame.py:1576
-#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouTransitionDialog.py:103
-#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouActionDialog.py:100
-#: ../dialogs/SFCStepDialog.py:124
+#: ../dialogs/SFCStepNameDialog.py:53 ../dialogs/PouTransitionDialog.py:103
+#: ../dialogs/PouNameDialog.py:51 ../dialogs/PouActionDialog.py:100
+#: ../controls/VariablePanel.py:735 ../IDEFrame.py:1596 ../IDEFrame.py:1607
 #, python-format
 msgid "A POU named \"%s\" already exists!"
 msgstr ""
 
-#: ../ConfigTreeNode.py:388
+#: ../ConfigTreeNode.py:400
 #, python-format
 msgid "A child named \"%s\" already exist -> \"%s\"\n"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:212
+#: ../dialogs/BrowseLocationsDialog.py:211
 msgid "A location must be selected!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:663 ../IDEFrame.py:1567 ../IDEFrame.py:1578
-#: ../dialogs/SFCStepNameDialog.py:55 ../dialogs/SFCStepDialog.py:126
+#: ../dialogs/SFCStepNameDialog.py:55 ../controls/VariablePanel.py:737
+#: ../IDEFrame.py:1598 ../IDEFrame.py:1609
 #, python-format
 msgid "A variable with \"%s\" as name already exists in this pou!"
 msgstr ""
 
-#: ../Beremiz.py:364 ../PLCOpenEditor.py:162
+#: ../editors/CodeFileEditor.py:754
+#, python-format
+msgid "A variable with \"%s\" as name already exists!"
+msgstr ""
+
+#: ../PLCOpenEditor.py:152 ../Beremiz.py:374
 msgid "About"
 msgstr ""
 
-#: ../Beremiz.py:957
+#: ../Beremiz.py:999
 msgid "About Beremiz"
 msgstr ""
 
-#: ../PLCOpenEditor.py:355
+#: ../PLCOpenEditor.py:346
 msgid "About PLCOpenEditor"
 msgstr ""
 
@@ -396,11 +409,11 @@
 msgid "Absolute number"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCStepDialog.py:69
+#: ../dialogs/SFCStepDialog.py:71 ../dialogs/ActionBlockDialog.py:42
 msgid "Action"
 msgstr ""
 
-#: ../editors/Viewer.py:494
+#: ../editors/Viewer.py:551 ../editors/Viewer.py:2069
 msgid "Action Block"
 msgstr ""
 
@@ -412,29 +425,29 @@
 msgid "Action Name:"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1490
+#: ../plcopen/plcopen.py:1356
 #, python-format
 msgid "Action with name %s doesn't exist!"
 msgstr ""
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96
 msgid "Actions"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:134
+#: ../dialogs/ActionBlockDialog.py:133
 msgid "Actions:"
 msgstr ""
 
-#: ../editors/Viewer.py:999
+#: ../editors/Viewer.py:1087
 msgid "Active"
 msgstr ""
 
 #: ../canfestival/SlaveEditor.py:57 ../canfestival/NetworkEditor.py:78
-#: ../Beremiz.py:987 ../editors/Viewer.py:527
+#: ../editors/Viewer.py:584 ../Beremiz.py:1026
 msgid "Add"
 msgstr ""
 
-#: ../IDEFrame.py:1801 ../IDEFrame.py:1832
+#: ../IDEFrame.py:1858 ../IDEFrame.py:1893
 msgid "Add Action"
 msgstr ""
 
@@ -442,15 +455,15 @@
 msgid "Add C code accessing located variables synchronously"
 msgstr ""
 
-#: ../IDEFrame.py:1784
+#: ../IDEFrame.py:1841
 msgid "Add Configuration"
 msgstr ""
 
-#: ../IDEFrame.py:1764
+#: ../IDEFrame.py:1821
 msgid "Add DataType"
 msgstr ""
 
-#: ../editors/Viewer.py:452
+#: ../editors/Viewer.py:509
 msgid "Add Divergence Branch"
 msgstr ""
 
@@ -458,7 +471,7 @@
 msgid "Add IP"
 msgstr ""
 
-#: ../IDEFrame.py:1772
+#: ../IDEFrame.py:1829
 msgid "Add POU"
 msgstr ""
 
@@ -466,15 +479,15 @@
 msgid "Add Python code executed asynchronously"
 msgstr ""
 
-#: ../IDEFrame.py:1812 ../IDEFrame.py:1858
+#: ../IDEFrame.py:1869 ../IDEFrame.py:1919
 msgid "Add Resource"
 msgstr ""
 
-#: ../IDEFrame.py:1790 ../IDEFrame.py:1829
+#: ../IDEFrame.py:1847 ../IDEFrame.py:1890
 msgid "Add Transition"
 msgstr ""
 
-#: ../editors/Viewer.py:441
+#: ../editors/Viewer.py:496
 msgid "Add Wire Segment"
 msgstr ""
 
@@ -482,7 +495,7 @@
 msgid "Add a new initial step"
 msgstr ""
 
-#: ../editors/Viewer.py:2363 ../editors/SFCViewer.py:696
+#: ../editors/Viewer.py:2672 ../editors/SFCViewer.py:696
 msgid "Add a new jump"
 msgstr ""
 
@@ -494,7 +507,7 @@
 msgid "Add a simple WxGlade based GUI."
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:138
+#: ../dialogs/ActionBlockDialog.py:137
 msgid "Add action"
 msgstr ""
 
@@ -502,7 +515,7 @@
 msgid "Add element"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:259
+#: ../editors/ResourceEditor.py:268
 msgid "Add instance"
 msgstr ""
 
@@ -510,11 +523,11 @@
 msgid "Add slave"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:230
+#: ../editors/ResourceEditor.py:239
 msgid "Add task"
 msgstr ""
 
-#: ../controls/VariablePanel.py:380 ../c_ext/CFileEditor.py:517
+#: ../editors/CodeFileEditor.py:640 ../controls/VariablePanel.py:440
 msgid "Add variable"
 msgstr ""
 
@@ -522,22 +535,23 @@
 msgid "Addition"
 msgstr ""
 
-#: ../plcopen/structures.py:249
+#: ../plcopen/definitions.py:22
 msgid "Additional function blocks"
 msgstr ""
 
-#: ../editors/Viewer.py:510
+#: ../editors/Viewer.py:567
 msgid "Adjust Block Size"
 msgstr ""
 
-#: ../editors/Viewer.py:1458
+#: ../editors/Viewer.py:1612
 msgid "Alignment"
 msgstr ""
 
-#: ../controls/VariablePanel.py:75 ../dialogs/BrowseLocationsDialog.py:34
-#: ../dialogs/BrowseLocationsDialog.py:43
-#: ../dialogs/BrowseLocationsDialog.py:136
-#: ../dialogs/BrowseLocationsDialog.py:139
+#: ../dialogs/BrowseLocationsDialog.py:34
+#: ../dialogs/BrowseLocationsDialog.py:42
+#: ../dialogs/BrowseLocationsDialog.py:135
+#: ../dialogs/BrowseLocationsDialog.py:138 ../controls/LogViewer.py:297
+#: ../controls/VariablePanel.py:70
 msgid "All"
 msgstr ""
 
@@ -545,7 +559,7 @@
 msgid "All files (*.*)|*.*|CSV files (*.csv)|*.csv"
 msgstr ""
 
-#: ../ProjectController.py:1373
+#: ../ProjectController.py:1523
 msgid "Already connected. Please disconnect\n"
 msgstr ""
 
@@ -554,7 +568,7 @@
 msgid "An element named \"%s\" already exists in this structure!"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:98
+#: ../dialogs/ConnectionDialog.py:96
 msgid "Apply name modification to all continuations with the same name"
 msgstr ""
 
@@ -574,8 +588,8 @@
 msgid "Arithmetic"
 msgstr ""
 
-#: ../controls/VariablePanel.py:732 ../editors/DataTypeEditor.py:54
-#: ../editors/DataTypeEditor.py:634
+#: ../editors/DataTypeEditor.py:54 ../editors/DataTypeEditor.py:634
+#: ../controls/VariablePanel.py:811
 msgid "Array"
 msgstr ""
 
@@ -583,7 +597,7 @@
 msgid "Assignment"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:197
+#: ../dialogs/FBDVariableDialog.py:217
 msgid "At least a variable or an expression must be selected!"
 msgstr ""
 
@@ -595,7 +609,7 @@
 msgid "Author Name (optional):"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:72
+#: ../dialogs/FindInPouDialog.py:78
 msgid "Backward"
 msgstr ""
 
@@ -607,21 +621,21 @@
 msgid "Bad domain name at "
 msgstr ""
 
-#: ../canfestival/config_utils.py:341 ../canfestival/config_utils.py:623
+#: ../canfestival/config_utils.py:342 ../canfestival/config_utils.py:624
 #, python-format
 msgid "Bad location size : %s"
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:174 ../editors/DataTypeEditor.py:204
-#: ../editors/DataTypeEditor.py:296 ../dialogs/ArrayTypeDialog.py:55
+#: ../dialogs/ArrayTypeDialog.py:55 ../editors/DataTypeEditor.py:174
+#: ../editors/DataTypeEditor.py:204 ../editors/DataTypeEditor.py:296
 msgid "Base Type:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:702 ../editors/DataTypeEditor.py:624
+#: ../editors/DataTypeEditor.py:624 ../controls/VariablePanel.py:769
 msgid "Base Types"
 msgstr ""
 
-#: ../Beremiz.py:511
+#: ../Beremiz.py:529
 msgid "Beremiz"
 msgstr ""
 
@@ -653,15 +667,19 @@
 msgid "Bitwise inverting"
 msgstr ""
 
-#: ../editors/Viewer.py:464
+#: ../editors/Viewer.py:521 ../editors/Viewer.py:2073
 msgid "Block"
 msgstr ""
 
-#: ../dialogs/FBDBlockDialog.py:38
+#: ../dialogs/FBDBlockDialog.py:59
 msgid "Block Properties"
 msgstr ""
 
-#: ../editors/Viewer.py:433
+#: ../editors/TextViewer.py:261
+msgid "Block name"
+msgstr ""
+
+#: ../editors/Viewer.py:487
 msgid "Bottom"
 msgstr ""
 
@@ -670,38 +688,42 @@
 msgid "Browse %s values library"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:61
+#: ../dialogs/BrowseLocationsDialog.py:60
 msgid "Browse Locations"
 msgstr ""
 
-#: ../ProjectController.py:1519
+#: ../ProjectController.py:1668
 msgid "Build"
 msgstr ""
 
-#: ../ProjectController.py:1079
+#: ../ProjectController.py:1166
 msgid "Build directory already clean\n"
 msgstr ""
 
-#: ../ProjectController.py:1520
+#: ../ProjectController.py:1669
 msgid "Build project into build folder"
 msgstr ""
 
-#: ../ProjectController.py:937
+#: ../ProjectController.py:956
 msgid "C Build crashed !\n"
 msgstr ""
 
-#: ../ProjectController.py:934
+#: ../ProjectController.py:953
 msgid "C Build failed.\n"
 msgstr ""
 
-#: ../c_ext/CFileEditor.py:731
+#: ../c_ext/CFileEditor.py:40
 msgid "C code"
 msgstr ""
 
-#: ../ProjectController.py:922
+#: ../ProjectController.py:1031
 msgid "C code generated successfully.\n"
 msgstr ""
 
+#: ../targets/toolchain_makefile.py:108
+msgid "C compilation failed.\n"
+msgstr ""
+
 #: ../targets/toolchain_gcc.py:132
 #, python-format
 msgid "C compilation of %s failed.\n"
@@ -723,81 +745,81 @@
 msgid "CANopen support"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1732 ../plcopen/plcopen.py:1746
-#: ../plcopen/plcopen.py:1767 ../plcopen/plcopen.py:1783
+#: ../plcopen/plcopen.py:1580 ../plcopen/plcopen.py:1594
+#: ../plcopen/plcopen.py:1615 ../plcopen/plcopen.py:1631
 msgid "Can only generate execution order on FBD networks!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:256
+#: ../controls/VariablePanel.py:259
 msgid "Can only give a location to local or global variables"
 msgstr ""
 
-#: ../PLCOpenEditor.py:336
+#: ../PLCOpenEditor.py:327
 #, python-format
 msgid "Can't generate program to file %s!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:254
+#: ../controls/VariablePanel.py:257
 msgid "Can't give a location to a function block instance"
 msgstr ""
 
-#: ../PLCOpenEditor.py:376
+#: ../PLCOpenEditor.py:367
 #, python-format
 msgid "Can't save project to file %s!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:300
+#: ../controls/VariablePanel.py:303
 msgid "Can't set an initial value to a function block instance"
 msgstr ""
 
-#: ../ConfigTreeNode.py:490
+#: ../ConfigTreeNode.py:504
 #, python-format
 msgid "Cannot create child %s of type %s "
 msgstr ""
 
-#: ../ConfigTreeNode.py:417
+#: ../ConfigTreeNode.py:429
 #, python-format
 msgid "Cannot find lower free IEC channel than %d\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:92
+#: ../connectors/PYRO/__init__.py:127
 msgid "Cannot get PLC status - connection failed.\n"
 msgstr ""
 
-#: ../ProjectController.py:737
+#: ../ProjectController.py:817
 msgid "Cannot open/parse VARIABLES.csv!\n"
 msgstr ""
 
-#: ../canfestival/config_utils.py:371
+#: ../canfestival/config_utils.py:372
 #, python-format
 msgid "Cannot set bit offset for non bool '%s' variable (ID:%d,Idx:%x,sIdx:%x))"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:81 ../dialogs/SearchInProjectDialog.py:67
+#: ../dialogs/SearchInProjectDialog.py:67 ../dialogs/FindInPouDialog.py:87
 msgid "Case sensitive"
 msgstr ""
 
-#: ../editors/Viewer.py:428
+#: ../editors/Viewer.py:482
 msgid "Center"
 msgstr ""
 
-#: ../Beremiz_service.py:326
+#: ../Beremiz_service.py:245
 msgid "Change IP of interface to bind"
 msgstr ""
 
-#: ../Beremiz_service.py:325
+#: ../Beremiz_service.py:244
 msgid "Change Name"
 msgstr ""
 
-#: ../IDEFrame.py:1850
+#: ../IDEFrame.py:1911
 msgid "Change POU Type To"
 msgstr ""
 
-#: ../Beremiz_service.py:327
+#: ../Beremiz_service.py:246
 msgid "Change Port Number"
 msgstr ""
 
-#: ../Beremiz_service.py:328
+#: ../Beremiz_service.py:247
 msgid "Change working directory"
 msgstr ""
 
@@ -805,20 +827,20 @@
 msgid "Character string"
 msgstr ""
 
-#: ../svgui/svgui.py:92
+#: ../svgui/svgui.py:101
 msgid "Choose a SVG file"
 msgstr ""
 
-#: ../ProjectController.py:364
+#: ../ProjectController.py:420
 msgid "Choose a directory to save project"
 msgstr ""
 
-#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:294
-#: ../PLCOpenEditor.py:326 ../PLCOpenEditor.py:370
+#: ../canfestival/canfestival.py:136 ../PLCOpenEditor.py:285
+#: ../PLCOpenEditor.py:317 ../PLCOpenEditor.py:361
 msgid "Choose a file"
 msgstr ""
 
-#: ../Beremiz.py:858 ../Beremiz.py:893
+#: ../Beremiz.py:901 ../Beremiz.py:936
 msgid "Choose a project"
 msgstr ""
 
@@ -827,72 +849,76 @@
 msgid "Choose a value for %s:"
 msgstr ""
 
-#: ../Beremiz_service.py:378
+#: ../Beremiz_service.py:293
 msgid "Choose a working directory "
 msgstr ""
 
-#: ../ProjectController.py:288
+#: ../ProjectController.py:334
 msgid "Chosen folder doesn't contain a program. It's not a valid project!"
 msgstr ""
 
-#: ../ProjectController.py:255
+#: ../ProjectController.py:301
 msgid "Chosen folder isn't empty. You can't use it for a new project!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Class"
 msgstr ""
 
-#: ../controls/VariablePanel.py:371
+#: ../controls/VariablePanel.py:431
 msgid "Class Filter:"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:62
+#: ../dialogs/FBDVariableDialog.py:69
 msgid "Class:"
 msgstr ""
 
-#: ../ProjectController.py:1523
+#: ../ProjectController.py:1672
 msgid "Clean"
 msgstr ""
 
-#: ../ProjectController.py:1525
+#: ../controls/LogViewer.py:317
+msgid "Clean log messages"
+msgstr ""
+
+#: ../ProjectController.py:1674
 msgid "Clean project build folder"
 msgstr ""
 
-#: ../ProjectController.py:1076
+#: ../ProjectController.py:1163
 msgid "Cleaning the build directory\n"
 msgstr ""
 
-#: ../IDEFrame.py:416
+#: ../IDEFrame.py:411
 msgid "Clear Errors"
 msgstr ""
 
-#: ../editors/Viewer.py:520
+#: ../editors/Viewer.py:577
 msgid "Clear Execution Order"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:125
-msgid "Clear the graph values"
-msgstr ""
-
-#: ../Beremiz.py:633 ../PLCOpenEditor.py:202
+#: ../dialogs/FindInPouDialog.py:110
+msgid "Close"
+msgstr ""
+
+#: ../PLCOpenEditor.py:192 ../Beremiz.py:669
 msgid "Close Application"
 msgstr ""
 
-#: ../IDEFrame.py:972 ../Beremiz.py:321 ../Beremiz.py:587
-#: ../PLCOpenEditor.py:112
+#: ../PLCOpenEditor.py:102 ../Beremiz.py:326 ../Beremiz.py:613
+#: ../IDEFrame.py:984
 msgid "Close Project"
 msgstr ""
 
-#: ../Beremiz.py:319 ../PLCOpenEditor.py:110
+#: ../PLCOpenEditor.py:100 ../Beremiz.py:324
 msgid "Close Tab"
 msgstr ""
 
-#: ../editors/Viewer.py:480
+#: ../editors/Viewer.py:537 ../editors/Viewer.py:2084
 msgid "Coil"
 msgstr ""
 
-#: ../editors/Viewer.py:500 ../editors/LDViewer.py:506
+#: ../editors/Viewer.py:557 ../editors/LDViewer.py:506
 msgid "Comment"
 msgstr ""
 
@@ -908,7 +934,7 @@
 msgid "Comparison"
 msgstr ""
 
-#: ../ProjectController.py:552
+#: ../ProjectController.py:609
 msgid "Compiling IEC Program into C code...\n"
 msgstr ""
 
@@ -916,7 +942,7 @@
 msgid "Concatenation"
 msgstr ""
 
-#: ../editors/ConfTreeNodeEditor.py:249
+#: ../editors/ConfTreeNodeEditor.py:206
 msgid "Config"
 msgstr ""
 
@@ -928,67 +954,69 @@
 msgid "Configuration"
 msgstr ""
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:97
 msgid "Configurations"
 msgstr ""
 
-#: ../ProjectController.py:1538
+#: ../editors/Viewer.py:303 ../editors/Viewer.py:333 ../editors/Viewer.py:355
+#: ../editors/TextViewer.py:289 ../editors/TextViewer.py:340
+#: ../editors/TextViewer.py:363 ../controls/VariablePanel.py:318
+msgid "Confirm or change variable name"
+msgstr ""
+
+#: ../ProjectController.py:1687
 msgid "Connect"
 msgstr ""
 
-#: ../ProjectController.py:1539
+#: ../ProjectController.py:1688
 msgid "Connect to the target PLC"
 msgstr ""
 
-#: ../ProjectController.py:1125
+#: ../ProjectController.py:1212
 #, python-format
 msgid "Connected to URI: %s"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:40
-#, python-format
-msgid "Connecting to URI : %s\n"
-msgstr ""
-
-#: ../editors/Viewer.py:466 ../dialogs/SFCTransitionDialog.py:76
+#: ../dialogs/SFCTransitionDialog.py:75 ../editors/Viewer.py:523
+#: ../editors/Viewer.py:2075
 msgid "Connection"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:37
+#: ../dialogs/ConnectionDialog.py:52
 msgid "Connection Properties"
 msgstr ""
 
-#: ../ProjectController.py:1397
+#: ../ProjectController.py:1547
 msgid "Connection canceled!\n"
 msgstr ""
 
-#: ../ProjectController.py:1422
+#: ../ProjectController.py:1572
 #, python-format
 msgid "Connection failed to %s!\n"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:63
+#: ../connectors/PYRO/__init__.py:98
 #, python-format
 msgid "Connection to '%s' failed.\n"
 msgstr ""
 
-#: ../editors/Viewer.py:1426 ../dialogs/ConnectionDialog.py:56
+#: ../dialogs/ConnectionDialog.py:64 ../editors/Viewer.py:1569
 msgid "Connector"
 msgstr ""
 
-#: ../dialogs/SFCStepDialog.py:58
+#: ../dialogs/SFCStepDialog.py:64
 msgid "Connectors:"
 msgstr ""
 
-#: ../Beremiz.py:420
+#: ../Beremiz.py:436
 msgid "Console"
 msgstr ""
 
-#: ../controls/VariablePanel.py:65
+#: ../controls/VariablePanel.py:60
 msgid "Constant"
 msgstr ""
 
-#: ../editors/Viewer.py:476
+#: ../editors/Viewer.py:533 ../editors/Viewer.py:2080
 msgid "Contact"
 msgstr ""
 
@@ -996,7 +1024,7 @@
 msgid "Content Description (optional):"
 msgstr ""
 
-#: ../editors/Viewer.py:1427 ../dialogs/ConnectionDialog.py:61
+#: ../dialogs/ConnectionDialog.py:65 ../editors/Viewer.py:1570
 msgid "Continuation"
 msgstr ""
 
@@ -1016,11 +1044,12 @@
 msgid "Conversion to time-of-day"
 msgstr ""
 
-#: ../IDEFrame.py:353 ../IDEFrame.py:406 ../editors/Viewer.py:536
+#: ../editors/Viewer.py:593 ../controls/LogViewer.py:692 ../IDEFrame.py:346
+#: ../IDEFrame.py:401
 msgid "Copy"
 msgstr ""
 
-#: ../IDEFrame.py:1837
+#: ../IDEFrame.py:1898
 msgid "Copy POU"
 msgstr ""
 
@@ -1036,48 +1065,53 @@
 msgid "Cosine"
 msgstr ""
 
-#: ../ConfigTreeNode.py:602
+#: ../ConfigTreeNode.py:626
 #, python-format
 msgid ""
 "Could not add child \"%s\", type %s :\n"
 "%s\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:579
+#: ../py_ext/PythonFileCTNMixin.py:53
+#, python-format
+msgid "Couldn't import old %s file."
+msgstr ""
+
+#: ../ConfigTreeNode.py:598
 #, python-format
 msgid ""
 "Couldn't load confnode base parameters %s :\n"
 " %s"
 msgstr ""
 
-#: ../ConfigTreeNode.py:590
+#: ../ConfigTreeNode.py:614 ../CodeFileTreeNode.py:99
 #, python-format
 msgid ""
 "Couldn't load confnode parameters %s :\n"
 " %s"
 msgstr ""
 
-#: ../PLCControler.py:819 ../PLCControler.py:856
+#: ../PLCControler.py:946
 msgid "Couldn't paste non-POU object."
 msgstr ""
 
-#: ../ProjectController.py:1344
+#: ../ProjectController.py:1486
 msgid "Couldn't start PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:1352
+#: ../ProjectController.py:1494
 msgid "Couldn't stop PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:1321
+#: ../ProjectController.py:1458
 msgid "Couldn't stop debugger.\n"
 msgstr ""
 
-#: ../svgui/svgui.py:22
+#: ../svgui/svgui.py:23
 msgid "Create HMI"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:43
+#: ../dialogs/PouDialog.py:45
 msgid "Create a new POU"
 msgstr ""
 
@@ -1085,71 +1119,71 @@
 msgid "Create a new action"
 msgstr ""
 
-#: ../IDEFrame.py:142
+#: ../IDEFrame.py:135
 msgid "Create a new action block"
 msgstr ""
 
-#: ../IDEFrame.py:91 ../IDEFrame.py:121 ../IDEFrame.py:154
+#: ../IDEFrame.py:84 ../IDEFrame.py:114 ../IDEFrame.py:147
 msgid "Create a new block"
 msgstr ""
 
-#: ../IDEFrame.py:115
+#: ../IDEFrame.py:108
 msgid "Create a new branch"
 msgstr ""
 
-#: ../IDEFrame.py:109
+#: ../IDEFrame.py:102
 msgid "Create a new coil"
 msgstr ""
 
-#: ../IDEFrame.py:85 ../IDEFrame.py:100 ../IDEFrame.py:130
+#: ../IDEFrame.py:78 ../IDEFrame.py:93 ../IDEFrame.py:123
 msgid "Create a new comment"
 msgstr ""
 
-#: ../IDEFrame.py:94 ../IDEFrame.py:124 ../IDEFrame.py:157
+#: ../IDEFrame.py:87 ../IDEFrame.py:117 ../IDEFrame.py:150
 msgid "Create a new connection"
 msgstr ""
 
-#: ../IDEFrame.py:112 ../IDEFrame.py:163
+#: ../IDEFrame.py:105 ../IDEFrame.py:156
 msgid "Create a new contact"
 msgstr ""
 
-#: ../IDEFrame.py:145
+#: ../IDEFrame.py:138
 msgid "Create a new divergence"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:36
+#: ../dialogs/SFCDivergenceDialog.py:51
 msgid "Create a new divergence or convergence"
 msgstr ""
 
-#: ../IDEFrame.py:133
+#: ../IDEFrame.py:126
 msgid "Create a new initial step"
 msgstr ""
 
-#: ../IDEFrame.py:148
+#: ../IDEFrame.py:141
 msgid "Create a new jump"
 msgstr ""
 
-#: ../IDEFrame.py:103 ../IDEFrame.py:160
+#: ../IDEFrame.py:96 ../IDEFrame.py:153
 msgid "Create a new power rail"
 msgstr ""
 
-#: ../IDEFrame.py:106
+#: ../IDEFrame.py:99
 msgid "Create a new rung"
 msgstr ""
 
-#: ../IDEFrame.py:136
+#: ../IDEFrame.py:129
 msgid "Create a new step"
 msgstr ""
 
-#: ../IDEFrame.py:139 ../dialogs/PouTransitionDialog.py:42
+#: ../dialogs/PouTransitionDialog.py:42 ../IDEFrame.py:132
 msgid "Create a new transition"
 msgstr ""
 
-#: ../IDEFrame.py:88 ../IDEFrame.py:118 ../IDEFrame.py:151
+#: ../IDEFrame.py:81 ../IDEFrame.py:111 ../IDEFrame.py:144
 msgid "Create a new variable"
 msgstr ""
 
-#: ../IDEFrame.py:351 ../IDEFrame.py:405 ../editors/Viewer.py:535
+#: ../editors/Viewer.py:592 ../IDEFrame.py:344 ../IDEFrame.py:400
 msgid "Cut"
 msgstr ""
 
@@ -1177,7 +1211,7 @@
 msgid "Data Type"
 msgstr ""
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96
 msgid "Data Types"
 msgstr ""
 
@@ -1202,50 +1236,50 @@
 msgid "Days:"
 msgstr ""
 
-#: ../ProjectController.py:1444
+#: ../ProjectController.py:1594
 msgid "Debug does not match PLC - stop/transfert/start to re-enable\n"
 msgstr ""
 
-#: ../controls/PouInstanceVariablesPanel.py:59
+#: ../controls/PouInstanceVariablesPanel.py:134
 msgid "Debug instance"
 msgstr ""
 
-#: ../editors/Viewer.py:1016 ../editors/Viewer.py:3326
+#: ../editors/Viewer.py:1104 ../editors/Viewer.py:3596
 #, python-format
 msgid "Debug: %s"
 msgstr ""
 
-#: ../ProjectController.py:1153
+#: ../ProjectController.py:1247
 #, python-format
 msgid "Debug: Unknown variable '%s'\n"
 msgstr ""
 
-#: ../ProjectController.py:1151
+#: ../ProjectController.py:1245
 #, python-format
 msgid "Debug: Unsupported type to debug '%s'\n"
 msgstr ""
 
-#: ../IDEFrame.py:612
+#: ../IDEFrame.py:614
 msgid "Debugger"
 msgstr ""
 
-#: ../ProjectController.py:1311
+#: ../ProjectController.py:1427
 msgid "Debugger disabled\n"
 msgstr ""
 
-#: ../ProjectController.py:1441
+#: ../ProjectController.py:1591
 msgid "Debugger ready\n"
 msgstr ""
 
-#: ../ProjectController.py:1323
+#: ../ProjectController.py:1460
 msgid "Debugger stopped.\n"
 msgstr ""
 
-#: ../IDEFrame.py:1866 ../Beremiz.py:991 ../editors/Viewer.py:511
+#: ../editors/Viewer.py:568 ../Beremiz.py:1030 ../IDEFrame.py:1927
 msgid "Delete"
 msgstr ""
 
-#: ../editors/Viewer.py:453
+#: ../editors/Viewer.py:510
 msgid "Delete Divergence Branch"
 msgstr ""
 
@@ -1253,7 +1287,7 @@
 msgid "Delete File"
 msgstr ""
 
-#: ../editors/Viewer.py:442
+#: ../editors/Viewer.py:497
 msgid "Delete Wire Segment"
 msgstr ""
 
@@ -1269,25 +1303,25 @@
 msgid "Derivation Type:"
 msgstr ""
 
-#: ../plcopen/structures.py:263
+#: ../plcopen/definitions.py:41
 msgid ""
 "Derivative\n"
 "The derivative function block produces an output XOUT proportional to the rate of change of the input XIN."
 msgstr ""
 
-#: ../controls/VariablePanel.py:362
+#: ../controls/VariablePanel.py:422
 msgid "Description:"
 msgstr ""
 
-#: ../editors/DataTypeEditor.py:320 ../dialogs/ArrayTypeDialog.py:61
+#: ../dialogs/ArrayTypeDialog.py:61 ../editors/DataTypeEditor.py:320
 msgid "Dimensions:"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:61
+#: ../dialogs/FindInPouDialog.py:67
 msgid "Direction"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:86
+#: ../dialogs/BrowseLocationsDialog.py:85
 msgid "Direction:"
 msgstr ""
 
@@ -1295,15 +1329,15 @@
 msgid "Directly"
 msgstr ""
 
-#: ../ProjectController.py:1547
+#: ../ProjectController.py:1696
 msgid "Disconnect"
 msgstr ""
 
-#: ../ProjectController.py:1549
+#: ../ProjectController.py:1698
 msgid "Disconnect from PLC"
 msgstr ""
 
-#: ../editors/Viewer.py:495
+#: ../editors/Viewer.py:552 ../editors/Viewer.py:2061
 msgid "Divergence"
 msgstr ""
 
@@ -1316,21 +1350,21 @@
 msgid "Do you really want to delete the file '%s'?"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Documentation"
 msgstr ""
 
-#: ../PLCOpenEditor.py:330
+#: ../PLCOpenEditor.py:321
 msgid "Done"
 msgstr ""
 
-#: ../plcopen/structures.py:226
+#: ../plcopen/definitions.py:34
 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 ""
 
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38
 msgid "Duration"
 msgstr ""
 
@@ -1338,15 +1372,15 @@
 msgid "EDS files (*.eds)|*.eds|All files|*.*"
 msgstr ""
 
-#: ../editors/Viewer.py:509
+#: ../editors/Viewer.py:566
 msgid "Edit Block"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:41
+#: ../dialogs/LDElementDialog.py:56
 msgid "Edit Coil Values"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:38
+#: ../dialogs/LDElementDialog.py:54
 msgid "Edit Contact Values"
 msgstr ""
 
@@ -1354,7 +1388,7 @@
 msgid "Edit Duration"
 msgstr ""
 
-#: ../dialogs/SFCStepDialog.py:35
+#: ../dialogs/SFCStepDialog.py:49
 msgid "Edit Step"
 msgstr ""
 
@@ -1362,7 +1396,7 @@
 msgid "Edit a WxWidgets GUI with WXGlade"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:122
+#: ../dialogs/ActionBlockDialog.py:121
 msgid "Edit action block properties"
 msgstr ""
 
@@ -1370,8 +1404,7 @@
 msgid "Edit array type properties"
 msgstr ""
 
-#: ../editors/Viewer.py:2186 ../editors/Viewer.py:2188
-#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2708
+#: ../editors/Viewer.py:2541 ../editors/Viewer.py:2952
 msgid "Edit comment"
 msgstr ""
 
@@ -1383,11 +1416,11 @@
 msgid "Edit item"
 msgstr ""
 
-#: ../editors/Viewer.py:2670
+#: ../editors/Viewer.py:2916
 msgid "Edit jump target"
 msgstr ""
 
-#: ../ProjectController.py:1561
+#: ../ProjectController.py:1710
 msgid "Edit raw IEC code added to code generated by PLCGenerator"
 msgstr ""
 
@@ -1395,15 +1428,15 @@
 msgid "Edit step name"
 msgstr ""
 
-#: ../dialogs/SFCTransitionDialog.py:38
+#: ../dialogs/SFCTransitionDialog.py:50
 msgid "Edit transition"
 msgstr ""
 
-#: ../IDEFrame.py:584
+#: ../IDEFrame.py:586
 msgid "Editor ToolBar"
 msgstr ""
 
-#: ../ProjectController.py:1039
+#: ../ProjectController.py:1126
 msgid "Editor selection"
 msgstr ""
 
@@ -1411,19 +1444,19 @@
 msgid "Elements :"
 msgstr ""
 
-#: ../IDEFrame.py:348
+#: ../IDEFrame.py:341
 msgid "Enable Undo/Redo"
 msgstr ""
 
-#: ../Beremiz_service.py:385
+#: ../Beremiz_service.py:299
 msgid "Enter a name "
 msgstr ""
 
-#: ../Beremiz_service.py:370
+#: ../Beremiz_service.py:286
 msgid "Enter a port number "
 msgstr ""
 
-#: ../Beremiz_service.py:360
+#: ../Beremiz_service.py:277
 msgid "Enter the IP of the interface to bind"
 msgstr ""
 
@@ -1435,50 +1468,50 @@
 msgid "Equal to"
 msgstr ""
 
-#: ../Beremiz_service.py:271 ../controls/VariablePanel.py:332
-#: ../controls/VariablePanel.py:681 ../controls/DebugVariablePanel.py:379
-#: ../IDEFrame.py:966 ../IDEFrame.py:1553 ../IDEFrame.py:1590
-#: ../IDEFrame.py:1595 ../IDEFrame.py:1609 ../IDEFrame.py:1614
-#: ../IDEFrame.py:2290 ../Beremiz.py:1131 ../PLCOpenEditor.py:337
-#: ../PLCOpenEditor.py:342 ../PLCOpenEditor.py:416 ../PLCOpenEditor.py:426
-#: ../editors/TextViewer.py:369 ../editors/DataTypeEditor.py:549
+#: ../dialogs/ForceVariableDialog.py:179
+#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepNameDialog.py:59
+#: ../dialogs/DurationEditorDialog.py:121
+#: ../dialogs/DurationEditorDialog.py:163 ../dialogs/PouTransitionDialog.py:107
+#: ../dialogs/BlockPreviewDialog.py:236 ../dialogs/ProjectDialog.py:71
+#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
+#: ../dialogs/PouNameDialog.py:53 ../dialogs/BrowseLocationsDialog.py:211
+#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouActionDialog.py:104
+#: ../dialogs/PouDialog.py:134 ../PLCOpenEditor.py:328 ../PLCOpenEditor.py:333
+#: ../PLCOpenEditor.py:407 ../PLCOpenEditor.py:417 ../editors/Viewer.py:419
+#: ../editors/LDViewer.py:666 ../editors/LDViewer.py:882
+#: ../editors/LDViewer.py:886 ../editors/DataTypeEditor.py:549
 #: ../editors/DataTypeEditor.py:554 ../editors/DataTypeEditor.py:578
 #: ../editors/DataTypeEditor.py:583 ../editors/DataTypeEditor.py:593
 #: ../editors/DataTypeEditor.py:744 ../editors/DataTypeEditor.py:751
-#: ../editors/Viewer.py:365 ../editors/LDViewer.py:666
-#: ../editors/LDViewer.py:882 ../editors/LDViewer.py:886
-#: ../ProjectController.py:225 ../dialogs/PouNameDialog.py:53
-#: ../dialogs/PouTransitionDialog.py:107
-#: ../dialogs/BrowseLocationsDialog.py:212 ../dialogs/ProjectDialog.py:71
-#: ../dialogs/SFCStepNameDialog.py:59 ../dialogs/ConnectionDialog.py:159
-#: ../dialogs/FBDVariableDialog.py:201 ../dialogs/PouActionDialog.py:104
-#: ../dialogs/BrowseValuesLibraryDialog.py:83 ../dialogs/PouDialog.py:132
-#: ../dialogs/SFCTransitionDialog.py:147
-#: ../dialogs/DurationEditorDialog.py:121
-#: ../dialogs/DurationEditorDialog.py:163
-#: ../dialogs/SearchInProjectDialog.py:157 ../dialogs/SFCStepDialog.py:130
-#: ../dialogs/ArrayTypeDialog.py:97 ../dialogs/ArrayTypeDialog.py:103
-#: ../dialogs/FBDBlockDialog.py:164 ../dialogs/ForceVariableDialog.py:179
+#: ../editors/TextViewer.py:387 ../editors/CodeFileEditor.py:763
+#: ../ProjectController.py:269 ../controls/FolderTree.py:217
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:166
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:137
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:225
+#: ../controls/VariablePanel.py:392 ../controls/VariablePanel.py:754
+#: ../Beremiz.py:1169 ../IDEFrame.py:978 ../IDEFrame.py:1584
+#: ../IDEFrame.py:1621 ../IDEFrame.py:1626 ../IDEFrame.py:1640
+#: ../IDEFrame.py:1645 ../Beremiz_service.py:190
 msgid "Error"
 msgstr ""
 
-#: ../ProjectController.py:601
+#: ../ProjectController.py:663
 msgid "Error : At least one configuration and one resource must be declared in PLC !\n"
 msgstr ""
 
-#: ../ProjectController.py:593
+#: ../ProjectController.py:655
 #, python-format
 msgid "Error : IEC to C compiler returned %d\n"
 msgstr ""
 
-#: ../ProjectController.py:534
+#: ../ProjectController.py:589
 #, python-format
 msgid ""
 "Error in ST/IL/SFC code generator :\n"
 "%s\n"
 msgstr ""
 
-#: ../ConfigTreeNode.py:183
+#: ../ConfigTreeNode.py:192
 #, python-format
 msgid "Error while saving \"%s\"\n"
 msgstr ""
@@ -1495,16 +1528,16 @@
 msgid "Error: No PLC built\n"
 msgstr ""
 
-#: ../ProjectController.py:1416
+#: ../ProjectController.py:1566
 #, python-format
 msgid "Exception while connecting %s!\n"
 msgstr ""
 
-#: ../dialogs/FBDBlockDialog.py:95
+#: ../dialogs/FBDBlockDialog.py:117
 msgid "Execution Control:"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:76 ../dialogs/FBDBlockDialog.py:87
+#: ../dialogs/FBDVariableDialog.py:79 ../dialogs/FBDBlockDialog.py:105
 msgid "Execution Order:"
 msgstr ""
 
@@ -1524,7 +1557,7 @@
 msgid "Export CanOpen slave to EDS file"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1472 ../editors/GraphicViewer.py:144
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:243
 msgid "Export graph values to clipboard"
 msgstr ""
 
@@ -1532,39 +1565,38 @@
 msgid "Export slave"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:69
+#: ../dialogs/FBDVariableDialog.py:89
 msgid "Expression:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:77
+#: ../controls/VariablePanel.py:72
 msgid "External"
 msgstr ""
 
-#: ../ProjectController.py:605
+#: ../ProjectController.py:676
 msgid "Extracting Located Variables...\n"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:143
 #: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
 msgid "FBD"
 msgstr ""
 
-#: ../ProjectController.py:1480
+#: ../ProjectController.py:1629
 msgid "Failed : Must build before transfer.\n"
 msgstr ""
 
-#: ../editors/Viewer.py:404 ../dialogs/LDElementDialog.py:84
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:458
 msgid "Falling Edge"
 msgstr ""
 
-#: ../plcopen/structures.py:216
+#: ../plcopen/definitions.py:32
 msgid ""
 "Falling edge detector\n"
 "The output produces a single pulse when a falling edge is detected."
 msgstr ""
 
-#: ../ProjectController.py:927
+#: ../ProjectController.py:946
 msgid "Fatal : cannot get builder.\n"
 msgstr ""
 
@@ -1578,16 +1610,21 @@
 msgid "Fields %s haven't a valid value!"
 msgstr ""
 
-#: ../IDEFrame.py:358 ../dialogs/FindInPouDialog.py:30
-#: ../dialogs/FindInPouDialog.py:99
+#: ../controls/FolderTree.py:216
+#, python-format
+msgid "File '%s' already exists!"
+msgstr ""
+
+#: ../dialogs/FindInPouDialog.py:35 ../dialogs/FindInPouDialog.py:105
+#: ../IDEFrame.py:351
 msgid "Find"
 msgstr ""
 
-#: ../IDEFrame.py:360
+#: ../IDEFrame.py:353
 msgid "Find Next"
 msgstr ""
 
-#: ../IDEFrame.py:362
+#: ../IDEFrame.py:355
 msgid "Find Previous"
 msgstr ""
 
@@ -1595,15 +1632,15 @@
 msgid "Find position"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:51
+#: ../dialogs/FindInPouDialog.py:57
 msgid "Find:"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:125
+#: ../connectors/PYRO/__init__.py:159
 msgid "Force runtime reload\n"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1934 ../editors/Viewer.py:1385
+#: ../editors/Viewer.py:1528
 msgid "Force value"
 msgstr ""
 
@@ -1611,14 +1648,15 @@
 msgid "Forcing Variable Value"
 msgstr ""
 
-#: ../dialogs/PouTransitionDialog.py:97 ../dialogs/ProjectDialog.py:70
-#: ../dialogs/PouActionDialog.py:94 ../dialogs/PouDialog.py:114
-#: ../dialogs/SFCTransitionDialog.py:147
+#: ../dialogs/SFCTransitionDialog.py:178 ../dialogs/PouTransitionDialog.py:97
+#: ../dialogs/ProjectDialog.py:70 ../dialogs/PouActionDialog.py:94
+#: ../dialogs/PouDialog.py:116
 #, python-format
 msgid "Form isn't complete. %s must be filled!"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:149 ../dialogs/FBDBlockDialog.py:154
+#: ../dialogs/SFCStepDialog.py:141 ../dialogs/FBDBlockDialog.py:232
+#: ../dialogs/ConnectionDialog.py:160
 msgid "Form isn't complete. Name must be filled!"
 msgstr ""
 
@@ -1626,60 +1664,61 @@
 msgid "Form isn't complete. Pattern to search must be filled!"
 msgstr ""
 
-#: ../dialogs/FBDBlockDialog.py:152
+#: ../dialogs/FBDBlockDialog.py:228
 msgid "Form isn't complete. Valid block type must be selected!"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:67
+#: ../dialogs/FindInPouDialog.py:73
 msgid "Forward"
 msgstr ""
 
-#: ../dialogs/SearchInProjectDialog.py:44
+#: ../dialogs/SearchInProjectDialog.py:44 ../IDEFrame.py:1714
 msgid "Function"
 msgstr ""
 
-#: ../IDEFrame.py:334
+#: ../IDEFrame.py:325
 msgid "Function &Block"
 msgstr ""
 
-#: ../IDEFrame.py:1845 ../dialogs/SearchInProjectDialog.py:45
+#: ../dialogs/SearchInProjectDialog.py:45 ../IDEFrame.py:1713
+#: ../IDEFrame.py:1906
 msgid "Function Block"
 msgstr ""
 
-#: ../controls/VariablePanel.py:744
+#: ../controls/VariablePanel.py:807
 msgid "Function Block Types"
 msgstr ""
 
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95
 msgid "Function Blocks"
 msgstr ""
 
-#: ../editors/Viewer.py:236
+#: ../editors/Viewer.py:244
 msgid "Function Blocks can't be used in Functions!"
 msgstr ""
 
-#: ../PLCControler.py:2180
+#: ../PLCControler.py:2336
 #, python-format
 msgid "FunctionBlock \"%s\" can't be pasted in a Function!!!"
 msgstr ""
 
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95
 msgid "Functions"
 msgstr ""
 
-#: ../PLCOpenEditor.py:119
+#: ../PLCOpenEditor.py:109
 msgid "Generate Program"
 msgstr ""
 
-#: ../ProjectController.py:524
+#: ../ProjectController.py:580
 msgid "Generating SoftPLC IEC-61131 ST/IL/SFC code...\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "Global"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1471 ../editors/GraphicViewer.py:131
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:242
 msgid "Go to current value"
 msgstr ""
 
@@ -1715,63 +1754,59 @@
 msgid "Hours:"
 msgstr ""
 
-#: ../plcopen/structures.py:278
+#: ../plcopen/definitions.py:44
 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 ""
 
-#: ../ProjectController.py:851
-msgid "IEC-61131-3 code generation failed !\n"
-msgstr ""
-
 #: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
 #: ../dialogs/PouDialog.py:36
 msgid "IL"
 msgstr ""
 
-#: ../Beremiz_service.py:361 ../Beremiz_service.py:362
+#: ../Beremiz_service.py:278 ../Beremiz_service.py:279
 msgid "IP is not valid!"
 msgstr ""
 
-#: ../svgui/svgui.py:17 ../svgui/svgui.py:18
+#: ../svgui/svgui.py:18 ../svgui/svgui.py:19
 msgid "Import SVG"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1412
-#: ../dialogs/FBDVariableDialog.py:34
+#: ../dialogs/FBDVariableDialog.py:38 ../editors/Viewer.py:1555
+#: ../controls/VariablePanel.py:71
 msgid "InOut"
 msgstr ""
 
-#: ../editors/Viewer.py:999
+#: ../editors/Viewer.py:1087
 msgid "Inactive"
 msgstr ""
 
-#: ../controls/VariablePanel.py:265
+#: ../controls/VariablePanel.py:268
 #, python-format
 msgid "Incompatible data types between \"%s\" and \"%s\""
 msgstr ""
 
-#: ../controls/VariablePanel.py:274
+#: ../controls/VariablePanel.py:277
 #, python-format
 msgid "Incompatible size of data between \"%s\" and \"%s\""
 msgstr ""
 
-#: ../controls/VariablePanel.py:270
+#: ../controls/VariablePanel.py:273
 #, python-format
 msgid "Incompatible size of data between \"%s\" and \"BOOL\""
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38
 msgid "Indicator"
 msgstr ""
 
-#: ../editors/Viewer.py:491
+#: ../editors/Viewer.py:548 ../editors/Viewer.py:2058
 msgid "Initial Step"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
 msgid "Initial Value"
 msgstr ""
 
@@ -1780,22 +1815,21 @@
 msgid "Initial Value:"
 msgstr ""
 
-#: ../svgui/svgui.py:21
+#: ../svgui/svgui.py:22
 msgid "Inkscape"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:41 ../dialogs/SFCTransitionDialog.py:66
-#: ../dialogs/SFCTransitionDialog.py:137
+#: ../dialogs/SFCTransitionDialog.py:74 ../dialogs/ActionBlockDialog.py:42
 msgid "Inline"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1410
-#: ../dialogs/BrowseLocationsDialog.py:35 ../dialogs/FBDVariableDialog.py:33
-#: ../dialogs/SFCStepDialog.py:61
+#: ../dialogs/SFCStepDialog.py:69 ../dialogs/FBDVariableDialog.py:37
+#: ../dialogs/BrowseLocationsDialog.py:35 ../editors/Viewer.py:1553
+#: ../controls/VariablePanel.py:71
 msgid "Input"
 msgstr ""
 
-#: ../dialogs/FBDBlockDialog.py:78
+#: ../dialogs/FBDBlockDialog.py:93
 msgid "Inputs:"
 msgstr ""
 
@@ -1803,22 +1837,22 @@
 msgid "Insertion (into)"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1843
+#: ../plcopen/plcopen.py:1684
 #, python-format
 msgid "Instance with id %d doesn't exist!"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:255
+#: ../editors/ResourceEditor.py:264
 msgid "Instances:"
 msgstr ""
 
-#: ../plcopen/structures.py:258
+#: ../plcopen/definitions.py:40
 msgid ""
 "Integral\n"
 "The integral function block integrates the value of input XIN over time."
 msgstr ""
 
-#: ../controls/VariablePanel.py:75
+#: ../controls/VariablePanel.py:70
 msgid "Interface"
 msgstr ""
 
@@ -1830,11 +1864,11 @@
 msgid "Interval"
 msgstr ""
 
-#: ../PLCControler.py:2157 ../PLCControler.py:2195
+#: ../PLCControler.py:2324
 msgid "Invalid plcopen element(s)!!!"
 msgstr ""
 
-#: ../canfestival/config_utils.py:376 ../canfestival/config_utils.py:637
+#: ../canfestival/config_utils.py:377 ../canfestival/config_utils.py:638
 #, python-format
 msgid "Invalid type \"%s\"-> %d != %d  for location\"%s\""
 msgstr ""
@@ -1844,17 +1878,19 @@
 msgid "Invalid value \"%s\" for \"%s\" variable!"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:319 ../controls/DebugVariablePanel.py:322
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:132
+#: ../controls/DebugVariablePanel/DebugVariableTextViewer.py:92
+#: ../controls/DebugVariablePanel/DebugVariableGraphicViewer.py:160
 #, python-format
 msgid "Invalid value \"%s\" for debug variable"
 msgstr ""
 
-#: ../controls/VariablePanel.py:244 ../controls/VariablePanel.py:247
+#: ../controls/VariablePanel.py:247 ../controls/VariablePanel.py:250
 #, python-format
 msgid "Invalid value \"%s\" for variable grid element"
 msgstr ""
 
-#: ../editors/Viewer.py:221 ../editors/Viewer.py:224
+#: ../editors/Viewer.py:229 ../editors/Viewer.py:232
 #, python-format
 msgid "Invalid value \"%s\" for viewer block"
 msgstr ""
@@ -1865,13 +1901,12 @@
 "You must fill a numeric value."
 msgstr ""
 
-#: ../editors/Viewer.py:496
+#: ../editors/Viewer.py:553 ../editors/Viewer.py:2062
 msgid "Jump"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:143
 #: ../dialogs/PouTransitionDialog.py:35 ../dialogs/PouActionDialog.py:31
-#: ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
 msgid "LD"
 msgstr ""
 
@@ -1881,7 +1916,7 @@
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:86 ../dialogs/PouActionDialog.py:83
-#: ../dialogs/PouDialog.py:102
+#: ../dialogs/PouDialog.py:104
 msgid "Language"
 msgstr ""
 
@@ -1890,27 +1925,27 @@
 msgstr ""
 
 #: ../dialogs/PouTransitionDialog.py:60 ../dialogs/PouActionDialog.py:56
-#: ../dialogs/PouDialog.py:71
+#: ../dialogs/PouDialog.py:73
 msgid "Language:"
 msgstr ""
 
-#: ../ProjectController.py:1486
+#: ../ProjectController.py:1635
 msgid "Latest build already matches current target. Transfering anyway...\n"
 msgstr ""
 
-#: ../Beremiz_service.py:331
+#: ../Beremiz_service.py:250
 msgid "Launch WX GUI inspector"
 msgstr ""
 
-#: ../Beremiz_service.py:330
+#: ../Beremiz_service.py:249
 msgid "Launch a live Python shell"
 msgstr ""
 
-#: ../editors/Viewer.py:427
+#: ../editors/Viewer.py:481
 msgid "Left"
 msgstr ""
 
-#: ../dialogs/LDPowerRailDialog.py:55
+#: ../dialogs/LDPowerRailDialog.py:61
 msgid "Left PowerRail"
 msgstr ""
 
@@ -1926,7 +1961,7 @@
 msgid "Less than or equal to"
 msgstr ""
 
-#: ../IDEFrame.py:604
+#: ../IDEFrame.py:606
 msgid "Library"
 msgstr ""
 
@@ -1938,7 +1973,7 @@
 msgid "Linking :\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:77 ../dialogs/DiscoveryDialog.py:110
+#: ../dialogs/DiscoveryDialog.py:110 ../controls/VariablePanel.py:72
 msgid "Local"
 msgstr ""
 
@@ -1946,15 +1981,15 @@
 msgid "Local entries"
 msgstr ""
 
-#: ../ProjectController.py:1391
+#: ../ProjectController.py:1541
 msgid "Local service discovery failed!\n"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58
+#: ../controls/VariablePanel.py:53
 msgid "Location"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:68
+#: ../dialogs/BrowseLocationsDialog.py:67
 msgid "Locations available:"
 msgstr ""
 
@@ -1962,7 +1997,7 @@
 msgid "Logarithm to base 10"
 msgstr ""
 
-#: ../connectors/PYRO/__init__.py:55
+#: ../connectors/PYRO/__init__.py:90
 #, python-format
 msgid "MDNS resolution failure for '%s'\n"
 msgstr ""
@@ -1979,7 +2014,7 @@
 msgid "Master"
 msgstr ""
 
-#: ../ConfigTreeNode.py:500
+#: ../ConfigTreeNode.py:514
 #, python-format
 msgid "Max count (%d) reached for this confnode of type %s "
 msgstr ""
@@ -1996,7 +2031,7 @@
 msgid "Memory"
 msgstr ""
 
-#: ../IDEFrame.py:572
+#: ../IDEFrame.py:574
 msgid "Menu ToolBar"
 msgstr ""
 
@@ -2004,7 +2039,7 @@
 msgid "Microseconds:"
 msgstr ""
 
-#: ../editors/Viewer.py:432
+#: ../editors/Viewer.py:486
 msgid "Middle"
 msgstr ""
 
@@ -2028,31 +2063,23 @@
 msgid "Miscellaneous"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:59
+#: ../dialogs/LDElementDialog.py:63
 msgid "Modifier:"
 msgstr ""
 
-#: ../PLCGenerator.py:732 ../PLCGenerator.py:975
+#: ../PLCGenerator.py:778 ../PLCGenerator.py:1217
 #, python-format
 msgid "More than one connector found corresponding to \"%s\" continuation in \"%s\" POU"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:141
+#: ../dialogs/ActionBlockDialog.py:140
 msgid "Move action down"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:140
+#: ../dialogs/ActionBlockDialog.py:139
 msgid "Move action up"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1532
-msgid "Move debug variable down"
-msgstr ""
-
-#: ../controls/DebugVariablePanel.py:1531
-msgid "Move debug variable up"
-msgstr ""
-
 #: ../controls/CustomEditableListBox.py:43
 msgid "Move down"
 msgstr ""
@@ -2065,23 +2092,23 @@
 msgid "Move element up"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:262
+#: ../editors/ResourceEditor.py:271
 msgid "Move instance down"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:261
+#: ../editors/ResourceEditor.py:270
 msgid "Move instance up"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:233
+#: ../editors/ResourceEditor.py:242
 msgid "Move task down"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:232
+#: ../editors/ResourceEditor.py:241
 msgid "Move task up"
 msgstr ""
 
-#: ../IDEFrame.py:82 ../IDEFrame.py:97 ../IDEFrame.py:127 ../IDEFrame.py:168
+#: ../IDEFrame.py:75 ../IDEFrame.py:90 ../IDEFrame.py:120 ../IDEFrame.py:161
 msgid "Move the view"
 msgstr ""
 
@@ -2089,11 +2116,11 @@
 msgid "Move up"
 msgstr ""
 
-#: ../controls/VariablePanel.py:383 ../c_ext/CFileEditor.py:520
+#: ../editors/CodeFileEditor.py:643 ../controls/VariablePanel.py:443
 msgid "Move variable down"
 msgstr ""
 
-#: ../controls/VariablePanel.py:382 ../c_ext/CFileEditor.py:519
+#: ../editors/CodeFileEditor.py:642 ../controls/VariablePanel.py:442
 msgid "Move variable up"
 msgstr ""
 
@@ -2109,19 +2136,18 @@
 msgid "My Computer:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50 ../editors/ResourceEditor.py:68
-#: ../editors/ResourceEditor.py:77
+#: ../editors/ResourceEditor.py:68 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
 msgid "Name"
 msgstr ""
 
-#: ../Beremiz_service.py:386
+#: ../Beremiz_service.py:300
 msgid "Name must not be null!"
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:65 ../dialogs/FBDVariableDialog.py:89
-#: ../dialogs/LDElementDialog.py:88 ../dialogs/SFCStepDialog.py:51
-#: ../dialogs/FBDBlockDialog.py:70
+#: ../dialogs/SFCStepDialog.py:55 ../dialogs/FBDBlockDialog.py:83
+#: ../dialogs/ConnectionDialog.py:75
 msgid "Name:"
 msgstr ""
 
@@ -2129,12 +2155,12 @@
 msgid "Natural logarithm"
 msgstr ""
 
-#: ../editors/Viewer.py:402 ../dialogs/LDElementDialog.py:67
+#: ../dialogs/LDElementDialog.py:75 ../editors/Viewer.py:456
 msgid "Negated"
 msgstr ""
 
-#: ../Beremiz.py:309 ../Beremiz.py:344 ../PLCOpenEditor.py:106
-#: ../PLCOpenEditor.py:148
+#: ../PLCOpenEditor.py:96 ../PLCOpenEditor.py:138 ../Beremiz.py:314
+#: ../Beremiz.py:349
 msgid "New"
 msgstr ""
 
@@ -2142,58 +2168,55 @@
 msgid "New item"
 msgstr ""
 
-#: ../editors/Viewer.py:401
+#: ../editors/Viewer.py:455
 msgid "No Modifier"
 msgstr ""
 
-#: ../PLCControler.py:3054
-msgid "No PLC project found"
-msgstr ""
-
-#: ../ProjectController.py:1513
+#: ../ProjectController.py:1662
 msgid "No PLC to transfer (did build succeed ?)\n"
 msgstr ""
 
-#: ../PLCGenerator.py:1360
+#: ../PLCGenerator.py:1608
 #, python-format
 msgid "No body defined in \"%s\" POU"
 msgstr ""
 
-#: ../PLCGenerator.py:751 ../PLCGenerator.py:984
+#: ../PLCGenerator.py:797 ../PLCGenerator.py:1227
 #, python-format
 msgid "No connector found corresponding to \"%s\" continuation in \"%s\" POU"
 msgstr ""
 
-#: ../PLCOpenEditor.py:349
+#: ../PLCOpenEditor.py:340
 msgid ""
 "No documentation available.\n"
 "Coming soon."
 msgstr ""
 
-#: ../PLCGenerator.py:773
+#: ../PLCGenerator.py:819
 #, python-format
 msgid "No informations found for \"%s\" block"
 msgstr ""
 
-#: ../plcopen/structures.py:166
-msgid "No output variable found"
+#: ../PLCGenerator.py:1183
+#, python-format
+msgid "No output %s variable found in block %s in POU %s. Connection must be broken"
 msgstr ""
 
 #: ../controls/SearchResultPanel.py:169
 msgid "No search results available."
 msgstr ""
 
-#: ../svgui/svgui.py:98
+#: ../svgui/svgui.py:107
 #, python-format
 msgid "No such SVG file: %s\n"
 msgstr ""
 
-#: ../canfestival/config_utils.py:632
+#: ../canfestival/config_utils.py:633
 #, python-format
 msgid "No such index/subindex (%x,%x) (variable %s)"
 msgstr ""
 
-#: ../canfestival/config_utils.py:361
+#: ../canfestival/config_utils.py:362
 #, python-format
 msgid "No such index/subindex (%x,%x) in ID : %d (variable %s)"
 msgstr ""
@@ -2202,25 +2225,25 @@
 msgid "No valid value selected!"
 msgstr ""
 
-#: ../PLCGenerator.py:1358
+#: ../PLCGenerator.py:1606
 #, python-format
 msgid "No variable defined in \"%s\" POU"
 msgstr ""
 
-#: ../canfestival/config_utils.py:354
+#: ../canfestival/config_utils.py:355
 #, python-format
 msgid "Non existing node ID : %d (variable %s)"
 msgstr ""
 
-#: ../controls/VariablePanel.py:69
+#: ../controls/VariablePanel.py:64
 msgid "Non-Retain"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:62
+#: ../dialogs/LDElementDialog.py:75
 msgid "Normal"
 msgstr ""
 
-#: ../canfestival/config_utils.py:383
+#: ../canfestival/config_utils.py:384
 #, python-format
 msgid "Not PDO mappable variable : '%s' (ID:%d,Idx:%x,sIdx:%x))"
 msgstr ""
@@ -2229,7 +2252,7 @@
 msgid "Not equal to"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:80
+#: ../dialogs/SFCDivergenceDialog.py:78
 msgid "Number of sequences:"
 msgstr ""
 
@@ -2237,13 +2260,13 @@
 msgid "Numerical"
 msgstr ""
 
-#: ../plcopen/structures.py:246
+#: ../plcopen/definitions.py:38
 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 ""
 
-#: ../plcopen/structures.py:241
+#: ../plcopen/definitions.py:37
 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."
@@ -2253,28 +2276,28 @@
 msgid "Only Elements"
 msgstr ""
 
-#: ../Beremiz.py:311 ../Beremiz.py:345 ../PLCOpenEditor.py:108
-#: ../PLCOpenEditor.py:149
+#: ../PLCOpenEditor.py:98 ../PLCOpenEditor.py:139 ../Beremiz.py:316
+#: ../Beremiz.py:350
 msgid "Open"
 msgstr ""
 
-#: ../svgui/svgui.py:107
+#: ../svgui/svgui.py:116
 msgid "Open Inkscape"
 msgstr ""
 
-#: ../ProjectController.py:1565
+#: ../ProjectController.py:1714
 msgid "Open a file explorer to manage project files"
 msgstr ""
 
-#: ../wxglade_hmi/wxglade_hmi.py:109
+#: ../wxglade_hmi/wxglade_hmi.py:114
 msgid "Open wxGlade"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
+#: ../controls/VariablePanel.py:53 ../controls/VariablePanel.py:54
 msgid "Option"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:76
+#: ../dialogs/FindInPouDialog.py:82
 msgid "Options"
 msgstr ""
 
@@ -2286,9 +2309,9 @@
 msgid "Other Profile"
 msgstr ""
 
-#: ../controls/VariablePanel.py:76 ../editors/Viewer.py:1411
-#: ../dialogs/BrowseLocationsDialog.py:36 ../dialogs/FBDVariableDialog.py:35
-#: ../dialogs/SFCStepDialog.py:65
+#: ../dialogs/SFCStepDialog.py:70 ../dialogs/FBDVariableDialog.py:39
+#: ../dialogs/BrowseLocationsDialog.py:36 ../editors/Viewer.py:1554
+#: ../controls/VariablePanel.py:71
 msgid "Output"
 msgstr ""
 
@@ -2300,7 +2323,7 @@
 msgid "PDO Transmit"
 msgstr ""
 
-#: ../plcopen/structures.py:268
+#: ../plcopen/definitions.py:42
 msgid ""
 "PID\n"
 "The PID (proportional, Integral, Derivative) function block provides the classical three term controller for closed loop control."
@@ -2310,35 +2333,56 @@
 msgid "PLC :\n"
 msgstr ""
 
-#: ../Beremiz.py:425
+#: ../Beremiz.py:441
 msgid "PLC Log"
 msgstr ""
 
-#: ../PLCOpenEditor.py:294 ../PLCOpenEditor.py:370
+#: ../ProjectController.py:930
+msgid "PLC code generation failed !\n"
+msgstr ""
+
+#: ../PLCOpenEditor.py:189 ../PLCOpenEditor.py:302
+#, python-format
+msgid ""
+"PLC syntax error at line %d:\n"
+"%s"
+msgstr ""
+
+#: ../PLCOpenEditor.py:285 ../PLCOpenEditor.py:361
 msgid "PLCOpen files (*.xml)|*.xml|All files|*.*"
 msgstr ""
 
-#: ../PLCOpenEditor.py:156 ../PLCOpenEditor.py:212
+#: ../PLCOpenEditor.py:146 ../PLCOpenEditor.py:202
 msgid "PLCOpenEditor"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:98
+#: ../dialogs/PouDialog.py:100
 msgid "POU Name"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:56
+#: ../dialogs/PouDialog.py:58
 msgid "POU Name:"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:100
+#: ../dialogs/PouDialog.py:102
 msgid "POU Type"
 msgstr ""
 
-#: ../dialogs/PouDialog.py:63
+#: ../dialogs/PouDialog.py:65
 msgid "POU Type:"
 msgstr ""
 
-#: ../Beremiz.py:324 ../PLCOpenEditor.py:122
+#: ../connectors/PYRO/__init__.py:41
+#, python-format
+msgid "PYRO connecting to URI : %s\n"
+msgstr ""
+
+#: ../connectors/PYRO/__init__.py:57
+#, python-format
+msgid "PYRO using certificates in '%s' \n"
+msgstr ""
+
+#: ../PLCOpenEditor.py:112 ../Beremiz.py:329
 msgid "Page Setup"
 msgstr ""
 
@@ -2346,20 +2390,20 @@
 msgid "Page Size (optional):"
 msgstr ""
 
-#: ../IDEFrame.py:2492
+#: ../IDEFrame.py:2567
 #, python-format
 msgid "Page: %d"
 msgstr ""
 
-#: ../controls/PouInstanceVariablesPanel.py:48
+#: ../controls/PouInstanceVariablesPanel.py:124
 msgid "Parent instance"
 msgstr ""
 
-#: ../IDEFrame.py:355 ../IDEFrame.py:407 ../editors/Viewer.py:537
+#: ../editors/Viewer.py:594 ../IDEFrame.py:348 ../IDEFrame.py:402
 msgid "Paste"
 msgstr ""
 
-#: ../IDEFrame.py:1776
+#: ../IDEFrame.py:1833
 msgid "Paste POU"
 msgstr ""
 
@@ -2367,17 +2411,20 @@
 msgid "Pattern to search:"
 msgstr ""
 
-#: ../dialogs/LDPowerRailDialog.py:64
+#: ../dialogs/LDPowerRailDialog.py:72
 msgid "Pin number:"
 msgstr ""
 
-#: ../editors/Viewer.py:2363 ../editors/Viewer.py:2670
+#: ../editors/Viewer.py:2672 ../editors/Viewer.py:2916
 #: ../editors/SFCViewer.py:696
 msgid "Please choose a target"
 msgstr ""
 
-#: ../editors/Viewer.py:2186 ../editors/Viewer.py:2188
-#: ../editors/Viewer.py:2706 ../editors/Viewer.py:2708
+#: ../editors/TextViewer.py:261
+msgid "Please enter a block name"
+msgstr ""
+
+#: ../editors/Viewer.py:2542 ../editors/Viewer.py:2953
 msgid "Please enter comment text"
 msgstr ""
 
@@ -2391,43 +2438,36 @@
 msgid "Please enter value for a \"%s\" variable:"
 msgstr ""
 
-#: ../Beremiz_service.py:371
+#: ../Beremiz_service.py:287
 msgid "Port number must be 0 <= port <= 65535!"
 msgstr ""
 
-#: ../Beremiz_service.py:371
+#: ../Beremiz_service.py:287
 msgid "Port number must be an integer!"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:105
-msgid "Position:"
-msgstr ""
-
-#: ../editors/Viewer.py:475
+#: ../editors/Viewer.py:532 ../editors/Viewer.py:2085
 msgid "Power Rail"
 msgstr ""
 
-#: ../dialogs/LDPowerRailDialog.py:36
+#: ../dialogs/LDPowerRailDialog.py:49
 msgid "Power Rail Properties"
 msgstr ""
 
-#: ../Beremiz.py:326 ../PLCOpenEditor.py:124
+#: ../PLCOpenEditor.py:114 ../Beremiz.py:331
 msgid "Preview"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:93 ../dialogs/LDPowerRailDialog.py:78
-#: ../dialogs/ConnectionDialog.py:78 ../dialogs/FBDVariableDialog.py:97
-#: ../dialogs/SFCTransitionDialog.py:96 ../dialogs/LDElementDialog.py:101
-#: ../dialogs/SFCStepDialog.py:79 ../dialogs/FBDBlockDialog.py:103
+#: ../dialogs/BlockPreviewDialog.py:57
 msgid "Preview:"
 msgstr ""
 
-#: ../Beremiz.py:328 ../Beremiz.py:348 ../PLCOpenEditor.py:126
-#: ../PLCOpenEditor.py:152
+#: ../PLCOpenEditor.py:116 ../PLCOpenEditor.py:142 ../Beremiz.py:333
+#: ../Beremiz.py:353
 msgid "Print"
 msgstr ""
 
-#: ../IDEFrame.py:1038
+#: ../IDEFrame.py:1050
 msgid "Print preview"
 msgstr ""
 
@@ -2435,11 +2475,11 @@
 msgid "Priority"
 msgstr ""
 
-#: ../dialogs/SFCTransitionDialog.py:83
+#: ../dialogs/SFCTransitionDialog.py:88
 msgid "Priority:"
 msgstr ""
 
-#: ../runtime/PLCObject.py:318
+#: ../runtime/PLCObject.py:369
 #, python-format
 msgid "Problem starting PLC : error %d"
 msgstr ""
@@ -2456,23 +2496,24 @@
 msgid "Product Version (required):"
 msgstr ""
 
-#: ../IDEFrame.py:1848 ../dialogs/SearchInProjectDialog.py:46
+#: ../dialogs/SearchInProjectDialog.py:46 ../IDEFrame.py:1712
+#: ../IDEFrame.py:1909
 msgid "Program"
 msgstr ""
 
-#: ../PLCOpenEditor.py:339
+#: ../PLCOpenEditor.py:330
 msgid "Program was successfully generated!"
 msgstr ""
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96
 msgid "Programs"
 msgstr ""
 
-#: ../editors/Viewer.py:230
+#: ../editors/Viewer.py:238
 msgid "Programs can't be used by other POUs!"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:557
+#: ../controls/ProjectPropertiesPanel.py:84 ../IDEFrame.py:559
 msgid "Project"
 msgstr ""
 
@@ -2481,7 +2522,7 @@
 msgid "Project '%s':"
 msgstr ""
 
-#: ../ProjectController.py:1564
+#: ../ProjectController.py:1713
 msgid "Project Files"
 msgstr ""
 
@@ -2493,36 +2534,36 @@
 msgid "Project Version (optional):"
 msgstr ""
 
-#: ../PLCControler.py:3041
+#: ../PLCControler.py:3157
 msgid ""
 "Project file syntax error:\n"
 "\n"
 msgstr ""
 
-#: ../editors/ProjectNodeEditor.py:14 ../dialogs/ProjectDialog.py:32
+#: ../dialogs/ProjectDialog.py:32 ../editors/ProjectNodeEditor.py:14
 msgid "Project properties"
 msgstr ""
 
-#: ../ConfigTreeNode.py:526
+#: ../ConfigTreeNode.py:540
 #, python-format
 msgid "Project tree layout do not match confnode.xml %s!=%s "
 msgstr ""
 
-#: ../dialogs/ConnectionDialog.py:96
+#: ../dialogs/ConnectionDialog.py:94
 msgid "Propagate Name"
 msgstr ""
 
-#: ../PLCControler.py:96
+#: ../PLCControler.py:97
 msgid "Properties"
 msgstr ""
 
-#: ../plcopen/structures.py:236
+#: ../plcopen/definitions.py:36
 msgid ""
 "Pulse timer\n"
 "The pulse timer can be used to generate output pulses of a given time duration."
 msgstr ""
 
-#: ../py_ext/PythonEditor.py:61
+#: ../py_ext/PythonEditor.py:57
 msgid "Python code"
 msgstr ""
 
@@ -2530,54 +2571,54 @@
 msgid "Python file"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38
 msgid "Qualifier"
 msgstr ""
 
-#: ../Beremiz_service.py:333 ../Beremiz.py:331 ../PLCOpenEditor.py:132
+#: ../PLCOpenEditor.py:122 ../Beremiz.py:336 ../Beremiz_service.py:252
 msgid "Quit"
 msgstr ""
 
-#: ../plcopen/structures.py:201
+#: ../plcopen/definitions.py:29
 msgid ""
 "RS bistable\n"
 "The RS bistable is a latch where the Reset dominates."
 msgstr ""
 
-#: ../plcopen/structures.py:273
+#: ../plcopen/definitions.py:43
 msgid ""
 "Ramp\n"
 "The RAMP function block is modelled on example given in the standard."
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1462 ../editors/GraphicViewer.py:89
+#: ../controls/DebugVariablePanel/DebugVariablePanel.py:225
 msgid "Range:"
 msgstr ""
 
-#: ../ProjectController.py:1560
+#: ../ProjectController.py:1709
 msgid "Raw IEC code"
 msgstr ""
 
-#: ../plcopen/structures.py:253
+#: ../plcopen/definitions.py:39
 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 ""
 
-#: ../Beremiz.py:1072
+#: ../Beremiz.py:1109
 #, python-format
 msgid "Really delete node '%s'?"
 msgstr ""
 
-#: ../IDEFrame.py:345 ../IDEFrame.py:403
+#: ../IDEFrame.py:338 ../IDEFrame.py:398
 msgid "Redo"
 msgstr ""
 
-#: ../dialogs/SFCTransitionDialog.py:57 ../dialogs/SFCTransitionDialog.py:135
+#: ../dialogs/SFCTransitionDialog.py:73
 msgid "Reference"
 msgstr ""
 
-#: ../IDEFrame.py:413 ../dialogs/DiscoveryDialog.py:105
+#: ../dialogs/DiscoveryDialog.py:105 ../IDEFrame.py:408
 msgid "Refresh"
 msgstr ""
 
@@ -2585,11 +2626,11 @@
 msgid "Regular expression"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:91
+#: ../dialogs/FindInPouDialog.py:97
 msgid "Regular expressions"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1938 ../editors/Viewer.py:1388
+#: ../editors/Viewer.py:1531
 msgid "Release value"
 msgstr ""
 
@@ -2597,19 +2638,23 @@
 msgid "Remainder (modulo)"
 msgstr ""
 
-#: ../Beremiz.py:1073
+#: ../Beremiz.py:1110
 #, python-format
 msgid "Remove %s node"
 msgstr ""
 
-#: ../dialogs/ActionBlockDialog.py:139
+#: ../IDEFrame.py:2373
+msgid "Remove Datatype"
+msgstr ""
+
+#: ../IDEFrame.py:2378
+msgid "Remove Pou"
+msgstr ""
+
+#: ../dialogs/ActionBlockDialog.py:138
 msgid "Remove action"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:1530
-msgid "Remove debug variable"
-msgstr ""
-
 #: ../editors/DataTypeEditor.py:352
 msgid "Remove element"
 msgstr ""
@@ -2618,7 +2663,7 @@
 msgid "Remove file from left folder"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:260
+#: ../editors/ResourceEditor.py:269
 msgid "Remove instance"
 msgstr ""
 
@@ -2626,15 +2671,15 @@
 msgid "Remove slave"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:231
+#: ../editors/ResourceEditor.py:240
 msgid "Remove task"
 msgstr ""
 
-#: ../controls/VariablePanel.py:381 ../c_ext/CFileEditor.py:518
+#: ../editors/CodeFileEditor.py:641 ../controls/VariablePanel.py:441
 msgid "Remove variable"
 msgstr ""
 
-#: ../IDEFrame.py:1852
+#: ../IDEFrame.py:1913
 msgid "Rename"
 msgstr ""
 
@@ -2642,6 +2687,10 @@
 msgid "Replace File"
 msgstr ""
 
+#: ../editors/Viewer.py:498
+msgid "Replace Wire by connections"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:89
 msgid "Replacement (within)"
 msgstr ""
@@ -2650,11 +2699,11 @@
 msgid "Reset"
 msgstr ""
 
-#: ../editors/Viewer.py:521
+#: ../editors/Viewer.py:578
 msgid "Reset Execution Order"
 msgstr ""
 
-#: ../IDEFrame.py:428
+#: ../IDEFrame.py:423
 msgid "Reset Perspective"
 msgstr ""
 
@@ -2662,35 +2711,31 @@
 msgid "Reset search result"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:137
-msgid "Reset zoom and offset"
-msgstr ""
-
-#: ../PLCControler.py:96
+#: ../PLCControler.py:97 ../Beremiz.py:1041
 msgid "Resources"
 msgstr ""
 
-#: ../controls/VariablePanel.py:67
+#: ../controls/VariablePanel.py:62
 msgid "Retain"
 msgstr ""
 
-#: ../controls/VariablePanel.py:354
+#: ../controls/VariablePanel.py:414
 msgid "Return Type:"
 msgstr ""
 
-#: ../editors/Viewer.py:429
+#: ../editors/Viewer.py:483
 msgid "Right"
 msgstr ""
 
-#: ../dialogs/LDPowerRailDialog.py:60
+#: ../dialogs/LDPowerRailDialog.py:62
 msgid "Right PowerRail"
 msgstr ""
 
-#: ../editors/Viewer.py:403 ../dialogs/LDElementDialog.py:80
+#: ../dialogs/LDElementDialog.py:77 ../editors/Viewer.py:457
 msgid "Rising Edge"
 msgstr ""
 
-#: ../plcopen/structures.py:211
+#: ../plcopen/definitions.py:31
 msgid ""
 "Rising edge detector\n"
 "The output produces a single pulse when a rising edge is detected."
@@ -2708,12 +2753,16 @@
 msgid "Rounding up/down"
 msgstr ""
 
-#: ../ProjectController.py:1528
+#: ../ProjectController.py:1677
 msgid "Run"
 msgstr ""
 
-#: ../ProjectController.py:865 ../ProjectController.py:874
-msgid "Runtime extensions C code generation failed !\n"
+#: ../ProjectController.py:975
+msgid "Runtime IO extensions C code generation failed !\n"
+msgstr ""
+
+#: ../ProjectController.py:984
+msgid "Runtime library extensions C code generation failed !\n"
 msgstr ""
 
 #: ../canfestival/SlaveEditor.py:38 ../canfestival/NetworkEditor.py:59
@@ -2724,11 +2773,11 @@
 msgid "SDO Server"
 msgstr ""
 
-#: ../controls/ProjectPropertiesPanel.py:143 ../dialogs/PouDialog.py:36
+#: ../dialogs/PouDialog.py:36 ../controls/ProjectPropertiesPanel.py:143
 msgid "SFC"
 msgstr ""
 
-#: ../plcopen/structures.py:196
+#: ../plcopen/definitions.py:28
 msgid ""
 "SR bistable\n"
 "The SR bistable is a latch where the Set dominates."
@@ -2739,11 +2788,11 @@
 msgid "ST"
 msgstr ""
 
-#: ../PLCOpenEditor.py:326
+#: ../PLCOpenEditor.py:317
 msgid "ST files (*.st)|*.st|All files|*.*"
 msgstr ""
 
-#: ../svgui/svgui.py:92
+#: ../svgui/svgui.py:101
 msgid "SVG files (*.svg)|*.svg|All files|*.*"
 msgstr ""
 
@@ -2751,16 +2800,16 @@
 msgid "SVGUI"
 msgstr ""
 
-#: ../Beremiz.py:315 ../Beremiz.py:346 ../PLCOpenEditor.py:115
-#: ../PLCOpenEditor.py:150
+#: ../PLCOpenEditor.py:105 ../PLCOpenEditor.py:140 ../Beremiz.py:320
+#: ../Beremiz.py:351
 msgid "Save"
 msgstr ""
 
-#: ../Beremiz.py:347 ../PLCOpenEditor.py:117 ../PLCOpenEditor.py:151
+#: ../PLCOpenEditor.py:107 ../PLCOpenEditor.py:141 ../Beremiz.py:352
 msgid "Save As..."
 msgstr ""
 
-#: ../Beremiz.py:317
+#: ../Beremiz.py:322
 msgid "Save as"
 msgstr ""
 
@@ -2768,12 +2817,11 @@
 msgid "Scope"
 msgstr ""
 
-#: ../IDEFrame.py:596 ../dialogs/SearchInProjectDialog.py:105
+#: ../dialogs/SearchInProjectDialog.py:105 ../IDEFrame.py:598
 msgid "Search"
 msgstr ""
 
-#: ../IDEFrame.py:365 ../IDEFrame.py:409
-#: ../dialogs/SearchInProjectDialog.py:52
+#: ../dialogs/SearchInProjectDialog.py:52 ../IDEFrame.py:358 ../IDEFrame.py:404
 msgid "Search in Project"
 msgstr ""
 
@@ -2781,24 +2829,25 @@
 msgid "Seconds:"
 msgstr ""
 
-#: ../IDEFrame.py:371
+#: ../IDEFrame.py:364
 msgid "Select All"
 msgstr ""
 
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:323 ../editors/Viewer.py:275
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
+#: ../controls/VariablePanel.py:340
 msgid "Select a variable class:"
 msgstr ""
 
-#: ../ProjectController.py:1039
+#: ../ProjectController.py:1126
 msgid "Select an editor:"
 msgstr ""
 
-#: ../controls/PouInstanceVariablesPanel.py:209
+#: ../controls/PouInstanceVariablesPanel.py:276
 msgid "Select an instance"
 msgstr ""
 
-#: ../IDEFrame.py:580
+#: ../IDEFrame.py:582
 msgid "Select an object"
 msgstr ""
 
@@ -2806,15 +2855,15 @@
 msgid "Selection"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:62
+#: ../dialogs/SFCDivergenceDialog.py:65
 msgid "Selection Convergence"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:55
+#: ../dialogs/SFCDivergenceDialog.py:64
 msgid "Selection Divergence"
 msgstr ""
 
-#: ../plcopen/structures.py:206
+#: ../plcopen/definitions.py:30
 msgid ""
 "Semaphore\n"
 "The semaphore provides a mechanism to allow software elements mutually exclusive access to certain ressources."
@@ -2824,7 +2873,7 @@
 msgid "Services available:"
 msgstr ""
 
-#: ../dialogs/LDElementDialog.py:72
+#: ../dialogs/LDElementDialog.py:76
 msgid "Set"
 msgstr ""
 
@@ -2836,7 +2885,7 @@
 msgid "Shift right"
 msgstr ""
 
-#: ../ProjectController.py:1554
+#: ../ProjectController.py:1703
 msgid "Show IEC code generated by PLCGenerator"
 msgstr ""
 
@@ -2848,15 +2897,15 @@
 msgid "Show Master generated by config_utils"
 msgstr ""
 
-#: ../ProjectController.py:1552
+#: ../ProjectController.py:1701
 msgid "Show code"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:74
+#: ../dialogs/SFCDivergenceDialog.py:67
 msgid "Simultaneous Convergence"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:68
+#: ../dialogs/SFCDivergenceDialog.py:66
 msgid "Simultaneous Divergence"
 msgstr ""
 
@@ -2868,48 +2917,52 @@
 msgid "Single"
 msgstr ""
 
+#: ../targets/toolchain_makefile.py:112
+msgid "Source didn't change, no build.\n"
+msgstr ""
+
 #: ../plcopen/iec_std.csv:23
 msgid "Square root (base 2)"
 msgstr ""
 
-#: ../plcopen/structures.py:192
+#: ../plcopen/definitions.py:21
 msgid "Standard function blocks"
 msgstr ""
 
-#: ../Beremiz_service.py:321 ../ProjectController.py:1530
+#: ../ProjectController.py:1679 ../Beremiz_service.py:240
 msgid "Start PLC"
 msgstr ""
 
-#: ../ProjectController.py:843
+#: ../ProjectController.py:922
 #, python-format
 msgid "Start build in %s\n"
 msgstr ""
 
-#: ../ProjectController.py:1341
+#: ../ProjectController.py:1483
 msgid "Starting PLC\n"
 msgstr ""
 
-#: ../Beremiz.py:435
+#: ../Beremiz.py:451
 msgid "Status ToolBar"
 msgstr ""
 
-#: ../editors/Viewer.py:492
+#: ../editors/Viewer.py:549 ../editors/Viewer.py:2059
 msgid "Step"
 msgstr ""
 
-#: ../ProjectController.py:1533
+#: ../ProjectController.py:1682
 msgid "Stop"
 msgstr ""
 
-#: ../Beremiz_service.py:322
+#: ../Beremiz_service.py:241
 msgid "Stop PLC"
 msgstr ""
 
-#: ../ProjectController.py:1535
+#: ../ProjectController.py:1684
 msgid "Stop Running PLC"
 msgstr ""
 
-#: ../ProjectController.py:1318
+#: ../ProjectController.py:1455
 msgid "Stopping debugger...\n"
 msgstr ""
 
@@ -2925,7 +2978,7 @@
 msgid "Subtraction"
 msgstr ""
 
-#: ../ProjectController.py:942
+#: ../ProjectController.py:961
 msgid "Successfully built.\n"
 msgstr ""
 
@@ -2937,15 +2990,15 @@
 msgid "Tangent"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:77
+#: ../editors/ResourceEditor.py:83
 msgid "Task"
 msgstr ""
 
-#: ../editors/ResourceEditor.py:226
+#: ../editors/ResourceEditor.py:235
 msgid "Tasks:"
 msgstr ""
 
-#: ../controls/VariablePanel.py:78
+#: ../controls/VariablePanel.py:73
 msgid "Temp"
 msgstr ""
 
@@ -2960,16 +3013,16 @@
 msgid "The group of block must be coherent!"
 msgstr ""
 
-#: ../IDEFrame.py:974 ../Beremiz.py:590
+#: ../Beremiz.py:616 ../IDEFrame.py:986
 msgid "There are changes, do you want to save?"
 msgstr ""
 
-#: ../IDEFrame.py:1590 ../IDEFrame.py:1609
+#: ../IDEFrame.py:1621 ../IDEFrame.py:1640
 #, python-format
 msgid "There is a POU named \"%s\". This could cause a conflict. Do you wish to continue?"
 msgstr ""
 
-#: ../IDEFrame.py:1061
+#: ../IDEFrame.py:1073
 msgid ""
 "There was a problem printing.\n"
 "Perhaps your current printer is not set correctly?"
@@ -2979,10 +3032,6 @@
 msgid "This option isn't available yet!"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:278
-msgid "Tick"
-msgstr ""
-
 #: ../plcopen/iec_std.csv:40
 msgid "Time"
 msgstr ""
@@ -3016,31 +3065,31 @@
 msgid "Time-of-day subtraction"
 msgstr ""
 
-#: ../editors/Viewer.py:431
+#: ../editors/Viewer.py:485
 msgid "Top"
 msgstr ""
 
-#: ../ProjectController.py:1542
+#: ../ProjectController.py:1691
 msgid "Transfer"
 msgstr ""
 
-#: ../ProjectController.py:1544
+#: ../ProjectController.py:1693
 msgid "Transfer PLC"
 msgstr ""
 
-#: ../ProjectController.py:1509
+#: ../ProjectController.py:1658
 msgid "Transfer completed successfully.\n"
 msgstr ""
 
-#: ../ProjectController.py:1511
+#: ../ProjectController.py:1660
 msgid "Transfer failed\n"
 msgstr ""
 
-#: ../editors/Viewer.py:493
+#: ../editors/Viewer.py:550 ../editors/Viewer.py:2060 ../editors/Viewer.py:2089
 msgid "Transition"
 msgstr ""
 
-#: ../PLCGenerator.py:1252
+#: ../PLCGenerator.py:1499
 #, python-format
 msgid "Transition \"%s\" body must contain an output variable or coil referring to its name"
 msgstr ""
@@ -3053,22 +3102,22 @@
 msgid "Transition Name:"
 msgstr ""
 
-#: ../PLCGenerator.py:1340
+#: ../PLCGenerator.py:1588
 #, python-format
 msgid "Transition with content \"%s\" not connected to a next step in \"%s\" POU"
 msgstr ""
 
-#: ../PLCGenerator.py:1331
+#: ../PLCGenerator.py:1579
 #, python-format
 msgid "Transition with content \"%s\" not connected to a previous step in \"%s\" POU"
 msgstr ""
 
-#: ../plcopen/plcopen.py:1447
+#: ../plcopen/plcopen.py:1315
 #, python-format
 msgid "Transition with name %s doesn't exist!"
 msgstr ""
 
-#: ../PLCControler.py:95
+#: ../PLCControler.py:96
 msgid "Transitions"
 msgstr ""
 
@@ -3076,17 +3125,17 @@
 msgid "Triggering"
 msgstr ""
 
-#: ../controls/VariablePanel.py:58 ../controls/VariablePanel.py:59
-#: ../editors/DataTypeEditor.py:50 ../editors/ResourceEditor.py:77
-#: ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38 ../editors/ResourceEditor.py:83
+#: ../editors/DataTypeEditor.py:50 ../controls/VariablePanel.py:53
+#: ../controls/VariablePanel.py:54
 msgid "Type"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:44
+#: ../dialogs/BrowseLocationsDialog.py:43
 msgid "Type and derivated"
 msgstr ""
 
-#: ../canfestival/config_utils.py:335 ../canfestival/config_utils.py:617
+#: ../canfestival/config_utils.py:336 ../canfestival/config_utils.py:618
 #, python-format
 msgid "Type conflict for location \"%s\""
 msgstr ""
@@ -3099,76 +3148,76 @@
 msgid "Type infos:"
 msgstr ""
 
-#: ../dialogs/BrowseLocationsDialog.py:45
+#: ../dialogs/BrowseLocationsDialog.py:44
 msgid "Type strict"
 msgstr ""
 
-#: ../dialogs/SFCDivergenceDialog.py:51 ../dialogs/LDPowerRailDialog.py:51
-#: ../dialogs/BrowseLocationsDialog.py:95 ../dialogs/ConnectionDialog.py:52
-#: ../dialogs/SFCTransitionDialog.py:53 ../dialogs/FBDBlockDialog.py:48
+#: ../dialogs/SFCDivergenceDialog.py:57 ../dialogs/SFCTransitionDialog.py:56
+#: ../dialogs/LDPowerRailDialog.py:55 ../dialogs/BrowseLocationsDialog.py:94
+#: ../dialogs/FBDBlockDialog.py:65 ../dialogs/ConnectionDialog.py:58
 msgid "Type:"
 msgstr ""
 
-#: ../canfestival/config_utils.py:455 ../canfestival/config_utils.py:469
+#: ../canfestival/config_utils.py:456 ../canfestival/config_utils.py:470
 #, python-format
 msgid "Unable to define PDO mapping for node %02x"
 msgstr ""
 
-#: ../targets/Xenomai/__init__.py:14
+#: ../targets/Xenomai/__init__.py:15
 #, python-format
 msgid "Unable to get Xenomai's %s \n"
 msgstr ""
 
-#: ../PLCGenerator.py:904 ../PLCGenerator.py:963
+#: ../PLCGenerator.py:951 ../PLCGenerator.py:1202
 #, python-format
 msgid "Undefined block type \"%s\" in \"%s\" POU"
 msgstr ""
 
-#: ../PLCGenerator.py:252
+#: ../PLCGenerator.py:254
 #, python-format
 msgid "Undefined pou type \"%s\""
 msgstr ""
 
-#: ../IDEFrame.py:343 ../IDEFrame.py:402
+#: ../IDEFrame.py:336 ../IDEFrame.py:397
 msgid "Undo"
 msgstr ""
 
-#: ../ProjectController.py:262
+#: ../ProjectController.py:308
 msgid "Unknown"
 msgstr ""
 
-#: ../editors/Viewer.py:335
+#: ../editors/Viewer.py:389
 #, python-format
 msgid "Unknown variable \"%s\" for this POU!"
 msgstr ""
 
-#: ../ProjectController.py:259 ../ProjectController.py:260
+#: ../ProjectController.py:305 ../ProjectController.py:306
 msgid "Unnamed"
 msgstr ""
 
-#: ../PLCControler.py:305
+#: ../PLCControler.py:636
 #, python-format
 msgid "Unnamed%d"
 msgstr ""
 
-#: ../controls/VariablePanel.py:272
+#: ../controls/VariablePanel.py:275
 #, python-format
 msgid "Unrecognized data size \"%s\""
 msgstr ""
 
-#: ../plcopen/structures.py:221
+#: ../plcopen/definitions.py:33
 msgid ""
 "Up-counter\n"
 "The up-counter can be used to signal when a count has reached a maximum value."
 msgstr ""
 
-#: ../plcopen/structures.py:231
+#: ../plcopen/definitions.py:35
 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 ""
 
-#: ../controls/VariablePanel.py:712 ../editors/DataTypeEditor.py:631
+#: ../editors/DataTypeEditor.py:631 ../controls/VariablePanel.py:780
 msgid "User Data Types"
 msgstr ""
 
@@ -3176,41 +3225,42 @@
 msgid "User Type"
 msgstr ""
 
-#: ../PLCControler.py:94
+#: ../PLCControler.py:95
 msgid "User-defined POUs"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:58 ../dialogs/ActionBlockDialog.py:37
+#: ../dialogs/ActionBlockDialog.py:38
 msgid "Value"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:278
-msgid "Values"
-msgstr ""
-
 #: ../editors/DataTypeEditor.py:258
 msgid "Values:"
 msgstr ""
 
-#: ../controls/DebugVariablePanel.py:58 ../editors/Viewer.py:465
-#: ../dialogs/ActionBlockDialog.py:41
+#: ../dialogs/ActionBlockDialog.py:42 ../editors/Viewer.py:522
+#: ../editors/Viewer.py:2074
 msgid "Variable"
 msgstr ""
 
-#: ../dialogs/FBDVariableDialog.py:47
+#: ../dialogs/FBDVariableDialog.py:63
 msgid "Variable Properties"
 msgstr ""
 
-#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:277
-#: ../editors/TextViewer.py:323 ../editors/Viewer.py:275
+#: ../editors/Viewer.py:284 ../editors/TextViewer.py:304
+#: ../controls/LocationCellEditor.py:97 ../controls/VariablePanel.py:280
+#: ../controls/VariablePanel.py:340
 msgid "Variable class"
 msgstr ""
 
-#: ../editors/TextViewer.py:367 ../editors/Viewer.py:337
+#: ../editors/Viewer.py:391 ../editors/TextViewer.py:385
 msgid "Variable don't belong to this POU!"
 msgstr ""
 
-#: ../controls/VariablePanel.py:77
+#: ../dialogs/LDElementDialog.py:89
+msgid "Variable:"
+msgstr ""
+
+#: ../controls/VariablePanel.py:72
 msgid "Variables"
 msgstr ""
 
@@ -3218,19 +3268,29 @@
 msgid "Vertical:"
 msgstr ""
 
+#: ../connectors/WAMP/__init__.py:88
+#, python-format
+msgid "WAMP connecting to URL : %s\n"
+msgstr ""
+
+#: ../connectors/WAMP/__init__.py:128
+msgid "WAMP connection timeout"
+msgstr ""
+
+#: ../connectors/WAMP/__init__.py:147
+#, python-format
+msgid "WAMP connection to '%s' failed.\n"
+msgstr ""
+
 #: ../wxglade_hmi/wxglade_hmi.py:11
 msgid "WXGLADE GUI"
 msgstr ""
 
-#: ../ProjectController.py:1302
-msgid "Waiting debugger to recover...\n"
-msgstr ""
-
-#: ../editors/LDViewer.py:891 ../dialogs/PouDialog.py:126
+#: ../dialogs/PouDialog.py:128 ../editors/LDViewer.py:891
 msgid "Warning"
 msgstr ""
 
-#: ../ProjectController.py:529
+#: ../ProjectController.py:584
 msgid "Warnings in ST/IL/SFC code generator :\n"
 msgstr ""
 
@@ -3242,7 +3302,7 @@
 msgid "Width:"
 msgstr ""
 
-#: ../dialogs/FindInPouDialog.py:86
+#: ../dialogs/FindInPouDialog.py:92
 msgid "Wrap search"
 msgstr ""
 
@@ -3250,19 +3310,19 @@
 msgid "WxGlade GUI"
 msgstr ""
 
-#: ../svgui/svgui.py:106
+#: ../svgui/svgui.py:115
 msgid ""
 "You don't have write permissions.\n"
 "Open Inkscape anyway ?"
 msgstr ""
 
-#: ../wxglade_hmi/wxglade_hmi.py:108
+#: ../wxglade_hmi/wxglade_hmi.py:113
 msgid ""
 "You don't have write permissions.\n"
 "Open wxGlade anyway ?"
 msgstr ""
 
-#: ../ProjectController.py:224
+#: ../ProjectController.py:268
 msgid ""
 "You must have permission to work on the project\n"
 "Work on a project copy ?"
@@ -3276,8 +3336,7 @@
 msgid "You must select the wire where a contact should be added!"
 msgstr ""
 
-#: ../dialogs/PouNameDialog.py:45 ../dialogs/SFCStepNameDialog.py:47
-#: ../dialogs/SFCStepDialog.py:118
+#: ../dialogs/SFCStepNameDialog.py:47 ../dialogs/PouNameDialog.py:45
 msgid "You must type a name!"
 msgstr ""
 
@@ -3285,25 +3344,21 @@
 msgid "You must type a value!"
 msgstr ""
 
-#: ../IDEFrame.py:419
+#: ../IDEFrame.py:414
 msgid "Zoom"
 msgstr ""
 
-#: ../editors/GraphicViewer.py:97
-msgid "Zoom:"
-msgstr ""
-
-#: ../PLCOpenEditor.py:335
+#: ../PLCOpenEditor.py:326
 #, python-format
 msgid "error: %s\n"
 msgstr ""
 
-#: ../util/ProcessLogger.py:161
+#: ../util/ProcessLogger.py:166
 #, python-format
 msgid "exited with status %s (pid %s)\n"
 msgstr ""
 
-#: ../PLCOpenEditor.py:393 ../PLCOpenEditor.py:395
+#: ../PLCOpenEditor.py:384 ../PLCOpenEditor.py:386
 msgid "file : "
 msgstr ""
 
@@ -3311,7 +3366,7 @@
 msgid "function"
 msgstr ""
 
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:387
 msgid "function : "
 msgstr ""
 
@@ -3319,7 +3374,7 @@
 msgid "functionBlock"
 msgstr ""
 
-#: ../PLCOpenEditor.py:396
+#: ../PLCOpenEditor.py:387
 msgid "line : "
 msgstr ""
 
@@ -3339,7 +3394,7 @@
 msgid "string right of"
 msgstr ""
 
-#: ../PLCOpenEditor.py:333
+#: ../PLCOpenEditor.py:324
 #, python-format
 msgid "warning: %s\n"
 msgstr ""
@@ -3376,15 +3431,36 @@
 msgid "CAN_Driver"
 msgstr ""
 
-msgid "CExtension"
+msgid "Generic"
+msgstr ""
+
+msgid "Command"
+msgstr ""
+
+msgid "Xenomai"
+msgstr ""
+
+msgid "XenoConfig"
+msgstr ""
+
+msgid "Compiler"
 msgstr ""
 
 msgid "CFLAGS"
 msgstr ""
 
+msgid "Linker"
+msgstr ""
+
 msgid "LDFLAGS"
 msgstr ""
 
+msgid "Linux"
+msgstr ""
+
+msgid "Win32"
+msgstr ""
+
 msgid "BaseParams"
 msgstr ""
 
@@ -3394,24 +3470,6 @@
 msgid "Enabled"
 msgstr ""
 
-msgid "Linux"
-msgstr ""
-
-msgid "Compiler"
-msgstr ""
-
-msgid "Linker"
-msgstr ""
-
-msgid "Win32"
-msgstr ""
-
-msgid "Xenomai"
-msgstr ""
-
-msgid "XenoConfig"
-msgstr ""
-
 msgid "BeremizRoot"
 msgstr ""
 
@@ -3426,3 +3484,33 @@
 
 msgid "Disable_Extensions"
 msgstr ""
+
+msgid "%(codefile_name)s"
+msgstr ""
+
+msgid "variables"
+msgstr ""
+
+msgid "variable"
+msgstr ""
+
+msgid "name"
+msgstr ""
+
+msgid "type"
+msgstr ""
+
+msgid "class"
+msgstr ""
+
+msgid "initial"
+msgstr ""
+
+msgid "desc"
+msgstr ""
+
+msgid "onchange"
+msgstr ""
+
+msgid "opts"
+msgstr ""
Binary file locale/ru_RU/LC_MESSAGES/Beremiz.mo has changed