MqttMonitor/i18n/mqttmonitor_ru.ts

branch
eric7
changeset 143
51bc5bcc672a
parent 132
b4fde9ee3d83
--- a/MqttMonitor/i18n/mqttmonitor_ru.ts	Sat Jan 06 13:11:01 2024 +0100
+++ b/MqttMonitor/i18n/mqttmonitor_ru.ts	Fri Apr 19 15:15:01 2024 +0200
@@ -1,1888 +1,1850 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.1" language="ru_RU">
-<context>
-    <name>MqttConnackMessage</name>
-    <message>
-        <location filename="../MqttClient.py" line="826"/>
-        <source>Connection Accepted.</source>
-        <translation>Соединение установлено.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="828"/>
-        <source>Connection Refused: unacceptable protocol version.</source>
-        <translation>Соединение отклонено: неприемлемая версия протокола.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="832"/>
-        <source>Connection Refused: identifier rejected.</source>
-        <translation>Соединение отклонено: идентификатор отклонен.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="836"/>
-        <source>Connection Refused: broker unavailable.</source>
-        <translation>Соединение отклонено: брокер недоступен.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="840"/>
-        <source>Connection Refused: bad user name or password.</source>
-        <translation>Соединение отклонено: неправильное имя пользователя или пароль.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="844"/>
-        <source>Connection Refused: not authorised.</source>
-        <translation>Соединение отклонено: нет авторизации.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="848"/>
-        <source>Connection Refused: unknown reason.</source>
-        <translation>Соединение отклонено: неизвестная причина.</translation>
-    </message>
-</context>
-<context>
+  <context>
     <name>MqttConnectionOptionsDialog</name>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>MQTT Connection Options</source>
-        <translation>Параметры подключения MQTT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>MQTT Connection Options</source>
+      <translation>Параметры подключения MQTT</translation>
+    </message>
+    <message>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>General</source>
+      <translation>Главное</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>General</source>
-        <translation>Главное</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Client ID:</source>
+      <translation>ID клиента:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Client ID:</source>
-        <translation>ID клиента:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the ID string for this client</source>
+      <translation>Введите ID для этого клиента</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the ID string for this client</source>
-        <translation>Введите ID для этого клиента</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Press to generate a client ID</source>
+      <translation>Генерировать ID клиента</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Press to generate a client ID</source>
-        <translation>Генерировать ID клиента</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Generate</source>
+      <translation>Генерировать</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Generate</source>
-        <translation>Генерировать</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>MQTT Protocol</source>
+      <translation>Протокол MQTT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>MQTT Protocol</source>
-        <translation>Протокол MQTT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to use the MQTT 3.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to use the MQTT 3.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>v 3.1</source>
+      <translation>вер 3.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>v 3.1</source>
-        <translation>вер 3.1</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to use the MQTT 3.1.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1.1</translation>
+    </message>
+    <message>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>v 3.1.1</source>
+      <translation>вер. 3.1.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to use the MQTT 3.1.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1.1</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to use the MQTT 5.0 protocol</source>
+      <translation>Выбор протокола MQTT 5.0</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>v 3.1.1</source>
-        <translation>вер. 3.1.1</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to use the MQTT 5.0 protocol</source>
-        <translation>Выбор протокола MQTT 5.0</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>v 5.0</source>
-        <translation>вер. 5.0</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>v 5.0</source>
+      <translation>вер. 5.0</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Connection Timeout:</source>
-        <translation>Время ожидания соединения:</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the connection timeout in seconds</source>
-        <translation>Задайте время ожидания соединения, в секундах</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Connection Timeout:</source>
+      <translation>Время ожидания соединения:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source> s</source>
-        <translation> сек</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the connection timeout in seconds</source>
+      <translation>Задайте время ожидания соединения, в секундах</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Keep Alive Interval:</source>
-        <translation>Интервал удержания:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source> s</source>
+      <translation> сек</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the keep alive interval in seconds</source>
-        <translation>Задайте интервал удержания, в секундах</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Keep Alive Interval:</source>
+      <translation>Интервал удержания:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to start with a clean session</source>
-        <translation>Разрешить начинать чистый сеанс</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the keep alive interval in seconds</source>
+      <translation>Задайте интервал удержания, в секундах</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Clean Session</source>
-        <translation>Очищать сеанс</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>User Credentials</source>
-        <translation>Учетные данные пользователя</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to start with a clean session</source>
+      <translation>Разрешить начинать чистый сеанс</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>User Name:</source>
-        <translation>Имя пользователя:</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the user name</source>
-        <translation>Введите имя пользователя</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Clean Session</source>
+      <translation>Очищать сеанс</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Password:</source>
-        <translation>Пароль:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>User Credentials</source>
+      <translation>Учетные данные пользователя</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the password</source>
-        <translation>Введите пароль</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>User Name:</source>
+      <translation>Имя пользователя:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Last Will</source>
-        <translation>&apos;Последняя воля&apos;</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the topic of the last will</source>
-        <translation>Введите тему &apos;последней воли&apos;</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the user name</source>
+      <translation>Введите имя пользователя</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>QoS:</source>
-        <translation>QoS:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Password:</source>
+      <translation>Пароль:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the desired QoS value</source>
-        <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to retain the last will message</source>
-        <translation>Разрешить удерживать сообщение &apos;последней воли&apos;</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the password</source>
+      <translation>Введите пароль</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Retain</source>
-        <translation>Удерживать</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Press to edit the user properties</source>
-        <translation>Правка пользовательских свойств</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Last Will</source>
+      <translation>'Последняя воля'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the last will message to be sent</source>
-        <translation>Введите сообщение &apos;последней воли&apos; для отправки</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the topic of the last will</source>
+      <translation>Введите тему 'последней воли'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>SSL/TLS</source>
-        <translation>SSL/TLS</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to enable SSL/TLS connections</source>
-        <translation>Разрешить SSL/TLS соединения</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>QoS:</source>
+      <translation>QoS:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>SSL/TLS Enabled</source>
-        <translation>Разрешить SSL/TLS</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the desired QoS value</source>
+      <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>CA File:</source>
-        <translation>Файл CA:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to retain the last will message</source>
+      <translation>Разрешить удерживать сообщение 'последней воли'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Enter the full path to the CA certificate file; leave empty to use platform default</source>
-        <translation>Введите полный путь к файлу сертификата CA; оставьте поле пустым, чтобы использовать платформу по умолчанию</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>User Properties</source>
-        <translation>Пользовательские свойства</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Retain</source>
+      <translation>Удерживать</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to edit the CONNECT user properties</source>
-        <translation>Разрешить редактировать пользовательские свойства пакета CONNECT</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>CONNECT</source>
-        <translation>CONNECT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Press to edit the user properties</source>
+      <translation>Правка пользовательских свойств</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to edit the DISCONNECT user properties</source>
-        <translation>Разрешить редактировать пользовательские свойства пакета DISCONNECT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the last will message to be sent</source>
+      <translation>Введите сообщение 'последней воли' для отправки</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>DISCONNECT</source>
-        <translation>DISCONNECT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>SSL/TLS</source>
+      <translation>SSL/TLS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Select to use the CONNECT user properties when disconnecting</source>
-        <translation>Разрешить использовать пользовательские свойства пакета CONNECT при отключении</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.ui" line="0"/>
-        <source>Use CONNECT properties for DISCONNECT</source>
-        <translation>Использовать свойства CONNECT для DISCONNECT</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to enable SSL/TLS connections</source>
+      <translation>Разрешить SSL/TLS соединения</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.py" line="53"/>
-        <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
-        <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>SSL/TLS Enabled</source>
+      <translation>Разрешить SSL/TLS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.py" line="82"/>
-        <source>Invalid Connection Parameters</source>
-        <translation>Недопустимые параметры соединения</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionOptionsDialog.py" line="83"/>
-        <source>An empty Client ID requires a clean session.</source>
-        <translation>При незаданном ID клиента требуется чистый сеанс.</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>CA File:</source>
+      <translation>Файл CA:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionOptionsDialog.py" line="185"/>
-        <source>Last Will User Properties</source>
-        <translation>Пользовательские свойства &apos;последней воли&apos;</translation>
-    </message>
-</context>
-<context>
-    <name>MqttConnectionProfilesDialog</name>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="84"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="78"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="74"/>
-        <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
-        <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Enter the full path to the CA certificate file; leave empty to use platform default</source>
+      <translation>Введите полный путь к файлу сертификата CA; оставьте поле пустым, чтобы использовать платформу по умолчанию</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="90"/>
-        <source>Key Files (*.key *.pem);;All Files (*)</source>
-        <translation>Файлы ключей (*.key *.pem);;Все файлы (*)</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>User Properties</source>
+      <translation>Пользовательские свойства</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="959"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="921"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="167"/>
-        <source>Changed Connection Profile</source>
-        <translation>Измененный профиль соединения</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to edit the CONNECT user properties</source>
+      <translation>Разрешить редактировать пользовательские свойства пакета CONNECT</translation>
+    </message>
+    <message>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>CONNECT</source>
+      <translation>CONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="960"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="922"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="168"/>
-        <source>The current profile has unsaved changes. Shall these be saved?</source>
-        <translation>В текущем профиле есть несохраненные изменения. Должны ли они быть сохранены?</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to edit the DISCONNECT user properties</source>
+      <translation>Разрешить редактировать пользовательские свойства пакета DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="199"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="191"/>
-        <source>New Connection Profile</source>
-        <translation>Новый профиль соединения</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>DISCONNECT</source>
+      <translation>DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="192"/>
-        <source>Enter name for the new Connection Profile:</source>
-        <translation>Введите имя нового профиля соединения:</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="229"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="200"/>
-        <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Уже существует соединение с именем &lt;b&gt;{0}&lt;/b&gt;. Прерывание... &lt;/ p&gt;</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Select to use the CONNECT user properties when disconnecting</source>
+      <translation>Разрешить использовать пользовательские свойства пакета CONNECT при отключении</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="228"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="220"/>
-        <source>Copy Connection Profile</source>
-        <translation>Копировать профиль соединения</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="221"/>
-        <source>Enter name for the copied Connection Profile:</source>
-        <translation>Введите имя для скопированного профиля соединения:</translation>
+      <location filename="../MqttConnectionOptionsDialog.ui" line="0" />
+      <source>Use CONNECT properties for DISCONNECT</source>
+      <translation>Использовать свойства CONNECT для DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="256"/>
-        <source>Delete Connection Profile</source>
-        <translation>Удалить профиль соединения</translation>
+      <location filename="../MqttConnectionOptionsDialog.py" line="53" />
+      <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
+      <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="257"/>
-        <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Действительно удалить профиль соединения &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
+      <location filename="../MqttConnectionOptionsDialog.py" line="82" />
+      <source>Invalid Connection Parameters</source>
+      <translation>Недопустимые параметры соединения</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="664"/>
-        <source>Invalid Connection Parameters</source>
-        <translation>Недопустимые параметры соединения</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="665"/>
-        <source>An empty Client ID requires a clean session.</source>
-        <translation>При незаданном ID клиента требуется чистый сеанс.</translation>
+      <location filename="../MqttConnectionOptionsDialog.py" line="83" />
+      <source>An empty Client ID requires a clean session.</source>
+      <translation>При незаданном ID клиента требуется чистый сеанс.</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="760"/>
-        <source>Last Will User Properties</source>
-        <translation>Пользовательские свойства &apos;последней воли&apos;</translation>
+      <location filename="../MqttConnectionOptionsDialog.py" line="185" />
+      <source>Last Will User Properties</source>
+      <translation>Пользовательские свойства 'последней воли'</translation>
     </message>
+  </context>
+  <context>
+    <name>MqttConnectionProfilesDialog</name>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <location filename="../MqttConnectionProfilesDialog.py" line="817"/>
-        <source>SSL/TLS Enabled</source>
-        <translation>Разрешить SSL/TLS</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="818"/>
-        <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
-        <translation>Разрешено соединение с использованием шифрования SSL/TLS. Однако по-прежнему задействован порт брокера без шифрования, по умолчанию порт 1883. Изменить?</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>MQTT Connection Profiles</source>
+      <translation>Профили подключения MQTT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="833"/>
-        <source>SSL/TLS Disabled</source>
-        <translation>SSL/TLS запрещено</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="834"/>
-        <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
-        <translation>Соединение с использованием шифрования SSL/TLS запрещено. Однако по-прежнему задействован порт брокера с шифрованием, по умолчанию порт 8883. Изменить?</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Press to add a new profile</source>
+      <translation>Добавить новый профиль</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="936"/>
-        <source>Changed Connection Profiles</source>
-        <translation>Измененные профили соединений</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Press to copy the selected profile</source>
+      <translation>Копировать выбранный профиль</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.py" line="937"/>
-        <source>The list of connection profiles has unsaved changes.</source>
-        <translation>В списке профилей соединений имеются несохраненные изменения.</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>MQTT Connection Profiles</source>
-        <translation>Профили подключения MQTT</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Press to delete the selected profile</source>
+      <translation>Удалить выбранный профиль</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Press to add a new profile</source>
-        <translation>Добавить новый профиль</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Profile Name:</source>
+      <translation>Имя профиля:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Press to copy the selected profile</source>
-        <translation>Копировать выбранный профиль</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Press to delete the selected profile</source>
-        <translation>Удалить выбранный профиль</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Profile Name:</source>
-        <translation>Имя профиля:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Broker Address:</source>
+      <translation>Адрес брокера:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Broker Address:</source>
-        <translation>Адрес брокера:</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the broker server address</source>
-        <translation>Введите адрес брокер-сервера</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the broker server address</source>
+      <translation>Введите адрес брокер-сервера</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Broker Port:</source>
-        <translation>Порт брокера:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Broker Port:</source>
+      <translation>Порт брокера:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the broker port number (default 1883)</source>
-        <translation>Задайте номер порта брокера (по умолчанию 1883)</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the broker port number (default 1883)</source>
+      <translation>Задайте номер порта брокера (по умолчанию 1883)</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Client ID:</source>
-        <translation>ID клиента:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Client ID:</source>
+      <translation>ID клиента:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the ID string for this client</source>
-        <translation>Введите ID для этого клиента</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the ID string for this client</source>
+      <translation>Введите ID для этого клиента</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Press to generate a client ID</source>
-        <translation>Генерировать ID клиента</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Generate</source>
-        <translation>Генерировать</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>General</source>
-        <translation>Главное</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Press to generate a client ID</source>
+      <translation>Генерировать ID клиента</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>MQTT Protocol</source>
-        <translation>Протокол MQTT</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use the MQTT 3.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Generate</source>
+      <translation>Генерировать</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>v 3.1</source>
-        <translation>вер. 3.1</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>General</source>
+      <translation>Главное</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use the MQTT 3.1.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1.1</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>MQTT Protocol</source>
+      <translation>Протокол MQTT</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>v 3.1.1</source>
-        <translation>вер. 3.1.1</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use the MQTT 3.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use the MQTT 5.0 protocol</source>
-        <translation>Выбор протокола MQTT 5.0</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>v 3.1</source>
+      <translation>вер. 3.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>v 5.0</source>
-        <translation>вер. 5.0</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use the MQTT 3.1.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Connection Timeout:</source>
-        <translation>Время ожидания соединения:</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the connection timeout in seconds</source>
-        <translation>Задайте время ожидания соединения, в секундах</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>v 3.1.1</source>
+      <translation>вер. 3.1.1</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source> s</source>
-        <translation> сек</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Keep Alive Interval:</source>
-        <translation>Интервал удержания:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use the MQTT 5.0 protocol</source>
+      <translation>Выбор протокола MQTT 5.0</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the keep alive interval in seconds</source>
-        <translation>Задайте интервал удержания, в секундах</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>v 5.0</source>
+      <translation>вер. 5.0</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to start with a clean session</source>
-        <translation>Разрешить начинать чистый сеанс</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Connection Timeout:</source>
+      <translation>Время ожидания соединения:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Clean Session</source>
-        <translation>Очищать сеанс</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>User Credentials</source>
-        <translation>Учетные данные пользователя</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the connection timeout in seconds</source>
+      <translation>Задайте время ожидания соединения, в секундах</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>User Name:</source>
-        <translation>Имя пользователя:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source> s</source>
+      <translation> сек</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the user name</source>
-        <translation>Введите имя пользователя</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Password:</source>
-        <translation>Пароль:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Keep Alive Interval:</source>
+      <translation>Интервал удержания:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the password</source>
-        <translation>Введите пароль</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Toggle to show the password</source>
-        <translation>Отображение пароля</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the keep alive interval in seconds</source>
+      <translation>Задайте интервал удержания, в секундах</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Last Will</source>
-        <translation>&apos;Последняя воля&apos;</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to start with a clean session</source>
+      <translation>Разрешить начинать чистый сеанс</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the topic of the last will</source>
-        <translation>Введите тему &apos;последней воли&apos;</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>QoS:</source>
-        <translation>QoS:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Clean Session</source>
+      <translation>Очищать сеанс</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the desired QoS value</source>
-        <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>User Credentials</source>
+      <translation>Учетные данные пользователя</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to retain the last will message</source>
-        <translation>Разрешить удерживать сообщение &apos;последней воли&apos;</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>User Name:</source>
+      <translation>Имя пользователя:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Retain</source>
-        <translation>Удерживать</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Press to edit the user properties</source>
-        <translation>Правка пользовательских свойств</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the user name</source>
+      <translation>Введите имя пользователя</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the last will message to be sent</source>
-        <translation>Введите сообщение &apos;последней воли&apos; для отправки</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>SSL/TLS</source>
-        <translation>SSL/TLS</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Password:</source>
+      <translation>Пароль:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to enable SSL/TLS connections</source>
-        <translation>Разрешить SSL/TLS соединения</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the password</source>
+      <translation>Введите пароль</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use the default certificate file of the client</source>
-        <translation>Разрешить использовать файл сертификата клиента по умолчанию</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Toggle to show the password</source>
+      <translation>Отображение пароля</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>CA signed server certificate</source>
-        <translation>Сертификат подписываемый сервером CA</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use a specific certificate file</source>
-        <translation>Разрешить использовать определенный файл сертификата</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Last Will</source>
+      <translation>'Последняя воля'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>CA certificate file</source>
-        <translation>Файл сертификата CA</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the topic of the last will</source>
+      <translation>Введите тему 'последней воли'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>CA File:</source>
-        <translation>Файл CA:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>QoS:</source>
+      <translation>QoS:</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the full path to the CA certificate file</source>
-        <translation>Введите полный путь к файлу сертификата CA</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use a self signed client certificate</source>
-        <translation>Разрешить использовать самостоятельно подписываемый сертификат клиента</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the desired QoS value</source>
+      <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Self signed certificates</source>
-        <translation>Самостоятельно подписываемые сертификаты</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Client Certificate File:</source>
-        <translation>Файл сертификата клиента:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to retain the last will message</source>
+      <translation>Разрешить удерживать сообщение 'последней воли'</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the full path to the client certificate file</source>
-        <translation>Введите полный путь к файлу сертификата клиента</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Retain</source>
+      <translation>Удерживать</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Client Key File:</source>
-        <translation>Файл ключа клиента:</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Press to edit the user properties</source>
+      <translation>Правка пользовательских свойств</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Enter the full path to the client key file</source>
-        <translation>Введите полный путь к файлу ключа клиента</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the last will message to be sent</source>
+      <translation>Введите сообщение 'последней воли' для отправки</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>User Properties</source>
-        <translation>Пользовательские свойства</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>SSL/TLS</source>
+      <translation>SSL/TLS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to edit the CONNECT user properties</source>
-        <translation>Разрешить редактировать пользовательские свойства пакета CONNECT</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to enable SSL/TLS connections</source>
+      <translation>Разрешить SSL/TLS соединения</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>CONNECT</source>
-        <translation>CONNECT</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to edit the DISCONNECT user properties</source>
-        <translation>Разрешить редактировать пользовательские свойства пакета DISCONNECT</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="817" />
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>SSL/TLS Enabled</source>
+      <translation>Разрешить SSL/TLS</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>DISCONNECT</source>
-        <translation>DISCONNECT</translation>
-    </message>
-    <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Select to use the CONNECT user properties when disconnecting</source>
-        <translation>Разрешить использовать пользовательские свойства CONNECT при отключении</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use the default certificate file of the client</source>
+      <translation>Разрешить использовать файл сертификата клиента по умолчанию</translation>
     </message>
     <message>
-        <location filename="../MqttConnectionProfilesDialog.ui" line="0"/>
-        <source>Use CONNECT properties for DISCONNECT</source>
-        <translation>Использовать свойства CONNECT для DISCONNECT</translation>
-    </message>
-</context>
-<context>
-    <name>MqttErrorMessage</name>
-    <message>
-        <location filename="../MqttClient.py" line="864"/>
-        <source>No error.</source>
-        <translation>Нет ошибки.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>CA signed server certificate</source>
+      <translation>Сертификат подписываемый сервером CA</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="866"/>
-        <source>Out of memory.</source>
-        <translation>Недостаточно памяти.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use a specific certificate file</source>
+      <translation>Разрешить использовать определенный файл сертификата</translation>
+    </message>
+    <message>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>CA certificate file</source>
+      <translation>Файл сертификата CA</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="868"/>
-        <source>A network protocol error occurred when communicating with the broker.</source>
-        <translation>Во время общения с брокером произошла ошибка сетевого протокола.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>CA File:</source>
+      <translation>Файл CA:</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="873"/>
-        <source>Invalid function arguments provided.</source>
-        <translation>Предоставлены недопустимые аргументы функции.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="877"/>
-        <source>The client is not currently connected.</source>
-        <translation>В настоящее время клиент не подключен.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the full path to the CA certificate file</source>
+      <translation>Введите полный путь к файлу сертификата CA</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="881"/>
-        <source>The connection was refused.</source>
-        <translation>Соединение было отклонено.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="885"/>
-        <source>Message not found (internal error).</source>
-        <translation>Сообщение не найдено (внутренняя ошибка).</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use a self signed client certificate</source>
+      <translation>Разрешить использовать самостоятельно подписываемый сертификат клиента</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="889"/>
-        <source>The connection was lost.</source>
-        <translation>Соединение было потеряно.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Self signed certificates</source>
+      <translation>Самостоятельно подписываемые сертификаты</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="893"/>
-        <source>A TLS error occurred.</source>
-        <translation>Произошла ошибка TLS.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="895"/>
-        <source>Payload too large.</source>
-        <translation>Слишком большая полезная нагрузка.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Client Certificate File:</source>
+      <translation>Файл сертификата клиента:</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="897"/>
-        <source>This feature is not supported.</source>
-        <translation>Эта функция не поддерживается.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="901"/>
-        <source>Authorisation failed.</source>
-        <translation>Ошибка авторизации.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the full path to the client certificate file</source>
+      <translation>Введите полный путь к файлу сертификата клиента</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="903"/>
-        <source>Access denied by ACL.</source>
-        <translation>Отказано в доступе к ACL.</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="911"/>
-        <location filename="../MqttClient.py" line="905"/>
-        <source>Unknown error.</source>
-        <translation>Неизвестная ошибка.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Client Key File:</source>
+      <translation>Файл ключа клиента:</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="907"/>
-        <source>Error defined by errno.</source>
-        <translation>Ошибка, определяемая errno.</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Enter the full path to the client key file</source>
+      <translation>Введите полный путь к файлу ключа клиента</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="909"/>
-        <source>Message queue full.</source>
-        <translation>Очередь сообщений заполнена.</translation>
-    </message>
-</context>
-<context>
-    <name>MqttLogLevelString</name>
-    <message>
-        <location filename="../MqttClient.py" line="947"/>
-        <location filename="../MqttClient.py" line="930"/>
-        <source>Unknown</source>
-        <translation>Unknown</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>User Properties</source>
+      <translation>Пользовательские свойства</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="935"/>
-        <source>Info</source>
-        <translation>Info</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to edit the CONNECT user properties</source>
+      <translation>Разрешить редактировать пользовательские свойства пакета CONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="937"/>
-        <source>Notice</source>
-        <translation>Notice</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>CONNECT</source>
+      <translation>CONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="939"/>
-        <source>Warning</source>
-        <translation>Warning</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to edit the DISCONNECT user properties</source>
+      <translation>Разрешить редактировать пользовательские свойства пакета DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="941"/>
-        <source>Error</source>
-        <translation>Error</translation>
-    </message>
-    <message>
-        <location filename="../MqttClient.py" line="943"/>
-        <source>Debug</source>
-        <translation>Debug</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>DISCONNECT</source>
+      <translation>DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../MqttClient.py" line="945"/>
-        <source>Logging Disabled</source>
-        <translation>Ведение журнала запрещено</translation>
-    </message>
-</context>
-<context>
-    <name>MqttMonitorPlugin</name>
-    <message>
-        <location filename="../../PluginMqttMonitor.py" line="202"/>
-        <location filename="../../PluginMqttMonitor.py" line="198"/>
-        <location filename="../../PluginMqttMonitor.py" line="81"/>
-        <source>MQTT Monitor</source>
-        <translation>MQTT Monitor</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Select to use the CONNECT user properties when disconnecting</source>
+      <translation>Разрешить использовать пользовательские свойства CONNECT при отключении</translation>
     </message>
     <message>
-        <location filename="../../PluginMqttMonitor.py" line="103"/>
-        <source>(package not available)</source>
-        <translation>(пакет не доступен)</translation>
+      <location filename="../MqttConnectionProfilesDialog.ui" line="0" />
+      <source>Use CONNECT properties for DISCONNECT</source>
+      <translation>Использовать свойства CONNECT для DISCONNECT</translation>
     </message>
     <message>
-        <location filename="../../PluginMqttMonitor.py" line="109"/>
-        <source>MQTT</source>
-        <translation>MQTT - клиентская библиотека Python</translation>
-    </message>
-    <message>
-        <location filename="../../PluginMqttMonitor.py" line="110"/>
-        <source>paho-mqtt</source>
-        <translation>paho-mqtt</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="84" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="78" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="74" />
+      <source>Certificate Files (*.crt *.pem);;All Files (*)</source>
+      <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../../PluginMqttMonitor.py" line="180"/>
-        <source>The &apos;paho-mqtt&apos; package is not available.</source>
-        <translation>Пакет &apos;paho-mqtt&apos; недоступен.</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="90" />
+      <source>Key Files (*.key *.pem);;All Files (*)</source>
+      <translation>Файлы ключей (*.key *.pem);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../../PluginMqttMonitor.py" line="203"/>
-        <source>M&amp;QTT Monitor</source>
-        <translation>M&amp;QTT Monitor</translation>
-    </message>
-    <message>
-        <location filename="../../PluginMqttMonitor.py" line="204"/>
-        <source>Alt+Shift+Q</source>
-        <translation>Alt+Shift+Q</translation>
-    </message>
-    <message>
-        <location filename="../../PluginMqttMonitor.py" line="210"/>
-        <source>Switch the input focus to the MQTT Monitor window.</source>
-        <translation>Переключить фокус ввода в окно MQTT Monitor.</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="957" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="921" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="167" />
+      <source>Changed Connection Profile</source>
+      <translation>Измененный профиль соединения</translation>
     </message>
     <message>
-        <location filename="../../PluginMqttMonitor.py" line="213"/>
-        <source>&lt;b&gt;Activate MQTT Monitor&lt;/b&gt;&lt;p&gt;This switches the input focus to the MQTT Monitor window.&lt;/p&gt;</source>
-        <translation>&lt;b&gt;Активировать MQTT Monitor&lt;/b&gt;&lt;p&gt;Переключение фокуса ввода в окно MQTT Monitor.&lt;/p&gt;</translation>
-    </message>
-</context>
-<context>
-    <name>MqttMonitorWidget</name>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;MQTT Monitor&lt;/b&gt;</source>
-        <translation>&lt;b&gt;MQTT Monitor&lt;/b&gt;</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="958" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="922" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="168" />
+      <source>The current profile has unsaved changes. Shall these be saved?</source>
+      <translation>В текущем профиле есть несохраненные изменения. Должны ли они быть сохранены?</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Broker</source>
-        <translation>Брокер</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="199" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="191" />
+      <source>New Connection Profile</source>
+      <translation>Новый профиль соединения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to switch the mode between profiles and direct connection</source>
-        <translation>Переключить режим подключения  -  профили или прямое соединение</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="192" />
+      <source>Enter name for the new Connection Profile:</source>
+      <translation>Введите имя нового профиля соединения:</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select the profile to be used to connect to the broker</source>
-        <translation>Выберите профиль, который будет использоваться для соединения с брокером</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="229" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="200" />
+      <source>&lt;p&gt;A connection named &lt;b&gt;{0}&lt;/b&gt; exists already. Aborting...&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Уже существует соединение с именем &lt;b&gt;{0}&lt;/b&gt;. Прерывание... &lt;/ p&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the host name of the broker</source>
-        <translation>Введите имя хоста брокера</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="228" />
+      <location filename="../MqttConnectionProfilesDialog.py" line="220" />
+      <source>Copy Connection Profile</source>
+      <translation>Копировать профиль соединения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the broker port to connect to</source>
-        <translation>Задайте порт брокера для соединения</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to open a dialog to enter connection options</source>
-        <translation>Открыть диалог ввода параметров соединения</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to connect to/disconnect from the broker</source>
-        <translation>Подключиться к брокеру/отключиться от брокера</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="221" />
+      <source>Enter name for the copied Connection Profile:</source>
+      <translation>Введите имя для скопированного профиля соединения:</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select to clear a previously set last will message</source>
-        <translation>Разрешить очищать установленные ранее сообщения &apos;последней воли&apos;</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Pub/Sub</source>
-        <translation>Подписки/Публикации</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="256" />
+      <source>Delete Connection Profile</source>
+      <translation>Удалить профиль соединения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1101"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Subscribe</source>
-        <translation>Подписаться</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="257" />
+      <source>&lt;p&gt;Shall the Connection Profile &lt;b&gt;{0}&lt;/b&gt; really be deleted?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Действительно удалить профиль соединения &lt;b&gt;{0}&lt;/b&gt;?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Topic:</source>
-        <translation>Тема:</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="664" />
+      <source>Invalid Connection Parameters</source>
+      <translation>Недопустимые параметры соединения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the topic</source>
-        <translation>Введите тему</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="665" />
+      <source>An empty Client ID requires a clean session.</source>
+      <translation>При незаданном ID клиента требуется чистый сеанс.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>QoS:</source>
-        <translation>QoS:</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the desired QoS value</source>
-        <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to subscribe to the given topic</source>
-        <translation>Подписаться на данную тему</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="760" />
+      <source>Last Will User Properties</source>
+      <translation>Пользовательские свойства 'последней воли'</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to edit the user properties</source>
-        <translation>Разрешить редактировать пользовательские свойства</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="818" />
+      <source>Encrypted connection using SSL/TLS has been enabled. However, the broker port is still the default unencrypted port (port 1883). Shall this be changed?</source>
+      <translation>Разрешено соединение с использованием шифрования SSL/TLS. Однако по-прежнему задействован порт брокера без шифрования, по умолчанию порт 1883. Изменить?</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1096"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Unsubscribe</source>
-        <translation>Отписаться</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="833" />
+      <source>SSL/TLS Disabled</source>
+      <translation>SSL/TLS запрещено</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select the topic to unsubscribe</source>
-        <translation>Выберите тему для отписки</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="834" />
+      <source>Encrypted connection using SSL/TLS has been disabled. However, the broker port is still the default encrypted port (port 8883). Shall this be changed?</source>
+      <translation>Соединение с использованием шифрования SSL/TLS запрещено. Однако по-прежнему задействован порт брокера с шифрованием, по умолчанию порт 8883. Изменить?</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to unsubscribe the selected topic</source>
-        <translation>Отписаться от выбранной темы</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="936" />
+      <source>Changed Connection Profiles</source>
+      <translation>Измененные профили соединений</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Publish</source>
-        <translation>Опубликовать</translation>
+      <location filename="../MqttConnectionProfilesDialog.py" line="937" />
+      <source>The list of connection profiles has unsaved changes.</source>
+      <translation>В списке профилей соединений имеются несохраненные изменения.</translation>
     </message>
+  </context>
+  <context>
+    <name>MqttErrorMessage</name>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the topic to publish to</source>
-        <translation>Введите тему для публикации</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select to retain the published message</source>
-        <translation>Разрешить удерживать опубликованное сообщение</translation>
+      <location filename="../MqttClient.py" line="773" />
+      <source>No error.</source>
+      <translation>Нет ошибки.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Retain</source>
-        <translation>Удерживать</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the string data to be sent</source>
-        <translation>Введите строку данных для отправки</translation>
+      <location filename="../MqttClient.py" line="775" />
+      <source>Out of memory.</source>
+      <translation>Недостаточно памяти.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Payload File:</source>
-        <translation>Файл полезной нагрузки:</translation>
+      <location filename="../MqttClient.py" line="777" />
+      <source>A network protocol error occurred when communicating with the broker.</source>
+      <translation>Во время общения с брокером произошла ошибка сетевого протокола.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Enter the full path to a file containing the message payload</source>
-        <translation>Введите полный путь к файлу, содержащему полезную нагрузку сообщения</translation>
+      <location filename="../MqttClient.py" line="782" />
+      <source>Invalid function arguments provided.</source>
+      <translation>Предоставлены недопустимые аргументы функции.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to clear the publish data</source>
-        <translation>Очистить данные публикации</translation>
+      <location filename="../MqttClient.py" line="786" />
+      <source>The client is not currently connected.</source>
+      <translation>В настоящее время клиент не подключен.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="346"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Clear</source>
-        <translation>Очистить</translation>
+      <location filename="../MqttClient.py" line="790" />
+      <source>The connection was refused.</source>
+      <translation>Соединение было отклонено.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to clear the retained messages of the selected topic</source>
-        <translation>Разрешить очищать сохраненные сообщения выбранной темы</translation>
+      <location filename="../MqttClient.py" line="794" />
+      <source>Message not found (internal error).</source>
+      <translation>Сообщение не найдено (внутренняя ошибка).</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Clear Retained</source>
-        <translation>Очищать сохраненные</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select to clear the publish data after the message was published</source>
-        <translation>Разрешить очищать данные публикации после опубликования сообщения</translation>
+      <location filename="../MqttClient.py" line="798" />
+      <source>The connection was lost.</source>
+      <translation>Соединение было потеряно.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Clear when sent</source>
-        <translation>Очищать после отправки</translation>
+      <location filename="../MqttClient.py" line="802" />
+      <source>A TLS error occurred.</source>
+      <translation>Произошла ошибка TLS.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Properties</source>
-        <translation>Свойства</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>MQTT V5 Properties</source>
-        <translation>Свойства MQTT вер. 5</translation>
+      <location filename="../MqttClient.py" line="804" />
+      <source>Payload too large.</source>
+      <translation>Слишком большая полезная нагрузка.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Messages</source>
-        <translation>Сообщения</translation>
+      <location filename="../MqttClient.py" line="806" />
+      <source>This feature is not supported.</source>
+      <translation>Эта функция не поддерживается.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to save the received messages to a file</source>
-        <translation>Сохранить полученные сообщения в файл</translation>
+      <location filename="../MqttClient.py" line="810" />
+      <source>Authorisation failed.</source>
+      <translation>Ошибка авторизации.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Save</source>
-        <translation>Сохранить</translation>
+      <location filename="../MqttClient.py" line="812" />
+      <source>Access denied by ACL.</source>
+      <translation>Отказано в доступе к ACL.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to clear the list of received messages</source>
-        <translation>Очистить список полученных сообщений</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select to scroll to the most recently received message</source>
-        <translation>Разрешить прокручивать список до последнего полученного сообщения</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Follow received messages</source>
-        <translation>Следовать за получаемыми сообщениями</translation>
+      <location filename="../MqttClient.py" line="820" />
+      <location filename="../MqttClient.py" line="814" />
+      <source>Unknown error.</source>
+      <translation>Неизвестная ошибка.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Status</source>
-        <translation>Статус</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="1103"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to activate the status display</source>
-        <translation>Активировать отображение статуса</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;Broker&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Брокер&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Version</source>
-        <translation>Версия</translation>
+      <location filename="../MqttClient.py" line="816" />
+      <source>Error defined by errno.</source>
+      <translation>Ошибка, определяемая errno.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>-</source>
-        <translation>-</translation>
+      <location filename="../MqttClient.py" line="818" />
+      <source>Message queue full.</source>
+      <translation>Очередь сообщений заполнена.</translation>
+    </message>
+  </context>
+  <context>
+    <name>MqttLogLevelString</name>
+    <message>
+      <location filename="../MqttClient.py" line="856" />
+      <location filename="../MqttClient.py" line="839" />
+      <source>Unknown</source>
+      <translation>Unknown</translation>
+    </message>
+    <message>
+      <location filename="../MqttClient.py" line="844" />
+      <source>Info</source>
+      <translation>Info</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Timestamp</source>
-        <translation>Метки времени</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Uptime</source>
-        <translation>Время работы</translation>
+      <location filename="../MqttClient.py" line="846" />
+      <source>Notice</source>
+      <translation>Notice</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Subscriptions</source>
-        <translation>Подписки</translation>
+      <location filename="../MqttClient.py" line="848" />
+      <source>Warning</source>
+      <translation>Warning</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;Clients&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Клиенты&lt;/b&gt;</translation>
+      <location filename="../MqttClient.py" line="850" />
+      <source>Error</source>
+      <translation>Error</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Connected</source>
-        <translation>Подключено</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Disconnected</source>
-        <translation>Отключено</translation>
+      <location filename="../MqttClient.py" line="852" />
+      <source>Debug</source>
+      <translation>Debug</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Expired</source>
-        <translation>Завершено</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Maximum</source>
-        <translation>Максимум</translation>
+      <location filename="../MqttClient.py" line="854" />
+      <source>Logging Disabled</source>
+      <translation>Ведение журнала запрещено</translation>
     </message>
+  </context>
+  <context>
+    <name>MqttMonitorPlugin</name>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Total</source>
-        <translation>Всего</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;Messages&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Сообщения&lt;/b&gt;</translation>
+      <location filename="../../PluginMqttMonitor.py" line="214" />
+      <location filename="../../PluginMqttMonitor.py" line="210" />
+      <location filename="../../PluginMqttMonitor.py" line="93" />
+      <source>MQTT Monitor</source>
+      <translation>MQTT Monitor</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Sent</source>
-        <translation>Отправлено</translation>
+      <location filename="../../PluginMqttMonitor.py" line="115" />
+      <source>(package not available)</source>
+      <translation>(пакет не доступен)</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Received</source>
-        <translation>Получено</translation>
+      <location filename="../../PluginMqttMonitor.py" line="121" />
+      <source>MQTT</source>
+      <translation>MQTT - клиентская библиотека Python</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Stored</source>
-        <translation>Сохранено</translation>
+      <location filename="../../PluginMqttMonitor.py" line="122" />
+      <source>paho-mqtt</source>
+      <translation>paho-mqtt</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Inflight</source>
-        <translation>В полете</translation>
+      <location filename="../../PluginMqttMonitor.py" line="192" />
+      <source>The 'paho-mqtt' package is not available.</source>
+      <translation>Пакет 'paho-mqtt' недоступен.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Retained</source>
-        <translation>Удержано</translation>
+      <location filename="../../PluginMqttMonitor.py" line="215" />
+      <source>M&amp;QTT Monitor</source>
+      <translation>M&amp;QTT Monitor</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;PUBLISH Messages&lt;/b&gt;</source>
-        <translation>&lt;b&gt;PUBLISH сообщения&lt;/b&gt;</translation>
+      <location filename="../../PluginMqttMonitor.py" line="216" />
+      <source>Alt+Shift+Q</source>
+      <translation>Alt+Shift+Q</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Dropped</source>
-        <translation>Сброшено</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;Traffic&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Трафик&lt;/b&gt;</translation>
+      <location filename="../../PluginMqttMonitor.py" line="222" />
+      <source>Switch the input focus to the MQTT Monitor window.</source>
+      <translation>Переключить фокус ввода в окно MQTT Monitor.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Bytes Sent</source>
-        <translation>Байт отправлено</translation>
+      <location filename="../../PluginMqttMonitor.py" line="225" />
+      <source>&lt;b&gt;Activate MQTT Monitor&lt;/b&gt;&lt;p&gt;This switches the input focus to the MQTT Monitor window.&lt;/p&gt;</source>
+      <translation>&lt;b&gt;Активировать MQTT Monitor&lt;/b&gt;&lt;p&gt;Переключение фокуса ввода в окно MQTT Monitor.&lt;/p&gt;</translation>
     </message>
+  </context>
+  <context>
+    <name>MqttMonitorWidget</name>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Bytes Received</source>
-        <translation>Байт принято</translation>
+      <location filename="../MqttMonitorWidget.py" line="88" />
+      <source>All Files (*)</source>
+      <translation>Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>&lt;b&gt;Load&lt;/b&gt; (1 min / 5 min / 15 min)</source>
-        <translation>&lt;b&gt;Загрузка&lt;/b&gt; (1 мин / 5 мин / 15 мин)</translation>
+      <location filename="../MqttMonitorWidget.py" line="325" />
+      <source>Copy</source>
+      <translation>Копировать</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>- / - / -</source>
-        <translation>- / - / -</translation>
+      <location filename="../MqttMonitorWidget.py" line="331" />
+      <source>Select All</source>
+      <translation>Выбрать все</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Messages Sent</source>
-        <translation>Сообщений отправлено</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.py" line="337" />
+      <source>Clear</source>
+      <translation>Очистить</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Messages Received</source>
-        <translation>Сообщений принято</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>PUBLISH Sent</source>
-        <translation>PUBLISH отправлено</translation>
+      <location filename="../MqttMonitorWidget.py" line="372" />
+      <source>{0} - Session still present</source>
+      <translation>{0} - Сеанс установлен</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>PUBLISH Received</source>
-        <translation>PUBLISH принято</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>PUBLISH Dropped</source>
-        <translation>PUBLISH сброшено</translation>
+      <location filename="../MqttMonitorWidget.py" line="410" />
+      <source>Connection timed out</source>
+      <translation>Время ожидания соединения истекло</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Connections</source>
-        <translation>Соединения</translation>
+      <location filename="../MqttMonitorWidget.py" line="438" />
+      <source>Connection to Broker shut down cleanly.</source>
+      <translation>Соединение с брокером закрыто. Очистка произведена.</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Sockets</source>
-        <translation>Сокеты</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Log</source>
-        <translation>Журнал</translation>
+      <location filename="../MqttMonitorWidget.py" line="498" />
+      <source>{0}: {1}</source>
+      <translation>{0}: {1}</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Max. Log Level:</source>
-        <translation>Максимальный уровень журнала:</translation>
+      <location filename="../MqttMonitorWidget.py" line="709" />
+      <source>SUBSCRIBE: User Properties for '{0}'</source>
+      <translation>SUBSCRIBE: Пользовательские свойства '{0}'</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select the maximum log level to show</source>
-        <translation>Выберите максимальный уровень журнала для показа</translation>
+      <location filename="../MqttMonitorWidget.py" line="735" />
+      <source>Subscribe to Topic</source>
+      <translation>Подписаться на тему</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to save the received log messages to a file</source>
-        <translation>Сохранить полученные сообщения журнала в файл</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Press to clear the list of received log messages</source>
-        <translation>Очистить список принятых сообщений журнала</translation>
+      <location filename="../MqttMonitorWidget.py" line="736" />
+      <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source>
+      <translation>Подписки на тему статуса «$ SYS» должны быть сделаны на вкладке «Статус».</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Select to scroll to the most recently received log message</source>
-        <translation>Разрешить прокручивать список до последнего полученного сообщения журнала</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.ui" line="0"/>
-        <source>Follow received log messages</source>
-        <translation>Следовать за получаемыми сообщениями</translation>
+      <location filename="../MqttMonitorWidget.py" line="760" />
+      <source>UNSUBSCRIBE: User Properties for '{0}'</source>
+      <translation>UNSUBSCRIBE: Пользовательские свойства '{0}'</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="93"/>
-        <source>All Files (*)</source>
-        <translation>Все файлы (*)</translation>
+      <location filename="../MqttMonitorWidget.py" line="798" />
+      <source>PUBLISH: User Properties for '{0}'</source>
+      <translation>PUBLISH: Пользовательские свойства '{0}'</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="334"/>
-        <source>Copy</source>
-        <translation>Копировать</translation>
+      <location filename="../MqttMonitorWidget.py" line="834" />
+      <source>Read Payload from File</source>
+      <translation>Чтение полезной нагрузки из файла</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="340"/>
-        <source>Select All</source>
-        <translation>Выбрать все</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="391"/>
-        <source>{0} - Session still present</source>
-        <translation>{0} - Сеанс установлен</translation>
+      <location filename="../MqttMonitorWidget.py" line="835" />
+      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Не удалось прочитать файл &lt;b&gt;{0}&lt;/b&gt;. Отмена...&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="429"/>
-        <source>Connection timed out</source>
-        <translation>Время ожидания соединения истекло</translation>
+      <location filename="../MqttMonitorWidget.py" line="986" />
+      <location filename="../MqttMonitorWidget.py" line="970" />
+      <location filename="../MqttMonitorWidget.py" line="951" />
+      <source>Save Messages</source>
+      <translation>Сохранить сообщения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="457"/>
-        <source>Connection to Broker shut down cleanly.</source>
-        <translation>Соединение с брокером закрыто. Очистка произведена.</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="517"/>
-        <source>{0}: {1}</source>
-        <translation>{0}: {1}</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="737"/>
-        <source>SUBSCRIBE: User Properties for &apos;{0}&apos;</source>
-        <translation>SUBSCRIBE: Пользовательские свойства &apos;{0}&apos;</translation>
+      <location filename="../MqttMonitorWidget.py" line="953" />
+      <source>Messages Files (*.txt);;All Files (*)</source>
+      <translation>Файлы сообщений (*.txt);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="763"/>
-        <source>Subscribe to Topic</source>
-        <translation>Подписаться на тему</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="764"/>
-        <source>Subscriptions to the Status topic &apos;$SYS&apos; shall be done on the &apos;Status&apos; tab.</source>
-        <translation>Подписки на тему статуса «$ SYS» должны быть сделаны на вкладке «Статус».</translation>
+      <location filename="../MqttMonitorWidget.py" line="1032" />
+      <location filename="../MqttMonitorWidget.py" line="971" />
+      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; уже существует. Переписать его?&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="788"/>
-        <source>UNSUBSCRIBE: User Properties for &apos;{0}&apos;</source>
-        <translation>UNSUBSCRIBE: Пользовательские свойства &apos;{0}&apos;</translation>
+      <location filename="../MqttMonitorWidget.py" line="1048" />
+      <location filename="../MqttMonitorWidget.py" line="987" />
+      <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; не может быть записан.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="826"/>
-        <source>PUBLISH: User Properties for &apos;{0}&apos;</source>
-        <translation>PUBLISH: Пользовательские свойства &apos;{0}&apos;</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="862"/>
-        <source>Read Payload from File</source>
-        <translation>Чтение полезной нагрузки из файла</translation>
+      <location filename="../MqttMonitorWidget.py" line="1047" />
+      <location filename="../MqttMonitorWidget.py" line="1031" />
+      <location filename="../MqttMonitorWidget.py" line="1012" />
+      <source>Save Log Messages</source>
+      <translation>Сохранить сообщения журнала</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="863"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be read. Aborting...&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Не удалось прочитать файл &lt;b&gt;{0}&lt;/b&gt;. Отмена...&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
+      <location filename="../MqttMonitorWidget.py" line="1014" />
+      <source>Log Files (*.log);;All Files (*)</source>
+      <translation>Файлы журнала (*.log);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1014"/>
-        <location filename="../MqttMonitorWidget.py" line="998"/>
-        <location filename="../MqttMonitorWidget.py" line="979"/>
-        <source>Save Messages</source>
-        <translation>Сохранить сообщения</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.py" line="1068" />
+      <source>Unsubscribe</source>
+      <translation>Отписаться</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="981"/>
-        <source>Messages Files (*.txt);;All Files (*)</source>
-        <translation>Файлы сообщений (*.txt);;Все файлы (*)</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="1060"/>
-        <location filename="../MqttMonitorWidget.py" line="999"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; already exists. Overwrite it?&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; уже существует. Переписать его?&lt;/p&gt;</translation>
+      <location filename="../MqttMonitorWidget.py" line="1070" />
+      <source>Press to deactivate the status display</source>
+      <translation>Деактивировать отображение статуса</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1076"/>
-        <location filename="../MqttMonitorWidget.py" line="1015"/>
-        <source>&lt;p&gt;The file &lt;b&gt;{0}&lt;/b&gt; could not be written.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Файл &lt;b&gt;{0}&lt;/b&gt; не может быть записан.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="1075"/>
-        <location filename="../MqttMonitorWidget.py" line="1059"/>
-        <location filename="../MqttMonitorWidget.py" line="1040"/>
-        <source>Save Log Messages</source>
-        <translation>Сохранить сообщения журнала</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.py" line="1073" />
+      <source>Subscribe</source>
+      <translation>Подписаться</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1042"/>
-        <source>Log Files (*.log);;All Files (*)</source>
-        <translation>Файлы журнала (*.log);;Все файлы (*)</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.py" line="1075" />
+      <source>Press to activate the status display</source>
+      <translation>Активировать отображение статуса</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1098"/>
-        <source>Press to deactivate the status display</source>
-        <translation>Деактивировать отображение статуса</translation>
-    </message>
-    <message>
-        <location filename="../MqttMonitorWidget.py" line="1265"/>
-        <source>QoS: {0}
+      <location filename="../MqttMonitorWidget.py" line="1237" />
+      <source>QoS: {0}
 </source>
-        <translation>QoS: {0}
+      <translation>QoS: {0}
 </translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1269"/>
-        <source>Retained Message
+      <location filename="../MqttMonitorWidget.py" line="1241" />
+      <source>Retained Message
 </source>
-        <translation>Сохраненное сообщение
+      <translation>Сохраненное сообщение
 </translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1273"/>
-        <source>Properties:
+      <location filename="../MqttMonitorWidget.py" line="1245" />
+      <source>Properties:
 </source>
-        <translation>Свойства:
+      <translation>Свойства:
 </translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1277"/>
-        <source>{0}: {1}
+      <location filename="../MqttMonitorWidget.py" line="1249" />
+      <source>{0}: {1}
 </source>
-        <comment>property name, property value</comment>
-        <translation>{0}: {1}
+      <comment>property name, property value</comment>
+      <translation>{0}: {1}
 </translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1283"/>
-        <source>Message:
+      <location filename="../MqttMonitorWidget.py" line="1255" />
+      <source>Message:
 </source>
-        <translation>Сообщение:
+      <translation>Сообщение:
 </translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1290"/>
-        <source>&lt;empty&gt;</source>
-        <translation>&lt;empty&gt;</translation>
+      <location filename="../MqttMonitorWidget.py" line="1262" />
+      <source>&lt;empty&gt;</source>
+      <translation>&lt;empty&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.py" line="1468" />
+      <location filename="../MqttMonitorWidget.py" line="1419" />
+      <source>Connecting to {0}:{1} ...</source>
+      <translation>Соединение с {0}:{1} ...</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.py" line="1613" />
+      <source>{0} Bytes</source>
+      <translation>{0} байтов</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.py" line="1618" />
+      <source>{0} KiB</source>
+      <translation>{0} KiB</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1496"/>
-        <location filename="../MqttMonitorWidget.py" line="1447"/>
-        <source>Connecting to {0}:{1} ...</source>
-        <translation>Соединение с {0}:{1} ...</translation>
+      <location filename="../MqttMonitorWidget.py" line="1623" />
+      <source>{0} MiB</source>
+      <translation>{0} MiB</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.py" line="1628" />
+      <source>{0} GiB</source>
+      <translation>{0} GiB</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1641"/>
-        <source>{0} Bytes</source>
-        <translation>{0} байтов</translation>
+      <location filename="../MqttMonitorWidget.py" line="1633" />
+      <source>{0} TiB</source>
+      <translation>{0} TiB</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1646"/>
-        <source>{0} KiB</source>
-        <translation>{0} KiB</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;MQTT Monitor&lt;/b&gt;</source>
+      <translation>&lt;b&gt;MQTT Monitor&lt;/b&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Broker</source>
+      <translation>Брокер</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1651"/>
-        <source>{0} MiB</source>
-        <translation>{0} MiB</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to switch the mode between profiles and direct connection</source>
+      <translation>Переключить режим подключения  -  профили или прямое соединение</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select the profile to be used to connect to the broker</source>
+      <translation>Выберите профиль, который будет использоваться для соединения с брокером</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1656"/>
-        <source>{0} GiB</source>
-        <translation>{0} GiB</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the host name of the broker</source>
+      <translation>Введите имя хоста брокера</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the broker port to connect to</source>
+      <translation>Задайте порт брокера для соединения</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to open a dialog to enter connection options</source>
+      <translation>Открыть диалог ввода параметров соединения</translation>
     </message>
     <message>
-        <location filename="../MqttMonitorWidget.py" line="1661"/>
-        <source>{0} TiB</source>
-        <translation>{0} TiB</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to connect to/disconnect from the broker</source>
+      <translation>Подключиться к брокеру/отключиться от брокера</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select to clear a previously set last will message</source>
+      <translation>Разрешить очищать установленные ранее сообщения 'последней воли'</translation>
     </message>
-</context>
-<context>
-    <name>MqttPage</name>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Pub/Sub</source>
+      <translation>Подписки/Публикации</translation>
+    </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>&lt;b&gt;Configure MQTT Monitor&lt;/b&gt;</source>
-        <translation>&lt;b&gt;Настройка MQTT Monitor&lt;/b&gt;</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Topic:</source>
+      <translation>Тема:</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the topic</source>
+      <translation>Введите тему</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Default MQTT Protocol</source>
-        <translation>Протокол MQTT по умолчанию</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>QoS:</source>
+      <translation>QoS:</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the desired QoS value</source>
+      <translation>Задайте желаемое значение уровня обслуживания QoS</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to subscribe to the given topic</source>
+      <translation>Подписаться на данную тему</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to edit the user properties</source>
+      <translation>Разрешить редактировать пользовательские свойства</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Select to use the MQTT 3.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select the topic to unsubscribe</source>
+      <translation>Выберите тему для отписки</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to unsubscribe the selected topic</source>
+      <translation>Отписаться от выбранной темы</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>v 3.1</source>
-        <translation>вер. 3.1</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Publish</source>
+      <translation>Опубликовать</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Select to use the MQTT 3.1.1 protocol</source>
-        <translation>Выбор протокола MQTT 3.1.1</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the topic to publish to</source>
+      <translation>Введите тему для публикации</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select to retain the published message</source>
+      <translation>Разрешить удерживать опубликованное сообщение</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>v 3.1.1</source>
-        <translation>вер. 3.1.1</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Retain</source>
+      <translation>Удерживать</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the string data to be sent</source>
+      <translation>Введите строку данных для отправки</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Select to use the MQTT 5.0 protocol</source>
-        <translation>Выбор протокола MQTT 5.0</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Payload File:</source>
+      <translation>Файл полезной нагрузки:</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Enter the full path to a file containing the message payload</source>
+      <translation>Введите полный путь к файлу, содержащему полезную нагрузку сообщения</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to clear the publish data</source>
+      <translation>Очистить данные публикации</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>v 5.0</source>
-        <translation>вер. 5.0</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to clear the retained messages of the selected topic</source>
+      <translation>Разрешить очищать сохраненные сообщения выбранной темы</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Clear Retained</source>
+      <translation>Очищать сохраненные</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Recent Brokers</source>
-        <translation>Недавние брокеры</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select to clear the publish data after the message was published</source>
+      <translation>Разрешить очищать данные публикации после опубликования сообщения</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Number of recent brokers:</source>
-        <translation>Количество недавних брокеров:</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Clear when sent</source>
+      <translation>Очищать после отправки</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Enter the number of recent brokers to remember</source>
-        <translation>Задайте количество брокеров для запоминания</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Properties</source>
+      <translation>Свойства</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>MQTT V5 Properties</source>
+      <translation>Свойства MQTT вер. 5</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Recent Topics</source>
-        <translation>Недавние темы</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Messages</source>
+      <translation>Сообщения</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to save the received messages to a file</source>
+      <translation>Сохранить полученные сообщения в файл</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Number of recent topics:</source>
-        <translation>Количество недавних тем:</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Save</source>
+      <translation>Сохранить</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to clear the list of received messages</source>
+      <translation>Очистить список полученных сообщений</translation>
     </message>
     <message>
-        <location filename="../ConfigurationPage/MqttPage.ui" line="0"/>
-        <source>Enter the number of recent topics to remember</source>
-        <translation>Задайте количество тем для запоминания</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select to scroll to the most recently received message</source>
+      <translation>Разрешить прокручивать список до последнего полученного сообщения</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Follow received messages</source>
+      <translation>Следовать за получаемыми сообщениями</translation>
     </message>
-</context>
-<context>
-    <name>MqttReasonCodeNames</name>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Status</source>
+      <translation>Статус</translation>
+    </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="15"/>
-        <source>Success</source>
-        <translation>Успешно</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;Broker&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Брокер&lt;/b&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Version</source>
+      <translation>Версия</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="24"/>
-        <source>Normal disconnection</source>
-        <translation>Нормальное разъединение</translation>
-    </message>
-    <message>
-        <location filename="../MqttReasonCodes.py" line="27"/>
-        <source>Granted QoS 0</source>
-        <translation>Предоставлен QoS 0</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>-</source>
+      <translation>-</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="32"/>
-        <source>Granted QoS 1</source>
-        <translation>Предоставлен QoS 1</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Timestamp</source>
+      <translation>Метки времени</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Uptime</source>
+      <translation>Время работы</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="37"/>
-        <source>Granted QoS 2</source>
-        <translation>Предоставлен QoS 2</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Subscriptions</source>
+      <translation>Подписки</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="42"/>
-        <source>Disconnect with will message</source>
-        <translation>Отключить посредством сообщения &apos;последней воли&apos;</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;Clients&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Клиенты&lt;/b&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Connected</source>
+      <translation>Подключено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Disconnected</source>
+      <translation>Отключено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="47"/>
-        <source>No matching subscribers</source>
-        <translation>Нет соответствующих подписчиков</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Expired</source>
+      <translation>Завершено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Maximum</source>
+      <translation>Максимум</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Total</source>
+      <translation>Всего</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;Messages&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Сообщения&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="53"/>
-        <source>No subscription found</source>
-        <translation>Подписка не найдена</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Sent</source>
+      <translation>Отправлено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Received</source>
+      <translation>Получено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="58"/>
-        <source>Continue authentication</source>
-        <translation>Продолжить аутентификацию</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Stored</source>
+      <translation>Сохранено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="63"/>
-        <source>Re-authenticate</source>
-        <translation>Повторить аутентификацию</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Inflight</source>
+      <translation>В полете</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Retained</source>
+      <translation>Удержано</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;PUBLISH Messages&lt;/b&gt;</source>
+      <translation>&lt;b&gt;PUBLISH сообщения&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="68"/>
-        <source>Unspecified error</source>
-        <translation>Неопределенная ошибка</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Dropped</source>
+      <translation>Сброшено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;Traffic&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Трафик&lt;/b&gt;</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="78"/>
-        <source>Malformed packet</source>
-        <translation>Плохо сформированный пакет</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Bytes Sent</source>
+      <translation>Байт отправлено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Bytes Received</source>
+      <translation>Байт принято</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>&lt;b&gt;Load&lt;/b&gt; (1 min / 5 min / 15 min)</source>
+      <translation>&lt;b&gt;Загрузка&lt;/b&gt; (1 мин / 5 мин / 15 мин)</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="84"/>
-        <source>Protocol error</source>
-        <translation>Ошибка протокола</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>- / - / -</source>
+      <translation>- / - / -</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="90"/>
-        <source>Implementation specific error</source>
-        <translation>Ошибка конкретной реализации</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Messages Sent</source>
+      <translation>Сообщений отправлено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="102"/>
-        <source>Unsupported protocol version</source>
-        <translation>Неподдерживаемая версия протокола</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Messages Received</source>
+      <translation>Сообщений принято</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="107"/>
-        <source>Client identifier not valid</source>
-        <translation>Недействительный идентификатор клиента</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>PUBLISH Sent</source>
+      <translation>PUBLISH отправлено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="112"/>
-        <source>Bad user name or password</source>
-        <translation>Неверное имя пользователя или пароль</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>PUBLISH Received</source>
+      <translation>PUBLISH принято</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>PUBLISH Dropped</source>
+      <translation>PUBLISH сброшено</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Connections</source>
+      <translation>Соединения</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Sockets</source>
+      <translation>Сокеты</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="117"/>
-        <source>Not authorized</source>
-        <translation>Не авторизован</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Log</source>
+      <translation>Журнал</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Max. Log Level:</source>
+      <translation>Максимальный уровень журнала:</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="127"/>
-        <source>Server unavailable</source>
-        <translation>Сервер недоступен</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select the maximum log level to show</source>
+      <translation>Выберите максимальный уровень журнала для показа</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="132"/>
-        <source>Server busy</source>
-        <translation>Сервер занят</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to save the received log messages to a file</source>
+      <translation>Сохранить полученные сообщения журнала в файл</translation>
+    </message>
+    <message>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Press to clear the list of received log messages</source>
+      <translation>Очистить список принятых сообщений журнала</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="138"/>
-        <source>Banned</source>
-        <translation>Запрещено</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Select to scroll to the most recently received log message</source>
+      <translation>Разрешить прокручивать список до последнего полученного сообщения журнала</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="143"/>
-        <source>Server shutting down</source>
-        <translation>Выключение сервера</translation>
+      <location filename="../MqttMonitorWidget.ui" line="0" />
+      <source>Follow received log messages</source>
+      <translation>Следовать за получаемыми сообщениями</translation>
+    </message>
+  </context>
+  <context>
+    <name>MqttPage</name>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>&lt;b&gt;Configure MQTT Monitor&lt;/b&gt;</source>
+      <translation>&lt;b&gt;Настройка MQTT Monitor&lt;/b&gt;</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Default MQTT Protocol</source>
+      <translation>Протокол MQTT по умолчанию</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="148"/>
-        <source>Bad authentication method</source>
-        <translation>Неверный метод аутентификации</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Select to use the MQTT 3.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>v 3.1</source>
+      <translation>вер. 3.1</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="153"/>
-        <source>Keep alive timeout</source>
-        <translation>Период сохранения активности</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Select to use the MQTT 3.1.1 protocol</source>
+      <translation>Выбор протокола MQTT 3.1.1</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="158"/>
-        <source>Session taken over</source>
-        <translation>Сессия завершена</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>v 3.1.1</source>
+      <translation>вер. 3.1.1</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Select to use the MQTT 5.0 protocol</source>
+      <translation>Выбор протокола MQTT 5.0</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>v 5.0</source>
+      <translation>вер. 5.0</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="163"/>
-        <source>Topic filter invalid</source>
-        <translation>Неверный фильтр тем</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Recent Brokers</source>
+      <translation>Недавние брокеры</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Number of recent brokers:</source>
+      <translation>Количество недавних брокеров:</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Enter the number of recent brokers to remember</source>
+      <translation>Задайте количество брокеров для запоминания</translation>
+    </message>
+    <message>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Recent Topics</source>
+      <translation>Недавние темы</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="170"/>
-        <source>Topic name invalid</source>
-        <translation>Недопустимое имя темы</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Number of recent topics:</source>
+      <translation>Количество недавних тем:</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="178"/>
-        <source>Packet identifier in use</source>
-        <translation>Идентификатор пакета используется</translation>
+      <location filename="../ConfigurationPage/MqttPage.ui" line="0" />
+      <source>Enter the number of recent topics to remember</source>
+      <translation>Задайте количество тем для запоминания</translation>
+    </message>
+  </context>
+  <context>
+    <name>MqttReasonCodeNames</name>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="15" />
+      <source>Success</source>
+      <translation>Успешно</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="186"/>
-        <source>Packet identifier not found</source>
-        <translation>Идентификатор пакета не найден</translation>
+      <location filename="../MqttReasonCodes.py" line="24" />
+      <source>Normal disconnection</source>
+      <translation>Нормальное разъединение</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="27" />
+      <source>Granted QoS 0</source>
+      <translation>Предоставлен QoS 0</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="191"/>
-        <source>Receive maximum exceeded</source>
-        <translation>Превышено максимальное количество</translation>
+      <location filename="../MqttReasonCodes.py" line="32" />
+      <source>Granted QoS 1</source>
+      <translation>Предоставлен QoS 1</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="37" />
+      <source>Granted QoS 2</source>
+      <translation>Предоставлен QoS 2</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="196"/>
-        <source>Topic alias invalid</source>
-        <translation>Недействительный псевдоним темы</translation>
+      <location filename="../MqttReasonCodes.py" line="42" />
+      <source>Disconnect with will message</source>
+      <translation>Отключить посредством сообщения 'последней воли'</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="47" />
+      <source>No matching subscribers</source>
+      <translation>Нет соответствующих подписчиков</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="53" />
+      <source>No subscription found</source>
+      <translation>Подписка не найдена</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="201"/>
-        <source>Packet too large</source>
-        <translation>Слишком большой пакет</translation>
+      <location filename="../MqttReasonCodes.py" line="58" />
+      <source>Continue authentication</source>
+      <translation>Продолжить аутентификацию</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="63" />
+      <source>Re-authenticate</source>
+      <translation>Повторить аутентификацию</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="207"/>
-        <source>Message rate too high</source>
-        <translation>Скорость получения сообщений слишком высока</translation>
+      <location filename="../MqttReasonCodes.py" line="68" />
+      <source>Unspecified error</source>
+      <translation>Неопределенная ошибка</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="212"/>
-        <source>Quota exceeded</source>
-        <translation>Превышена квота</translation>
+      <location filename="../MqttReasonCodes.py" line="78" />
+      <source>Malformed packet</source>
+      <translation>Плохо сформированный пакет</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="221"/>
-        <source>Administrative action</source>
-        <translation>Административное действие</translation>
+      <location filename="../MqttReasonCodes.py" line="84" />
+      <source>Protocol error</source>
+      <translation>Ошибка протокола</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="90" />
+      <source>Implementation specific error</source>
+      <translation>Ошибка конкретной реализации</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="226"/>
-        <source>Payload format invalid</source>
-        <translation>Неверный формат полезной нагрузки</translation>
+      <location filename="../MqttReasonCodes.py" line="102" />
+      <source>Unsupported protocol version</source>
+      <translation>Неподдерживаемая версия протокола</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="107" />
+      <source>Client identifier not valid</source>
+      <translation>Недействительный идентификатор клиента</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="112" />
+      <source>Bad user name or password</source>
+      <translation>Неверное имя пользователя или пароль</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="117" />
+      <source>Not authorized</source>
+      <translation>Не авторизован</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="233"/>
-        <source>Retain not supported</source>
-        <translation>Сохранение не поддерживается</translation>
+      <location filename="../MqttReasonCodes.py" line="127" />
+      <source>Server unavailable</source>
+      <translation>Сервер недоступен</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="132" />
+      <source>Server busy</source>
+      <translation>Сервер занят</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="239"/>
-        <source>QoS not supported</source>
-        <translation>QoS не поддерживается</translation>
+      <location filename="../MqttReasonCodes.py" line="138" />
+      <source>Banned</source>
+      <translation>Запрещено</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="245"/>
-        <source>Use another server</source>
-        <translation>Используйте другой сервер</translation>
+      <location filename="../MqttReasonCodes.py" line="143" />
+      <source>Server shutting down</source>
+      <translation>Выключение сервера</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="148" />
+      <source>Bad authentication method</source>
+      <translation>Неверный метод аутентификации</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="251"/>
-        <source>Server moved</source>
-        <translation>Сервер перемещен</translation>
+      <location filename="../MqttReasonCodes.py" line="153" />
+      <source>Keep alive timeout</source>
+      <translation>Период сохранения активности</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="158" />
+      <source>Session taken over</source>
+      <translation>Сессия завершена</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="257"/>
-        <source>Shared subscription not supported</source>
-        <translation>Общая подписка не поддерживается</translation>
+      <location filename="../MqttReasonCodes.py" line="163" />
+      <source>Topic filter invalid</source>
+      <translation>Неверный фильтр тем</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="170" />
+      <source>Topic name invalid</source>
+      <translation>Недопустимое имя темы</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="178" />
+      <source>Packet identifier in use</source>
+      <translation>Идентификатор пакета используется</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="262"/>
-        <source>Connection rate exceeded</source>
-        <translation>Превышена скорость соединения</translation>
+      <location filename="../MqttReasonCodes.py" line="186" />
+      <source>Packet identifier not found</source>
+      <translation>Идентификатор пакета не найден</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="191" />
+      <source>Receive maximum exceeded</source>
+      <translation>Превышено максимальное количество</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="268"/>
-        <source>Maximum connect time</source>
-        <translation>Максимальное время соединения</translation>
+      <location filename="../MqttReasonCodes.py" line="196" />
+      <source>Topic alias invalid</source>
+      <translation>Недействительный псевдоним темы</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="273"/>
-        <source>Subscription identifiers not supported</source>
-        <translation>Идентификаторы подписки не поддерживаются</translation>
+      <location filename="../MqttReasonCodes.py" line="201" />
+      <source>Packet too large</source>
+      <translation>Слишком большой пакет</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="278"/>
-        <source>Wildcard subscription not supported</source>
-        <translation>Подписка с подстановочными знаками не поддерживается</translation>
+      <location filename="../MqttReasonCodes.py" line="207" />
+      <source>Message rate too high</source>
+      <translation>Скорость получения сообщений слишком высока</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="212" />
+      <source>Quota exceeded</source>
+      <translation>Превышена квота</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="298"/>
-        <source>Unknown result code ({0})</source>
-        <translation>Неизвестный код результата ({0})</translation>
+      <location filename="../MqttReasonCodes.py" line="221" />
+      <source>Administrative action</source>
+      <translation>Административное действие</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="226" />
+      <source>Payload format invalid</source>
+      <translation>Неверный формат полезной нагрузки</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="233" />
+      <source>Retain not supported</source>
+      <translation>Сохранение не поддерживается</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="239" />
+      <source>QoS not supported</source>
+      <translation>QoS не поддерживается</translation>
     </message>
     <message>
-        <location filename="../MqttReasonCodes.py" line="307"/>
-        <source>Unknown result code ({0}) for packet type &apos;{1}&apos;</source>
-        <translation>Неизвестный код результата ({0}) для типа пакета &apos;{1}&apos;</translation>
+      <location filename="../MqttReasonCodes.py" line="245" />
+      <source>Use another server</source>
+      <translation>Используйте другой сервер</translation>
     </message>
-</context>
-<context>
-    <name>MqttUserPropertiesEditor</name>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>User Properties</source>
-        <translation>Пользовательские свойства</translation>
+      <location filename="../MqttReasonCodes.py" line="251" />
+      <source>Server moved</source>
+      <translation>Сервер перемещен</translation>
     </message>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>Key</source>
-        <translation>Ключ</translation>
+      <location filename="../MqttReasonCodes.py" line="257" />
+      <source>Shared subscription not supported</source>
+      <translation>Общая подписка не поддерживается</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="262" />
+      <source>Connection rate exceeded</source>
+      <translation>Превышена скорость соединения</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="268" />
+      <source>Maximum connect time</source>
+      <translation>Максимальное время соединения</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="273" />
+      <source>Subscription identifiers not supported</source>
+      <translation>Идентификаторы подписки не поддерживаются</translation>
     </message>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>Value</source>
-        <translation>Значение</translation>
+      <location filename="../MqttReasonCodes.py" line="278" />
+      <source>Wildcard subscription not supported</source>
+      <translation>Подписка с подстановочными знаками не поддерживается</translation>
+    </message>
+    <message>
+      <location filename="../MqttReasonCodes.py" line="298" />
+      <source>Unknown result code ({0})</source>
+      <translation>Неизвестный код результата ({0})</translation>
     </message>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>Press to add a new empty row</source>
-        <translation>Добавить новую пустую строку</translation>
+      <location filename="../MqttReasonCodes.py" line="307" />
+      <source>Unknown result code ({0}) for packet type '{1}'</source>
+      <translation>Неизвестный код результата ({0}) для типа пакета '{1}'</translation>
+    </message>
+  </context>
+  <context>
+    <name>MqttUserPropertiesEditor</name>
+    <message>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>User Properties</source>
+      <translation>Пользовательские свойства</translation>
     </message>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>Press to delete the selected properties</source>
-        <translation>Удалить выбранные свойства</translation>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>Key</source>
+      <translation>Ключ</translation>
     </message>
     <message>
-        <location filename="../MqttUserPropertiesEditor.ui" line="0"/>
-        <source>Press to delete all properties</source>
-        <translation>Удалить все свойства</translation>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>Value</source>
+      <translation>Значение</translation>
+    </message>
+    <message>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>Press to add a new empty row</source>
+      <translation>Добавить новую пустую строку</translation>
     </message>
-</context>
-<context>
+    <message>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>Press to delete the selected properties</source>
+      <translation>Удалить выбранные свойства</translation>
+    </message>
+    <message>
+      <location filename="../MqttUserPropertiesEditor.ui" line="0" />
+      <source>Press to delete all properties</source>
+      <translation>Удалить все свойства</translation>
+    </message>
+  </context>
+  <context>
     <name>MqttUserPropertiesEditorDialog</name>
     <message>
-        <location filename="../MqttUserPropertiesEditor.py" line="142"/>
-        <source>User Properties</source>
-        <translation>Пользовательские свойства</translation>
+      <location filename="../MqttUserPropertiesEditor.py" line="142" />
+      <source>User Properties</source>
+      <translation>Пользовательские свойства</translation>
     </message>
-</context>
+  </context>
 </TS>

eric ide

mercurial