Sun, 30 May 2021 18:21:40 +0200
Ported the plug-in to PyQt6 for eric7.
diff -r 3cb08e5db764 -r 2fb5c08019fd .hgignore --- a/.hgignore Sun May 30 17:40:40 2021 +0200 +++ b/.hgignore Sun May 30 18:21:40 2021 +0200 @@ -1,4 +1,5 @@ glob:.eric6project +glob:.eric7project glob:.ropeproject glob:.directory glob:**.pyc
diff -r 3cb08e5db764 -r 2fb5c08019fd ChangeLog --- a/ChangeLog Sun May 30 17:40:40 2021 +0200 +++ b/ChangeLog Sun May 30 18:21:40 2021 +0200 @@ -1,5 +1,10 @@ ChangeLog --------- +Version 1.0.0: +- first release of the eric7 variant + +************************************************************ + Version 3.1.0: - added code to install the 'paho-mqtt' library as a plug-in dependency (eric > 21.5)
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttClient.html --- a/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttClient.html Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttClient.html Sun May 30 18:21:40 2021 +0200 @@ -238,7 +238,7 @@ <dd> user data </dd> -<dt><i>protocol</i> (int, one of mqtt.MQTTv31 or mqtt.MQTTv311)</dt> +<dt><i>protocol</i> (int, one of mqtt.MQTTv3, mqtt.MQTTv311 or mqtt.MQTTv5)</dt> <dd> version of the MQTT protocol to use </dd>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionOptionsDialog.html --- a/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionOptionsDialog.html Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttConnectionOptionsDialog.html Sun May 30 18:21:40 2021 +0200 @@ -181,7 +181,7 @@ <dl> <dt>Return Type:</dt> <dd> -tuple of (int, dict) +dict </dd> </dl> <a NAME="MqttConnectionOptionsDialog.on_buttonBox_clicked" ID="MqttConnectionOptionsDialog.on_buttonBox_clicked"></a>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttMonitorWidget.html --- a/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttMonitorWidget.html Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.MqttMonitor.MqttMonitorWidget.html Sun May 30 18:21:40 2021 +0200 @@ -253,7 +253,7 @@ <a NAME="MqttMonitorWidget.__init__" ID="MqttMonitorWidget.__init__"></a> <h4>MqttMonitorWidget (Constructor)</h4> -<b>MqttMonitorWidget</b>(<i>plugin, iconSuffix, parent=None</i>) +<b>MqttMonitorWidget</b>(<i>plugin, usesDarkPalette, parent=None</i>) <p> Constructor @@ -264,9 +264,10 @@ <dd> reference to the plug-in object </dd> -<dt><i>iconSuffix</i> (str)</dt> +<dt><i>usesDarkPalette</i> (bool)</dt> <dd> -suffix for the icons +flag indicating the use of a dark application + palette </dd> <dt><i>parent</i> (QWidget)</dt> <dd>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.PluginMqttMonitor.html --- a/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.PluginMqttMonitor.html Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/Documentation/source/Plugin_Mqtt_Monitor.PluginMqttMonitor.html Sun May 30 18:21:40 2021 +0200 @@ -170,7 +170,7 @@ <dl> <dt>Return Type:</dt> <dd> -bool +tuple of (None, bool) </dd> </dl> <a NAME="MqttMonitorPlugin.deactivate" ID="MqttMonitorPlugin.deactivate"></a> @@ -189,15 +189,21 @@ </p> <dl> -<dt><i>key</i></dt> +<dt><i>key</i> (str)</dt> <dd> -the key of the value to get +key of the setting </dd> </dl> <dl> <dt>Return:</dt> <dd> -the requested setting +value of the requested setting +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +Any </dd> </dl> <a NAME="MqttMonitorPlugin.setPreferences" ID="MqttMonitorPlugin.setPreferences"></a> @@ -209,13 +215,13 @@ </p> <dl> -<dt><i>key</i></dt> +<dt><i>key</i> (str)</dt> <dd> -the key of the setting to be set (string) +key of the setting to be set </dd> -<dt><i>value</i></dt> +<dt><i>value</i> (Any)</dt> <dd> -the value to be set +value to be set </dd> </dl> <div align="right"><a href="#top">Up</a></div>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttClient.py --- a/MqttMonitor/MqttClient.py Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttClient.py Sun May 30 18:21:40 2021 +0200 @@ -7,7 +7,7 @@ Module implementing a PyQt wrapper around the paho MQTT client. """ -from PyQt5.QtCore import ( +from PyQt6.QtCore import ( pyqtSignal, pyqtSlot, QObject, QCoreApplication, QTimer ) @@ -73,7 +73,7 @@ @param userdata user data @type any @param protocol version of the MQTT protocol to use - @type int, one of mqtt.MQTTv31 or mqtt.MQTTv311 + @type int, one of mqtt.MQTTv3, mqtt.MQTTv311 or mqtt.MQTTv5 @param transport transport to be used @type str, one of "tcp" or "websockets" @param parent reference to the parent object @@ -91,6 +91,7 @@ self.onConnect.connect(self.__connectTimeoutTimer.stop) + # TODO: MQTTv5: set clean_session to None and remember cleanSession self.__mqttClient = mqtt.Client( client_id=clientId, clean_session=cleanSession, userdata=None, protocol=mqtt.MQTTv311, transport="tcp") @@ -101,9 +102,12 @@ """ Private method to initialize the MQTT callback methods. """ + # TODO: add properties to signal + # TODO: MQTTv5: add support for MQTTv5 signature self.__mqttClient.on_connect = ( - lambda client, userdata, flags, rc: self.onConnect.emit( - flags, rc)) + lambda client, userdata, flags, rc, properties: + self.onConnect.emit(flags, rc)) + # TODO: MQTTv5: add support for MQTTv5 signature self.__mqttClient.on_disconnect = ( lambda client, userdata, rc: self.onDisconnected.emit(rc)) self.__mqttClient.on_log = ( @@ -113,9 +117,12 @@ message.topic, message.payload, message.qos, message.retain)) self.__mqttClient.on_publish = ( lambda client, userdata, mid: self.onPublish.emit(mid)) + # TODO: add properties to signal + # TODO: MQTTv5: add support for MQTTv5 signature self.__mqttClient.on_subscribe = ( - lambda client, userdata, mid, grantedQos: self.onSubscribe.emit( - mid, grantedQos)) + lambda client, userdata, mid, grantedQos, properties: + self.onSubscribe.emit(mid, grantedQos)) + # TODO: MQTTv5: add support for MQTTv5 signature self.__mqttClient.on_unsubscribe = ( lambda client, userdata, mid: self.onUnsubscribe.emit(mid)) @@ -192,6 +199,7 @@ """ self.__mqttClient.user_data_set(userdata) + # TODO: MQTTv5: add support for properties def setLastWill(self, topic, payload=None, qos=0, retain=False): """ Public method to set the last will of the client. @@ -275,6 +283,8 @@ """ if reinit: self.reinitialise() + # TODO: MQTTv5: use 'clean_start' set to the remembered 'cleanSession' + # TODO: MQTTv5: add support for MQTTv5 properties self.__mqttClient.connect_async( host, port=port, keepalive=keepalive, bind_address=bindAddress) @@ -374,7 +384,7 @@ @rtype dict """ return { - "ClientId": "ERIC6_MQTT_MONITOR_CLIENT", + "ClientId": "ERIC7_MQTT_MONITOR_CLIENT", "ConnectionTimeout": MqttClient.DefaultConnectTimeout, "Keepalive": 60, "CleanSession": True, @@ -407,8 +417,12 @@ """ self.__connectTimeoutTimer.stop() + # TODO: MQTTv5: add support for properties (?) + # TODO: MQTTv5: add support for reason code self.__mqttClient.disconnect() + # TODO: MQTTv5: add support for properties + # TODO: MQTTv5: add support for subscribe options def subscribe(self, topic, qos=0): """ Public method to subscribe to topics with quality of service. @@ -423,6 +437,7 @@ """ return self.__mqttClient.subscribe(topic, qos=qos) + # TODO: MQTTv5: add support for properties (?) def unsubscribe(self, topic): """ Public method to unsubscribe topics. @@ -434,6 +449,7 @@ """ return self.__mqttClient.unsubscribe(topic) + # TODO: MQTTv5: add support for properties def publish(self, topic, payload=None, qos=0, retain=False): """ Public method to publish to a topic. @@ -564,6 +580,10 @@ return QCoreApplication.translate( "MqttErrorMessage", "Error defined by errno.") + elif mqttErrno == mqtt.MQTT_ERR_QUEUE_SIZE: + return QCoreApplication.translate( + "MqttErrorMessage", + "Message queue full.") else: return QCoreApplication.translate( "MqttErrorMessage",
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttConnectionOptionsDialog.py --- a/MqttMonitor/MqttConnectionOptionsDialog.py Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttConnectionOptionsDialog.py Sun May 30 18:21:40 2021 +0200 @@ -7,11 +7,11 @@ Module implementing a dialog to enter MQTT connection options. """ -from PyQt5.QtCore import pyqtSlot, QUuid -from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QAbstractButton +from PyQt6.QtCore import pyqtSlot, QUuid +from PyQt6.QtWidgets import QDialog, QDialogButtonBox, QAbstractButton -from E5Gui import E5MessageBox -from E5Gui.E5PathPicker import E5PathPickerModes +from EricWidgets import EricMessageBox +from EricWidgets.EricPathPicker import EricPathPickerModes from .Ui_MqttConnectionOptionsDialog import Ui_MqttConnectionOptionsDialog @@ -42,7 +42,7 @@ self.__client = client - self.tlsCertsFilePicker.setMode(E5PathPickerModes.OpenFileMode) + self.tlsCertsFilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) self.tlsCertsFilePicker.setFilters( self.tr("Certificate Files (*.crt *.pem);;All Files (*)")) @@ -59,14 +59,15 @@ not self.cleanSessionCheckBox.isChecked() ): enable = False - E5MessageBox.critical( + EricMessageBox.critical( self, self.tr("Invalid Connection Parameters"), self.tr("""An empty Client ID requires a clean session.""")) else: enable = True - self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(enable) + self.buttonBox.button( + QDialogButtonBox.StandardButton.Ok).setEnabled(enable) @pyqtSlot() def on_generateIdButton_clicked(self): @@ -74,7 +75,8 @@ Private slot to generate a client ID. """ uuid = QUuid.createUuid() - self.clientIdEdit.setText(uuid.toString(QUuid.WithoutBraces)) + self.clientIdEdit.setText( + uuid.toString(QUuid.StringFormat.WithoutBraces)) @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): @@ -84,7 +86,9 @@ @param button button that has been pressed @type QAbstractButton """ - if button == self.buttonBox.button(QDialogButtonBox.RestoreDefaults): + if button == self.buttonBox.button( + QDialogButtonBox.StandardButton.RestoreDefaults + ): self.__populateDefaults(options=None) def __populateDefaults(self, options=None): @@ -132,7 +136,7 @@ "ClientId", "Keepalive", "CleanSession", "Username", "Password", "WillTopic", "WillMessage", "WillQos", "WillRetain", "TlsEnable", "TlsCaCert", "ConnectionTimeout". - @rtype tuple of (int, dict) + @rtype dict """ return { "ClientId": self.clientIdEdit.text(),
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttConnectionOptionsDialog.ui --- a/MqttMonitor/MqttConnectionOptionsDialog.ui Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttConnectionOptionsDialog.ui Sun May 30 18:21:40 2021 +0200 @@ -31,10 +31,13 @@ </widget> </item> <item row="0" column="1"> - <widget class="E5ClearableLineEdit" name="clientIdEdit"> + <widget class="QLineEdit" name="clientIdEdit"> <property name="toolTip"> <string>Enter the ID string for this client</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="0" column="2"> @@ -166,10 +169,13 @@ </widget> </item> <item row="0" column="1"> - <widget class="E5ClearableLineEdit" name="usernameEdit"> + <widget class="QLineEdit" name="usernameEdit"> <property name="toolTip"> <string>Enter the user name</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="1" column="0"> @@ -180,13 +186,16 @@ </widget> </item> <item row="1" column="1"> - <widget class="E5ClearableLineEdit" name="passwordEdit"> + <widget class="QLineEdit" name="passwordEdit"> <property name="toolTip"> <string>Enter the password</string> </property> <property name="echoMode"> <enum>QLineEdit::Password</enum> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> </layout> @@ -199,10 +208,13 @@ </property> <layout class="QGridLayout" name="gridLayout_3"> <item row="0" column="0"> - <widget class="E5ClearableLineEdit" name="willTopicEdit"> + <widget class="QLineEdit" name="willTopicEdit"> <property name="toolTip"> <string>Enter the topic of the last will</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="0" column="1"> @@ -275,7 +287,7 @@ </widget> </item> <item row="1" column="1"> - <widget class="E5PathPicker" name="tlsCertsFilePicker" native="true"> + <widget class="EricPathPicker" name="tlsCertsFilePicker" native="true"> <property name="enabled"> <bool>false</bool> </property> @@ -310,14 +322,9 @@ </widget> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5PathPicker</class> + <class>EricPathPicker</class> <extends>QWidget</extends> - <header>E5Gui/E5PathPicker.h</header> + <header>EricWidgets/EricPathPicker.h</header> <container>1</container> </customwidget> </customwidgets>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttConnectionProfilesDialog.py --- a/MqttMonitor/MqttConnectionProfilesDialog.py Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttConnectionProfilesDialog.py Sun May 30 18:21:40 2021 +0200 @@ -9,14 +9,14 @@ import collections -from PyQt5.QtCore import pyqtSlot, Qt, QUuid -from PyQt5.QtWidgets import ( +from PyQt6.QtCore import pyqtSlot, Qt, QUuid +from PyQt6.QtWidgets import ( QDialog, QDialogButtonBox, QAbstractButton, QListWidgetItem, QInputDialog, QLineEdit ) -from E5Gui import E5MessageBox -from E5Gui.E5PathPicker import E5PathPickerModes +from EricWidgets import EricMessageBox +from EricWidgets.EricPathPicker import EricPathPickerModes from .Ui_MqttConnectionProfilesDialog import Ui_MqttConnectionProfilesDialog @@ -53,23 +53,23 @@ self.__profiles.update(profiles) self.__profilesChanged = False - self.plusButton.setIcon(UI.PixmapCache.getIcon("plus.png")) - self.copyButton.setIcon(UI.PixmapCache.getIcon("editCopy.png")) - self.minusButton.setIcon(UI.PixmapCache.getIcon("minus.png")) + self.plusButton.setIcon(UI.PixmapCache.getIcon("plus")) + self.copyButton.setIcon(UI.PixmapCache.getIcon("editCopy")) + self.minusButton.setIcon(UI.PixmapCache.getIcon("minus")) - self.tlsCertsFilePicker.setMode(E5PathPickerModes.OpenFileMode) + self.tlsCertsFilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) self.tlsCertsFilePicker.setFilters( self.tr("Certificate Files (*.crt *.pem);;All Files (*)")) self.tlsSelfSignedCertsFilePicker.setMode( - E5PathPickerModes.OpenFileMode) + EricPathPickerModes.OPEN_FILE_MODE) self.tlsSelfSignedCertsFilePicker.setFilters( self.tr("Certificate Files (*.crt *.pem);;All Files (*)")) self.tlsSelfSignedClientCertFilePicker.setMode( - E5PathPickerModes.OpenFileMode) + EricPathPickerModes.OPEN_FILE_MODE) self.tlsSelfSignedClientCertFilePicker.setFilters( self.tr("Certificate Files (*.crt *.pem);;All Files (*)")) self.tlsSelfSignedClientKeyFilePicker.setMode( - E5PathPickerModes.OpenFileMode) + EricPathPickerModes.OPEN_FILE_MODE) self.tlsSelfSignedClientKeyFilePicker.setFilters( self.tr("Key Files (*.key *.pem);;All Files (*)")) @@ -103,15 +103,20 @@ @param button reference to the pressed button @type QAbstractButton """ - if button == self.profileButtonBox.button(QDialogButtonBox.Apply): + if button == self.profileButtonBox.button( + QDialogButtonBox.StandardButton.Apply + ): currentProfile = self.__applyProfile() self.__populateProfilesList(currentProfile) - elif button == self.profileButtonBox.button(QDialogButtonBox.Reset): + elif button == self.profileButtonBox.button( + QDialogButtonBox.StandardButton.Reset + ): self.__resetProfile() elif button == self.profileButtonBox.button( - QDialogButtonBox.RestoreDefaults): + QDialogButtonBox.StandardButton.RestoreDefaults + ): self.__populateProfileDefault() @pyqtSlot(QListWidgetItem, QListWidgetItem) @@ -133,12 +138,12 @@ self.__isChangedProfile() ): # modified profile belongs to previous - yes = E5MessageBox.yesNo( + yes = EricMessageBox.yesNo( self, self.tr("Changed Connection Profile"), self.tr("""The current profile has unsaved changes.""" """ Shall these be saved?"""), - icon=E5MessageBox.Warning, + icon=EricMessageBox.Warning, yesDefault=True) if yes: self.__applyProfile() @@ -158,10 +163,10 @@ self, self.tr("New Connection Profile"), self.tr("Enter name for the new Connection Profile:"), - QLineEdit.Normal) + QLineEdit.EchoMode.Normal) if ok and bool(profileName): if profileName in self.__profiles: - E5MessageBox.warning( + EricMessageBox.warning( self, self.tr("New Connection Profile"), self.tr("""<p>A connection named <b>{0}</b> exists""" @@ -170,7 +175,8 @@ else: itm = QListWidgetItem(profileName, self.profilesList) self.profilesList.setCurrentItem(itm) - self.brokerAddressEdit.setFocus(Qt.OtherFocusReason) + self.brokerAddressEdit.setFocus( + Qt.FocusReason.OtherFocusReason) @pyqtSlot() def on_copyButton_clicked(self): @@ -184,10 +190,10 @@ self, self.tr("Copy Connection Profile"), self.tr("Enter name for the copied Connection Profile:"), - QLineEdit.Normal) + QLineEdit.EchoMode.Normal) if ok and bool(newProfileName): if newProfileName in self.__profiles: - E5MessageBox.warning( + EricMessageBox.warning( self, self.tr("Copy Connection Profile"), self.tr("""<p>A connection named <b>{0}</b> exists""" @@ -200,7 +206,8 @@ itm = QListWidgetItem(newProfileName, self.profilesList) self.profilesList.setCurrentItem(itm) - self.brokerAddressEdit.setFocus(Qt.OtherFocusReason) + self.brokerAddressEdit.setFocus( + Qt.FocusReason.OtherFocusReason) @pyqtSlot() def on_minusButton_clicked(self): @@ -210,7 +217,7 @@ itm = self.profilesList.currentItem() if itm: profileName = itm.text() - yes = E5MessageBox.yesNo( + yes = EricMessageBox.yesNo( self, self.tr("Delete Connection Profile"), self.tr("""<p>Shall the Connection Profile <b>{0}</b>""" @@ -223,7 +230,7 @@ self.__populateProfilesList() self.__deletingProfile = False - self.profilesList.setFocus(Qt.OtherFocusReason) + self.profilesList.setFocus(Qt.FocusReason.OtherFocusReason) def getProfiles(self): """ @@ -316,7 +323,7 @@ if currentProfile: items = self.profilesList.findItems( - currentProfile, Qt.MatchExactly) + currentProfile, Qt.MatchFlag.MatchExactly) if items: self.profilesList.setCurrentItem(items[0]) @@ -481,7 +488,7 @@ not self.cleanSessionCheckBox.isChecked() ): enable = False - E5MessageBox.critical( + EricMessageBox.critical( self, self.tr("Invalid Connection Parameters"), self.tr("An empty Client ID requires a clean session.")) @@ -500,7 +507,8 @@ bool(self.tlsSelfSignedClientKeyFilePicker.text()) ) - self.profileButtonBox.button(QDialogButtonBox.Apply).setEnabled(enable) + self.profileButtonBox.button( + QDialogButtonBox.StandardButton.Apply).setEnabled(enable) @pyqtSlot(str) def on_brokerAddressEdit_textChanged(self, address): @@ -518,7 +526,8 @@ Private slot to generate a client ID. """ uuid = QUuid.createUuid() - self.clientIdEdit.setText(uuid.toString(QUuid.WithoutBraces)) + self.clientIdEdit.setText( + uuid.toString(QUuid.StringFormat.WithoutBraces)) @pyqtSlot(str) def on_clientIdEdit_textChanged(self, clientId): @@ -590,7 +599,7 @@ """ if checked and self.brokerPortSpinBox.value() == 1883: # port is still standard non-TLS port - yes = E5MessageBox.yesNo( + yes = EricMessageBox.yesNo( self, self.tr("SSL/TLS Enabled"), self.tr( @@ -598,13 +607,13 @@ """ However, the broker port is still the default""" """ unencrypted port (port 1883). Shall this be""" """ changed?"""), - icon=E5MessageBox.Warning, + icon=EricMessageBox.Warning, yesDefault=True) if yes: self.brokerPortSpinBox.setValue(8883) elif not checked and self.brokerPortSpinBox.value() == 8883: # port is still standard TLS port - yes = E5MessageBox.yesNo( + yes = EricMessageBox.yesNo( self, self.tr("SSL/TLS Disabled"), self.tr( @@ -612,7 +621,7 @@ """ However, the broker port is still the default""" """ encrypted port (port 8883). Shall this be""" """ changed?"""), - icon=E5MessageBox.Warning, + icon=EricMessageBox.Warning, yesDefault=True) if yes: self.brokerPortSpinBox.setValue(1883) @@ -658,34 +667,32 @@ Public slot to reject the dialog changes. """ if self.__isChangedProfile(): - button = E5MessageBox.warning( + button = EricMessageBox.warning( self, self.tr("Changed Connection Profile"), self.tr("""The current profile has unsaved changes. Shall""" """ these be saved?"""), - E5MessageBox.StandardButtons( - E5MessageBox.Discard | - E5MessageBox.Save), - E5MessageBox.Save) - if button == E5MessageBox.Save: + EricMessageBox.Discard | + EricMessageBox.Save, + EricMessageBox.Save) + if button == EricMessageBox.Save: self.__applyProfile() return if self.__profilesChanged: - button = E5MessageBox.warning( + button = EricMessageBox.warning( self, self.tr("Changed Connection Profiles"), self.tr("""The list of connection profiles has unsaved""" """ changes."""), - E5MessageBox.StandardButtons( - E5MessageBox.Abort | - E5MessageBox.Discard | - E5MessageBox.Save), - E5MessageBox.Save) - if button == E5MessageBox.Save: + EricMessageBox.Abort | + EricMessageBox.Discard | + EricMessageBox.Save, + EricMessageBox.Save) + if button == EricMessageBox.Save: super().accept() return - elif button == E5MessageBox.Abort: + elif button == EricMessageBox.Abort: return super().reject() @@ -696,12 +703,12 @@ Public slot to accept the dialog. """ if self.__isChangedProfile(): - yes = E5MessageBox.yesNo( + yes = EricMessageBox.yesNo( self, self.tr("Changed Connection Profile"), self.tr("""The current profile has unsaved changes. Shall""" """ these be saved?"""), - icon=E5MessageBox.Warning, + icon=EricMessageBox.Warning, yesDefault=True) if yes: self.__applyProfile()
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttConnectionProfilesDialog.ui --- a/MqttMonitor/MqttConnectionProfilesDialog.ui Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttConnectionProfilesDialog.ui Sun May 30 18:21:40 2021 +0200 @@ -105,6 +105,9 @@ <property name="readOnly"> <bool>true</bool> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="1" column="0" colspan="2"> @@ -122,10 +125,13 @@ </widget> </item> <item row="2" column="1"> - <widget class="E5ClearableLineEdit" name="brokerAddressEdit"> + <widget class="QLineEdit" name="brokerAddressEdit"> <property name="toolTip"> <string>Enter the broker server address</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="3" column="0"> @@ -178,10 +184,13 @@ <item row="4" column="1"> <layout class="QHBoxLayout" name="horizontalLayout_3"> <item> - <widget class="E5ClearableLineEdit" name="clientIdEdit"> + <widget class="QLineEdit" name="clientIdEdit"> <property name="toolTip"> <string>Enter the ID string for this client</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item> @@ -208,7 +217,7 @@ <item> <widget class="QTabWidget" name="profileTabWidget"> <property name="currentIndex"> - <number>3</number> + <number>2</number> </property> <widget class="QWidget" name="generalTab"> <attribute name="title"> @@ -345,10 +354,13 @@ </widget> </item> <item row="0" column="1"> - <widget class="E5ClearableLineEdit" name="usernameEdit"> + <widget class="QLineEdit" name="usernameEdit"> <property name="toolTip"> <string>Enter the user name</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="1" column="0"> @@ -359,13 +371,16 @@ </widget> </item> <item row="1" column="1"> - <widget class="E5ClearableLineEdit" name="passwordEdit"> + <widget class="QLineEdit" name="passwordEdit"> <property name="toolTip"> <string>Enter the password</string> </property> <property name="echoMode"> <enum>QLineEdit::Password</enum> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="2" column="0"> @@ -389,10 +404,13 @@ </attribute> <layout class="QGridLayout" name="gridLayout_4"> <item row="0" column="0"> - <widget class="E5ClearableLineEdit" name="willTopicEdit"> + <widget class="QLineEdit" name="willTopicEdit"> <property name="toolTip"> <string>Enter the topic of the last will</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item row="0" column="1"> @@ -518,7 +536,7 @@ </widget> </item> <item> - <widget class="E5PathPicker" name="tlsCertsFilePicker" native="true"> + <widget class="EricPathPicker" name="tlsCertsFilePicker" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -588,7 +606,7 @@ </widget> </item> <item row="0" column="2"> - <widget class="E5PathPicker" name="tlsSelfSignedCertsFilePicker" native="true"> + <widget class="EricPathPicker" name="tlsSelfSignedCertsFilePicker" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -611,7 +629,7 @@ </widget> </item> <item row="1" column="2"> - <widget class="E5PathPicker" name="tlsSelfSignedClientCertFilePicker" native="true"> + <widget class="EricPathPicker" name="tlsSelfSignedClientCertFilePicker" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -634,7 +652,7 @@ </widget> </item> <item row="2" column="2"> - <widget class="E5PathPicker" name="tlsSelfSignedClientKeyFilePicker" native="true"> + <widget class="EricPathPicker" name="tlsSelfSignedClientKeyFilePicker" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -697,14 +715,9 @@ </widget> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5PathPicker</class> + <class>EricPathPicker</class> <extends>QWidget</extends> - <header>E5Gui/E5PathPicker.h</header> + <header>EricWidgets/EricPathPicker.h</header> <container>1</container> </customwidget> </customwidgets>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttMonitorWidget.py --- a/MqttMonitor/MqttMonitorWidget.py Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttMonitorWidget.py Sun May 30 18:21:40 2021 +0200 @@ -12,12 +12,12 @@ import copy import contextlib -from PyQt5.QtCore import pyqtSlot, Qt, QTimer, QFileInfo -from PyQt5.QtGui import QFont, QTextCursor, QBrush -from PyQt5.QtWidgets import QWidget, QDialog +from PyQt6.QtCore import pyqtSlot, Qt, QTimer, QFileInfo +from PyQt6.QtGui import QFont, QTextCursor, QBrush, QColor +from PyQt6.QtWidgets import QWidget, QDialog -from E5Gui import E5MessageBox, E5FileDialog -from E5Gui.E5PathPicker import E5PathPickerModes +from EricWidgets import EricMessageBox, EricFileDialog +from EricWidgets.EricPathPicker import EricPathPickerModes from .Ui_MqttMonitorWidget import Ui_MqttMonitorWidget @@ -37,14 +37,15 @@ BrokerStatusTopic = "$SYS/broker/#" BrokerStatusTopicLoadPrefix = "$SYS/broker/load/" - def __init__(self, plugin, iconSuffix, parent=None): + def __init__(self, plugin, usesDarkPalette, parent=None): """ Constructor @param plugin reference to the plug-in object @type MqttMonitorPlugin - @param iconSuffix suffix for the icons - @type str + @param usesDarkPalette flag indicating the use of a dark application + palette + @type bool @param parent reference to the parent widget @type QWidget """ @@ -52,7 +53,7 @@ self.setupUi(self) self.__plugin = plugin - self.__iconSuffix = iconSuffix + self.__iconSuffix = "dark" if usesDarkPalette else "light" self.__connectedToBroker = False self.__brokerStatusTopicSubscribed = False @@ -62,12 +63,13 @@ "mqtt48-{0}".format(self.__iconSuffix)) )) - self.publishPayloadFilePicker.setMode(E5PathPickerModes.OpenFileMode) + self.publishPayloadFilePicker.setMode( + EricPathPickerModes.OPEN_FILE_MODE) self.publishPayloadFilePicker.setFilters(self.tr("All Files (*)")) self.__messagesFormat = self.messagesEdit.currentCharFormat() self.__messagesTopicFormat = self.messagesEdit.currentCharFormat() - self.__messagesTopicFormat.setFontWeight(QFont.Bold) + self.__messagesTopicFormat.setFontWeight(QFont.Weight.Bold) self.__messagesQosFormat = self.messagesEdit.currentCharFormat() self.__messagesQosFormat.setFontItalic(True) @@ -87,15 +89,26 @@ self.logLevelComboBox.setCurrentIndex( self.logLevelComboBox.count() - 1) - self.__logMessagesBackgrounds = { - MqttClient.LogDebug: QBrush(Qt.white), - MqttClient.LogInfo: QBrush(Qt.lightGray), - MqttClient.LogNotice: QBrush(Qt.green), - MqttClient.LogWarning: QBrush(Qt.yellow), - MqttClient.LogError: QBrush(Qt.red), - MqttClient.LogDisabled: QBrush(Qt.magenta) - # reuse LogDisabled for unknown log levels - } + if usesDarkPalette: + self.__logMessagesBackgrounds = { + MqttClient.LogDebug: QBrush(QColor("#2f2f2f")), + MqttClient.LogInfo: QBrush(QColor("#868686")), + MqttClient.LogNotice: QBrush(QColor("#009900")), + MqttClient.LogWarning: QBrush(QColor("#999900")), + MqttClient.LogError: QBrush(QColor("#990000")), + MqttClient.LogDisabled: QBrush(QColor("#990099")), + # reuse LogDisabled for unknown log levels + } + else: + self.__logMessagesBackgrounds = { + MqttClient.LogDebug: QBrush(Qt.GlobalColor.white), + MqttClient.LogInfo: QBrush(Qt.GlobalColor.lightGray), + MqttClient.LogNotice: QBrush(Qt.GlobalColor.green), + MqttClient.LogWarning: QBrush(Qt.GlobalColor.yellow), + MqttClient.LogError: QBrush(Qt.GlobalColor.red), + MqttClient.LogDisabled: QBrush(Qt.GlobalColor.magenta) + # reuse LogDisabled for unknown log levels + } self.logSearchWidget.attachTextEdit(self.logEdit) self.logSearchWidget.setWidthForHeight(False) @@ -106,7 +119,7 @@ self.__setConnectionMode(True) # initial mode is 'profile connection' self.__populateProfileComboBox() - self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png")) + self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect")) self.brokerConnectionOptionsButton.setIcon(UI.PixmapCache.getIcon( os.path.join("MqttMonitor", "icons", "connectionOptions-{0}".format(self.__iconSuffix)) @@ -114,9 +127,9 @@ self.__populateBrokerComboBoxes() self.brokerStatusLabel.hide() - self.subscribeButton.setIcon(UI.PixmapCache.getIcon("plus.png")) + self.subscribeButton.setIcon(UI.PixmapCache.getIcon("plus")) self.subscribeButton.setEnabled(False) - self.unsubscribeButton.setIcon(UI.PixmapCache.getIcon("minus.png")) + self.unsubscribeButton.setIcon(UI.PixmapCache.getIcon("minus")) self.__subscribedTopics = [] self.__topicQueue = {} @@ -215,7 +228,7 @@ self.__connectionOptions = None self.connectButton.setIcon( - UI.PixmapCache.getIcon("ircDisconnect.png")) + UI.PixmapCache.getIcon("ircDisconnect")) self.subscribeGroup.setEnabled(True) self.unsubscribeGroup.setEnabled(True) @@ -256,7 +269,7 @@ ) self.__flashBrokerStatusLabel(msg) - self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect.png")) + self.connectButton.setIcon(UI.PixmapCache.getIcon("ircConnect")) self.__setConnectButtonState() self.__subscribedTopics = [] @@ -290,7 +303,7 @@ textCursor = self.logEdit.textCursor() if not self.logEdit.document().isEmpty(): - textCursor.movePosition(QTextCursor.End) + textCursor.movePosition(QTextCursor.MoveOperation.End) self.logEdit.setTextCursor(textCursor) self.logEdit.insertPlainText("\n") @@ -302,7 +315,7 @@ textBlockFormat.setBackground( self.__logMessagesBackgrounds[MqttClient.LogDisabled]) textCursor.setBlockFormat(textBlockFormat) - textCursor.movePosition(QTextCursor.End) + textCursor.movePosition(QTextCursor.MoveOperation.End) self.logEdit.setTextCursor(textCursor) txt = self.tr("{0}: {1}").format(mqttLogLevelString(level), message) @@ -341,6 +354,7 @@ @param mid ID of the published message @type int """ + # TODO: check this 'pass' statement pass @pyqtSlot(int, tuple) @@ -434,7 +448,7 @@ dlg = MqttConnectionProfilesDialog( self.__client, self.__plugin.getPreferences("BrokerProfiles"), parent=self) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: profilesDict = dlg.getProfiles() self.__plugin.setPreferences("BrokerProfiles", profilesDict) self.__populateProfileComboBox() @@ -444,7 +458,7 @@ ) dlg = MqttConnectionOptionsDialog( self.__client, self.__connectionOptions, parent=self) - if dlg.exec() == QDialog.Accepted: + if dlg.exec() == QDialog.DialogCode.Accepted: self.__connectionOptions = dlg.getConnectionOptions() if self.__connectionOptions["TlsEnable"]: port = self.brokerPortComboBox.currentText().strip() @@ -497,7 +511,7 @@ qos = self.subscribeQosSpinBox.value() if topic: if topic.startswith(MqttMonitorWidget.BrokerStatusTopicPrefix): - E5MessageBox.warning( + EricMessageBox.warning( self, self.tr("Subscribe to Topic"), self.tr("Subscriptions to the Status topic '$SYS' shall" @@ -555,7 +569,7 @@ with open(payloadFile, "rb") as f: payloadStr = f.read() except EnvironmentError as err: - E5MessageBox.critical( + EricMessageBox.critical( self, self.tr("Read Payload from File"), self.tr("""<p>The file <b>{0}</b> could not be read.""" @@ -635,13 +649,13 @@ """ Private slot to save the received messages. """ - fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( + fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( self, self.tr("Save Messages"), "", self.tr("Messages Files (*.txt);;All Files (*)"), "", - E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) + EricFileDialog.DontConfirmOverwrite) if fn: if fn.endswith("."): @@ -653,12 +667,12 @@ if ex: fn += ex if QFileInfo(fn).exists(): - res = E5MessageBox.yesNo( + res = EricMessageBox.yesNo( self, self.tr("Save Messages"), self.tr("<p>The file <b>{0}</b> already exists." " Overwrite it?</p>").format(fn), - icon=E5MessageBox.Warning) + icon=EricMessageBox.Warning) if not res: return @@ -667,7 +681,7 @@ with open(fn, "w") as f: f.write(self.messagesEdit.toPlainText()) except EnvironmentError as err: - E5MessageBox.critical( + EricMessageBox.critical( self, self.tr("Save Messages"), self.tr("""<p>The file <b>{0}</b> could not be written.""" @@ -691,13 +705,13 @@ """ Private slot to save the log messages. """ - fn, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( + fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( self, self.tr("Save Log Messages"), "", self.tr("Log Files (*.log);;All Files (*)"), "", - E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) + EricFileDialog.DontConfirmOverwrite) if fn: if fn.endswith("."): @@ -709,12 +723,12 @@ if ex: fn += ex if QFileInfo(fn).exists(): - res = E5MessageBox.yesNo( + res = EricMessageBox.yesNo( self, self.tr("Save Log Messages"), self.tr("<p>The file <b>{0}</b> already exists." " Overwrite it?</p>").format(fn), - icon=E5MessageBox.Warning) + icon=EricMessageBox.Warning) if not res: return @@ -723,7 +737,7 @@ with open(fn, "w") as f: f.write(self.logEdit.toPlainText()) except EnvironmentError as err: - E5MessageBox.critical( + EricMessageBox.critical( self, self.tr("Save Log Messages"), self.tr("""<p>The file <b>{0}</b> could not be written.""" @@ -859,7 +873,7 @@ textCursor = self.messagesEdit.textCursor() if not self.messagesEdit.document().isEmpty(): - textCursor.movePosition(QTextCursor.End) + textCursor.movePosition(QTextCursor.MoveOperation.End) self.messagesEdit.setTextCursor(textCursor) self.messagesEdit.insertPlainText("\n") @@ -871,7 +885,7 @@ textBlockFormat.setBackground( self.messagesEdit.palette().base()) textCursor.setBlockFormat(textBlockFormat) - textCursor.movePosition(QTextCursor.End) + textCursor.movePosition(QTextCursor.MoveOperation.End) self.messagesEdit.setTextCursor(textCursor) self.messagesEdit.setCurrentCharFormat(self.__messagesTopicFormat)
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/MqttMonitorWidget.ui --- a/MqttMonitor/MqttMonitorWidget.ui Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/MqttMonitorWidget.ui Sun May 30 18:21:40 2021 +0200 @@ -81,7 +81,7 @@ <number>0</number> </property> <item> - <widget class="E5ClearableComboBox" name="brokerComboBox"> + <widget class="QComboBox" name="brokerComboBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> @@ -144,7 +144,7 @@ <item> <widget class="QTabWidget" name="brokerWidget"> <property name="currentIndex"> - <number>3</number> + <number>0</number> </property> <widget class="QWidget" name="pubSubTab"> <attribute name="title"> @@ -168,10 +168,13 @@ </widget> </item> <item> - <widget class="E5ClearableLineEdit" name="subscribeTopicEdit"> + <widget class="QLineEdit" name="subscribeTopicEdit"> <property name="toolTip"> <string>Enter the topic</string> </property> + <property name="clearButtonEnabled"> + <bool>true</bool> + </property> </widget> </item> <item> @@ -262,7 +265,7 @@ </widget> </item> <item> - <widget class="E5ClearableComboBox" name="publishTopicComboBox"> + <widget class="QComboBox" name="publishTopicComboBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> <horstretch>0</horstretch> @@ -335,7 +338,7 @@ </widget> </item> <item> - <widget class="E5PathPicker" name="publishPayloadFilePicker" native="true"> + <widget class="EricPathPicker" name="publishPayloadFilePicker" native="true"> <property name="sizePolicy"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <horstretch>0</horstretch> @@ -420,7 +423,7 @@ </attribute> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="E5TextEditSearchWidget" name="messagesSearchWidget" native="true"> + <widget class="EricTextEditSearchWidget" name="messagesSearchWidget" native="true"> <property name="focusPolicy"> <enum>Qt::WheelFocus</enum> </property> @@ -545,7 +548,7 @@ <rect> <x>0</x> <y>0</y> - <width>344</width> + <width>178</width> <height>840</height> </rect> </property> @@ -1293,7 +1296,7 @@ </layout> </item> <item> - <widget class="E5TextEditSearchWidget" name="logSearchWidget" native="true"> + <widget class="EricTextEditSearchWidget" name="logSearchWidget" native="true"> <property name="focusPolicy"> <enum>Qt::WheelFocus</enum> </property> @@ -1379,25 +1382,15 @@ </widget> <customwidgets> <customwidget> - <class>E5ClearableLineEdit</class> - <extends>QLineEdit</extends> - <header>E5Gui/E5LineEdit.h</header> - </customwidget> - <customwidget> - <class>E5ClearableComboBox</class> - <extends>QComboBox</extends> - <header>E5Gui/E5ComboBox.h</header> - </customwidget> - <customwidget> - <class>E5PathPicker</class> + <class>EricPathPicker</class> <extends>QWidget</extends> - <header>E5Gui/E5PathPicker.h</header> + <header>EricWidgets/EricPathPicker.h</header> <container>1</container> </customwidget> <customwidget> - <class>E5TextEditSearchWidget</class> + <class>EricTextEditSearchWidget</class> <extends>QWidget</extends> - <header>E5Gui/E5TextEditSearchWidget.h</header> + <header>EricWidgets/EricTextEditSearchWidget.h</header> <container>1</container> </customwidget> </customwidgets>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_de.qm Binary file MqttMonitor/i18n/mqttmonitor_de.qm has changed
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_de.ts --- a/MqttMonitor/i18n/mqttmonitor_de.ts Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/i18n/mqttmonitor_de.ts Sun May 30 18:21:40 2021 +0200 @@ -1,1171 +1,1243 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="de_DE" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.1" language="de_DE"> + <context> <name>MqttConnackMessage</name> <message> - <location filename="../MqttClient.py" line="467"/> - <source>Connection Accepted.</source> - <translation>Verbindung akzeptiert.</translation> + <location filename="../MqttClient.py" line="483" /> + <source>Connection Accepted.</source> + <translation>Verbindung akzeptiert.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="487" /> + <source>Connection Refused: unacceptable protocol version.</source> + <translation>Verbindung abgelehnt: inakzeptable Protokollversion.</translation> </message> <message> - <location filename="../MqttClient.py" line="471"/> - <source>Connection Refused: unacceptable protocol version.</source> - <translation>Verbindung abgelehnt: inakzeptable Protokollversion.</translation> + <location filename="../MqttClient.py" line="491" /> + <source>Connection Refused: identifier rejected.</source> + <translation>Verbindung abgelehnt: Identifizierer abgelehnt.</translation> </message> <message> - <location filename="../MqttClient.py" line="475"/> - <source>Connection Refused: identifier rejected.</source> - <translation>Verbindung abgelehnt: Identifizierer abgelehnt.</translation> + <location filename="../MqttClient.py" line="495" /> + <source>Connection Refused: broker unavailable.</source> + <translation>Verbindung abgelehnt: Broker nicht verfügbar.</translation> </message> <message> - <location filename="../MqttClient.py" line="479"/> - <source>Connection Refused: broker unavailable.</source> - <translation>Verbindung abgelehnt: Broker nicht verfügbar.</translation> + <location filename="../MqttClient.py" line="499" /> + <source>Connection Refused: bad user name or password.</source> + <translation>Verbindung abgelehnt: Nutzername oder Kennwort ungültig.</translation> </message> <message> - <location filename="../MqttClient.py" line="483"/> - <source>Connection Refused: bad user name or password.</source> - <translation>Verbindung abgelehnt: Nutzername oder Kennwort ungültig.</translation> + <location filename="../MqttClient.py" line="503" /> + <source>Connection Refused: not authorised.</source> + <translation>Verbindung abgelehnt: nicht autorisiert.</translation> </message> <message> - <location filename="../MqttClient.py" line="487"/> - <source>Connection Refused: not authorised.</source> - <translation>Verbindung abgelehnt: nicht autorisiert.</translation> + <location filename="../MqttClient.py" line="507" /> + <source>Connection Refused: unknown reason.</source> + <translation>Verbindung abgelehnt: unbekante Ursache.</translation> + </message> + </context> + <context> + <name>MqttConnectionOptionsDialog</name> + <message> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>MQTT Connection Options</source> + <translation>MQTT Verbindungsoptionen</translation> </message> <message> - <location filename="../MqttClient.py" line="491"/> - <source>Connection Refused: unknown reason.</source> - <translation>Verbindung abgelehnt: unbekante Ursache.</translation> - </message> -</context> -<context> - <name>MqttConnectionOptionsDialog</name> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="14"/> - <source>MQTT Connection Options</source> - <translation>MQTT Verbindungsoptionen</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>General</source> + <translation>Allgemein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="23"/> - <source>General</source> - <translation>Allgemein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Client ID:</source> + <translation>Client ID:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="29"/> - <source>Client ID:</source> - <translation>Client ID:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation>Gib eine ID für diesen Client ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="36"/> - <source>Enter the ID string for this client</source> - <translation>Gib eine ID für diesen Client ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation>Drücken, um eine Client ID zu erzeugen</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="43"/> - <source>Press to generate a client ID</source> - <translation>Drücken, um eine Client ID zu erzeugen</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Generate</source> + <translation>Erzeugen</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="46"/> - <source>Generate</source> - <translation>Erzeugen</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Verbindungszeitlimit:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="99"/> - <source>Keep Alive Interval:</source> - <translation>Keepalive Intervall:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation>Gib das Verbindungszeitlimit in Sekunden ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="108"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Gib das Keepalive Intervall in Sekunden ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source> s</source> + <translation> s</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="114"/> - <source> s</source> - <translation> s</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation>Keepalive Intervall:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="148"/> - <source>Clean Session</source> - <translation>Neue Sitzung</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation>Gib das Keepalive Intervall in Sekunden ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="158"/> - <source>User Credentials</source> - <translation>Nutzerberechtigungen</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation>Auswählen, um mit einer neuen Sitzung zu starten</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="164"/> - <source>User Name:</source> - <translation>Nutzername:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Neue Sitzung</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="171"/> - <source>Enter the user name</source> - <translation>Gib den Nutzernamen ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Nutzerberechtigungen</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="178"/> - <source>Password:</source> - <translation>Kennwort:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Nutzername:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="185"/> - <source>Enter the password</source> - <translation>Gib das Kennwort ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Gib den Nutzernamen ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="198"/> - <source>Last Will and Testament</source> - <translation>Letzter Wille und Testament</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Password:</source> + <translation>Kennwort:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="204"/> - <source>Enter the topic of the last will</source> - <translation>Gib das Thema für den letzten Willen ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Gib das Kennwort ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="211"/> - <source>QoS:</source> - <translation>QoS:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Last Will and Testament</source> + <translation>Letzter Wille und Testament</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="218"/> - <source>Enter the desired QoS value</source> - <translation>Gib den gewünschten QoS Wert ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation>Gib das Thema für den letzten Willen ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="231"/> - <source>Select to retain the last will message</source> - <translation>Auswählen, um die Nachricht des letzten Willens zu behalten</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>QoS:</source> + <translation>QoS:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="234"/> - <source>Retain</source> - <translation>Behalten</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Gib den gewünschten QoS Wert ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="247"/> - <source>Enter the last will message to be sent</source> - <translation>Gib die zu sendende Nachricht des letzten Willens ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation>Auswählen, um die Nachricht des letzten Willens zu behalten</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="53"/> - <source>Connection Timeout:</source> - <translation>Verbindungszeitlimit:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Retain</source> + <translation>Behalten</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="62"/> - <source>Enter the connection timeout in seconds</source> - <translation>Gib das Verbindungszeitlimit in Sekunden ein</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation>Gib die zu sendende Nachricht des letzten Willens ein</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="145"/> - <source>Select to start with a clean session</source> - <translation>Auswählen, um mit einer neuen Sitzung zu starten</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="257"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Auswählen, um SSL/TLS Verbindungen zu aktivieren</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="263"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Auswählen, um SSL/TLS Verbindungen zu aktivieren</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS Enabled</source> + <translation>SSL/TLS aktiviert</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="266"/> - <source>SSL/TLS Enabled</source> - <translation>SSL/TLS aktiviert</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>CA File:</source> + <translation>CA Zertifikatsdatei:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="273"/> - <source>CA File:</source> - <translation>CA Zertifikatsdatei:</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>Gib den vollständigen Pfad zur CA Zertifikatsdatei ein; leer lassen, um den Plattformstandard zu verwenden</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="292"/> - <source>Enter the full path to the CA certificate file; leave empty to use platform default</source> - <translation>Gib den vollständigen Pfad zur CA Zertifikatsdatei ein; leer lassen, um den Plattformstandard zu verwenden</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="47" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Zertifikatdateien (*.crt *.pem);;Alle Dateien (*)</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="46"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Zertifikatdateien (*.crt *.pem);;Alle Dateien (*)</translation> - </message> - <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>Invalid Connection Parameters</source> - <translation>Ungültige Verbindungsparameter</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="64" /> + <source>Invalid Connection Parameters</source> + <translation>Ungültige Verbindungsparameter</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>An empty Client ID requires a clean session.</source> - <translation>Eine leere Client ID setzt eine neue Session voraus.</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="65" /> + <source>An empty Client ID requires a clean session.</source> + <translation>Eine leere Client ID setzt eine neue Session voraus.</translation> </message> -</context> -<context> + </context> + <context> <name>MqttConnectionProfilesDialog</name> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="14"/> - <source>MQTT Connection Profiles</source> - <translation>MQTT Verbindungsprofile</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="70" /> + <location filename="../MqttConnectionProfilesDialog.py" line="66" /> + <location filename="../MqttConnectionProfilesDialog.py" line="62" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Zertifikatdateien (*.crt *.pem);;Alle Dateien (*)</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="74" /> + <source>Key Files (*.key *.pem);;All Files (*)</source> + <translation>Schlüsseldateien (*.key *.pem);;Alle Dateien (*)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="51"/> - <source>Press to add a new profile</source> - <translation>Drücken, um ein neues Profil hinzuzufügen</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="708" /> + <location filename="../MqttConnectionProfilesDialog.py" line="672" /> + <location filename="../MqttConnectionProfilesDialog.py" line="143" /> + <source>Changed Connection Profile</source> + <translation>Verbindungsprofil geändert</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="58"/> - <source>Press to copy the selected profile</source> - <translation>Drücken, um das ausgewählte Profil zu kopieren</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="65"/> - <source>Press to delete the selected profile</source> - <translation>Drücken, um das ausgewählte Profil zu löschen</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="709" /> + <location filename="../MqttConnectionProfilesDialog.py" line="673" /> + <location filename="../MqttConnectionProfilesDialog.py" line="144" /> + <source>The current profile has unsaved changes. Shall these be saved?</source> + <translation>Das aktuelle Profil hat ungesicherte Änderungen. Sollen diese gesichert werden?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="99"/> - <source>Profile Name:</source> - <translation>Profilbezeichnung:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="171" /> + <location filename="../MqttConnectionProfilesDialog.py" line="164" /> + <source>New Connection Profile</source> + <translation>Neues Verbindungsprofil</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="165" /> + <source>Enter name for the new Connection Profile:</source> + <translation>Gib eine Bezeichnung für das neue Verbindungsprofil ein:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="120"/> - <source>Broker Address:</source> - <translation>Brokeradresse:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="199" /> + <location filename="../MqttConnectionProfilesDialog.py" line="172" /> + <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> + <translation><p>Eine Verbindung mit der Bezeichnung <b>{0}</b> existiert bereits. Abbruch...</p></translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="127"/> - <source>Enter the broker server address</source> - <translation>Gib die Serveradresse des Broker ein</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="134"/> - <source>Broker Port:</source> - <translation>Brokerport:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="198" /> + <location filename="../MqttConnectionProfilesDialog.py" line="191" /> + <source>Copy Connection Profile</source> + <translation>Verbindungsprofil kopieren</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="143"/> - <source>Enter the broker port number (default 1883)</source> - <translation>Gib die Portnummer des Broker ein (Standard 1883)</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="192" /> + <source>Enter name for the copied Connection Profile:</source> + <translation>Gib eine Bezeichnung für das kopierte Verbindungsprofil ein:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="174"/> - <source>Client ID:</source> - <translation>Client ID:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="222" /> + <source>Delete Connection Profile</source> + <translation>Verbindungsprofil löschen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="183"/> - <source>Enter the ID string for this client</source> - <translation>Gib eine ID für diesen Client ein</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="223" /> + <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> + <translation><p>Soll das Verbindungsprofil <b>{0}</b> wirklich gelöscht werden?</p></translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="493" /> + <source>Invalid Connection Parameters</source> + <translation>Ungültige Verbindungsparameter</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="190"/> - <source>Press to generate a client ID</source> - <translation>Drücken, um eine Client ID zu erzeugen</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="494" /> + <source>An empty Client ID requires a clean session.</source> + <translation>Eine leere Client ID setzt eine neue Session voraus.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="193"/> - <source>Generate</source> - <translation>Erzeugen</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.py" line="604" /> + <source>SSL/TLS Enabled</source> + <translation>SSL/TLS aktiviert</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="215"/> - <source>General</source> - <translation>Allgemein</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="605" /> + <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>Eine mit SSL/TLS verschlüsselte Verbindung wurde aktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, unverschlüsselten Port (Port 1883) eingestellt. Soll dies geändert werden?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="221"/> - <source>Connection Timeout:</source> - <translation>Verbindungszeitlimit:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="618" /> + <source>SSL/TLS Disabled</source> + <translation>SSL/TLS deaktiviert</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="230"/> - <source>Enter the connection timeout in seconds</source> - <translation>Gib das Verbindungszeitlimit in Sekunden ein</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="619" /> + <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>Eine mit SSL/TLS verschlüsselte Verbindung wurde deaktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, verschlüsselten Port (Port 8883) eingestellt. Soll dies geändert werden?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="282"/> - <source> s</source> - <translation> s</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="685" /> + <source>Changed Connection Profiles</source> + <translation>Verbindungsprofile geändert</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="267"/> - <source>Keep Alive Interval:</source> - <translation>Keepalive Intervall:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="686" /> + <source>The list of connection profiles has unsaved changes.</source> + <translation>Die Liste der Verbindungsprofile hat ungesicherte Änderungen.</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>MQTT Connection Profiles</source> + <translation>MQTT Verbindungsprofile</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="276"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Gib das Keepalive Intervall in Sekunden ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to add a new profile</source> + <translation>Drücken, um ein neues Profil hinzuzufügen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="313"/> - <source>Select to start with a clean session</source> - <translation>Auswählen, um mit einer neuen Sitzung zu starten</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to copy the selected profile</source> + <translation>Drücken, um das ausgewählte Profil zu kopieren</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="316"/> - <source>Clean Session</source> - <translation>Neue Sitzung</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to delete the selected profile</source> + <translation>Drücken, um das ausgewählte Profil zu löschen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="337"/> - <source>User Credentials</source> - <translation>Nutzerberechtigungen</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Profile Name:</source> + <translation>Profilbezeichnung:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="343"/> - <source>User Name:</source> - <translation>Nutzername:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Address:</source> + <translation>Brokeradresse:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="350"/> - <source>Enter the user name</source> - <translation>Gib den Nutzernamen ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker server address</source> + <translation>Gib die Serveradresse des Broker ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="357"/> - <source>Password:</source> - <translation>Kennwort:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Port:</source> + <translation>Brokerport:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="364"/> - <source>Enter the password</source> - <translation>Gib das Kennwort ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker port number (default 1883)</source> + <translation>Gib die Portnummer des Broker ein (Standard 1883)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="388"/> - <source>Last Will</source> - <translation>Letzter Wille</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client ID:</source> + <translation>Client ID:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="394"/> - <source>Enter the topic of the last will</source> - <translation>Gib das Thema für den letzten Willen ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation>Gib eine ID für diesen Client ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="401"/> - <source>Enter the desired QoS value</source> - <translation>Gib den gewünschten QoS Wert ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation>Drücken, um eine Client ID zu erzeugen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="414"/> - <source>Select to retain the last will message</source> - <translation>Auswählen, um die Nachricht des letzten Willens zu behalten</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Generate</source> + <translation>Erzeugen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="417"/> - <source>Retain</source> - <translation>Behalten</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>General</source> + <translation>Allgemein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="430"/> - <source>Enter the last will message to be sent</source> - <translation>Gib die zu sendende Nachricht des letzten Willens ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Verbindungszeitlimit:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="438"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation>Gib das Verbindungszeitlimit in Sekunden ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="444"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Auswählen, um SSL/TLS Verbindungen zu aktivieren</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source> s</source> + <translation> s</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <source>SSL/TLS Enabled</source> - <translation>SSL/TLS aktiviert</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation>Keepalive Intervall:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="459"/> - <source>Select to use the default certificate file of the client</source> - <translation>Auswählen, um die Standardzertifikatsdatei des Client zu verwenden</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation>Gib das Keepalive Intervall in Sekunden ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="462"/> - <source>CA signed server certificate</source> - <translation>CA signiertes Serverzertifikat</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation>Auswählen, um mit einer neuen Sitzung zu starten</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="472"/> - <source>Select to use a specific certificate file</source> - <translation>Auswählen, um eine spezifische Zertifikatsdatei zu verwenden</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Neue Sitzung</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="475"/> - <source>CA certificate file</source> - <translation>CA Zertifikatsdatei</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Nutzerberechtigungen</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="586"/> - <source>CA File:</source> - <translation>CA Datei:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Nutzername:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="602"/> - <source>Enter the full path to the CA certificate file</source> - <translation>Gib den vollständigen Pfad zur CA Zertifikatsdatei ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Gib den Nutzernamen ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="542"/> - <source>Select to use a self signed client certificate</source> - <translation>Auswählen, um ein selbst signiertes Clientzertifikat zu verwenden</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Password:</source> + <translation>Kennwort:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="545"/> - <source>Self signed certificates</source> - <translation>Selbst signierte Zertifikate</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Gib das Kennwort ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="609"/> - <source>Client Certificate File:</source> - <translation>Client Zertifikatsdatei:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Last Will</source> + <translation>Letzter Wille</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="625"/> - <source>Enter the full path to the client certificate file</source> - <translation>Gib den vollständigen Pfad zur Zertifikatsdatei des Client ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation>Gib das Thema für den letzten Willen ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="632"/> - <source>Client Key File:</source> - <translation>Client Schlüssekdatei:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Gib den gewünschten QoS Wert ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="648"/> - <source>Enter the full path to the client key file</source> - <translation>Gib den vollständigen Pfad zur Schlüsseldatei des Client ein</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation>Auswählen, um die Nachricht des letzten Willens zu behalten</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Retain</source> + <translation>Behalten</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="69"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Zertifikatdateien (*.crt *.pem);;Alle Dateien (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation>Gib die zu sendende Nachricht des letzten Willens ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="73"/> - <source>Key Files (*.key *.pem);;All Files (*)</source> - <translation>Schlüsseldateien (*.key *.pem);;Alle Dateien (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>Changed Connection Profile</source> - <translation>Verbindungsprofil geändert</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Auswählen, um SSL/TLS Verbindungen zu aktivieren</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>The current profile has unsaved changes. Shall these be saved?</source> - <translation>Das aktuelle Profil hat ungesicherte Änderungen. Sollen diese gesichert werden?</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use the default certificate file of the client</source> + <translation>Auswählen, um die Standardzertifikatsdatei des Client zu verwenden</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="161"/> - <source>New Connection Profile</source> - <translation>Neues Verbindungsprofil</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA signed server certificate</source> + <translation>CA signiertes Serverzertifikat</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="154"/> - <source>Enter name for the new Connection Profile:</source> - <translation>Gib eine Bezeichnung für das neue Verbindungsprofil ein:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a specific certificate file</source> + <translation>Auswählen, um eine spezifische Zertifikatsdatei zu verwenden</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> - <translation><p>Eine Verbindung mit der Bezeichnung <b>{0}</b> existiert bereits. Abbruch...</p></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA certificate file</source> + <translation>CA Zertifikatsdatei</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source>Copy Connection Profile</source> - <translation>Verbindungsprofil kopieren</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA File:</source> + <translation>CA Datei:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="180"/> - <source>Enter name for the copied Connection Profile:</source> - <translation>Gib eine Bezeichnung für das kopierte Verbindungsprofil ein:</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>Gib den vollständigen Pfad zur CA Zertifikatsdatei ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source>Delete Connection Profile</source> - <translation>Verbindungsprofil löschen</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a self signed client certificate</source> + <translation>Auswählen, um ein selbst signiertes Clientzertifikat zu verwenden</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> - <translation><p>Soll das Verbindungsprofil <b>{0}</b> wirklich gelöscht werden?</p></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Self signed certificates</source> + <translation>Selbst signierte Zertifikate</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>Invalid Connection Parameters</source> - <translation>Ungültige Verbindungsparameter</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Certificate File:</source> + <translation>Client Zertifikatsdatei:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>An empty Client ID requires a clean session.</source> - <translation>Eine leere Client ID setzt eine neue Session voraus.</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client certificate file</source> + <translation>Gib den vollständigen Pfad zur Zertifikatsdatei des Client ein</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <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>Eine mit SSL/TLS verschlüsselte Verbindung wurde aktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, unverschlüsselten Port (Port 1883) eingestellt. Soll dies geändert werden?</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <source>SSL/TLS Disabled</source> - <translation>SSL/TLS deaktiviert</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Key File:</source> + <translation>Client Schlüssekdatei:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <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>Eine mit SSL/TLS verschlüsselte Verbindung wurde deaktiviert. Jedoch ist der Brokerport noch auf den standardmäßigen, verschlüsselten Port (Port 8883) eingestellt. Soll dies geändert werden?</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client key file</source> + <translation>Gib den vollständigen Pfad zur Schlüsseldatei des Client ein</translation> </message> + </context> + <context> + <name>MqttErrorMessage</name> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>Changed Connection Profiles</source> - <translation>Verbindungsprofile geändert</translation> + <location filename="../MqttClient.py" line="523" /> + <source>No error.</source> + <translation>Kein Fehler.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>The list of connection profiles has unsaved changes.</source> - <translation>Die Liste der Verbindungsprofile hat ungesicherte Änderungen.</translation> + <location filename="../MqttClient.py" line="527" /> + <source>Out of memory.</source> + <translation>Nicht genügend Speicher.</translation> </message> -</context> -<context> - <name>MqttErrorMessage</name> <message> - <location filename="../MqttClient.py" line="507"/> - <source>No error.</source> - <translation>Kein Fehler.</translation> + <location filename="../MqttClient.py" line="531" /> + <source>A network protocol error occurred when communicating with the broker.</source> + <translation>Bei der Kommunikation mit dem Broker ist ein Netzprotokollfehler aufgetreten.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="536" /> + <source>Invalid function arguments provided.</source> + <translation>Ungültige Funktionsargumente angegeben.</translation> </message> <message> - <location filename="../MqttClient.py" line="511"/> - <source>Out of memory.</source> - <translation>Nicht genügend Speicher.</translation> + <location filename="../MqttClient.py" line="540" /> + <source>The client is not currently connected.</source> + <translation>Der Client ist momentan nicht verbunden.</translation> </message> <message> - <location filename="../MqttClient.py" line="515"/> - <source>A network protocol error occurred when communicating with the broker.</source> - <translation>Bei der Kommunikation mit dem Broker ist ein Netzprotokollfehler aufgetreten.</translation> + <location filename="../MqttClient.py" line="544" /> + <source>The connection was refused.</source> + <translation>Die Verbindung wurde abgelehnt.</translation> </message> <message> - <location filename="../MqttClient.py" line="520"/> - <source>Invalid function arguments provided.</source> - <translation>Ungültige Funktionsargumente angegeben.</translation> + <location filename="../MqttClient.py" line="548" /> + <source>Message not found (internal error).</source> + <translation>Nachricht nicht gefunden (interner Fehler).</translation> + </message> + <message> + <location filename="../MqttClient.py" line="552" /> + <source>The connection was lost.</source> + <translation>Die Verbindung wurde unterbrochen.</translation> </message> <message> - <location filename="../MqttClient.py" line="524"/> - <source>The client is not currently connected.</source> - <translation>Der Client ist momentan nicht verbunden.</translation> + <location filename="../MqttClient.py" line="556" /> + <source>A TLS error occurred.</source> + <translation>Es ist ein TLS-Fehler aufgetreten.</translation> </message> <message> - <location filename="../MqttClient.py" line="528"/> - <source>The connection was refused.</source> - <translation>Die Verbindung wurde abgelehnt.</translation> + <location filename="../MqttClient.py" line="560" /> + <source>Payload too large.</source> + <translation>Nutzdaten zu groß.</translation> </message> <message> - <location filename="../MqttClient.py" line="532"/> - <source>Message not found (internal error).</source> - <translation>Nachricht nicht gefunden (interner Fehler).</translation> + <location filename="../MqttClient.py" line="564" /> + <source>This feature is not supported.</source> + <translation>Diese Funktion wird nicht unterstützt.</translation> </message> <message> - <location filename="../MqttClient.py" line="536"/> - <source>The connection was lost.</source> - <translation>Die Verbindung wurde unterbrochen.</translation> + <location filename="../MqttClient.py" line="568" /> + <source>Authorisation failed.</source> + <translation>Authorisierung fehlgeschlagen.</translation> </message> <message> - <location filename="../MqttClient.py" line="540"/> - <source>A TLS error occurred.</source> - <translation>Es ist ein TLS-Fehler aufgetreten.</translation> + <location filename="../MqttClient.py" line="572" /> + <source>Access denied by ACL.</source> + <translation>Zugriff durch ACL verweigert.</translation> </message> <message> - <location filename="../MqttClient.py" line="544"/> - <source>Payload too large.</source> - <translation>Nutzdaten zu groß.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="548"/> - <source>This feature is not supported.</source> - <translation>Diese Funktion wird nicht unterstützt.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="552"/> - <source>Authorisation failed.</source> - <translation>Authorisierung fehlgeschlagen.</translation> + <location filename="../MqttClient.py" line="588" /> + <location filename="../MqttClient.py" line="576" /> + <source>Unknown error.</source> + <translation>Unbekannter Fehler.</translation> </message> <message> - <location filename="../MqttClient.py" line="556"/> - <source>Access denied by ACL.</source> - <translation>Zugriff durch ACL verweigert.</translation> + <location filename="../MqttClient.py" line="580" /> + <source>Error defined by errno.</source> + <translation>Fehler durch errno definiert.</translation> </message> <message> - <location filename="../MqttClient.py" line="568"/> - <source>Unknown error.</source> - <translation>Unbekannter Fehler.</translation> + <location filename="../MqttClient.py" line="584" /> + <source>Message queue full.</source> + <translation>Warteschlange ist voll.</translation> </message> - <message> - <location filename="../MqttClient.py" line="564"/> - <source>Error defined by errno.</source> - <translation>Fehler durch errno definiert.</translation> - </message> -</context> -<context> + </context> + <context> <name>MqttLogLevelString</name> <message> - <location filename="../MqttClient.py" line="607"/> - <source>Unknown</source> - <translation>Unbekannt</translation> + <location filename="../MqttClient.py" line="627" /> + <location filename="../MqttClient.py" line="609" /> + <source>Unknown</source> + <translation>Unbekannt</translation> </message> <message> - <location filename="../MqttClient.py" line="594"/> - <source>Info</source> - <translation>Info</translation> + <location filename="../MqttClient.py" line="614" /> + <source>Info</source> + <translation>Info</translation> </message> <message> - <location filename="../MqttClient.py" line="596"/> - <source>Notice</source> - <translation>Notiz</translation> + <location filename="../MqttClient.py" line="616" /> + <source>Notice</source> + <translation>Notiz</translation> </message> <message> - <location filename="../MqttClient.py" line="598"/> - <source>Warning</source> - <translation>Warnung</translation> + <location filename="../MqttClient.py" line="618" /> + <source>Warning</source> + <translation>Warnung</translation> </message> <message> - <location filename="../MqttClient.py" line="600"/> - <source>Error</source> - <translation>Fehler</translation> + <location filename="../MqttClient.py" line="620" /> + <source>Error</source> + <translation>Fehler</translation> </message> <message> - <location filename="../MqttClient.py" line="602"/> - <source>Debug</source> - <translation>Debug</translation> + <location filename="../MqttClient.py" line="622" /> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <location filename="../MqttClient.py" line="604"/> - <source>Logging Disabled</source> - <translation>Protokollierung aus</translation> + <location filename="../MqttClient.py" line="624" /> + <source>Logging Disabled</source> + <translation>Protokollierung aus</translation> </message> -</context> -<context> + </context> + <context> <name>MqttMonitorPlugin</name> <message> - <location filename="../../PluginMqttMonitor.py" line="64"/> - <source>MQTT</source> - <translation>MQTT</translation> + <location filename="../../PluginMqttMonitor.py" line="58" /> + <source>(package not available)</source> + <translation>(Paket nicht verfügbar)</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="65"/> - <source>paho-mqtt</source> - <translation>paho-mqtt</translation> + <location filename="../../PluginMqttMonitor.py" line="63" /> + <source>MQTT</source> + <translation>MQTT</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="123"/> - <source>The 'paho-mqtt' package is not available.</source> - <translation>Das 'paho-mqtt' Paket ist nicht verfügbar.</translation> + <location filename="../../PluginMqttMonitor.py" line="64" /> + <source>paho-mqtt</source> + <translation>paho-mqtt</translation> + </message> + <message> + <location filename="../../PluginMqttMonitor.py" line="122" /> + <source>The 'paho-mqtt' package is not available.</source> + <translation>Das 'paho-mqtt' Paket ist nicht verfügbar.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>MQTT Monitor</source> - <translation>MQTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="139" /> + <location filename="../../PluginMqttMonitor.py" line="136" /> + <source>MQTT Monitor</source> + <translation>MQTT Monitor</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>M&QTT Monitor</source> - <translation>M&QTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="140" /> + <source>M&QTT Monitor</source> + <translation>M&QTT Monitor</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>Alt+Shift+Q</source> - <translation>Alt+Shift+Q</translation> + <location filename="../../PluginMqttMonitor.py" line="141" /> + <source>Alt+Shift+Q</source> + <translation>Alt+Shift+Q</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="154"/> - <source>Switch the input focus to the MQTT Monitor window.</source> - <translation>Schaltet den Eingabefokus auf das MQTT-Überwachungsfenster um.</translation> + <location filename="../../PluginMqttMonitor.py" line="144" /> + <source>Switch the input focus to the MQTT Monitor window.</source> + <translation>Schaltet den Eingabefokus auf das MQTT-Überwachungsfenster um.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="156"/> - <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> - <translation><b>MQTT Monitor aktivieren</b><p>Dies schaltet den Eingabefokus auf das MQTT-Überwachungsfenster um.</p></translation> + <location filename="../../PluginMqttMonitor.py" line="146" /> + <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> + <translation><b>MQTT Monitor aktivieren</b><p>Dies schaltet den Eingabefokus auf das MQTT-Überwachungsfenster um.</p></translation> + </message> + </context> + <context> + <name>MqttMonitorWidget</name> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>MQTT Monitor</b></source> + <translation><b>MQTT Monitor</b></translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="59"/> - <source>(package not available)</source> - <translation>(Paket nicht verfügbar)</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Broker</source> + <translation>Broker</translation> </message> -</context> -<context> - <name>MqttMonitorWidget</name> <message> - <location filename="../MqttMonitorWidget.ui" line="28"/> - <source><b>MQTT Monitor</b></source> - <translation><b>MQTT Monitor</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to switch the mode between profiles and direct connection</source> + <translation>Drücken, um den Modus zwischen Profil und Direktverbindung umzuschalten</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="40"/> - <source>Broker</source> - <translation>Broker</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the profile to be used to connect to the broker</source> + <translation>Wähle das für die Verbindung mit dem Broker zu nutzende Profil aus</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the host name of the broker</source> + <translation>Gib den Hostnamen des Brokers ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="92"/> - <source>Enter the host name of the broker</source> - <translation>Gib den Hostnamen des Brokers ein</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the broker port to connect to</source> + <translation>Geben Sie den zu verbindenden Broker-Port ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="127"/> - <source>Press to connect to/disconnect from the broker</source> - <translation>Drücken, um die Verbindung zum Broker herzustellen/zu trennen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to open a dialog to enter connection options</source> + <translation>Drücken, um einen Dialog zur Eingabe von Verbindungsoptionen zu öffnen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="102"/> - <source>Enter the broker port to connect to</source> - <translation>Geben Sie den zu verbindenden Broker-Port ein</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to connect to/disconnect from the broker</source> + <translation>Drücken, um die Verbindung zum Broker herzustellen/zu trennen</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Pub/Sub</source> + <translation>Pub/Sub</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="120"/> - <source>Press to open a dialog to enter connection options</source> - <translation>Drücken, um einen Dialog zur Eingabe von Verbindungsoptionen zu öffnen</translation> + <location filename="../MqttMonitorWidget.py" line="765" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscribe</source> + <translation>Abonnieren</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="151"/> - <source>Pub/Sub</source> - <translation>Pub/Sub</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Topic:</source> + <translation>Thema:</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="766"/> - <source>Subscribe</source> - <translation>Abonnieren</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic</source> + <translation>Gib das Thema ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="260"/> - <source>Topic:</source> - <translation>Thema:</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="173"/> - <source>Enter the topic</source> - <translation>Gib das Thema ein</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Gib den gewünschten QoS Wert ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="283"/> - <source>QoS:</source> - <translation>QoS:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to subscribe to the given topic</source> + <translation>Drücken, um das eingegebene Thema zu abonieren</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="290"/> - <source>Enter the desired QoS value</source> - <translation>Gib den gewünschten QoS Wert ein</translation> + <location filename="../MqttMonitorWidget.py" line="761" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Unsubscribe</source> + <translation>Abo kündigen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="200"/> - <source>Press to subscribe to the given topic</source> - <translation>Drücken, um das eingegebene Thema zu abonieren</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the topic to unsubscribe</source> + <translation>Wählen ein zu kündigendes Thema aus</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="762"/> - <source>Unsubscribe</source> - <translation>Abo kündigen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to unsubscribe the selected topic</source> + <translation>Drücken, um das ausgewählte Thema zu kündigen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="232"/> - <source>Select the topic to unsubscribe</source> - <translation>Wählen ein zu kündigendes Thema aus</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Publish</source> + <translation>Veröffentlichen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="239"/> - <source>Press to unsubscribe the selected topic</source> - <translation>Drücken, um das ausgewählte Thema zu kündigen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic to publish to</source> + <translation>Gib das Thema der Veröffentlichung ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="383"/> - <source>Publish</source> - <translation>Veröffentlichen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to retain the published message</source> + <translation>Auswählen, um die Nachricht zu behalten</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="273"/> - <source>Enter the topic to publish to</source> - <translation>Gib das Thema der Veröffentlichung ein</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retain</source> + <translation>Behalten</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="303"/> - <source>Select to retain the published message</source> - <translation>Auswählen, um die Nachricht zu behalten</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the string data to be sent</source> + <translation>Gib die zu sendende Nachricht ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="306"/> - <source>Retain</source> - <translation>Behalten</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Payload File:</source> + <translation>Nutzdatendatei:</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="321"/> - <source>Enter the string data to be sent</source> - <translation>Gib die zu sendende Nachricht ein</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the full path to a file containing the message payload</source> + <translation>Gib den vollständigen Pfad zu einer Datei mit den Nachrichtennutzdaten ein</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="360"/> - <source>Press to clear the publish data</source> - <translation>Drücken, um die Veröffentlichungsdaten zu löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the publish data</source> + <translation>Drücken, um die Veröffentlichungsdaten zu löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1355"/> - <source>Clear</source> - <translation>Löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear</source> + <translation>Löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="419"/> - <source>Messages</source> - <translation>Meldungen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to clear the publish data after the message was published</source> + <translation>Auswählen, um die Veröffentlichungsdaten nach dem Senden zu löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="505"/> - <source>Status</source> - <translation>Status</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear when sent</source> + <translation>Nach dem Senden löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="767"/> - <source>Press to activate the status display</source> - <translation>Drücken, um die Statusanzeige zu aktivieren</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages</source> + <translation>Meldungen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="561"/> - <source><b>Broker</b></source> - <translation><b>Broker</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received messages to a file</source> + <translation>Drücken, um die empfangenen Meldungen in eine Datei zu speichern</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="583"/> - <source>Version</source> - <translation>Version</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Save</source> + <translation>Speichern</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1052"/> - <source>-</source> - <translation>-</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="603"/> - <source>Timestamp</source> - <translation>Zeitstempel</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received messages</source> + <translation>Drücken, um die Liste der empfangenen Meldungen zu löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="623"/> - <source>Uptime</source> - <translation>Betriebszeit</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received message</source> + <translation>Auswählen, um zur zuletzt empfangenen Meldung zu blättern</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="643"/> - <source>Subscriptions</source> - <translation>Abonnements</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received messages</source> + <translation>Empfangenen Meldungen folgen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="665"/> - <source><b>Clients</b></source> - <translation><b>Klienten</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Status</source> + <translation>Status</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="687"/> - <source>Connected</source> - <translation>Verbunden</translation> + <location filename="../MqttMonitorWidget.py" line="767" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to activate the status display</source> + <translation>Drücken, um die Statusanzeige zu aktivieren</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="707"/> - <source>Disconnected</source> - <translation>Nicht Verbunden</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Broker</b></source> + <translation><b>Broker</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="727"/> - <source>Expired</source> - <translation>Abgelaufen</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="747"/> - <source>Maximum</source> - <translation>Maximum</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Version</source> + <translation>Version</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="767"/> - <source>Total</source> - <translation>Gesamt</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="../MqttMonitorWidget.ui" line="789"/> - <source><b>Messages</b></source> - <translation><b>Mitteilungen</b></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="935"/> - <source>Sent</source> - <translation>Gesendet</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="955"/> - <source>Received</source> - <translation>Empfangen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Timestamp</source> + <translation>Zeitstempel</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="851"/> - <source>Stored</source> - <translation>Gespeichert</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Uptime</source> + <translation>Betriebszeit</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="871"/> - <source>Inflight</source> - <translation>In Übertragung</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscriptions</source> + <translation>Abonnements</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="891"/> - <source>Retained</source> - <translation>Aufgehoben</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Clients</b></source> + <translation><b>Klienten</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="913"/> - <source><b>PUBLISH Messages</b></source> - <translation><b>PUBLISH Mitteilungen</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connected</source> + <translation>Verbunden</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="975"/> - <source>Dropped</source> - <translation>Gelöscht</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Disconnected</source> + <translation>Nicht Verbunden</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="997"/> - <source><b>Traffic</b></source> - <translation><b>Verkehr</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Expired</source> + <translation>Abgelaufen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1083"/> - <source>Bytes Sent</source> - <translation>Bytes Gesendet</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Maximum</source> + <translation>Maximum</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1103"/> - <source>Bytes Received</source> - <translation>Bytes Empfangen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Total</source> + <translation>Gesamt</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1061"/> - <source><b>Load</b></source> - <translation><b>Last</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Messages</b></source> + <translation><b>Mitteilungen</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1256"/> - <source>- / - / -</source> - <translation>- / - / -</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sent</source> + <translation>Gesendet</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1123"/> - <source>Messages Sent</source> - <translation>Mitteilungen Gesendet</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Received</source> + <translation>Empfangen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1143"/> - <source>Messages Received</source> - <translation>Mitteilungen Empfangen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Stored</source> + <translation>Gespeichert</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1163"/> - <source>PUBLISH Sent</source> - <translation>PUBLISH Gesendet</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Inflight</source> + <translation>In Übertragung</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1183"/> - <source>PUBLISH Received</source> - <translation>PUBLISH Empfangen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retained</source> + <translation>Aufgehoben</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1203"/> - <source>PUBLISH Dropped</source> - <translation>PUBLISH Gelöscht</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>PUBLISH Messages</b></source> + <translation><b>PUBLISH Mitteilungen</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1223"/> - <source>Connections</source> - <translation>Verbindungen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Dropped</source> + <translation>Gelöscht</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Traffic</b></source> + <translation><b>Verkehr</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1243"/> - <source>Sockets</source> - <translation>Sockets</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Sent</source> + <translation>Bytes Gesendet</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="262"/> - <source>Connection to Broker shut down cleanly.</source> - <translation>Die Verbindung zum Broker wurde ordnungsgemäß beendet.</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Received</source> + <translation>Bytes Empfangen</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscribe to Topic</source> - <translation>Thema abonnieren</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> - <translation>Abonnements zum Statusthema '$SYS' werden auf der Registerkarte 'Status' ausgeführt.</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Load</b></source> + <translation><b>Last</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="763"/> - <source>Press to deactivate the status display</source> - <translation>Drücken, um die Statusanzeige zu deaktivieren</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="../MqttMonitorWidget.ui" line="46"/> - <source>Press to switch the mode between profiles and direct connection</source> - <translation>Drücken, um den Modus zwischen Profil und Direktverbindung umzuschalten</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="64"/> - <source>Select the profile to be used to connect to the broker</source> - <translation>Wähle das für die Verbindung mit dem Broker zu nutzende Profil aus</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Sent</source> + <translation>Mitteilungen Gesendet</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="392"/> - <source>Select to clear the publish data after the message was published</source> - <translation>Auswählen, um die Veröffentlichungsdaten nach dem Senden zu löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Received</source> + <translation>Mitteilungen Empfangen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="395"/> - <source>Clear when sent</source> - <translation>Nach dem Senden löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Sent</source> + <translation>PUBLISH Gesendet</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Received</source> + <translation>PUBLISH Empfangen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="479"/> - <source>Press to clear the list of received messages</source> - <translation>Drücken, um die Liste der empfangenen Meldungen zu löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Dropped</source> + <translation>PUBLISH Gelöscht</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1268"/> - <source>Log</source> - <translation>Protokoll</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connections</source> + <translation>Verbindungen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1276"/> - <source>Max. Log Level:</source> - <translation>Max. Protokollebene:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sockets</source> + <translation>Sockets</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1289"/> - <source>Select the maximum log level to show</source> - <translation>Die maximal anzuzeigende Protokollebene auswählen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Log</source> + <translation>Protokoll</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1352"/> - <source>Press to clear the list of received log messages</source> - <translation>Drücken, um die Liste der empfangenen Protokollmeldungen zu löschen</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Max. Log Level:</source> + <translation>Max. Protokollebene:</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="243"/> - <source>Connection timed out</source> - <translation>Zeitlimit für Verbindung überschritten</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the maximum log level to show</source> + <translation>Die maximal anzuzeigende Protokollebene auswählen</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="317"/> - <source>{0}: {1}</source> - <translation>{0}: {1}</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received log messages to a file</source> + <translation>Drücken, um die empfangenen Protokollmeldungen in eine Datei zu speichern</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received log messages</source> + <translation>Drücken, um die Liste der empfangenen Protokollmeldungen zu löschen</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="1059"/> - <source>Connecting to {0}:{1} ...</source> - <translation>Verbinde zu {0}:{1} ...</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received log message</source> + <translation>Auswählen, um zur zuletzt empfangenen Protokollmeldungen zu blättern</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="333"/> - <source>Payload File:</source> - <translation>Nutzdatendatei:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received log messages</source> + <translation>Empfangenen Protokollmeldungen folgen</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="349"/> - <source>Enter the full path to a file containing the message payload</source> - <translation>Gib den vollständigen Pfad zu einer Datei mit den Nachrichtennutzdaten ein</translation> + <location filename="../MqttMonitorWidget.py" line="68" /> + <source>All Files (*)</source> + <translation>Alle Dateien (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="453"/> - <source>Press to save the received messages to a file</source> - <translation>Drücken, um die empfangenen Meldungen in eine Datei zu speichern</translation> + <location filename="../MqttMonitorWidget.py" line="249" /> + <source>Connection timed out</source> + <translation>Zeitlimit für Verbindung überschritten</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1329"/> - <source>Save</source> - <translation>Speichern</translation> + <location filename="../MqttMonitorWidget.py" line="268" /> + <source>Connection to Broker shut down cleanly.</source> + <translation>Die Verbindung zum Broker wurde ordnungsgemäß beendet.</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="491"/> - <source>Select to scroll to the most recently received message</source> - <translation>Auswählen, um zur zuletzt empfangenen Meldung zu blättern</translation> + <location filename="../MqttMonitorWidget.py" line="321" /> + <source>{0}: {1}</source> + <translation>{0}: {1}</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="494"/> - <source>Follow received messages</source> - <translation>Empfangenen Meldungen folgen</translation> + <location filename="../MqttMonitorWidget.py" line="516" /> + <source>Subscribe to Topic</source> + <translation>Thema abonnieren</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1326"/> - <source>Press to save the received log messages to a file</source> - <translation>Drücken, um die empfangenen Protokollmeldungen in eine Datei zu speichern</translation> + <location filename="../MqttMonitorWidget.py" line="517" /> + <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> + <translation>Abonnements zum Statusthema '$SYS' werden auf der Registerkarte 'Status' ausgeführt.</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1364"/> - <source>Select to scroll to the most recently received log message</source> - <translation>Auswählen, um zur zuletzt empfangenen Protokollmeldungen zu blättern</translation> + <location filename="../MqttMonitorWidget.py" line="574" /> + <source>Read Payload from File</source> + <translation>Nutzdaten aus Datei lesen</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.py" line="575" /> + <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> + <translation><p>Die Datei <b>{0}</b> konnte nicht gelesen werden. Abbruch...</p><p>Ursache: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1367"/> - <source>Follow received log messages</source> - <translation>Empfangenen Protokollmeldungen folgen</translation> + <location filename="../MqttMonitorWidget.py" line="686" /> + <location filename="../MqttMonitorWidget.py" line="672" /> + <location filename="../MqttMonitorWidget.py" line="654" /> + <source>Save Messages</source> + <translation>Meldungen speichern</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="65"/> - <source>All Files (*)</source> - <translation>Alle Dateien (*)</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source>Read Payload from File</source> - <translation>Nutzdaten aus Datei lesen</translation> + <location filename="../MqttMonitorWidget.py" line="656" /> + <source>Messages Files (*.txt);;All Files (*)</source> + <translation>Meldungsdateien (*.txt);;Alle Dateien (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> - <translation><p>Die Datei <b>{0}</b> konnte nicht gelesen werden. Abbruch...</p><p>Ursache: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="729" /> + <location filename="../MqttMonitorWidget.py" line="673" /> + <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> + <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="684"/> - <source>Save Messages</source> - <translation>Meldungen speichern</translation> + <location filename="../MqttMonitorWidget.py" line="743" /> + <location filename="../MqttMonitorWidget.py" line="687" /> + <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> + <translation><p>Die Datei <b>{0}</b> konnte nicht geschrieben werden.</p><p>Ursache: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="651"/> - <source>Messages Files (*.txt);;All Files (*)</source> - <translation>Meldungsdateien (*.txt);;Alle Dateien (*)</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="726"/> - <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> - <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> + <location filename="../MqttMonitorWidget.py" line="742" /> + <location filename="../MqttMonitorWidget.py" line="728" /> + <location filename="../MqttMonitorWidget.py" line="710" /> + <source>Save Log Messages</source> + <translation>Protokollmeldungen speichern</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> - <translation><p>Die Datei <b>{0}</b> konnte nicht geschrieben werden.</p><p>Ursache: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="712" /> + <source>Log Files (*.log);;All Files (*)</source> + <translation>Protokolldateien (*.log);;Alle Dateien (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source>Save Log Messages</source> - <translation>Protokollmeldungen speichern</translation> + <location filename="../MqttMonitorWidget.py" line="763" /> + <source>Press to deactivate the status display</source> + <translation>Drücken, um die Statusanzeige zu deaktivieren</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="708"/> - <source>Log Files (*.log);;All Files (*)</source> - <translation>Protokolldateien (*.log);;Alle Dateien (*)</translation> + <location filename="../MqttMonitorWidget.py" line="895" /> + <source>QoS: {0} +</source> + <translation>QoS: {0} +</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="902"/> - <source>QoS: {0} -</source> - <translation>QoS: {0} -</translation> + <location filename="../MqttMonitorWidget.py" line="1048" /> + <location filename="../MqttMonitorWidget.py" line="1022" /> + <source>Connecting to {0}:{1} ...</source> + <translation>Verbinde zu {0}:{1} ...</translation> </message> -</context> + </context> </TS>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_empty.ts --- a/MqttMonitor/i18n/mqttmonitor_empty.ts Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/i18n/mqttmonitor_empty.ts Sun May 30 18:21:40 2021 +0200 @@ -1,1170 +1,1242 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0"> -<context> +<!DOCTYPE TS> +<TS version="2.0"> + <context> <name>MqttConnackMessage</name> <message> - <location filename="../MqttClient.py" line="467"/> - <source>Connection Accepted.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="483" /> + <source>Connection Accepted.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="487" /> + <source>Connection Refused: unacceptable protocol version.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="471"/> - <source>Connection Refused: unacceptable protocol version.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="491" /> + <source>Connection Refused: identifier rejected.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="475"/> - <source>Connection Refused: identifier rejected.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="495" /> + <source>Connection Refused: broker unavailable.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="479"/> - <source>Connection Refused: broker unavailable.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="499" /> + <source>Connection Refused: bad user name or password.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="483"/> - <source>Connection Refused: bad user name or password.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="503" /> + <source>Connection Refused: not authorised.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="487"/> - <source>Connection Refused: not authorised.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="507" /> + <source>Connection Refused: unknown reason.</source> + <translation type="unfinished" /> + </message> + </context> + <context> + <name>MqttConnectionOptionsDialog</name> + <message> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>MQTT Connection Options</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="491"/> - <source>Connection Refused: unknown reason.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MqttConnectionOptionsDialog</name> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="14"/> - <source>MQTT Connection Options</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>General</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="23"/> - <source>General</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Client ID:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="29"/> - <source>Client ID:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="36"/> - <source>Enter the ID string for this client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="43"/> - <source>Press to generate a client ID</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Generate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="46"/> - <source>Generate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="99"/> - <source>Keep Alive Interval:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="108"/> - <source>Enter the keep alive interval in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source> s</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="114"/> - <source> s</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="148"/> - <source>Clean Session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="158"/> - <source>User Credentials</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="164"/> - <source>User Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Clean Session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="171"/> - <source>Enter the user name</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Credentials</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="178"/> - <source>Password:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="185"/> - <source>Enter the password</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="198"/> - <source>Last Will and Testament</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Password:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="204"/> - <source>Enter the topic of the last will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the password</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="211"/> - <source>QoS:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Last Will and Testament</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="218"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="231"/> - <source>Select to retain the last will message</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>QoS:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="234"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="247"/> - <source>Enter the last will message to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="53"/> - <source>Connection Timeout:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="62"/> - <source>Enter the connection timeout in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="145"/> - <source>Select to start with a clean session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="257"/> - <source>SSL/TLS</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="263"/> - <source>Select to enable SSL/TLS connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS Enabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="266"/> - <source>SSL/TLS Enabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>CA File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="273"/> - <source>CA File:</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="292"/> - <source>Enter the full path to the CA certificate file; leave empty to use platform default</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="47" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="46"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>Invalid Connection Parameters</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="64" /> + <source>Invalid Connection Parameters</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>An empty Client ID requires a clean session.</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="65" /> + <source>An empty Client ID requires a clean session.</source> + <translation type="unfinished" /> </message> -</context> -<context> + </context> + <context> <name>MqttConnectionProfilesDialog</name> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="14"/> - <source>MQTT Connection Profiles</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="70" /> + <location filename="../MqttConnectionProfilesDialog.py" line="66" /> + <location filename="../MqttConnectionProfilesDialog.py" line="62" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="74" /> + <source>Key Files (*.key *.pem);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="51"/> - <source>Press to add a new profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="708" /> + <location filename="../MqttConnectionProfilesDialog.py" line="672" /> + <location filename="../MqttConnectionProfilesDialog.py" line="143" /> + <source>Changed Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="58"/> - <source>Press to copy the selected profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="65"/> - <source>Press to delete the selected profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="709" /> + <location filename="../MqttConnectionProfilesDialog.py" line="673" /> + <location filename="../MqttConnectionProfilesDialog.py" line="144" /> + <source>The current profile has unsaved changes. Shall these be saved?</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="99"/> - <source>Profile Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="171" /> + <location filename="../MqttConnectionProfilesDialog.py" line="164" /> + <source>New Connection Profile</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="165" /> + <source>Enter name for the new Connection Profile:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="120"/> - <source>Broker Address:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="199" /> + <location filename="../MqttConnectionProfilesDialog.py" line="172" /> + <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="127"/> - <source>Enter the broker server address</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="134"/> - <source>Broker Port:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="198" /> + <location filename="../MqttConnectionProfilesDialog.py" line="191" /> + <source>Copy Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="143"/> - <source>Enter the broker port number (default 1883)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="192" /> + <source>Enter name for the copied Connection Profile:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="174"/> - <source>Client ID:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="222" /> + <source>Delete Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="183"/> - <source>Enter the ID string for this client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="223" /> + <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="493" /> + <source>Invalid Connection Parameters</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="190"/> - <source>Press to generate a client ID</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="494" /> + <source>An empty Client ID requires a clean session.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="193"/> - <source>Generate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.py" line="604" /> + <source>SSL/TLS Enabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="215"/> - <source>General</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="605" /> + <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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="221"/> - <source>Connection Timeout:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="618" /> + <source>SSL/TLS Disabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="230"/> - <source>Enter the connection timeout in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="619" /> + <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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="282"/> - <source> s</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="685" /> + <source>Changed Connection Profiles</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="267"/> - <source>Keep Alive Interval:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="686" /> + <source>The list of connection profiles has unsaved changes.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>MQTT Connection Profiles</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="276"/> - <source>Enter the keep alive interval in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to add a new profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="313"/> - <source>Select to start with a clean session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to copy the selected profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="316"/> - <source>Clean Session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to delete the selected profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="337"/> - <source>User Credentials</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Profile Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="343"/> - <source>User Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Address:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="350"/> - <source>Enter the user name</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker server address</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="357"/> - <source>Password:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Port:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="364"/> - <source>Enter the password</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker port number (default 1883)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="388"/> - <source>Last Will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client ID:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="394"/> - <source>Enter the topic of the last will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="401"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="414"/> - <source>Select to retain the last will message</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Generate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="417"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>General</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="430"/> - <source>Enter the last will message to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="438"/> - <source>SSL/TLS</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="444"/> - <source>Select to enable SSL/TLS connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source> s</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <source>SSL/TLS Enabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="459"/> - <source>Select to use the default certificate file of the client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="462"/> - <source>CA signed server certificate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="472"/> - <source>Select to use a specific certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Clean Session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="475"/> - <source>CA certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Credentials</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="586"/> - <source>CA File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="602"/> - <source>Enter the full path to the CA certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="542"/> - <source>Select to use a self signed client certificate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Password:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="545"/> - <source>Self signed certificates</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the password</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="609"/> - <source>Client Certificate File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Last Will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="625"/> - <source>Enter the full path to the client certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="632"/> - <source>Client Key File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="648"/> - <source>Enter the full path to the client key file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="69"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="73"/> - <source>Key Files (*.key *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>Changed Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>The current profile has unsaved changes. Shall these be saved?</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use the default certificate file of the client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="161"/> - <source>New Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA signed server certificate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="154"/> - <source>Enter name for the new Connection Profile:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a specific certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source>Copy Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="180"/> - <source>Enter name for the copied Connection Profile:</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source>Delete Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a self signed client certificate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Self signed certificates</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>Invalid Connection Parameters</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Certificate File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>An empty Client ID requires a clean session.</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <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 type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <source>SSL/TLS Disabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Key File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <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 type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client key file</source> + <translation type="unfinished" /> </message> + </context> + <context> + <name>MqttErrorMessage</name> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>Changed Connection Profiles</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="523" /> + <source>No error.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>The list of connection profiles has unsaved changes.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="527" /> + <source>Out of memory.</source> + <translation type="unfinished" /> </message> -</context> -<context> - <name>MqttErrorMessage</name> <message> - <location filename="../MqttClient.py" line="507"/> - <source>No error.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="531" /> + <source>A network protocol error occurred when communicating with the broker.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="536" /> + <source>Invalid function arguments provided.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="511"/> - <source>Out of memory.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="540" /> + <source>The client is not currently connected.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="515"/> - <source>A network protocol error occurred when communicating with the broker.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="544" /> + <source>The connection was refused.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="520"/> - <source>Invalid function arguments provided.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="548" /> + <source>Message not found (internal error).</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="552" /> + <source>The connection was lost.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="524"/> - <source>The client is not currently connected.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="556" /> + <source>A TLS error occurred.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="528"/> - <source>The connection was refused.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="560" /> + <source>Payload too large.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="532"/> - <source>Message not found (internal error).</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="564" /> + <source>This feature is not supported.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="536"/> - <source>The connection was lost.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="568" /> + <source>Authorisation failed.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="540"/> - <source>A TLS error occurred.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="572" /> + <source>Access denied by ACL.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="544"/> - <source>Payload too large.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttClient.py" line="548"/> - <source>This feature is not supported.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttClient.py" line="552"/> - <source>Authorisation failed.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="588" /> + <location filename="../MqttClient.py" line="576" /> + <source>Unknown error.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="556"/> - <source>Access denied by ACL.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="580" /> + <source>Error defined by errno.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="568"/> - <source>Unknown error.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="584" /> + <source>Message queue full.</source> + <translation type="unfinished" /> </message> - <message> - <location filename="../MqttClient.py" line="564"/> - <source>Error defined by errno.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> + </context> + <context> <name>MqttLogLevelString</name> <message> - <location filename="../MqttClient.py" line="607"/> - <source>Unknown</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="627" /> + <location filename="../MqttClient.py" line="609" /> + <source>Unknown</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="594"/> - <source>Info</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="614" /> + <source>Info</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="596"/> - <source>Notice</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="616" /> + <source>Notice</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="598"/> - <source>Warning</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="618" /> + <source>Warning</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="600"/> - <source>Error</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="620" /> + <source>Error</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="602"/> - <source>Debug</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="622" /> + <source>Debug</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="604"/> - <source>Logging Disabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="624" /> + <source>Logging Disabled</source> + <translation type="unfinished" /> </message> -</context> -<context> + </context> + <context> <name>MqttMonitorPlugin</name> <message> - <location filename="../../PluginMqttMonitor.py" line="64"/> - <source>MQTT</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="58" /> + <source>(package not available)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="65"/> - <source>paho-mqtt</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="63" /> + <source>MQTT</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="123"/> - <source>The 'paho-mqtt' package is not available.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="64" /> + <source>paho-mqtt</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginMqttMonitor.py" line="122" /> + <source>The 'paho-mqtt' package is not available.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>MQTT Monitor</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="139" /> + <location filename="../../PluginMqttMonitor.py" line="136" /> + <source>MQTT Monitor</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>M&QTT Monitor</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="140" /> + <source>M&QTT Monitor</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>Alt+Shift+Q</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="141" /> + <source>Alt+Shift+Q</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="154"/> - <source>Switch the input focus to the MQTT Monitor window.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="144" /> + <source>Switch the input focus to the MQTT Monitor window.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="156"/> - <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="146" /> + <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> + <translation type="unfinished" /> + </message> + </context> + <context> + <name>MqttMonitorWidget</name> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>MQTT Monitor</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="59"/> - <source>(package not available)</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Broker</source> + <translation type="unfinished" /> </message> -</context> -<context> - <name>MqttMonitorWidget</name> <message> - <location filename="../MqttMonitorWidget.ui" line="28"/> - <source><b>MQTT Monitor</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to switch the mode between profiles and direct connection</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="40"/> - <source>Broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the profile to be used to connect to the broker</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the host name of the broker</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="92"/> - <source>Enter the host name of the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the broker port to connect to</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="127"/> - <source>Press to connect to/disconnect from the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to open a dialog to enter connection options</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="102"/> - <source>Enter the broker port to connect to</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to connect to/disconnect from the broker</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Pub/Sub</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="120"/> - <source>Press to open a dialog to enter connection options</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="765" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="151"/> - <source>Pub/Sub</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Topic:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="766"/> - <source>Subscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="260"/> - <source>Topic:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>QoS:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="173"/> - <source>Enter the topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="283"/> - <source>QoS:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to subscribe to the given topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="290"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="761" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Unsubscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="200"/> - <source>Press to subscribe to the given topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the topic to unsubscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="762"/> - <source>Unsubscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to unsubscribe the selected topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="232"/> - <source>Select the topic to unsubscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Publish</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="239"/> - <source>Press to unsubscribe the selected topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic to publish to</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="383"/> - <source>Publish</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to retain the published message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="273"/> - <source>Enter the topic to publish to</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="303"/> - <source>Select to retain the published message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the string data to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="306"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Payload File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="321"/> - <source>Enter the string data to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the full path to a file containing the message payload</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="360"/> - <source>Press to clear the publish data</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the publish data</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1355"/> - <source>Clear</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="419"/> - <source>Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to clear the publish data after the message was published</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="505"/> - <source>Status</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear when sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="767"/> - <source>Press to activate the status display</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="561"/> - <source><b>Broker</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received messages to a file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="583"/> - <source>Version</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Save</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1052"/> - <source>-</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="603"/> - <source>Timestamp</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="623"/> - <source>Uptime</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="643"/> - <source>Subscriptions</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Status</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="665"/> - <source><b>Clients</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="767" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to activate the status display</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="687"/> - <source>Connected</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Broker</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="707"/> - <source>Disconnected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="727"/> - <source>Expired</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Version</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="747"/> - <source>Maximum</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="767"/> - <source>Total</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="789"/> - <source><b>Messages</b></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="935"/> - <source>Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Timestamp</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="955"/> - <source>Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Uptime</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="851"/> - <source>Stored</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscriptions</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="871"/> - <source>Inflight</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Clients</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="891"/> - <source>Retained</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connected</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="913"/> - <source><b>PUBLISH Messages</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Disconnected</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="975"/> - <source>Dropped</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Expired</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="997"/> - <source><b>Traffic</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Maximum</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1083"/> - <source>Bytes Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Total</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1103"/> - <source>Bytes Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Messages</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1061"/> - <source><b>Load</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1256"/> - <source>- / - / -</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1123"/> - <source>Messages Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Stored</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1143"/> - <source>Messages Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Inflight</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1163"/> - <source>PUBLISH Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retained</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1183"/> - <source>PUBLISH Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>PUBLISH Messages</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1203"/> - <source>PUBLISH Dropped</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Dropped</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Traffic</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1223"/> - <source>Connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1243"/> - <source>Sockets</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="262"/> - <source>Connection to Broker shut down cleanly.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscribe to Topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Load</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="763"/> - <source>Press to deactivate the status display</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="46"/> - <source>Press to switch the mode between profiles and direct connection</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="64"/> - <source>Select the profile to be used to connect to the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="392"/> - <source>Select to clear the publish data after the message was published</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="395"/> - <source>Clear when sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="479"/> - <source>Press to clear the list of received messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Dropped</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1268"/> - <source>Log</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1276"/> - <source>Max. Log Level:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sockets</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1289"/> - <source>Select the maximum log level to show</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Log</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1352"/> - <source>Press to clear the list of received log messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Max. Log Level:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="243"/> - <source>Connection timed out</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the maximum log level to show</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="317"/> - <source>{0}: {1}</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received log messages to a file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received log messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="1059"/> - <source>Connecting to {0}:{1} ...</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received log message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="333"/> - <source>Payload File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received log messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="349"/> - <source>Enter the full path to a file containing the message payload</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="68" /> + <source>All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="453"/> - <source>Press to save the received messages to a file</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="249" /> + <source>Connection timed out</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1329"/> - <source>Save</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="268" /> + <source>Connection to Broker shut down cleanly.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="491"/> - <source>Select to scroll to the most recently received message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="321" /> + <source>{0}: {1}</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="494"/> - <source>Follow received messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="516" /> + <source>Subscribe to Topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1326"/> - <source>Press to save the received log messages to a file</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="517" /> + <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1364"/> - <source>Select to scroll to the most recently received log message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="574" /> + <source>Read Payload from File</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.py" line="575" /> + <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1367"/> - <source>Follow received log messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="686" /> + <location filename="../MqttMonitorWidget.py" line="672" /> + <location filename="../MqttMonitorWidget.py" line="654" /> + <source>Save Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="65"/> - <source>All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source>Read Payload from File</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="656" /> + <source>Messages Files (*.txt);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="729" /> + <location filename="../MqttMonitorWidget.py" line="673" /> + <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="684"/> - <source>Save Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="743" /> + <location filename="../MqttMonitorWidget.py" line="687" /> + <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="651"/> - <source>Messages Files (*.txt);;All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="726"/> - <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="742" /> + <location filename="../MqttMonitorWidget.py" line="728" /> + <location filename="../MqttMonitorWidget.py" line="710" /> + <source>Save Log Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="712" /> + <source>Log Files (*.log);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source>Save Log Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="763" /> + <source>Press to deactivate the status display</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="708"/> - <source>Log Files (*.log);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="895" /> + <source>QoS: {0} +</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="902"/> - <source>QoS: {0} -</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="1048" /> + <location filename="../MqttMonitorWidget.py" line="1022" /> + <source>Connecting to {0}:{1} ...</source> + <translation type="unfinished" /> </message> -</context> + </context> </TS>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_en.ts --- a/MqttMonitor/i18n/mqttmonitor_en.ts Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/i18n/mqttmonitor_en.ts Sun May 30 18:21:40 2021 +0200 @@ -1,1170 +1,1242 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="en_US" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="en_US" sourcelanguage=""> + <context> <name>MqttConnackMessage</name> <message> - <location filename="../MqttClient.py" line="467"/> - <source>Connection Accepted.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="483" /> + <source>Connection Accepted.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="487" /> + <source>Connection Refused: unacceptable protocol version.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="471"/> - <source>Connection Refused: unacceptable protocol version.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="491" /> + <source>Connection Refused: identifier rejected.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="475"/> - <source>Connection Refused: identifier rejected.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="495" /> + <source>Connection Refused: broker unavailable.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="479"/> - <source>Connection Refused: broker unavailable.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="499" /> + <source>Connection Refused: bad user name or password.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="483"/> - <source>Connection Refused: bad user name or password.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="503" /> + <source>Connection Refused: not authorised.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="487"/> - <source>Connection Refused: not authorised.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="507" /> + <source>Connection Refused: unknown reason.</source> + <translation type="unfinished" /> + </message> + </context> + <context> + <name>MqttConnectionOptionsDialog</name> + <message> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>MQTT Connection Options</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="491"/> - <source>Connection Refused: unknown reason.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>MqttConnectionOptionsDialog</name> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="14"/> - <source>MQTT Connection Options</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>General</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="23"/> - <source>General</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Client ID:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="29"/> - <source>Client ID:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="36"/> - <source>Enter the ID string for this client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="43"/> - <source>Press to generate a client ID</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Generate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="46"/> - <source>Generate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="99"/> - <source>Keep Alive Interval:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="108"/> - <source>Enter the keep alive interval in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source> s</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="114"/> - <source> s</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="148"/> - <source>Clean Session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="158"/> - <source>User Credentials</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="164"/> - <source>User Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Clean Session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="171"/> - <source>Enter the user name</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Credentials</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="178"/> - <source>Password:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="185"/> - <source>Enter the password</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="198"/> - <source>Last Will and Testament</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Password:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="204"/> - <source>Enter the topic of the last will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the password</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="211"/> - <source>QoS:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Last Will and Testament</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="218"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="231"/> - <source>Select to retain the last will message</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>QoS:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="234"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="247"/> - <source>Enter the last will message to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="53"/> - <source>Connection Timeout:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="62"/> - <source>Enter the connection timeout in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="145"/> - <source>Select to start with a clean session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="257"/> - <source>SSL/TLS</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="263"/> - <source>Select to enable SSL/TLS connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS Enabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="266"/> - <source>SSL/TLS Enabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>CA File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="273"/> - <source>CA File:</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="292"/> - <source>Enter the full path to the CA certificate file; leave empty to use platform default</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="47" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="46"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>Invalid Connection Parameters</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="64" /> + <source>Invalid Connection Parameters</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>An empty Client ID requires a clean session.</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionOptionsDialog.py" line="65" /> + <source>An empty Client ID requires a clean session.</source> + <translation type="unfinished" /> </message> -</context> -<context> + </context> + <context> <name>MqttConnectionProfilesDialog</name> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="14"/> - <source>MQTT Connection Profiles</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="70" /> + <location filename="../MqttConnectionProfilesDialog.py" line="66" /> + <location filename="../MqttConnectionProfilesDialog.py" line="62" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="74" /> + <source>Key Files (*.key *.pem);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="51"/> - <source>Press to add a new profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="708" /> + <location filename="../MqttConnectionProfilesDialog.py" line="672" /> + <location filename="../MqttConnectionProfilesDialog.py" line="143" /> + <source>Changed Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="58"/> - <source>Press to copy the selected profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="65"/> - <source>Press to delete the selected profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="709" /> + <location filename="../MqttConnectionProfilesDialog.py" line="673" /> + <location filename="../MqttConnectionProfilesDialog.py" line="144" /> + <source>The current profile has unsaved changes. Shall these be saved?</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="99"/> - <source>Profile Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="171" /> + <location filename="../MqttConnectionProfilesDialog.py" line="164" /> + <source>New Connection Profile</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="165" /> + <source>Enter name for the new Connection Profile:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="120"/> - <source>Broker Address:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="199" /> + <location filename="../MqttConnectionProfilesDialog.py" line="172" /> + <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="127"/> - <source>Enter the broker server address</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="134"/> - <source>Broker Port:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="198" /> + <location filename="../MqttConnectionProfilesDialog.py" line="191" /> + <source>Copy Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="143"/> - <source>Enter the broker port number (default 1883)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="192" /> + <source>Enter name for the copied Connection Profile:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="174"/> - <source>Client ID:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="222" /> + <source>Delete Connection Profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="183"/> - <source>Enter the ID string for this client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="223" /> + <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="493" /> + <source>Invalid Connection Parameters</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="190"/> - <source>Press to generate a client ID</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="494" /> + <source>An empty Client ID requires a clean session.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="193"/> - <source>Generate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.py" line="604" /> + <source>SSL/TLS Enabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="215"/> - <source>General</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="605" /> + <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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="221"/> - <source>Connection Timeout:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="618" /> + <source>SSL/TLS Disabled</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="230"/> - <source>Enter the connection timeout in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="619" /> + <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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="282"/> - <source> s</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="685" /> + <source>Changed Connection Profiles</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="267"/> - <source>Keep Alive Interval:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.py" line="686" /> + <source>The list of connection profiles has unsaved changes.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>MQTT Connection Profiles</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="276"/> - <source>Enter the keep alive interval in seconds</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to add a new profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="313"/> - <source>Select to start with a clean session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to copy the selected profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="316"/> - <source>Clean Session</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to delete the selected profile</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="337"/> - <source>User Credentials</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Profile Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="343"/> - <source>User Name:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Address:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="350"/> - <source>Enter the user name</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker server address</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="357"/> - <source>Password:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Port:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="364"/> - <source>Enter the password</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker port number (default 1883)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="388"/> - <source>Last Will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client ID:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="394"/> - <source>Enter the topic of the last will</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="401"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="414"/> - <source>Select to retain the last will message</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Generate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="417"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>General</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="430"/> - <source>Enter the last will message to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="438"/> - <source>SSL/TLS</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="444"/> - <source>Select to enable SSL/TLS connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source> s</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <source>SSL/TLS Enabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="459"/> - <source>Select to use the default certificate file of the client</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="462"/> - <source>CA signed server certificate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="472"/> - <source>Select to use a specific certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Clean Session</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="475"/> - <source>CA certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Credentials</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="586"/> - <source>CA File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Name:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="602"/> - <source>Enter the full path to the CA certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="542"/> - <source>Select to use a self signed client certificate</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Password:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="545"/> - <source>Self signed certificates</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the password</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="609"/> - <source>Client Certificate File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Last Will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="625"/> - <source>Enter the full path to the client certificate file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="632"/> - <source>Client Key File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="648"/> - <source>Enter the full path to the client key file</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="69"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="73"/> - <source>Key Files (*.key *.pem);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>Changed Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>The current profile has unsaved changes. Shall these be saved?</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use the default certificate file of the client</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="161"/> - <source>New Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA signed server certificate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="154"/> - <source>Enter name for the new Connection Profile:</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a specific certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source>Copy Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="180"/> - <source>Enter name for the copied Connection Profile:</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source>Delete Connection Profile</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a self signed client certificate</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Self signed certificates</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>Invalid Connection Parameters</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Certificate File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>An empty Client ID requires a clean session.</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client certificate file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <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 type="unfinished"></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <source>SSL/TLS Disabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Key File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <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 type="unfinished"></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client key file</source> + <translation type="unfinished" /> </message> + </context> + <context> + <name>MqttErrorMessage</name> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>Changed Connection Profiles</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="523" /> + <source>No error.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>The list of connection profiles has unsaved changes.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="527" /> + <source>Out of memory.</source> + <translation type="unfinished" /> </message> -</context> -<context> - <name>MqttErrorMessage</name> <message> - <location filename="../MqttClient.py" line="507"/> - <source>No error.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="531" /> + <source>A network protocol error occurred when communicating with the broker.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="536" /> + <source>Invalid function arguments provided.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="511"/> - <source>Out of memory.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="540" /> + <source>The client is not currently connected.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="515"/> - <source>A network protocol error occurred when communicating with the broker.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="544" /> + <source>The connection was refused.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="520"/> - <source>Invalid function arguments provided.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="548" /> + <source>Message not found (internal error).</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttClient.py" line="552" /> + <source>The connection was lost.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="524"/> - <source>The client is not currently connected.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="556" /> + <source>A TLS error occurred.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="528"/> - <source>The connection was refused.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="560" /> + <source>Payload too large.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="532"/> - <source>Message not found (internal error).</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="564" /> + <source>This feature is not supported.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="536"/> - <source>The connection was lost.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="568" /> + <source>Authorisation failed.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="540"/> - <source>A TLS error occurred.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="572" /> + <source>Access denied by ACL.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="544"/> - <source>Payload too large.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttClient.py" line="548"/> - <source>This feature is not supported.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttClient.py" line="552"/> - <source>Authorisation failed.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="588" /> + <location filename="../MqttClient.py" line="576" /> + <source>Unknown error.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="556"/> - <source>Access denied by ACL.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="580" /> + <source>Error defined by errno.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="568"/> - <source>Unknown error.</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="584" /> + <source>Message queue full.</source> + <translation type="unfinished" /> </message> - <message> - <location filename="../MqttClient.py" line="564"/> - <source>Error defined by errno.</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> + </context> + <context> <name>MqttLogLevelString</name> <message> - <location filename="../MqttClient.py" line="607"/> - <source>Unknown</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="627" /> + <location filename="../MqttClient.py" line="609" /> + <source>Unknown</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="594"/> - <source>Info</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="614" /> + <source>Info</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="596"/> - <source>Notice</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="616" /> + <source>Notice</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="598"/> - <source>Warning</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="618" /> + <source>Warning</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="600"/> - <source>Error</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="620" /> + <source>Error</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="602"/> - <source>Debug</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="622" /> + <source>Debug</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttClient.py" line="604"/> - <source>Logging Disabled</source> - <translation type="unfinished"></translation> + <location filename="../MqttClient.py" line="624" /> + <source>Logging Disabled</source> + <translation type="unfinished" /> </message> -</context> -<context> + </context> + <context> <name>MqttMonitorPlugin</name> <message> - <location filename="../../PluginMqttMonitor.py" line="64"/> - <source>MQTT</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="58" /> + <source>(package not available)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="65"/> - <source>paho-mqtt</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="63" /> + <source>MQTT</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="123"/> - <source>The 'paho-mqtt' package is not available.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="64" /> + <source>paho-mqtt</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../../PluginMqttMonitor.py" line="122" /> + <source>The 'paho-mqtt' package is not available.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>MQTT Monitor</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="139" /> + <location filename="../../PluginMqttMonitor.py" line="136" /> + <source>MQTT Monitor</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>M&QTT Monitor</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="140" /> + <source>M&QTT Monitor</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>Alt+Shift+Q</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="141" /> + <source>Alt+Shift+Q</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="154"/> - <source>Switch the input focus to the MQTT Monitor window.</source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="144" /> + <source>Switch the input focus to the MQTT Monitor window.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="156"/> - <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> - <translation type="unfinished"></translation> + <location filename="../../PluginMqttMonitor.py" line="146" /> + <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> + <translation type="unfinished" /> + </message> + </context> + <context> + <name>MqttMonitorWidget</name> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>MQTT Monitor</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="59"/> - <source>(package not available)</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Broker</source> + <translation type="unfinished" /> </message> -</context> -<context> - <name>MqttMonitorWidget</name> <message> - <location filename="../MqttMonitorWidget.ui" line="28"/> - <source><b>MQTT Monitor</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to switch the mode between profiles and direct connection</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="40"/> - <source>Broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the profile to be used to connect to the broker</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the host name of the broker</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="92"/> - <source>Enter the host name of the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the broker port to connect to</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="127"/> - <source>Press to connect to/disconnect from the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to open a dialog to enter connection options</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="102"/> - <source>Enter the broker port to connect to</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to connect to/disconnect from the broker</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Pub/Sub</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="120"/> - <source>Press to open a dialog to enter connection options</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="765" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="151"/> - <source>Pub/Sub</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Topic:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="766"/> - <source>Subscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="260"/> - <source>Topic:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>QoS:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="173"/> - <source>Enter the topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="283"/> - <source>QoS:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to subscribe to the given topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="290"/> - <source>Enter the desired QoS value</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="761" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Unsubscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="200"/> - <source>Press to subscribe to the given topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the topic to unsubscribe</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="762"/> - <source>Unsubscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to unsubscribe the selected topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="232"/> - <source>Select the topic to unsubscribe</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Publish</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="239"/> - <source>Press to unsubscribe the selected topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic to publish to</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="383"/> - <source>Publish</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to retain the published message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="273"/> - <source>Enter the topic to publish to</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retain</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="303"/> - <source>Select to retain the published message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the string data to be sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="306"/> - <source>Retain</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Payload File:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="321"/> - <source>Enter the string data to be sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the full path to a file containing the message payload</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="360"/> - <source>Press to clear the publish data</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the publish data</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1355"/> - <source>Clear</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="419"/> - <source>Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to clear the publish data after the message was published</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="505"/> - <source>Status</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear when sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="767"/> - <source>Press to activate the status display</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="561"/> - <source><b>Broker</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received messages to a file</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="583"/> - <source>Version</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Save</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1052"/> - <source>-</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="603"/> - <source>Timestamp</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="623"/> - <source>Uptime</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="643"/> - <source>Subscriptions</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Status</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="665"/> - <source><b>Clients</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="767" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to activate the status display</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="687"/> - <source>Connected</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Broker</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="707"/> - <source>Disconnected</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="727"/> - <source>Expired</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Version</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="747"/> - <source>Maximum</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="767"/> - <source>Total</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="789"/> - <source><b>Messages</b></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="935"/> - <source>Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Timestamp</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="955"/> - <source>Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Uptime</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="851"/> - <source>Stored</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscriptions</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="871"/> - <source>Inflight</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Clients</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="891"/> - <source>Retained</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connected</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="913"/> - <source><b>PUBLISH Messages</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Disconnected</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="975"/> - <source>Dropped</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Expired</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="997"/> - <source><b>Traffic</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Maximum</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1083"/> - <source>Bytes Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Total</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1103"/> - <source>Bytes Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Messages</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1061"/> - <source><b>Load</b></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1256"/> - <source>- / - / -</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1123"/> - <source>Messages Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Stored</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1143"/> - <source>Messages Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Inflight</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1163"/> - <source>PUBLISH Sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retained</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1183"/> - <source>PUBLISH Received</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>PUBLISH Messages</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1203"/> - <source>PUBLISH Dropped</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Dropped</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Traffic</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1223"/> - <source>Connections</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1243"/> - <source>Sockets</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="262"/> - <source>Connection to Broker shut down cleanly.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscribe to Topic</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Load</b></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> - <translation type="unfinished"></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 type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="763"/> - <source>Press to deactivate the status display</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="46"/> - <source>Press to switch the mode between profiles and direct connection</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="64"/> - <source>Select the profile to be used to connect to the broker</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="392"/> - <source>Select to clear the publish data after the message was published</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Sent</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="395"/> - <source>Clear when sent</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Received</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="479"/> - <source>Press to clear the list of received messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Dropped</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1268"/> - <source>Log</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connections</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1276"/> - <source>Max. Log Level:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sockets</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1289"/> - <source>Select the maximum log level to show</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Log</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1352"/> - <source>Press to clear the list of received log messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Max. Log Level:</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="243"/> - <source>Connection timed out</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the maximum log level to show</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="317"/> - <source>{0}: {1}</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received log messages to a file</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received log messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="1059"/> - <source>Connecting to {0}:{1} ...</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received log message</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="333"/> - <source>Payload File:</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received log messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="349"/> - <source>Enter the full path to a file containing the message payload</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="68" /> + <source>All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="453"/> - <source>Press to save the received messages to a file</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="249" /> + <source>Connection timed out</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1329"/> - <source>Save</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="268" /> + <source>Connection to Broker shut down cleanly.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="491"/> - <source>Select to scroll to the most recently received message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="321" /> + <source>{0}: {1}</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="494"/> - <source>Follow received messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="516" /> + <source>Subscribe to Topic</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1326"/> - <source>Press to save the received log messages to a file</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="517" /> + <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1364"/> - <source>Select to scroll to the most recently received log message</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="574" /> + <source>Read Payload from File</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../MqttMonitorWidget.py" line="575" /> + <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1367"/> - <source>Follow received log messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="686" /> + <location filename="../MqttMonitorWidget.py" line="672" /> + <location filename="../MqttMonitorWidget.py" line="654" /> + <source>Save Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="65"/> - <source>All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source>Read Payload from File</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="656" /> + <source>Messages Files (*.txt);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="729" /> + <location filename="../MqttMonitorWidget.py" line="673" /> + <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="684"/> - <source>Save Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="743" /> + <location filename="../MqttMonitorWidget.py" line="687" /> + <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="651"/> - <source>Messages Files (*.txt);;All Files (*)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="726"/> - <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="742" /> + <location filename="../MqttMonitorWidget.py" line="728" /> + <location filename="../MqttMonitorWidget.py" line="710" /> + <source>Save Log Messages</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="712" /> + <source>Log Files (*.log);;All Files (*)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source>Save Log Messages</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="763" /> + <source>Press to deactivate the status display</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="708"/> - <source>Log Files (*.log);;All Files (*)</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="895" /> + <source>QoS: {0} +</source> + <translation type="unfinished" /> </message> <message> - <location filename="../MqttMonitorWidget.py" line="902"/> - <source>QoS: {0} -</source> - <translation type="unfinished"></translation> + <location filename="../MqttMonitorWidget.py" line="1048" /> + <location filename="../MqttMonitorWidget.py" line="1022" /> + <source>Connecting to {0}:{1} ...</source> + <translation type="unfinished" /> </message> -</context> + </context> </TS>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_es.ts --- a/MqttMonitor/i18n/mqttmonitor_es.ts Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/i18n/mqttmonitor_es.ts Sun May 30 18:21:40 2021 +0200 @@ -1,1176 +1,1247 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="es_ES" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="es_ES" sourcelanguage=""> + <context> <name>MqttConnackMessage</name> <message> - <location filename="../MqttClient.py" line="467"/> - <source>Connection Accepted.</source> - <translation>Conexión Aceptada.</translation> + <location filename="../MqttClient.py" line="483" /> + <source>Connection Accepted.</source> + <translation>Conexión Aceptada.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="487" /> + <source>Connection Refused: unacceptable protocol version.</source> + <translation>Conexión Rechazada: versión de protocolo no aceptable.</translation> </message> <message> - <location filename="../MqttClient.py" line="471"/> - <source>Connection Refused: unacceptable protocol version.</source> - <translation>Conexión Rechazada: versión de protocolo no aceptable.</translation> + <location filename="../MqttClient.py" line="491" /> + <source>Connection Refused: identifier rejected.</source> + <translation>Conexión Rechazada: identificador rechazado.</translation> </message> <message> - <location filename="../MqttClient.py" line="475"/> - <source>Connection Refused: identifier rejected.</source> - <translation>Conexión Rechazada: identificador rechazado.</translation> + <location filename="../MqttClient.py" line="495" /> + <source>Connection Refused: broker unavailable.</source> + <translation>Conexión Rechazada: broker no disponible.</translation> </message> <message> - <location filename="../MqttClient.py" line="479"/> - <source>Connection Refused: broker unavailable.</source> - <translation>Conexión Rechazada: broker no disponible.</translation> + <location filename="../MqttClient.py" line="499" /> + <source>Connection Refused: bad user name or password.</source> + <translation>Conexión Rechazada: nombre de usuario o contraseña no válidos.</translation> </message> <message> - <location filename="../MqttClient.py" line="483"/> - <source>Connection Refused: bad user name or password.</source> - <translation>Conexión Rechazada: nombre de usuario o contraseña no válidos.</translation> + <location filename="../MqttClient.py" line="503" /> + <source>Connection Refused: not authorised.</source> + <translation>Conexión Rechazada: no autorizado.</translation> </message> <message> - <location filename="../MqttClient.py" line="487"/> - <source>Connection Refused: not authorised.</source> - <translation>Conexión Rechazada: no autorizado.</translation> + <location filename="../MqttClient.py" line="507" /> + <source>Connection Refused: unknown reason.</source> + <translation>Conexión Rechazada: razón desconocida.</translation> + </message> + </context> + <context> + <name>MqttConnectionOptionsDialog</name> + <message> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>MQTT Connection Options</source> + <translation>Opciones de Conexión MQTT</translation> </message> <message> - <location filename="../MqttClient.py" line="491"/> - <source>Connection Refused: unknown reason.</source> - <translation>Conexión Rechazada: razón desconocida.</translation> - </message> -</context> -<context> - <name>MqttConnectionOptionsDialog</name> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="14"/> - <source>MQTT Connection Options</source> - <translation>Opciones de Conexión MQTT</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>General</source> + <translation>General</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="23"/> - <source>General</source> - <translation>General</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Client ID:</source> + <translation>ID de Cliente:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="29"/> - <source>Client ID:</source> - <translation>ID de Cliente:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation>Introducir la cadena de ID para este cliente</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="36"/> - <source>Enter the ID string for this client</source> - <translation>Introducir la cadena de ID para este cliente</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation>Pulsar para generar un ID de cliente</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="43"/> - <source>Press to generate a client ID</source> - <translation>Pulsar para generar un ID de cliente</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Generate</source> + <translation>Generar</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="46"/> - <source>Generate</source> - <translation>Generar</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Timeout para la Conexión:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="99"/> - <source>Keep Alive Interval:</source> - <translation>Intervalo Keep Alive:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation>Introducir en segundos el tiempo máximo para intentar la conexión</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="108"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Introducir el intervalo keep alive en segundos</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source> s</source> + <translation> s</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="114"/> - <source> s</source> - <translation> s</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation>Intervalo Keep Alive:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="148"/> - <source>Clean Session</source> - <translation>Sesión Limpia</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation>Introducir el intervalo keep alive en segundos</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="158"/> - <source>User Credentials</source> - <translation>Credenciales de Usuario</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation>Seleccionar para empezar con una sesión limpia</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="164"/> - <source>User Name:</source> - <translation>Nombre de Usuario:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Sesión Limpia</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="171"/> - <source>Enter the user name</source> - <translation>Introducir nombre de usuario</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Credenciales de Usuario</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="178"/> - <source>Password:</source> - <translation>Contraseña:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Nombre de Usuario:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="185"/> - <source>Enter the password</source> - <translation>Introducir contraseña</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Introducir nombre de usuario</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="198"/> - <source>Last Will and Testament</source> - <translation>Last Will and Testament</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Password:</source> + <translation>Contraseña:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="204"/> - <source>Enter the topic of the last will</source> - <translation>Introducir el tema de 'last will'</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Introducir contraseña</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="211"/> - <source>QoS:</source> - <translation>QoS:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Last Will and Testament</source> + <translation>Last Will and Testament</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="218"/> - <source>Enter the desired QoS value</source> - <translation>Introducir el valor deseado de QoS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation>Introducir el tema de 'last will'</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="231"/> - <source>Select to retain the last will message</source> - <translation>Seleccionar para retener el último 'will message'</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>QoS:</source> + <translation>QoS:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="234"/> - <source>Retain</source> - <translation>Retener</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Introducir el valor deseado de QoS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="247"/> - <source>Enter the last will message to be sent</source> - <translation>Introducir el último 'last will message' a enviar</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation>Seleccionar para retener el último 'will message'</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="53"/> - <source>Connection Timeout:</source> - <translation>Timeout para la Conexión:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Retain</source> + <translation>Retener</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="62"/> - <source>Enter the connection timeout in seconds</source> - <translation>Introducir en segundos el tiempo máximo para intentar la conexión</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation>Introducir el último 'last will message' a enviar</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="145"/> - <source>Select to start with a clean session</source> - <translation>Seleccionar para empezar con una sesión limpia</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="257"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Seleccionar para habilitar conexiones SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="263"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Seleccionar para habilitar conexiones SSL/TLS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS Enabled</source> + <translation>SSL/TLS Habilitado</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="266"/> - <source>SSL/TLS Enabled</source> - <translation>SSL/TLS Habilitado</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>CA File:</source> + <translation>Archivo CA:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="273"/> - <source>CA File:</source> - <translation>Archivo CA:</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>Introducir la ruta completa al archivo de certificado CA; dejar en blanco para utilizar el valor por defecto de la plataforma</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="292"/> - <source>Enter the full path to the CA certificate file; leave empty to use platform default</source> - <translation>Introducir la ruta completa al archivo de certificado CA; dejar en blanco para utilizar el valor por defecto de la plataforma</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="47" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Archivos de Certificado (*.crt *.pem);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="46"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Archivos de Certificado (*.crt *.pem);;Todos los Archivos (*)</translation> - </message> - <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>Invalid Connection Parameters</source> - <translation>Parámetros de Conexión No Válidos</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="64" /> + <source>Invalid Connection Parameters</source> + <translation>Parámetros de Conexión No Válidos</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>An empty Client ID requires a clean session.</source> - <translation>Un ID de Cliente vacío requiere una sesión limpia.</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="65" /> + <source>An empty Client ID requires a clean session.</source> + <translation>Un ID de Cliente vacío requiere una sesión limpia.</translation> </message> -</context> -<context> + </context> + <context> <name>MqttConnectionProfilesDialog</name> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="14"/> - <source>MQTT Connection Profiles</source> - <translation>Perfiles de Conexión MQTT</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="70" /> + <location filename="../MqttConnectionProfilesDialog.py" line="66" /> + <location filename="../MqttConnectionProfilesDialog.py" line="62" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Archivos de Certificado (*.crt *.pem);;Todos los Archivos (*)</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="74" /> + <source>Key Files (*.key *.pem);;All Files (*)</source> + <translation>Archivos de Clave (*.key *.pem);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="51"/> - <source>Press to add a new profile</source> - <translation>Pulsar para añadir un nuevo perfil</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="708" /> + <location filename="../MqttConnectionProfilesDialog.py" line="672" /> + <location filename="../MqttConnectionProfilesDialog.py" line="143" /> + <source>Changed Connection Profile</source> + <translation>Perfil de Conexión Cambiado</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="58"/> - <source>Press to copy the selected profile</source> - <translation>Pulsar para copiar el perfil seleccionado</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="65"/> - <source>Press to delete the selected profile</source> - <translation>Pulsar para borrar el perfil seleccionado</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="709" /> + <location filename="../MqttConnectionProfilesDialog.py" line="673" /> + <location filename="../MqttConnectionProfilesDialog.py" line="144" /> + <source>The current profile has unsaved changes. Shall these be saved?</source> + <translation>El perfil actual tiene cambios sin guardar. ¿Desea guardarlos?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="99"/> - <source>Profile Name:</source> - <translation>Nombre de Perfil:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="171" /> + <location filename="../MqttConnectionProfilesDialog.py" line="164" /> + <source>New Connection Profile</source> + <translation>Nuevo Perfil de Conexión</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="165" /> + <source>Enter name for the new Connection Profile:</source> + <translation>ntroducir nombre para el nuevo Perfil de Conexión:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="120"/> - <source>Broker Address:</source> - <translation>Dirección del Broker:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="199" /> + <location filename="../MqttConnectionProfilesDialog.py" line="172" /> + <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> + <translation><p>Una conexión llamada <b>{0}</b> ya existe. Abortando...</p></translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="127"/> - <source>Enter the broker server address</source> - <translation>Introducir la dirección del servidor broker</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="134"/> - <source>Broker Port:</source> - <translation>Puerto del Broker:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="198" /> + <location filename="../MqttConnectionProfilesDialog.py" line="191" /> + <source>Copy Connection Profile</source> + <translation>Copiar Perfil de Conexión</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="143"/> - <source>Enter the broker port number (default 1883)</source> - <translation>Introducir el número de puerto de broker (por defecto 1883)</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="192" /> + <source>Enter name for the copied Connection Profile:</source> + <translation>Introducir nombre para el Perfil de Conexión copiado:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="174"/> - <source>Client ID:</source> - <translation>ID de Cliente:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="222" /> + <source>Delete Connection Profile</source> + <translation>Borrar Perfil de Conexión</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="183"/> - <source>Enter the ID string for this client</source> - <translation>Introducir la cadena de ID para este cliente</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="223" /> + <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> + <translation><p>¿Realmente desea eliminar el Perfil de Conexión <b>{0}</b>?</p></translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="493" /> + <source>Invalid Connection Parameters</source> + <translation>Parámetros de Conexión No Válidos</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="190"/> - <source>Press to generate a client ID</source> - <translation>Pulsar para generar un ID de cliente</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="494" /> + <source>An empty Client ID requires a clean session.</source> + <translation>Un ID de Cliente vacío requiere una sesión limpia.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="193"/> - <source>Generate</source> - <translation>Generar</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.py" line="604" /> + <source>SSL/TLS Enabled</source> + <translation>SSL/TLS Habilitado</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="215"/> - <source>General</source> - <translation>General</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="605" /> + <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>Se ha habilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="221"/> - <source>Connection Timeout:</source> - <translation>Timeout para la Conexión:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="618" /> + <source>SSL/TLS Disabled</source> + <translation>SSL/TLS Deshabilitado</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="230"/> - <source>Enter the connection timeout in seconds</source> - <translation>Introducir en segundos el tiempo máximo para intentar la conexión</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="619" /> + <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>Se ha deshabilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="282"/> - <source> s</source> - <translation> s</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="685" /> + <source>Changed Connection Profiles</source> + <translation>Perfiles de Conexión Cambiados</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="267"/> - <source>Keep Alive Interval:</source> - <translation>Intervalo Keep Alive:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="686" /> + <source>The list of connection profiles has unsaved changes.</source> + <translation>La lista de perfiles de conexión tienen cambios sin guardar.</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>MQTT Connection Profiles</source> + <translation>Perfiles de Conexión MQTT</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="276"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Introducir el intervalo keep alive en segundos</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to add a new profile</source> + <translation>Pulsar para añadir un nuevo perfil</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="313"/> - <source>Select to start with a clean session</source> - <translation>Seleccionar para empezar con una sesión limpia</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to copy the selected profile</source> + <translation>Pulsar para copiar el perfil seleccionado</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="316"/> - <source>Clean Session</source> - <translation>Sesión Limpia</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to delete the selected profile</source> + <translation>Pulsar para borrar el perfil seleccionado</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="337"/> - <source>User Credentials</source> - <translation>Credenciales de Usuario</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Profile Name:</source> + <translation>Nombre de Perfil:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="343"/> - <source>User Name:</source> - <translation>Nombre de Usuario:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Address:</source> + <translation>Dirección del Broker:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="350"/> - <source>Enter the user name</source> - <translation>Introducir nombre de usuario</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker server address</source> + <translation>Introducir la dirección del servidor broker</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="357"/> - <source>Password:</source> - <translation>Contraseña:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Port:</source> + <translation>Puerto del Broker:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="364"/> - <source>Enter the password</source> - <translation>Introducir contraseña</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the broker port number (default 1883)</source> + <translation>Introducir el número de puerto de broker (por defecto 1883)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="388"/> - <source>Last Will</source> - <translation>Last Will</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client ID:</source> + <translation>ID de Cliente:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="394"/> - <source>Enter the topic of the last will</source> - <translation>Introducir el tema de 'last will'</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the ID string for this client</source> + <translation>Introducir la cadena de ID para este cliente</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="401"/> - <source>Enter the desired QoS value</source> - <translation>Introducir el valor deseado de QoS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to generate a client ID</source> + <translation>Pulsar para generar un ID de cliente</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="414"/> - <source>Select to retain the last will message</source> - <translation>Seleccionar para retener el último 'will message'</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Generate</source> + <translation>Generar</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="417"/> - <source>Retain</source> - <translation>Retener</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>General</source> + <translation>General</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="430"/> - <source>Enter the last will message to be sent</source> - <translation>Introducir el último 'last will message' a enviar</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Timeout para la Conexión:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="438"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation>Introducir en segundos el tiempo máximo para intentar la conexión</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="444"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Seleccionar para habilitar conexiones SSL/TLS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source> s</source> + <translation> s</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <source>SSL/TLS Enabled</source> - <translation>SSL/TLS Habilitado</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation>Intervalo Keep Alive:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="459"/> - <source>Select to use the default certificate file of the client</source> - <translation>Seleccionar para utilizar el archivo de certificado por defecto del cliente</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the keep alive interval in seconds</source> + <translation>Introducir el intervalo keep alive en segundos</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="462"/> - <source>CA signed server certificate</source> - <translation>Certificado CA firmado en el servidor</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to start with a clean session</source> + <translation>Seleccionar para empezar con una sesión limpia</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="472"/> - <source>Select to use a specific certificate file</source> - <translation>Seleccionar para utilizar un archivo de certificado específico</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Sesión Limpia</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="475"/> - <source>CA certificate file</source> - <translation>Archivo de certificado CA</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Credenciales de Usuario</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="586"/> - <source>CA File:</source> - <translation>Archivo CA:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Nombre de Usuario:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="602"/> - <source>Enter the full path to the CA certificate file</source> - <translation>Introducir la ruta completa al archivo de certificado CA</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Introducir nombre de usuario</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="542"/> - <source>Select to use a self signed client certificate</source> - <translation>Seleccionar para utilizar un certificado firmado por el propio cliente</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Password:</source> + <translation>Contraseña:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="545"/> - <source>Self signed certificates</source> - <translation>Certificados auto-firmados</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Introducir contraseña</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="609"/> - <source>Client Certificate File:</source> - <translation>Archivo de certificado de Cliente:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Last Will</source> + <translation>Last Will</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="625"/> - <source>Enter the full path to the client certificate file</source> - <translation>Introducir la ruta completa al archivo de certificado de cliente</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the topic of the last will</source> + <translation>Introducir el tema de 'last will'</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="632"/> - <source>Client Key File:</source> - <translation>Archivo de Clave del Cliente:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Introducir el valor deseado de QoS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="648"/> - <source>Enter the full path to the client key file</source> - <translation>Introducir la ruta completa al archivo de clave del cliente</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to retain the last will message</source> + <translation>Seleccionar para retener el último 'will message'</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Retain</source> + <translation>Retener</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="69"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Archivos de Certificado (*.crt *.pem);;Todos los Archivos (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation>Introducir el último 'last will message' a enviar</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="73"/> - <source>Key Files (*.key *.pem);;All Files (*)</source> - <translation>Archivos de Clave (*.key *.pem);;Todos los Archivos (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>Changed Connection Profile</source> - <translation>Perfil de Conexión Cambiado</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Seleccionar para habilitar conexiones SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>The current profile has unsaved changes. Shall these be saved?</source> - <translation>El perfil actual tiene cambios sin guardar. ¿Desea guardarlos?</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use the default certificate file of the client</source> + <translation>Seleccionar para utilizar el archivo de certificado por defecto del cliente</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="161"/> - <source>New Connection Profile</source> - <translation>Nuevo Perfil de Conexión</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA signed server certificate</source> + <translation>Certificado CA firmado en el servidor</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="154"/> - <source>Enter name for the new Connection Profile:</source> - <translation>ntroducir nombre para el nuevo Perfil de Conexión:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a specific certificate file</source> + <translation>Seleccionar para utilizar un archivo de certificado específico</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> - <translation><p>Una conexión llamada <b>{0}</b> ya existe. Abortando...</p></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA certificate file</source> + <translation>Archivo de certificado CA</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source>Copy Connection Profile</source> - <translation>Copiar Perfil de Conexión</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA File:</source> + <translation>Archivo CA:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="180"/> - <source>Enter name for the copied Connection Profile:</source> - <translation>Introducir nombre para el Perfil de Conexión copiado:</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>Introducir la ruta completa al archivo de certificado CA</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source>Delete Connection Profile</source> - <translation>Borrar Perfil de Conexión</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to use a self signed client certificate</source> + <translation>Seleccionar para utilizar un certificado firmado por el propio cliente</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="210"/> - <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> - <translation><p>¿Realmente desea eliminar el Perfil de Conexión <b>{0}</b>?</p></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Self signed certificates</source> + <translation>Certificados auto-firmados</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>Invalid Connection Parameters</source> - <translation>Parámetros de Conexión No Válidos</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Certificate File:</source> + <translation>Archivo de certificado de Cliente:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>An empty Client ID requires a clean session.</source> - <translation>Un ID de Cliente vacío requiere una sesión limpia.</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client certificate file</source> + <translation>Introducir la ruta completa al archivo de certificado de cliente</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <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>Se ha habilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <source>SSL/TLS Disabled</source> - <translation>SSL/TLS Deshabilitado</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Key File:</source> + <translation>Archivo de Clave del Cliente:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <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>Se ha deshabilitado conexión encriptada utilizando SSL/TLS. Sin embargo, el puerto del broker sigue siendo el puerto por defecto no encriptado (puerto 1883). ¿Desea cambiarlo?</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client key file</source> + <translation>Introducir la ruta completa al archivo de clave del cliente</translation> </message> + </context> + <context> + <name>MqttErrorMessage</name> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>Changed Connection Profiles</source> - <translation>Perfiles de Conexión Cambiados</translation> + <location filename="../MqttClient.py" line="523" /> + <source>No error.</source> + <translation>No error.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>The list of connection profiles has unsaved changes.</source> - <translation>La lista de perfiles de conexión tienen cambios sin guardar.</translation> + <location filename="../MqttClient.py" line="527" /> + <source>Out of memory.</source> + <translation>Out of memory.</translation> </message> -</context> -<context> - <name>MqttErrorMessage</name> <message> - <location filename="../MqttClient.py" line="507"/> - <source>No error.</source> - <translation>No error.</translation> + <location filename="../MqttClient.py" line="531" /> + <source>A network protocol error occurred when communicating with the broker.</source> + <translation>Ha ocurrido un error de protocolo de red con la comunicación con el broker.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="536" /> + <source>Invalid function arguments provided.</source> + <translation>Se han proporcionado argumentos de función no válidos.</translation> </message> <message> - <location filename="../MqttClient.py" line="511"/> - <source>Out of memory.</source> - <translation>Out of memory.</translation> + <location filename="../MqttClient.py" line="540" /> + <source>The client is not currently connected.</source> + <translation>El cliente no está actualmente conectado.</translation> </message> <message> - <location filename="../MqttClient.py" line="515"/> - <source>A network protocol error occurred when communicating with the broker.</source> - <translation>Ha ocurrido un error de protocolo de red con la comunicación con el broker.</translation> + <location filename="../MqttClient.py" line="544" /> + <source>The connection was refused.</source> + <translation>La conexión se ha rechazado.</translation> </message> <message> - <location filename="../MqttClient.py" line="520"/> - <source>Invalid function arguments provided.</source> - <translation>Se han proporcionado argumentos de función no válidos.</translation> + <location filename="../MqttClient.py" line="548" /> + <source>Message not found (internal error).</source> + <translation>Mensaje no encontrado (error interno).</translation> + </message> + <message> + <location filename="../MqttClient.py" line="552" /> + <source>The connection was lost.</source> + <translation>Se ha perdido la conexión.</translation> </message> <message> - <location filename="../MqttClient.py" line="524"/> - <source>The client is not currently connected.</source> - <translation>El cliente no está actualmente conectado.</translation> + <location filename="../MqttClient.py" line="556" /> + <source>A TLS error occurred.</source> + <translation>Ha ocurrido un error de TLS .</translation> </message> <message> - <location filename="../MqttClient.py" line="528"/> - <source>The connection was refused.</source> - <translation>La conexión se ha rechazado.</translation> + <location filename="../MqttClient.py" line="560" /> + <source>Payload too large.</source> + <translation>Carga útil demasiado grande.</translation> </message> <message> - <location filename="../MqttClient.py" line="532"/> - <source>Message not found (internal error).</source> - <translation>Mensaje no encontrado (error interno).</translation> + <location filename="../MqttClient.py" line="564" /> + <source>This feature is not supported.</source> + <translation>Esta característica no está soportada.</translation> </message> <message> - <location filename="../MqttClient.py" line="536"/> - <source>The connection was lost.</source> - <translation>Se ha perdido la conexión.</translation> + <location filename="../MqttClient.py" line="568" /> + <source>Authorisation failed.</source> + <translation>Ha fallado la Autorización.</translation> </message> <message> - <location filename="../MqttClient.py" line="540"/> - <source>A TLS error occurred.</source> - <translation>Ha ocurrido un error de TLS .</translation> + <location filename="../MqttClient.py" line="572" /> + <source>Access denied by ACL.</source> + <translation>Acceso denegado por ACL.</translation> </message> <message> - <location filename="../MqttClient.py" line="544"/> - <source>Payload too large.</source> - <translation>Carga útil demasiado grande.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="548"/> - <source>This feature is not supported.</source> - <translation>Esta característica no está soportada.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="552"/> - <source>Authorisation failed.</source> - <translation>Ha fallado la Autorización.</translation> + <location filename="../MqttClient.py" line="588" /> + <location filename="../MqttClient.py" line="576" /> + <source>Unknown error.</source> + <translation>Error desconocido.</translation> </message> <message> - <location filename="../MqttClient.py" line="556"/> - <source>Access denied by ACL.</source> - <translation>Acceso denegado por ACL.</translation> + <location filename="../MqttClient.py" line="580" /> + <source>Error defined by errno.</source> + <translation>Error definido por errno.</translation> </message> <message> - <location filename="../MqttClient.py" line="568"/> - <source>Unknown error.</source> - <translation>Error desconocido.</translation> + <location filename="../MqttClient.py" line="584" /> + <source>Message queue full.</source> + <translation type="unfinished" /> </message> - <message> - <location filename="../MqttClient.py" line="564"/> - <source>Error defined by errno.</source> - <translation>Error definido por errno.</translation> - </message> -</context> -<context> + </context> + <context> <name>MqttLogLevelString</name> <message> - <location filename="../MqttClient.py" line="607"/> - <source>Unknown</source> - <translation>Desconocido</translation> + <location filename="../MqttClient.py" line="627" /> + <location filename="../MqttClient.py" line="609" /> + <source>Unknown</source> + <translation>Desconocido</translation> </message> <message> - <location filename="../MqttClient.py" line="594"/> - <source>Info</source> - <translation>Info</translation> + <location filename="../MqttClient.py" line="614" /> + <source>Info</source> + <translation>Info</translation> </message> <message> - <location filename="../MqttClient.py" line="596"/> - <source>Notice</source> - <translation>Nota</translation> + <location filename="../MqttClient.py" line="616" /> + <source>Notice</source> + <translation>Nota</translation> </message> <message> - <location filename="../MqttClient.py" line="598"/> - <source>Warning</source> - <translation>Advertencia</translation> + <location filename="../MqttClient.py" line="618" /> + <source>Warning</source> + <translation>Advertencia</translation> </message> <message> - <location filename="../MqttClient.py" line="600"/> - <source>Error</source> - <translation>Error</translation> + <location filename="../MqttClient.py" line="620" /> + <source>Error</source> + <translation>Error</translation> </message> <message> - <location filename="../MqttClient.py" line="602"/> - <source>Debug</source> - <translation>Debug</translation> + <location filename="../MqttClient.py" line="622" /> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <location filename="../MqttClient.py" line="604"/> - <source>Logging Disabled</source> - <translation>Logging Deshabilitado</translation> + <location filename="../MqttClient.py" line="624" /> + <source>Logging Disabled</source> + <translation>Logging Deshabilitado</translation> </message> -</context> -<context> + </context> + <context> <name>MqttMonitorPlugin</name> <message> - <location filename="../../PluginMqttMonitor.py" line="63"/> - <source>package not available</source> - <translation type="obsolete">package no disponible</translation> + <location filename="../../PluginMqttMonitor.py" line="58" /> + <source>(package not available)</source> + <translation type="unfinished" /> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="64"/> - <source>MQTT</source> - <translation>MQTT</translation> + <location filename="../../PluginMqttMonitor.py" line="63" /> + <source>MQTT</source> + <translation>MQTT</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="65"/> - <source>paho-mqtt</source> - <translation>paho-mqtt</translation> + <location filename="../../PluginMqttMonitor.py" line="64" /> + <source>paho-mqtt</source> + <translation>paho-mqtt</translation> + </message> + <message> + <location filename="../../PluginMqttMonitor.py" line="122" /> + <source>The 'paho-mqtt' package is not available.</source> + <translation>El package 'paho-mqtt' no está disponible.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="123"/> - <source>The 'paho-mqtt' package is not available.</source> - <translation>El package 'paho-mqtt' no está disponible.</translation> + <location filename="../../PluginMqttMonitor.py" line="139" /> + <location filename="../../PluginMqttMonitor.py" line="136" /> + <source>MQTT Monitor</source> + <translation>MQTT Monitor</translation> + </message> + <message> + <location filename="../../PluginMqttMonitor.py" line="140" /> + <source>M&QTT Monitor</source> + <translation>M&QTT Monitor</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>MQTT Monitor</source> - <translation>MQTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="141" /> + <source>Alt+Shift+Q</source> + <translation>Alt+Shift+Q</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>M&QTT Monitor</source> - <translation>M&QTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="144" /> + <source>Switch the input focus to the MQTT Monitor window.</source> + <translation>Cambiar el foco de input a la ventana de MQTT Monitor.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>Alt+Shift+Q</source> - <translation>Alt+Shift+Q</translation> + <location filename="../../PluginMqttMonitor.py" line="146" /> + <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> + <translation><b>Activar MQTT Monitor</b><p>Cambia el foco de input a la ventana de MQTT Monitor.</p></translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="154"/> - <source>Switch the input focus to the MQTT Monitor window.</source> - <translation>Cambiar el foco de input a la ventana de MQTT Monitor.</translation> + <source>package not available</source> + <translation type="vanished">package no disponible</translation> </message> - <message> - <location filename="../../PluginMqttMonitor.py" line="156"/> - <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> - <translation><b>Activar MQTT Monitor</b><p>Cambia el foco de input a la ventana de MQTT Monitor.</p></translation> - </message> - <message> - <location filename="../../PluginMqttMonitor.py" line="59"/> - <source>(package not available)</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> + </context> + <context> <name>MqttMonitorWidget</name> <message> - <location filename="../MqttMonitorWidget.ui" line="28"/> - <source><b>MQTT Monitor</b></source> - <translation><b>MQTT Monitor</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>MQTT Monitor</b></source> + <translation><b>MQTT Monitor</b></translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Broker</source> + <translation /> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to switch the mode between profiles and direct connection</source> + <translation>Pulsar para cambiar de modo entre perfiles y conexión directa</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the profile to be used to connect to the broker</source> + <translation>Seleccionar el perfil a utilizar para conectar al broker</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="40"/> - <source>Broker</source> - <translation></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the host name of the broker</source> + <translation>Introducir nombre de host del broker</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the broker port to connect to</source> + <translation>Introducir puerto de broker al que conectarse</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="92"/> - <source>Enter the host name of the broker</source> - <translation>Introducir nombre de host del broker</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to open a dialog to enter connection options</source> + <translation>Pulsar para abrir un diálogo para introducir opciones de conexión</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="127"/> - <source>Press to connect to/disconnect from the broker</source> - <translation>Pulsar para conectar/desconectar del broker</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to connect to/disconnect from the broker</source> + <translation>Pulsar para conectar/desconectar del broker</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Pub/Sub</source> + <translation>Pub/Sub</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="102"/> - <source>Enter the broker port to connect to</source> - <translation>Introducir puerto de broker al que conectarse</translation> + <location filename="../MqttMonitorWidget.py" line="765" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscribe</source> + <translation>Subscribir</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="120"/> - <source>Press to open a dialog to enter connection options</source> - <translation>Pulsar para abrir un diálogo para introducir opciones de conexión</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Topic:</source> + <translation>Tema:</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="151"/> - <source>Pub/Sub</source> - <translation>Pub/Sub</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic</source> + <translation>Introducir el tema</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="766"/> - <source>Subscribe</source> - <translation>Subscribir</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="260"/> - <source>Topic:</source> - <translation>Tema:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Introducir el valor deseado de QoS</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="173"/> - <source>Enter the topic</source> - <translation>Introducir el tema</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to subscribe to the given topic</source> + <translation>Pulsar para subscribir al tópico dado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="283"/> - <source>QoS:</source> - <translation>QoS:</translation> + <location filename="../MqttMonitorWidget.py" line="761" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Unsubscribe</source> + <translation>Retirar subscripción</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="290"/> - <source>Enter the desired QoS value</source> - <translation>Introducir el valor deseado de QoS</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the topic to unsubscribe</source> + <translation>Seleccionar el tema del que retirar subscripción</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="200"/> - <source>Press to subscribe to the given topic</source> - <translation>Pulsar para subscribir al tópico dado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to unsubscribe the selected topic</source> + <translation>Pulsar para retirar subscripción del tema seleccionado</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="762"/> - <source>Unsubscribe</source> - <translation>Retirar subscripción</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Publish</source> + <translation>Publicar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="232"/> - <source>Select the topic to unsubscribe</source> - <translation>Seleccionar el tema del que retirar subscripción</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic to publish to</source> + <translation>Introducir el tema al que publicar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="239"/> - <source>Press to unsubscribe the selected topic</source> - <translation>Pulsar para retirar subscripción del tema seleccionado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to retain the published message</source> + <translation>Seleccionar para retener el mensaje publicado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="383"/> - <source>Publish</source> - <translation>Publicar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retain</source> + <translation>Retener</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="273"/> - <source>Enter the topic to publish to</source> - <translation>Introducir el tema al que publicar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the string data to be sent</source> + <translation>Introducir la cadena de datos a enviar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="303"/> - <source>Select to retain the published message</source> - <translation>Seleccionar para retener el mensaje publicado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Payload File:</source> + <translation>Archivo de Payload:</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="306"/> - <source>Retain</source> - <translation>Retener</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the full path to a file containing the message payload</source> + <translation>Introducir la ruta compleata al archivo que contiene el payload del mensaje</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="321"/> - <source>Enter the string data to be sent</source> - <translation>Introducir la cadena de datos a enviar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the publish data</source> + <translation>Pulsar para limpiar los datos de publicación</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="360"/> - <source>Press to clear the publish data</source> - <translation>Pulsar para limpiar los datos de publicación</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear</source> + <translation>Limpiar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1355"/> - <source>Clear</source> - <translation>Limpiar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to clear the publish data after the message was published</source> + <translation>Seleccionar para limpiar los datos de publicación despues de publicar el mensaje</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="419"/> - <source>Messages</source> - <translation>Mensajes</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear when sent</source> + <translation>Limpiar tras enviar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="505"/> - <source>Status</source> - <translation>Estado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages</source> + <translation>Mensajes</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="767"/> - <source>Press to activate the status display</source> - <translation>Pulsar para activar la visualización de status</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received messages to a file</source> + <translation>Pulsar para guardar los mensajes recibidos en un archivo</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="561"/> - <source><b>Broker</b></source> - <translation><b>Broker</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Save</source> + <translation>Guardar</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="583"/> - <source>Version</source> - <translation>Versión</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="1052"/> - <source>-</source> - <translation>-</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received messages</source> + <translation>Pulsar para limpiar la lista de mensajes recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="603"/> - <source>Timestamp</source> - <translation>Timestamp</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received message</source> + <translation>Seleccionar para desplazar hasta el mensaje recibido más recientemente</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="623"/> - <source>Uptime</source> - <translation>Uptime</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received messages</source> + <translation>Seguir mensajes recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="643"/> - <source>Subscriptions</source> - <translation>Subscripciones</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Status</source> + <translation>Estado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="665"/> - <source><b>Clients</b></source> - <translation><b>Clientes</b></translation> + <location filename="../MqttMonitorWidget.py" line="767" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to activate the status display</source> + <translation>Pulsar para activar la visualización de status</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="687"/> - <source>Connected</source> - <translation>Conectado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Broker</b></source> + <translation><b>Broker</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="707"/> - <source>Disconnected</source> - <translation>Desconectado</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="727"/> - <source>Expired</source> - <translation>Expirado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Version</source> + <translation>Versión</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="747"/> - <source>Maximum</source> - <translation>Máximo</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="../MqttMonitorWidget.ui" line="767"/> - <source>Total</source> - <translation>Total</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="789"/> - <source><b>Messages</b></source> - <translation><b>Messages</b></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="935"/> - <source>Sent</source> - <translation>Enviado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Timestamp</source> + <translation>Timestamp</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="955"/> - <source>Received</source> - <translation>Recibido</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Uptime</source> + <translation>Uptime</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="851"/> - <source>Stored</source> - <translation>Almacenado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscriptions</source> + <translation>Subscripciones</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="871"/> - <source>Inflight</source> - <translation>En vuelo</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Clients</b></source> + <translation><b>Clientes</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="891"/> - <source>Retained</source> - <translation>Retenido</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connected</source> + <translation>Conectado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="913"/> - <source><b>PUBLISH Messages</b></source> - <translation><b>Mensajes PUBLISH</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Disconnected</source> + <translation>Desconectado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="975"/> - <source>Dropped</source> - <translation>Descartado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Expired</source> + <translation>Expirado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="997"/> - <source><b>Traffic</b></source> - <translation><b>Tráfico</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Maximum</source> + <translation>Máximo</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1083"/> - <source>Bytes Sent</source> - <translation>Bytes Enviados</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Total</source> + <translation>Total</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1103"/> - <source>Bytes Received</source> - <translation>Bytes Recibidos</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Messages</b></source> + <translation><b>Messages</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1061"/> - <source><b>Load</b></source> - <translation><b>Carga</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sent</source> + <translation>Enviado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1256"/> - <source>- / - / -</source> - <translation>- / - / -</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Received</source> + <translation>Recibido</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1123"/> - <source>Messages Sent</source> - <translation>Mensajes Enviados</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Stored</source> + <translation>Almacenado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1143"/> - <source>Messages Received</source> - <translation>Mensajes Recibidos</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Inflight</source> + <translation>En vuelo</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1163"/> - <source>PUBLISH Sent</source> - <translation>PUBLISH Enviado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retained</source> + <translation>Retenido</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1183"/> - <source>PUBLISH Received</source> - <translation>PUBLISH Recibido</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>PUBLISH Messages</b></source> + <translation><b>Mensajes PUBLISH</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1203"/> - <source>PUBLISH Dropped</source> - <translation>PUBLISH Descartado</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Dropped</source> + <translation>Descartado</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Traffic</b></source> + <translation><b>Tráfico</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1223"/> - <source>Connections</source> - <translation>Conexiones</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Sent</source> + <translation>Bytes Enviados</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1243"/> - <source>Sockets</source> - <translation>Sockets</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Bytes Received</source> + <translation>Bytes Recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="262"/> - <source>Connection to Broker shut down cleanly.</source> - <translation>Conexión a Broker detenida limpiamente.</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscribe to Topic</source> - <translation>Subscribir a Tema</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Load</b></source> + <translation><b>Carga</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> - <translation>Las subscripciones al tema de Status '$SYS' se deben hacer en la pestaña de 'Status'.</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="../MqttMonitorWidget.py" line="763"/> - <source>Press to deactivate the status display</source> - <translation>Pulsar para activar la visualización de status</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="46"/> - <source>Press to switch the mode between profiles and direct connection</source> - <translation>Pulsar para cambiar de modo entre perfiles y conexión directa</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Sent</source> + <translation>Mensajes Enviados</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="64"/> - <source>Select the profile to be used to connect to the broker</source> - <translation>Seleccionar el perfil a utilizar para conectar al broker</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Received</source> + <translation>Mensajes Recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="392"/> - <source>Select to clear the publish data after the message was published</source> - <translation>Seleccionar para limpiar los datos de publicación despues de publicar el mensaje</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Sent</source> + <translation>PUBLISH Enviado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="395"/> - <source>Clear when sent</source> - <translation>Limpiar tras enviar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Received</source> + <translation>PUBLISH Recibido</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="479"/> - <source>Press to clear the list of received messages</source> - <translation>Pulsar para limpiar la lista de mensajes recibidos</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Dropped</source> + <translation>PUBLISH Descartado</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1268"/> - <source>Log</source> - <translation>Log</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connections</source> + <translation>Conexiones</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1276"/> - <source>Max. Log Level:</source> - <translation>Máx Nivel de Log:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sockets</source> + <translation>Sockets</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1289"/> - <source>Select the maximum log level to show</source> - <translation>Seleccioanr el máximo nivel de log a mostrar</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Log</source> + <translation>Log</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1352"/> - <source>Press to clear the list of received log messages</source> - <translation>Pulsar para limpiar la lista de mensajes de log recibidos</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Max. Log Level:</source> + <translation>Máx Nivel de Log:</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="243"/> - <source>Connection timed out</source> - <translation>Se ha agotado el tiempo de conexión</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the maximum log level to show</source> + <translation>Seleccioanr el máximo nivel de log a mostrar</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="317"/> - <source>{0}: {1}</source> - <translation>{0}: {1}</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received log messages to a file</source> + <translation>Pulsar para guardar los mensajes de log recibidos en un archivo</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received log messages</source> + <translation>Pulsar para limpiar la lista de mensajes de log recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="1059"/> - <source>Connecting to {0}:{1} ...</source> - <translation>Connectando a {0}:{1} ...</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to scroll to the most recently received log message</source> + <translation>Seleccionar para desplazar hasta el mensaje de log recibido más recientemente</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="333"/> - <source>Payload File:</source> - <translation>Archivo de Payload:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received log messages</source> + <translation>Seguir mensajes de log recibidos</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="349"/> - <source>Enter the full path to a file containing the message payload</source> - <translation>Introducir la ruta compleata al archivo que contiene el payload del mensaje</translation> + <location filename="../MqttMonitorWidget.py" line="68" /> + <source>All Files (*)</source> + <translation>Todos los Archivos (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="453"/> - <source>Press to save the received messages to a file</source> - <translation>Pulsar para guardar los mensajes recibidos en un archivo</translation> + <location filename="../MqttMonitorWidget.py" line="249" /> + <source>Connection timed out</source> + <translation>Se ha agotado el tiempo de conexión</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1329"/> - <source>Save</source> - <translation>Guardar</translation> + <location filename="../MqttMonitorWidget.py" line="268" /> + <source>Connection to Broker shut down cleanly.</source> + <translation>Conexión a Broker detenida limpiamente.</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="491"/> - <source>Select to scroll to the most recently received message</source> - <translation>Seleccionar para desplazar hasta el mensaje recibido más recientemente</translation> + <location filename="../MqttMonitorWidget.py" line="321" /> + <source>{0}: {1}</source> + <translation>{0}: {1}</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="494"/> - <source>Follow received messages</source> - <translation>Seguir mensajes recibidos</translation> + <location filename="../MqttMonitorWidget.py" line="516" /> + <source>Subscribe to Topic</source> + <translation>Subscribir a Tema</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1326"/> - <source>Press to save the received log messages to a file</source> - <translation>Pulsar para guardar los mensajes de log recibidos en un archivo</translation> + <location filename="../MqttMonitorWidget.py" line="517" /> + <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> + <translation>Las subscripciones al tema de Status '$SYS' se deben hacer en la pestaña de 'Status'.</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1364"/> - <source>Select to scroll to the most recently received log message</source> - <translation>Seleccionar para desplazar hasta el mensaje de log recibido más recientemente</translation> + <location filename="../MqttMonitorWidget.py" line="574" /> + <source>Read Payload from File</source> + <translation>Leer Payload desde Archivo</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.py" line="575" /> + <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> + <translation><p>El archivo <b>{0}</b> no se ha podido leer. Abortando...</p><p>Razón: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1367"/> - <source>Follow received log messages</source> - <translation>Seguir mensajes de log recibidos</translation> + <location filename="../MqttMonitorWidget.py" line="686" /> + <location filename="../MqttMonitorWidget.py" line="672" /> + <location filename="../MqttMonitorWidget.py" line="654" /> + <source>Save Messages</source> + <translation>Guardar Mensajes</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="65"/> - <source>All Files (*)</source> - <translation>Todos los Archivos (*)</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source>Read Payload from File</source> - <translation>Leer Payload desde Archivo</translation> + <location filename="../MqttMonitorWidget.py" line="656" /> + <source>Messages Files (*.txt);;All Files (*)</source> + <translation>Archivos de Mensaje (*.txt);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> - <translation><p>El archivo <b>{0}</b> no se ha podido leer. Abortando...</p><p>Razón: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="729" /> + <location filename="../MqttMonitorWidget.py" line="673" /> + <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> + <translation><p>El archivo <b>{0}</b> ya existe. ¿Sobreescribirlo?</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="684"/> - <source>Save Messages</source> - <translation>Guardar Mensajes</translation> + <location filename="../MqttMonitorWidget.py" line="743" /> + <location filename="../MqttMonitorWidget.py" line="687" /> + <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> + <translation><p>El archivo <b>{0}</b> no se ha podido guardar.</p><p>Razón: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="651"/> - <source>Messages Files (*.txt);;All Files (*)</source> - <translation>Archivos de Mensaje (*.txt);;Todos los Archivos (*)</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="726"/> - <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> - <translation><p>El archivo <b>{0}</b> ya existe. ¿Sobreescribirlo?</p></translation> + <location filename="../MqttMonitorWidget.py" line="742" /> + <location filename="../MqttMonitorWidget.py" line="728" /> + <location filename="../MqttMonitorWidget.py" line="710" /> + <source>Save Log Messages</source> + <translation>Guardar Mensajes de Log</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> - <translation><p>El archivo <b>{0}</b> no se ha podido guardar.</p><p>Razón: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="712" /> + <source>Log Files (*.log);;All Files (*)</source> + <translation>Archivos de Log (*.log);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source>Save Log Messages</source> - <translation>Guardar Mensajes de Log</translation> + <location filename="../MqttMonitorWidget.py" line="763" /> + <source>Press to deactivate the status display</source> + <translation>Pulsar para activar la visualización de status</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="708"/> - <source>Log Files (*.log);;All Files (*)</source> - <translation>Archivos de Log (*.log);;Todos los Archivos (*)</translation> + <location filename="../MqttMonitorWidget.py" line="895" /> + <source>QoS: {0} +</source> + <translation>QoS: {0} +</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="902"/> - <source>QoS: {0} -</source> - <translation>QoS: {0} -</translation> + <location filename="../MqttMonitorWidget.py" line="1048" /> + <location filename="../MqttMonitorWidget.py" line="1022" /> + <source>Connecting to {0}:{1} ...</source> + <translation>Connectando a {0}:{1} ...</translation> </message> -</context> + </context> </TS>
diff -r 3cb08e5db764 -r 2fb5c08019fd MqttMonitor/i18n/mqttmonitor_ru.ts --- a/MqttMonitor/i18n/mqttmonitor_ru.ts Sun May 30 17:40:40 2021 +0200 +++ b/MqttMonitor/i18n/mqttmonitor_ru.ts Sun May 30 18:21:40 2021 +0200 @@ -1,1171 +1,1243 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="ru_RU" sourcelanguage=""> -<context> +<!DOCTYPE TS> +<TS version="2.0" language="ru_RU" sourcelanguage=""> + <context> <name>MqttConnackMessage</name> <message> - <location filename="../MqttClient.py" line="467"/> - <source>Connection Accepted.</source> - <translation>Соединение установлено.</translation> + <location filename="../MqttClient.py" line="483" /> + <source>Connection Accepted.</source> + <translation>Соединение установлено.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="487" /> + <source>Connection Refused: unacceptable protocol version.</source> + <translation>Соединение отклонено: неприемлемая версия протокола.</translation> </message> <message> - <location filename="../MqttClient.py" line="471"/> - <source>Connection Refused: unacceptable protocol version.</source> - <translation>Соединение отклонено: неприемлемая версия протокола.</translation> + <location filename="../MqttClient.py" line="491" /> + <source>Connection Refused: identifier rejected.</source> + <translation>Соединение отклонено: идентификатор отклонен.</translation> </message> <message> - <location filename="../MqttClient.py" line="475"/> - <source>Connection Refused: identifier rejected.</source> - <translation>Соединение отклонено: идентификатор отклонен.</translation> + <location filename="../MqttClient.py" line="495" /> + <source>Connection Refused: broker unavailable.</source> + <translation>Соединение отклонено: брокер недоступен.</translation> </message> <message> - <location filename="../MqttClient.py" line="479"/> - <source>Connection Refused: broker unavailable.</source> - <translation>Соединение отклонено: брокер недоступен.</translation> + <location filename="../MqttClient.py" line="499" /> + <source>Connection Refused: bad user name or password.</source> + <translation>Соединение отклонено: неправильное имя пользователя или пароль.</translation> </message> <message> - <location filename="../MqttClient.py" line="483"/> - <source>Connection Refused: bad user name or password.</source> - <translation>Соединение отклонено: неправильное имя пользователя или пароль.</translation> + <location filename="../MqttClient.py" line="503" /> + <source>Connection Refused: not authorised.</source> + <translation>Соединение отклонено: нет авторизации.</translation> </message> <message> - <location filename="../MqttClient.py" line="487"/> - <source>Connection Refused: not authorised.</source> - <translation>Соединение отклонено: нет авторизации.</translation> + <location filename="../MqttClient.py" line="507" /> + <source>Connection Refused: unknown reason.</source> + <translation>Соединение отклонено: неизвестная причина.</translation> + </message> + </context> + <context> + <name>MqttConnectionOptionsDialog</name> + <message> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>MQTT Connection Options</source> + <translation>Параметры подключения MQTT</translation> </message> <message> - <location filename="../MqttClient.py" line="491"/> - <source>Connection Refused: unknown reason.</source> - <translation>Соединение отклонено: неизвестная причина.</translation> - </message> -</context> -<context> - <name>MqttConnectionOptionsDialog</name> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="14"/> - <source>MQTT Connection Options</source> - <translation>Параметры подключения MQTT</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>General</source> + <translation>Главное</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="23"/> - <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="29"/> - <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="36"/> - <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="43"/> - <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="46"/> - <source>Generate</source> - <translation>Генерировать</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Время ожидания соединения:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="53"/> - <source>Connection Timeout:</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" /> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source> s</source> + <translation> сек</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="62"/> - <source>Enter the connection timeout 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="114"/> - <source> s</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="99"/> - <source>Keep Alive Interval:</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="108"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Задайте интервал удержания, в секундах</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Очищать сеанс</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="145"/> - <source>Select to start with a clean session</source> - <translation>Разрешить начинать чистый сеанс</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Учетные данные пользователя</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="148"/> - <source>Clean Session</source> - <translation>Очищать сеанс</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Имя пользователя:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="158"/> - <source>User Credentials</source> - <translation>Учетные данные пользователя</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Введите имя пользователя</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="164"/> - <source>User Name:</source> - <translation>Имя пользователя:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Password:</source> + <translation>Пароль:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="171"/> - <source>Enter the user name</source> - <translation>Введите имя пользователя</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Введите пароль</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="178"/> - <source>Password:</source> - <translation>Пароль:</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Last Will and Testament</source> + <translation>Последнее желание и завещание</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="185"/> - <source>Enter the password</source> - <translation>Введите пароль</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="198"/> - <source>Last Will and Testament</source> - <translation>Последнее желание и завещание</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>QoS:</source> + <translation>QoS:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="204"/> - <source>Enter the topic of the last will</source> - <translation>Введите тему для сообщения последнего желания</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Enter the desired QoS value</source> + <translation>Задайте желаемое значение уровня обслуживания QoS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="211"/> - <source>QoS:</source> - <translation>QoS:</translation> - </message> - <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="218"/> - <source>Enter the desired QoS value</source> - <translation>Задайте желаемое значение уровня обслуживания QoS</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="231"/> - <source>Select to retain the last will message</source> - <translation>Разрешить удерживать сообщение последнего желания</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Retain</source> + <translation>Удерживать</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="234"/> - <source>Retain</source> - <translation>Удерживать</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="247"/> - <source>Enter the last will message to be sent</source> - <translation>Введите сообщение последнего желания</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="257"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Разрешить SSL/TLS соединения</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="263"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Разрешить SSL/TLS соединения</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>SSL/TLS Enabled</source> + <translation>Разрешить SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="266"/> - <source>SSL/TLS Enabled</source> - <translation>Разрешить SSL/TLS</translation> + <location filename="../MqttConnectionOptionsDialog.ui" line="0" /> + <source>CA File:</source> + <translation>Файл CA:</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.ui" line="273"/> - <source>CA File:</source> - <translation>Файл CA:</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="../MqttConnectionOptionsDialog.ui" line="292"/> - <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.py" line="46"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="47" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>Invalid Connection Parameters</source> - <translation>Недопустимые параметры соединения</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="64" /> + <source>Invalid Connection Parameters</source> + <translation>Недопустимые параметры соединения</translation> </message> <message> - <location filename="../MqttConnectionOptionsDialog.py" line="62"/> - <source>An empty Client ID requires a clean session.</source> - <translation>При незаданном ID клиента требуется чистый сеанс.</translation> + <location filename="../MqttConnectionOptionsDialog.py" line="65" /> + <source>An empty Client ID requires a clean session.</source> + <translation>При незаданном ID клиента требуется чистый сеанс.</translation> </message> -</context> -<context> + </context> + <context> <name>MqttConnectionProfilesDialog</name> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="14"/> - <source>MQTT Connection Profiles</source> - <translation>Профили подключения MQTT</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="70" /> + <location filename="../MqttConnectionProfilesDialog.py" line="66" /> + <location filename="../MqttConnectionProfilesDialog.py" line="62" /> + <source>Certificate Files (*.crt *.pem);;All Files (*)</source> + <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="51"/> - <source>Press to add a new profile</source> - <translation>Добавить новый профиль</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="74" /> + <source>Key Files (*.key *.pem);;All Files (*)</source> + <translation>Файлы ключей (*.key *.pem);;Все файлы (*)</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="58"/> - <source>Press to copy the selected profile</source> - <translation>Копировать выбранный профиль</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="708" /> + <location filename="../MqttConnectionProfilesDialog.py" line="672" /> + <location filename="../MqttConnectionProfilesDialog.py" line="143" /> + <source>Changed Connection Profile</source> + <translation>Измененный профиль соединения</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="65"/> - <source>Press to delete the selected profile</source> - <translation>Удалить выбранный профиль</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="709" /> + <location filename="../MqttConnectionProfilesDialog.py" line="673" /> + <location filename="../MqttConnectionProfilesDialog.py" line="144" /> + <source>The current profile has unsaved changes. Shall these be saved?</source> + <translation>В текущем профиле есть несохраненные изменения. Должны ли они быть сохранены?</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="99"/> - <source>Profile Name:</source> - <translation>Имя профиля:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="171" /> + <location filename="../MqttConnectionProfilesDialog.py" line="164" /> + <source>New Connection Profile</source> + <translation>Новый профиль соединения</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="120"/> - <source>Broker Address:</source> - <translation>Адрес брокера:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="165" /> + <source>Enter name for the new Connection Profile:</source> + <translation>Введите имя нового профиля соединения:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="127"/> - <source>Enter the broker server address</source> - <translation>Введите адрес брокер-сервера</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="199" /> + <location filename="../MqttConnectionProfilesDialog.py" line="172" /> + <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> + <translation><p>Уже существует соединение с именем <b>{0}</b>. Прерывание... </ p></translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="134"/> - <source>Broker Port:</source> - <translation>Порт брокера:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="198" /> + <location filename="../MqttConnectionProfilesDialog.py" line="191" /> + <source>Copy Connection Profile</source> + <translation>Копировать профиль соединения</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="143"/> - <source>Enter the broker port number (default 1883)</source> - <translation>Задайте номер порта брокера (по умолчанию 1883)</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="192" /> + <source>Enter name for the copied Connection Profile:</source> + <translation>Введите имя для скопированного профиля соединения:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="174"/> - <source>Client ID:</source> - <translation>ID клиента:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="222" /> + <source>Delete Connection Profile</source> + <translation>Удалить профиль соединения</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="223" /> + <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> + <translation><p>Действительно удалить профиль соединения <b>{0}</b>?</p></translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="183"/> - <source>Enter the ID string for this client</source> - <translation>Введите строку ID для этого клиента</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="493" /> + <source>Invalid Connection Parameters</source> + <translation>Недопустимые параметры соединения</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="190"/> - <source>Press to generate a client ID</source> - <translation>Генерировать ID клиента</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="494" /> + <source>An empty Client ID requires a clean session.</source> + <translation>При незаданном ID клиента требуется чистый сеанс.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="193"/> - <source>Generate</source> - <translation>Генерировать</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.py" line="604" /> + <source>SSL/TLS Enabled</source> + <translation>Разрешить SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="215"/> - <source>General</source> - <translation>Главное</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="605" /> + <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="../MqttConnectionProfilesDialog.ui" line="221"/> - <source>Connection Timeout:</source> - <translation>Время ожидания соединения:</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="618" /> + <source>SSL/TLS Disabled</source> + <translation>SSL/TLS запрещено</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="230"/> - <source>Enter the connection timeout in seconds</source> - <translation>Задайте время ожидания соединения, в секундах</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="619" /> + <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="../MqttConnectionProfilesDialog.ui" line="282"/> - <source> s</source> - <translation> сек</translation> + <location filename="../MqttConnectionProfilesDialog.py" line="685" /> + <source>Changed Connection Profiles</source> + <translation>Измененные профили соединений</translation> + </message> + <message> + <location filename="../MqttConnectionProfilesDialog.py" line="686" /> + <source>The list of connection profiles has unsaved changes.</source> + <translation>В списке профилей соединений имеются несохраненные изменения.</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="267"/> - <source>Keep Alive Interval:</source> - <translation>Интервал удержания:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>MQTT Connection Profiles</source> + <translation>Профили подключения MQTT</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="276"/> - <source>Enter the keep alive interval in seconds</source> - <translation>Задайте интервал удержания, в секундах</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to add a new profile</source> + <translation>Добавить новый профиль</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="313"/> - <source>Select to start with a clean session</source> - <translation>Разрешить начинать чистый сеанс</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to copy the selected profile</source> + <translation>Копировать выбранный профиль</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="316"/> - <source>Clean Session</source> - <translation>Очищать сеанс</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Press to delete the selected profile</source> + <translation>Удалить выбранный профиль</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="337"/> - <source>User Credentials</source> - <translation>Учетные данные пользователя</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Profile Name:</source> + <translation>Имя профиля:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="343"/> - <source>User Name:</source> - <translation>Имя пользователя:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Address:</source> + <translation>Адрес брокера:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="350"/> - <source>Enter the user name</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="357"/> - <source>Password:</source> - <translation>Пароль:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Broker Port:</source> + <translation>Порт брокера:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="364"/> - <source>Enter the password</source> - <translation>Введите пароль</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="388"/> - <source>Last Will</source> - <translation>Последнее желание</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client ID:</source> + <translation>ID клиента:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="394"/> - <source>Enter the topic of the last will</source> - <translation>Введите тему для сообщения последнего желания</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="401"/> - <source>Enter the desired QoS value</source> - <translation>Задайте желаемое значение уровня обслуживания QoS</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="414"/> - <source>Select to retain the last will message</source> - <translation>Разрешить удерживать сообщение последнего желания</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Generate</source> + <translation>Генерировать</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="417"/> - <source>Retain</source> - <translation>Удерживать</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>General</source> + <translation>Главное</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="430"/> - <source>Enter the last will message to be sent</source> - <translation>Введите сообщение последнего желания</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Connection Timeout:</source> + <translation>Время ожидания соединения:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="438"/> - <source>SSL/TLS</source> - <translation>SSL/TLS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the connection timeout in seconds</source> + <translation>Задайте время ожидания соединения, в секундах</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="444"/> - <source>Select to enable SSL/TLS connections</source> - <translation>Разрешить SSL/TLS соединения</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source> s</source> + <translation> сек</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <source>SSL/TLS Enabled</source> - <translation>Разрешить SSL/TLS</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Keep Alive Interval:</source> + <translation>Интервал удержания:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="459"/> - <source>Select to use the default certificate file of the client</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="462"/> - <source>CA signed server certificate</source> - <translation>Сертификат подписываемый сервером CA</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="472"/> - <source>Select to use a specific certificate file</source> - <translation>Разрешить использовать определенный файл сертификата</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Clean Session</source> + <translation>Очищать сеанс</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="475"/> - <source>CA certificate file</source> - <translation>Файл сертификата CA</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Credentials</source> + <translation>Учетные данные пользователя</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="586"/> - <source>CA File:</source> - <translation>Файл CA:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>User Name:</source> + <translation>Имя пользователя:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="602"/> - <source>Enter the full path to the CA certificate file</source> - <translation>Введите полный путь к файлу сертификата CA</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the user name</source> + <translation>Введите имя пользователя</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="542"/> - <source>Select to use a self signed client certificate</source> - <translation>Разрешить использовать самостоятельно подписываемый сертификат клиента</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Password:</source> + <translation>Пароль:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="545"/> - <source>Self signed certificates</source> - <translation>Самостоятельно подписываемые сертификаты</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the password</source> + <translation>Введите пароль</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="609"/> - <source>Client Certificate File:</source> - <translation>Файл сертификата клиента:</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Last Will</source> + <translation>Последнее желание</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="625"/> - <source>Enter the full path to the client certificate file</source> - <translation>Введите полный путь к файлу сертификата клиента</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="632"/> - <source>Client Key File:</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>Select to retain the last will message</source> + <translation>Разрешить удерживать сообщение последнего желания</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.ui" line="648"/> - <source>Enter the full path to the client key file</source> - <translation>Введите полный путь к файлу ключа клиента</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Retain</source> + <translation>Удерживать</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="69"/> - <source>Certificate Files (*.crt *.pem);;All Files (*)</source> - <translation>Файлы сертификатов (*.crt *.pem);;Все файлы (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the last will message to be sent</source> + <translation>Введите сообщение последнего желания</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="73"/> - <source>Key Files (*.key *.pem);;All Files (*)</source> - <translation>Файлы ключей (*.key *.pem);;Все файлы (*)</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>SSL/TLS</source> + <translation>SSL/TLS</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>Changed Connection Profile</source> - <translation>Измененный профиль соединения</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Select to enable SSL/TLS connections</source> + <translation>Разрешить SSL/TLS соединения</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="696"/> - <source>The current profile has unsaved changes. Shall these be saved?</source> - <translation>В текущем профиле есть несохраненные изменения. Должны ли они быть сохранены?</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.py" line="161"/> - <source>New Connection Profile</source> - <translation>Новый профиль соединения</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>CA signed server certificate</source> + <translation>Сертификат подписываемый сервером CA</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="154"/> - <source>Enter name for the new Connection Profile:</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="../MqttConnectionProfilesDialog.py" line="187"/> - <source><p>A connection named <b>{0}</b> exists already. Aborting...</p></source> - <translation><p>Уже существует соединение с именем <b>{0}</b>. Прерывание... </ p></translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="187"/> - <source>Copy Connection Profile</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="../MqttConnectionProfilesDialog.py" line="180"/> - <source>Enter name for the copied Connection Profile:</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="../MqttConnectionProfilesDialog.py" line="210"/> - <source>Delete Connection Profile</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="../MqttConnectionProfilesDialog.py" line="210"/> - <source><p>Shall the Connection Profile <b>{0}</b> really be deleted?</p></source> - <translation><p>Действительно удалить профиль соединения <b>{0}</b>?</p></translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Self signed certificates</source> + <translation>Самостоятельно подписываемые сертификаты</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>Invalid Connection Parameters</source> - <translation>Недопустимые параметры соединения</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Client Certificate File:</source> + <translation>Файл сертификата клиента:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="481"/> - <source>An empty Client ID requires a clean session.</source> - <translation>При незаданном ID клиента требуется чистый сеанс.</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="590"/> - <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>Enter the full path to the client certificate file</source> + <translation>Введите полный путь к файлу сертификата клиента</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <source>SSL/TLS Disabled</source> - <translation>SSL/TLS запрещено</translation> - </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="604"/> - <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>Client Key File:</source> + <translation>Файл ключа клиента:</translation> </message> <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>Changed Connection Profiles</source> - <translation>Измененные профили соединений</translation> + <location filename="../MqttConnectionProfilesDialog.ui" line="0" /> + <source>Enter the full path to the client key file</source> + <translation>Введите полный путь к файлу ключа клиента</translation> </message> - <message> - <location filename="../MqttConnectionProfilesDialog.py" line="672"/> - <source>The list of connection profiles has unsaved changes.</source> - <translation>В списке профилей соединений имеются несохраненные изменения.</translation> - </message> -</context> -<context> + </context> + <context> <name>MqttErrorMessage</name> <message> - <location filename="../MqttClient.py" line="507"/> - <source>No error.</source> - <translation>Нет ошибки.</translation> + <location filename="../MqttClient.py" line="523" /> + <source>No error.</source> + <translation>Нет ошибки.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="527" /> + <source>Out of memory.</source> + <translation>Недостаточно памяти.</translation> </message> <message> - <location filename="../MqttClient.py" line="511"/> - <source>Out of memory.</source> - <translation>Недостаточно памяти.</translation> + <location filename="../MqttClient.py" line="531" /> + <source>A network protocol error occurred when communicating with the broker.</source> + <translation>Во время общения с брокером произошла ошибка сетевого протокола.</translation> </message> <message> - <location filename="../MqttClient.py" line="515"/> - <source>A network protocol error occurred when communicating with the broker.</source> - <translation>Во время общения с брокером произошла ошибка сетевого протокола.</translation> + <location filename="../MqttClient.py" line="536" /> + <source>Invalid function arguments provided.</source> + <translation>Предоставлены недопустимые аргументы функции.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="540" /> + <source>The client is not currently connected.</source> + <translation>В настоящее время клиент не подключен.</translation> </message> <message> - <location filename="../MqttClient.py" line="520"/> - <source>Invalid function arguments provided.</source> - <translation>Предоставлены недопустимые аргументы функции.</translation> + <location filename="../MqttClient.py" line="544" /> + <source>The connection was refused.</source> + <translation>Соединение было отклонено.</translation> </message> <message> - <location filename="../MqttClient.py" line="524"/> - <source>The client is not currently connected.</source> - <translation>В настоящее время клиент не подключен.</translation> + <location filename="../MqttClient.py" line="548" /> + <source>Message not found (internal error).</source> + <translation>Сообщение не найдено (внутренняя ошибка).</translation> + </message> + <message> + <location filename="../MqttClient.py" line="552" /> + <source>The connection was lost.</source> + <translation>Соединение было потеряно.</translation> </message> <message> - <location filename="../MqttClient.py" line="528"/> - <source>The connection was refused.</source> - <translation>Соединение было отклонено.</translation> + <location filename="../MqttClient.py" line="556" /> + <source>A TLS error occurred.</source> + <translation>Произошла ошибка TLS.</translation> </message> <message> - <location filename="../MqttClient.py" line="532"/> - <source>Message not found (internal error).</source> - <translation>Сообщение не найдено (внутренняя ошибка).</translation> + <location filename="../MqttClient.py" line="560" /> + <source>Payload too large.</source> + <translation>Слишком большая полезная нагрузка.</translation> </message> <message> - <location filename="../MqttClient.py" line="536"/> - <source>The connection was lost.</source> - <translation>Соединение было потеряно.</translation> + <location filename="../MqttClient.py" line="564" /> + <source>This feature is not supported.</source> + <translation>Эта функция не поддерживается.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="568" /> + <source>Authorisation failed.</source> + <translation>Ошибка авторизации.</translation> </message> <message> - <location filename="../MqttClient.py" line="540"/> - <source>A TLS error occurred.</source> - <translation>Произошла ошибка TLS.</translation> + <location filename="../MqttClient.py" line="572" /> + <source>Access denied by ACL.</source> + <translation>Отказано в доступе к ACL.</translation> </message> <message> - <location filename="../MqttClient.py" line="544"/> - <source>Payload too large.</source> - <translation>Слишком большая полезная нагрузка.</translation> + <location filename="../MqttClient.py" line="588" /> + <location filename="../MqttClient.py" line="576" /> + <source>Unknown error.</source> + <translation>Неизвестная ошибка.</translation> + </message> + <message> + <location filename="../MqttClient.py" line="580" /> + <source>Error defined by errno.</source> + <translation>Ошибка, определяемая errno.</translation> </message> <message> - <location filename="../MqttClient.py" line="548"/> - <source>This feature is not supported.</source> - <translation>Эта функция не поддерживается.</translation> + <location filename="../MqttClient.py" line="584" /> + <source>Message queue full.</source> + <translation type="unfinished" /> + </message> + </context> + <context> + <name>MqttLogLevelString</name> + <message> + <location filename="../MqttClient.py" line="627" /> + <location filename="../MqttClient.py" line="609" /> + <source>Unknown</source> + <translation>Unknown</translation> </message> <message> - <location filename="../MqttClient.py" line="552"/> - <source>Authorisation failed.</source> - <translation>Ошибка авторизации.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="556"/> - <source>Access denied by ACL.</source> - <translation>Отказано в доступе к ACL.</translation> - </message> - <message> - <location filename="../MqttClient.py" line="568"/> - <source>Unknown error.</source> - <translation>Неизвестная ошибка.</translation> + <location filename="../MqttClient.py" line="614" /> + <source>Info</source> + <translation>Info</translation> </message> <message> - <location filename="../MqttClient.py" line="564"/> - <source>Error defined by errno.</source> - <translation>Ошибка, определяемая errno.</translation> - </message> -</context> -<context> - <name>MqttLogLevelString</name> - <message> - <location filename="../MqttClient.py" line="607"/> - <source>Unknown</source> - <translation>Unknown</translation> + <location filename="../MqttClient.py" line="616" /> + <source>Notice</source> + <translation>Notice</translation> </message> <message> - <location filename="../MqttClient.py" line="594"/> - <source>Info</source> - <translation>Info</translation> + <location filename="../MqttClient.py" line="618" /> + <source>Warning</source> + <translation>Warning</translation> + </message> + <message> + <location filename="../MqttClient.py" line="620" /> + <source>Error</source> + <translation>Error</translation> </message> <message> - <location filename="../MqttClient.py" line="596"/> - <source>Notice</source> - <translation>Notice</translation> + <location filename="../MqttClient.py" line="622" /> + <source>Debug</source> + <translation>Debug</translation> </message> <message> - <location filename="../MqttClient.py" line="598"/> - <source>Warning</source> - <translation>Warning</translation> + <location filename="../MqttClient.py" line="624" /> + <source>Logging Disabled</source> + <translation>Ведение журнала запрещено</translation> + </message> + </context> + <context> + <name>MqttMonitorPlugin</name> + <message> + <location filename="../../PluginMqttMonitor.py" line="58" /> + <source>(package not available)</source> + <translation>(пакет недоступен)</translation> </message> <message> - <location filename="../MqttClient.py" line="600"/> - <source>Error</source> - <translation>Error</translation> - </message> - <message> - <location filename="../MqttClient.py" line="602"/> - <source>Debug</source> - <translation>Debug</translation> + <location filename="../../PluginMqttMonitor.py" line="63" /> + <source>MQTT</source> + <translation>MQTT - клиентская библиотека Python</translation> </message> <message> - <location filename="../MqttClient.py" line="604"/> - <source>Logging Disabled</source> - <translation>Ведение журнала запрещено</translation> + <location filename="../../PluginMqttMonitor.py" line="64" /> + <source>paho-mqtt</source> + <translation>paho-mqtt</translation> </message> -</context> -<context> - <name>MqttMonitorPlugin</name> <message> - <location filename="../../PluginMqttMonitor.py" line="64"/> - <source>MQTT</source> - <translation>MQTT - клиентская библиотека Python</translation> + <location filename="../../PluginMqttMonitor.py" line="122" /> + <source>The 'paho-mqtt' package is not available.</source> + <translation>Пакет 'paho-mqtt' недоступен.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="65"/> - <source>paho-mqtt</source> - <translation>paho-mqtt</translation> + <location filename="../../PluginMqttMonitor.py" line="139" /> + <location filename="../../PluginMqttMonitor.py" line="136" /> + <source>MQTT Monitor</source> + <translation>MQTT Monitor</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="123"/> - <source>The 'paho-mqtt' package is not available.</source> - <translation>Пакет 'paho-mqtt' недоступен.</translation> + <location filename="../../PluginMqttMonitor.py" line="140" /> + <source>M&QTT Monitor</source> + <translation>M&QTT Monitor</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>MQTT Monitor</source> - <translation>MQTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="141" /> + <source>Alt+Shift+Q</source> + <translation>Alt+Shift+Q</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>M&QTT Monitor</source> - <translation>M&QTT Monitor</translation> + <location filename="../../PluginMqttMonitor.py" line="144" /> + <source>Switch the input focus to the MQTT Monitor window.</source> + <translation>Переключить фокус ввода в окно MQTT Monitor.</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="148"/> - <source>Alt+Shift+Q</source> - <translation>Alt+Shift+Q</translation> + <location filename="../../PluginMqttMonitor.py" line="146" /> + <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> + <translation><b>Активировать MQTT Monitor</b><p>Переключение фокуса ввода в окно MQTT Monitor.</p></translation> + </message> + </context> + <context> + <name>MqttMonitorWidget</name> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>MQTT Monitor</b></source> + <translation><b>MQTT Monitor</b></translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="154"/> - <source>Switch the input focus to the MQTT Monitor window.</source> - <translation>Переключить фокус ввода в окно MQTT Monitor.</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Broker</source> + <translation>Брокер</translation> </message> <message> - <location filename="../../PluginMqttMonitor.py" line="156"/> - <source><b>Activate MQTT Monitor</b><p>This switches the input focus to the MQTT Monitor window.</p></source> - <translation><b>Активировать MQTT Monitor</b><p>Переключение фокуса ввода в окно MQTT Monitor.</p></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="../../PluginMqttMonitor.py" line="59"/> - <source>(package not available)</source> - <translation>(пакет недоступен)</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the profile to be used to connect to the broker</source> + <translation>Выберите профиль, который будет использоваться для соединения с брокером</translation> </message> -</context> -<context> - <name>MqttMonitorWidget</name> <message> - <location filename="../MqttMonitorWidget.ui" line="28"/> - <source><b>MQTT Monitor</b></source> - <translation><b>MQTT Monitor</b></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="40"/> - <source>Broker</source> - <translation>Брокер</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the broker port to connect to</source> + <translation>Задайте порт брокера для соединения</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="46"/> - <source>Press to switch the mode between profiles and direct connection</source> - <translation>Переключить режим подключения - профили или прямое соединение</translation> + <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="64"/> - <source>Select the profile to be used to connect to the broker</source> - <translation>Выберите профиль, который будет использоваться для соединения с брокером</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="92"/> - <source>Enter the host name of the broker</source> - <translation>Введите имя хоста брокера</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Pub/Sub</source> + <translation>Подписки/Публикации</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="102"/> - <source>Enter the broker port to connect to</source> - <translation>Задайте порт брокера для соединения</translation> + <location filename="../MqttMonitorWidget.py" line="765" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscribe</source> + <translation>Подписаться</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="120"/> - <source>Press to open a dialog to enter connection options</source> - <translation>Открыть диалог ввода параметров соединения</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="127"/> - <source>Press to connect to/disconnect from the broker</source> - <translation>Подключиться к брокеру/отключиться от брокера</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic</source> + <translation>Введите тему</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="151"/> - <source>Pub/Sub</source> - <translation>Подписки/Публикации</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>QoS:</source> + <translation>QoS:</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="766"/> - <source>Subscribe</source> - <translation>Подписаться</translation> + <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="260"/> - <source>Topic:</source> - <translation>Тема:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to subscribe to the given topic</source> + <translation>Подписаться на данную тему</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="173"/> - <source>Enter the topic</source> - <translation>Введите тему</translation> + <location filename="../MqttMonitorWidget.py" line="761" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Unsubscribe</source> + <translation>Отписаться</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="283"/> - <source>QoS:</source> - <translation>QoS:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the topic to unsubscribe</source> + <translation>Выберите тему для отписки</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="290"/> - <source>Enter the desired QoS value</source> - <translation>Задайте желаемое значение уровня обслуживания QoS</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to unsubscribe the selected topic</source> + <translation>Отписаться от выбранной темы</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="200"/> - <source>Press to subscribe to the given topic</source> - <translation>Подписаться на данную тему</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Publish</source> + <translation>Опубликовать</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="762"/> - <source>Unsubscribe</source> - <translation>Отписаться</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the topic to publish to</source> + <translation>Введите тему для публикации в нее</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="232"/> - <source>Select the topic to unsubscribe</source> - <translation>Выберите тему для отписки</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select to retain the published message</source> + <translation>Разрешить удерживать опубликованное сообщение</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="239"/> - <source>Press to unsubscribe the selected topic</source> - <translation>Отписаться от выбранной темы</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retain</source> + <translation>Удерживать</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="383"/> - <source>Publish</source> - <translation>Опубликовать</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Enter the string data to be sent</source> + <translation>Введите строку данных для отправки</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="273"/> - <source>Enter the topic to publish to</source> - <translation>Введите тему для публикации в нее</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Payload File:</source> + <translation>Файл полезной нагрузки:</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="303"/> - <source>Select to retain the published message</source> - <translation>Разрешить удерживать опубликованное сообщение</translation> + <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="306"/> - <source>Retain</source> - <translation>Удерживать</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the publish data</source> + <translation>Очистить данные публикации</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="321"/> - <source>Enter the string data to be sent</source> - <translation>Введите строку данных для отправки</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear</source> + <translation>Очистить</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="333"/> - <source>Payload File:</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="../MqttMonitorWidget.ui" line="349"/> - <source>Enter the full path to a file containing the message payload</source> - <translation>Введите полный путь к файлу, содержащему полезную нагрузку сообщения</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Clear when sent</source> + <translation>Очищать после отправки</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="360"/> - <source>Press to clear the publish data</source> - <translation>Очистить данные публикации</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages</source> + <translation>Сообщения</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1355"/> - <source>Clear</source> - <translation>Очистить</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to save the received messages to a file</source> + <translation>Сохранить полученные сообщения в файл</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="392"/> - <source>Select to clear the publish data after the message was published</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="395"/> - <source>Clear when sent</source> - <translation>Очищать после отправки</translation> + <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="419"/> - <source>Messages</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="453"/> - <source>Press to save the received messages to a file</source> - <translation>Сохранить полученные сообщения в файл</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received messages</source> + <translation>Следовать за получаемыми сообщениями</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1329"/> - <source>Save</source> - <translation>Сохранить</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Status</source> + <translation>Статус</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="479"/> - <source>Press to clear the list of received messages</source> - <translation>Очистить список полученных сообщений</translation> + <location filename="../MqttMonitorWidget.py" line="767" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to activate the status display</source> + <translation>Активировать отображение статуса</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="491"/> - <source>Select to scroll to the most recently received message</source> - <translation>Разрешить прокручивать список до последнего полученного сообщения</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Broker</b></source> + <translation><b>Брокер</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="494"/> - <source>Follow received messages</source> - <translation>Следовать за получаемыми сообщениями</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Version</source> + <translation>Версия</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="505"/> - <source>Status</source> - <translation>Статус</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="767"/> - <source>Press to activate the status display</source> - <translation>Активировать отображение статуса</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="561"/> - <source><b>Broker</b></source> - <translation><b>Брокер</b></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="583"/> - <source>Version</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" /> + <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="../MqttMonitorWidget.ui" line="1052"/> - <source>-</source> - <translation>-</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Timestamp</source> + <translation>Метки времени</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="603"/> - <source>Timestamp</source> - <translation>Метки времени</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Uptime</source> + <translation>Время работы</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="623"/> - <source>Uptime</source> - <translation>Время работы</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Subscriptions</source> + <translation>Подписки</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="643"/> - <source>Subscriptions</source> - <translation>Подписки</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Clients</b></source> + <translation><b>Клиенты</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="665"/> - <source><b>Clients</b></source> - <translation><b>Клиенты</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connected</source> + <translation>Подключено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="687"/> - <source>Connected</source> - <translation>Подключено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Disconnected</source> + <translation>Отключено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="707"/> - <source>Disconnected</source> - <translation>Отключено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Expired</source> + <translation>Завершено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="727"/> - <source>Expired</source> - <translation>Завершено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Maximum</source> + <translation>Максимум</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="747"/> - <source>Maximum</source> - <translation>Максимум</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Total</source> + <translation>Всего</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="767"/> - <source>Total</source> - <translation>Всего</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Messages</b></source> + <translation><b>Сообщения</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="789"/> - <source><b>Messages</b></source> - <translation><b>Сообщения</b></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="935"/> - <source>Sent</source> - <translation>Отправлено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Received</source> + <translation>Получено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="955"/> - <source>Received</source> - <translation>Получено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Stored</source> + <translation>Сохранено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="851"/> - <source>Stored</source> - <translation>Сохранено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Inflight</source> + <translation>В полете</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="871"/> - <source>Inflight</source> - <translation>В полете</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Retained</source> + <translation>Удержано</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="891"/> - <source>Retained</source> - <translation>Удержано</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>PUBLISH Messages</b></source> + <translation><b>PUBLISH сообщения</b></translation> + </message> + <message> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Dropped</source> + <translation>Сброшено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="913"/> - <source><b>PUBLISH Messages</b></source> - <translation><b>PUBLISH сообщения</b></translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Traffic</b></source> + <translation><b>Трафик</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="975"/> - <source>Dropped</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="997"/> - <source><b>Traffic</b></source> - <translation><b>Трафик</b></translation> + <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="1083"/> - <source>Bytes Sent</source> - <translation>Байт отправлено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source><b>Load</b></source> + <translation><b>Нагрузка</b></translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1103"/> - <source>Bytes Received</source> - <translation>Байт принято</translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="1061"/> - <source><b>Load</b></source> - <translation><b>Нагрузка</b></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.ui" line="1256"/> - <source>- / - / -</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="../MqttMonitorWidget.ui" line="1123"/> - <source>Messages Sent</source> - <translation>Сообщений отправлено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Sent</source> + <translation>Сообщений отправлено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1143"/> - <source>Messages Received</source> - <translation>Сообщений принято</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Messages Received</source> + <translation>Сообщений принято</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1163"/> - <source>PUBLISH Sent</source> - <translation>PUBLISH отправлено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Sent</source> + <translation>PUBLISH отправлено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1183"/> - <source>PUBLISH Received</source> - <translation>PUBLISH принято</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Received</source> + <translation>PUBLISH принято</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1203"/> - <source>PUBLISH Dropped</source> - <translation>PUBLISH сброшено</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>PUBLISH Dropped</source> + <translation>PUBLISH сброшено</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1223"/> - <source>Connections</source> - <translation>Соединения</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Connections</source> + <translation>Соединения</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1243"/> - <source>Sockets</source> - <translation>Сокеты</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Sockets</source> + <translation>Сокеты</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1268"/> - <source>Log</source> - <translation>Журнал</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Log</source> + <translation>Журнал</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1276"/> - <source>Max. Log Level:</source> - <translation>Максимальный уровень журнала:</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Max. Log Level:</source> + <translation>Максимальный уровень журнала:</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1289"/> - <source>Select the maximum log level to show</source> - <translation>Выберите максимальный уровень журнала для показа</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Select the maximum log level to show</source> + <translation>Выберите максимальный уровень журнала для показа</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1326"/> - <source>Press to save the received log messages to a file</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="1352"/> - <source>Press to clear the list of received log messages</source> - <translation>Очистить список принятых сообщений журнала</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Press to clear the list of received log messages</source> + <translation>Очистить список принятых сообщений журнала</translation> </message> <message> - <location filename="../MqttMonitorWidget.ui" line="1364"/> - <source>Select to scroll to the most recently received log message</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="../MqttMonitorWidget.ui" line="1367"/> - <source>Follow received log messages</source> - <translation>Следовать за получаемыми сообщениями</translation> + <location filename="../MqttMonitorWidget.ui" line="0" /> + <source>Follow received log messages</source> + <translation>Следовать за получаемыми сообщениями</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="65"/> - <source>All Files (*)</source> - <translation>Все файлы (*)</translation> + <location filename="../MqttMonitorWidget.py" line="68" /> + <source>All Files (*)</source> + <translation>Все файлы (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="243"/> - <source>Connection timed out</source> - <translation>Время ожидания соединения истекло</translation> + <location filename="../MqttMonitorWidget.py" line="249" /> + <source>Connection timed out</source> + <translation>Время ожидания соединения истекло</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="262"/> - <source>Connection to Broker shut down cleanly.</source> - <translation>Соединение с брокером закрыто. Очистка произведена.</translation> + <location filename="../MqttMonitorWidget.py" line="268" /> + <source>Connection to Broker shut down cleanly.</source> + <translation>Соединение с брокером закрыто. Очистка произведена.</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="317"/> - <source>{0}: {1}</source> - <translation>{0}: {1}</translation> + <location filename="../MqttMonitorWidget.py" line="321" /> + <source>{0}: {1}</source> + <translation>{0}: {1}</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscribe to Topic</source> - <translation>Подписаться на тему</translation> + <location filename="../MqttMonitorWidget.py" line="516" /> + <source>Subscribe to Topic</source> + <translation>Подписаться на тему</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="512"/> - <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> - <translation>Подписки на тему статуса «$ SYS» должны быть сделаны на вкладке «Статус».</translation> + <location filename="../MqttMonitorWidget.py" line="517" /> + <source>Subscriptions to the Status topic '$SYS' shall be done on the 'Status' tab.</source> + <translation>Подписки на тему статуса «$ SYS» должны быть сделаны на вкладке «Статус».</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source>Read Payload from File</source> - <translation>Чтение полезной нагрузки из файла</translation> + <location filename="../MqttMonitorWidget.py" line="574" /> + <source>Read Payload from File</source> + <translation>Чтение полезной нагрузки из файла</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="571"/> - <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> - <translation><p>Не удалось прочитать файл <b>{0}</b>. Отмена...</p><p>Причина: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="575" /> + <source><p>The file <b>{0}</b> could not be read. Aborting...</p><p>Reason: {1}</p></source> + <translation><p>Не удалось прочитать файл <b>{0}</b>. Отмена...</p><p>Причина: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="684"/> - <source>Save Messages</source> - <translation>Сохранить сообщения</translation> + <location filename="../MqttMonitorWidget.py" line="686" /> + <location filename="../MqttMonitorWidget.py" line="672" /> + <location filename="../MqttMonitorWidget.py" line="654" /> + <source>Save Messages</source> + <translation>Сохранить сообщения</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="651"/> - <source>Messages Files (*.txt);;All Files (*)</source> - <translation>Файлы сообщений (*.txt);;Все файлы (*)</translation> + <location filename="../MqttMonitorWidget.py" line="656" /> + <source>Messages Files (*.txt);;All Files (*)</source> + <translation>Файлы сообщений (*.txt);;Все файлы (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="726"/> - <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> - <translation><p>Файл <b>{0}</b> уже существует. Переписать его?</p></translation> - </message> - <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> - <translation><p>Файл <b>{0}</b> не может быть записан.</p><p>Причина: {1}</p></translation> + <location filename="../MqttMonitorWidget.py" line="729" /> + <location filename="../MqttMonitorWidget.py" line="673" /> + <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> + <translation><p>Файл <b>{0}</b> уже существует. Переписать его?</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="741"/> - <source>Save Log Messages</source> - <translation>Сохранить сообщения журнала</translation> + <location filename="../MqttMonitorWidget.py" line="743" /> + <location filename="../MqttMonitorWidget.py" line="687" /> + <source><p>The file <b>{0}</b> could not be written.</p><p>Reason: {1}</p></source> + <translation><p>Файл <b>{0}</b> не может быть записан.</p><p>Причина: {1}</p></translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="708"/> - <source>Log Files (*.log);;All Files (*)</source> - <translation>Файлы журнала (*.log);;Все файлы (*)</translation> + <location filename="../MqttMonitorWidget.py" line="742" /> + <location filename="../MqttMonitorWidget.py" line="728" /> + <location filename="../MqttMonitorWidget.py" line="710" /> + <source>Save Log Messages</source> + <translation>Сохранить сообщения журнала</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="763"/> - <source>Press to deactivate the status display</source> - <translation>Деактивировать отображение статуса</translation> + <location filename="../MqttMonitorWidget.py" line="712" /> + <source>Log Files (*.log);;All Files (*)</source> + <translation>Файлы журнала (*.log);;Все файлы (*)</translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="902"/> - <source>QoS: {0} + <location filename="../MqttMonitorWidget.py" line="763" /> + <source>Press to deactivate the status display</source> + <translation>Деактивировать отображение статуса</translation> + </message> + <message> + <location filename="../MqttMonitorWidget.py" line="895" /> + <source>QoS: {0} </source> - <translation>QoS: {0} + <translation>QoS: {0} </translation> </message> <message> - <location filename="../MqttMonitorWidget.py" line="1059"/> - <source>Connecting to {0}:{1} ...</source> - <translation>Соединение с {0}:{1} ...</translation> + <location filename="../MqttMonitorWidget.py" line="1048" /> + <location filename="../MqttMonitorWidget.py" line="1022" /> + <source>Connecting to {0}:{1} ...</source> + <translation>Соединение с {0}:{1} ...</translation> </message> -</context> + </context> </TS>
diff -r 3cb08e5db764 -r 2fb5c08019fd PluginMqttMonitor.e4p --- a/PluginMqttMonitor.e4p Sun May 30 17:40:40 2021 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,533 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE Project SYSTEM "Project-5.1.dtd"> -<!-- eric project file for project PluginMqttMonitor --> -<!-- Copyright (C) 2020 Detlev Offenbach, detlev@die-offenbachs.de --> -<Project version="5.1"> - <Language>en</Language> - <Hash>8b864e3e4a3495e242eae3cb3ef4dc8522bf6ce7</Hash> - <ProgLanguage mixed="0">Python3</ProgLanguage> - <ProjectType>E6Plugin</ProjectType> - <Description>Plug-in implementing a tool to connect to a MQTT broker, subscribe to topics, present received messages and publish messages. - -Note: The paho-mqtt Python package must be installed. </Description> - <Version>1.x</Version> - <Author>Detlev Offenbach</Author> - <Email>detlev@die-offenbachs.de</Email> - <TranslationPattern>MqttMonitor/i18n/mqttmonitor_%language%.ts</TranslationPattern> - <Eol index="1"/> - <Sources> - <Source>MqttMonitor/MqttClient.py</Source> - <Source>MqttMonitor/MqttConnectionOptionsDialog.py</Source> - <Source>MqttMonitor/MqttConnectionProfilesDialog.py</Source> - <Source>MqttMonitor/MqttMonitorWidget.py</Source> - <Source>MqttMonitor/__init__.py</Source> - <Source>PluginMqttMonitor.py</Source> - <Source>__init__.py</Source> - </Sources> - <Forms> - <Form>MqttMonitor/MqttConnectionOptionsDialog.ui</Form> - <Form>MqttMonitor/MqttConnectionProfilesDialog.ui</Form> - <Form>MqttMonitor/MqttMonitorWidget.ui</Form> - </Forms> - <Translations> - <Translation>MqttMonitor/i18n/mqttmonitor_de.qm</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_de.ts</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_empty.ts</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_en.qm</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_en.ts</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_es.qm</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_es.ts</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_ru.qm</Translation> - <Translation>MqttMonitor/i18n/mqttmonitor_ru.ts</Translation> - </Translations> - <Others> - <Other>.hgignore</Other> - <Other>ChangeLog</Other> - <Other>MqttMonitor/Documentation/LICENSE.GPL3</Other> - <Other>MqttMonitor/Documentation/source</Other> - <Other>MqttMonitor/icons/connectionOptions-dark.svg</Other> - <Other>MqttMonitor/icons/connectionOptions-light.svg</Other> - <Other>MqttMonitor/icons/mqtt22-dark.svg</Other> - <Other>MqttMonitor/icons/mqtt22-light.svg</Other> - <Other>MqttMonitor/icons/mqtt48-dark.svg</Other> - <Other>MqttMonitor/icons/mqtt48-light.svg</Other> - <Other>MqttMonitor/icons/profiles-dark.svg</Other> - <Other>MqttMonitor/icons/profiles-light.svg</Other> - <Other>MqttMonitor/icons/quickopen-dark.svg</Other> - <Other>MqttMonitor/icons/quickopen-light.svg</Other> - <Other>PKGLIST</Other> - <Other>PluginMqttMonitor.e4p</Other> - <Other>PluginMqttMonitor.zip</Other> - </Others> - <MainScript>PluginMqttMonitor.py</MainScript> - <Vcs> - <VcsType>Mercurial</VcsType> - <VcsOptions> - <dict> - <key> - <string>add</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>checkout</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>commit</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>diff</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>export</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>global</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>history</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>log</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>remove</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>status</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>tag</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - <key> - <string>update</string> - </key> - <value> - <list> - <string></string> - </list> - </value> - </dict> - </VcsOptions> - </Vcs> - <FiletypeAssociations> - <FiletypeAssociation pattern="*.e4p" type="OTHERS"/> - <FiletypeAssociation pattern="*.idl" type="INTERFACES"/> - <FiletypeAssociation pattern="*.md" type="OTHERS"/> - <FiletypeAssociation pattern="*.proto" type="PROTOCOLS"/> - <FiletypeAssociation pattern="*.py" type="SOURCES"/> - <FiletypeAssociation pattern="*.py3" type="SOURCES"/> - <FiletypeAssociation pattern="*.pyw" type="SOURCES"/> - <FiletypeAssociation pattern="*.pyw3" type="SOURCES"/> - <FiletypeAssociation pattern="*.qm" type="TRANSLATIONS"/> - <FiletypeAssociation pattern="*.qrc" type="RESOURCES"/> - <FiletypeAssociation pattern="*.rst" type="OTHERS"/> - <FiletypeAssociation pattern="*.ts" type="TRANSLATIONS"/> - <FiletypeAssociation pattern="*.txt" type="OTHERS"/> - <FiletypeAssociation pattern="*.ui" type="FORMS"/> - <FiletypeAssociation pattern="GNUmakefile" type="OTHERS"/> - <FiletypeAssociation pattern="Makefile" type="OTHERS"/> - <FiletypeAssociation pattern="README" type="OTHERS"/> - <FiletypeAssociation pattern="README.*" type="OTHERS"/> - <FiletypeAssociation pattern="Ui_*.py" type="__IGNORE__"/> - <FiletypeAssociation pattern="makefile" type="OTHERS"/> - </FiletypeAssociations> - <Documentation> - <DocumentationParams> - <dict> - <key> - <string>ERIC4DOC</string> - </key> - <value> - <dict> - <key> - <string>cssFile</string> - </key> - <value> - <string>%PYTHON%/eric6/CSSs/default.css</string> - </value> - <key> - <string>ignoreDirectories</string> - </key> - <value> - <list> - <string>.hg</string> - <string>.eric6project</string> - <string>.ropeproject</string> - </list> - </value> - <key> - <string>ignoreFilePatterns</string> - </key> - <value> - <list> - <string>Ui_*.py</string> - </list> - </value> - <key> - <string>outputDirectory</string> - </key> - <value> - <string>MqttMonitor/Documentation/source</string> - </value> - <key> - <string>qtHelpEnabled</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>useRecursion</string> - </key> - <value> - <bool>True</bool> - </value> - </dict> - </value> - </dict> - </DocumentationParams> - </Documentation> - <Checkers> - <CheckersParams> - <dict> - <key> - <string>Pep8Checker</string> - </key> - <value> - <dict> - <key> - <string>AnnotationsChecker</string> - </key> - <value> - <dict> - <key> - <string>MaximumComplexity</string> - </key> - <value> - <int>3</int> - </value> - <key> - <string>MinimumCoverage</string> - </key> - <value> - <int>75</int> - </value> - </dict> - </value> - <key> - <string>BlankLines</string> - </key> - <value> - <tuple> - <int>2</int> - <int>1</int> - </tuple> - </value> - <key> - <string>BuiltinsChecker</string> - </key> - <value> - <dict> - <key> - <string>bytes</string> - </key> - <value> - <list> - <string>unicode</string> - </list> - </value> - <key> - <string>chr</string> - </key> - <value> - <list> - <string>unichr</string> - </list> - </value> - <key> - <string>str</string> - </key> - <value> - <list> - <string>unicode</string> - </list> - </value> - </dict> - </value> - <key> - <string>CommentedCodeChecker</string> - </key> - <value> - <dict> - <key> - <string>Aggressive</string> - </key> - <value> - <bool>False</bool> - </value> - </dict> - </value> - <key> - <string>CopyrightAuthor</string> - </key> - <value> - <string></string> - </value> - <key> - <string>CopyrightMinFileSize</string> - </key> - <value> - <int>0</int> - </value> - <key> - <string>DocstringType</string> - </key> - <value> - <string>eric</string> - </value> - <key> - <string>EnabledCheckerCategories</string> - </key> - <value> - <string>C, D, E, M, N, S, W</string> - </value> - <key> - <string>ExcludeFiles</string> - </key> - <value> - <string>*/Ui_*.py, */*_rc.py</string> - </value> - <key> - <string>ExcludeMessages</string> - </key> - <value> - <string>C101,E265,E266,E305,E402,M201,M811,N802,N803,N807,N808,N821,W293,W504</string> - </value> - <key> - <string>FixCodes</string> - </key> - <value> - <string></string> - </value> - <key> - <string>FixIssues</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>FutureChecker</string> - </key> - <value> - <string></string> - </value> - <key> - <string>HangClosing</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>IncludeMessages</string> - </key> - <value> - <string></string> - </value> - <key> - <string>LineComplexity</string> - </key> - <value> - <int>20</int> - </value> - <key> - <string>LineComplexityScore</string> - </key> - <value> - <int>10</int> - </value> - <key> - <string>MaxCodeComplexity</string> - </key> - <value> - <int>10</int> - </value> - <key> - <string>MaxDocLineLength</string> - </key> - <value> - <int>79</int> - </value> - <key> - <string>MaxLineLength</string> - </key> - <value> - <int>79</int> - </value> - <key> - <string>NoFixCodes</string> - </key> - <value> - <string>E501</string> - </value> - <key> - <string>RepeatMessages</string> - </key> - <value> - <bool>True</bool> - </value> - <key> - <string>SecurityChecker</string> - </key> - <value> - <dict> - <key> - <string>CheckTypedException</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>HardcodedTmpDirectories</string> - </key> - <value> - <list> - <string>/tmp</string> - <string>/var/tmp</string> - <string>/dev/shm</string> - <string>~/tmp</string> - </list> - </value> - <key> - <string>InsecureHashes</string> - </key> - <value> - <list> - <string>md4</string> - <string>md5</string> - <string>sha</string> - <string>sha1</string> - </list> - </value> - <key> - <string>InsecureSslProtocolVersions</string> - </key> - <value> - <list> - <string>PROTOCOL_SSLv2</string> - <string>SSLv2_METHOD</string> - <string>SSLv23_METHOD</string> - <string>PROTOCOL_SSLv3</string> - <string>PROTOCOL_TLSv1</string> - <string>SSLv3_METHOD</string> - <string>TLSv1_METHOD</string> - </list> - </value> - <key> - <string>WeakKeySizeDsaHigh</string> - </key> - <value> - <string>1024</string> - </value> - <key> - <string>WeakKeySizeDsaMedium</string> - </key> - <value> - <string>2048</string> - </value> - <key> - <string>WeakKeySizeEcHigh</string> - </key> - <value> - <string>160</string> - </value> - <key> - <string>WeakKeySizeEcMedium</string> - </key> - <value> - <string>224</string> - </value> - <key> - <string>WeakKeySizeRsaHigh</string> - </key> - <value> - <string>1024</string> - </value> - <key> - <string>WeakKeySizeRsaMedium</string> - </key> - <value> - <string>2048</string> - </value> - </dict> - </value> - <key> - <string>ShowIgnored</string> - </key> - <value> - <bool>False</bool> - </value> - <key> - <string>ValidEncodings</string> - </key> - <value> - <string>latin-1, utf-8</string> - </value> - </dict> - </value> - </dict> - </CheckersParams> - </Checkers> -</Project>
diff -r 3cb08e5db764 -r 2fb5c08019fd PluginMqttMonitor.epj --- a/PluginMqttMonitor.epj Sun May 30 17:40:40 2021 +0200 +++ b/PluginMqttMonitor.epj Sun May 30 18:21:40 2021 +0200 @@ -113,11 +113,12 @@ "DOCSTRING": "", "DOCUMENTATIONPARMS": { "ERIC4DOC": { - "cssFile": "%PYTHON%/eric6/CSSs/default.css", + "cssFile": "%PYTHON%/eric7/CSSs/default.css", "ignoreDirectories": [ ".hg", ".eric6project", - ".ropeproject" + ".ropeproject", + ".eric7project" ], "ignoreFilePatterns": [ "Ui_*.py" @@ -130,7 +131,7 @@ "EMAIL": "detlev@die-offenbachs.de", "EOL": 1, "FILETYPES": { - "*.e4p": "OTHERS", + "*.epj": "OTHERS", "*.idl": "INTERFACES", "*.md": "OTHERS", "*.proto": "PROTOCOLS", @@ -139,7 +140,6 @@ "*.pyw": "SOURCES", "*.pyw3": "SOURCES", "*.qm": "TRANSLATIONS", - "*.qrc": "RESOURCES", "*.rst": "OTHERS", "*.ts": "TRANSLATIONS", "*.txt": "OTHERS", @@ -190,14 +190,13 @@ "MqttMonitor/icons/quickopen-dark.svg", "MqttMonitor/icons/quickopen-light.svg", "PKGLIST", - "PluginMqttMonitor.e4p", "PluginMqttMonitor.zip", "PluginMqttMonitor.epj" ], "OTHERTOOLSPARMS": {}, "PACKAGERSPARMS": {}, "PROGLANGUAGE": "Python3", - "PROJECTTYPE": "E6Plugin", + "PROJECTTYPE": "E7Plugin", "PROJECTTYPESPECIFICDATA": {}, "PROTOCOLS": [], "RCCPARAMS": { @@ -278,6 +277,6 @@ ] }, "VCSOTHERDATA": {}, - "VERSION": "1.x" + "VERSION": "" } } \ No newline at end of file
diff -r 3cb08e5db764 -r 2fb5c08019fd PluginMqttMonitor.py --- a/PluginMqttMonitor.py Sun May 30 17:40:40 2021 +0200 +++ b/PluginMqttMonitor.py Sun May 30 18:21:40 2021 +0200 @@ -10,11 +10,11 @@ import os import json -from PyQt5.QtCore import Qt, QObject, QTranslator, QCoreApplication -from PyQt5.QtGui import QKeySequence +from PyQt6.QtCore import Qt, QObject, QTranslator, QCoreApplication +from PyQt6.QtGui import QKeySequence -from E5Gui.E5Application import e5App -from E5Gui.E5Action import E5Action +from EricWidgets.EricApplication import ericApp +from EricGui.EricAction import EricAction import UI.PixmapCache import Preferences @@ -24,7 +24,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "3.1.0" +version = "1.0.0" className = "MqttMonitorPlugin" packageName = "MqttMonitor" shortDescription = "Plug-in implementing a tool to connect to a MQTT broker" @@ -33,9 +33,8 @@ """ to topics, present received messages and publish messages.""" """ It displays broker statistics (the $SYS/# topic tree) and""" """ log messages of the underlying paho-mqtt client. This tool""" - """ support unencrypted connections (port 1883) as well as encrypted""" - """ SSL/TLS connections (port 8883)\n\n""" - """Note: The paho-mqtt Python package must be installed.""" + """ supports unencrypted connections (port 1883) as well as encrypted""" + """ SSL/TLS connections (port 8883).""" ) needsRestart = False pyqtApi = 2 @@ -112,7 +111,7 @@ Public method to activate this plug-in. @return tuple of None and activation status - @rtype bool + @rtype tuple of (None, bool) """ global error error = "" # clear previous error @@ -125,17 +124,10 @@ from MqttMonitor.MqttMonitorWidget import MqttMonitorWidget - try: - usesDarkPalette = e5App().usesDarkPalette() - except AttributeError: - # eric6 < 20.4 - from PyQt5.QtGui import QPalette - palette = e5App().palette() - lightness = palette.color(QPalette.Window).lightness() - usesDarkPalette = lightness <= 128 + usesDarkPalette = ericApp().usesDarkPalette() iconSuffix = "dark" if usesDarkPalette else "light" - self.__widget = MqttMonitorWidget(self, iconSuffix) + self.__widget = MqttMonitorWidget(self, usesDarkPalette) self.__ui.addSideWidget( self.__ui.RightSide, self.__widget, UI.PixmapCache.getIcon( @@ -143,7 +135,7 @@ "mqtt22-{0}".format(iconSuffix))), self.tr("MQTT Monitor")) - self.__activateAct = E5Action( + self.__activateAct = EricAction( self.tr('MQTT Monitor'), self.tr('M&QTT Monitor'), QKeySequence(self.tr("Alt+Shift+Q")), @@ -158,7 +150,7 @@ )) self.__activateAct.triggered.connect(self.__activateWidget) - self.__ui.addE5Actions([self.__activateAct], 'ui') + self.__ui.addEricActions([self.__activateAct], 'ui') menu = self.__ui.getMenu("subwindow") menu.addAction(self.__activateAct) @@ -170,7 +162,7 @@ """ menu = self.__ui.getMenu("subwindow") menu.removeAction(self.__activateAct) - self.__ui.removeE5Actions([self.__activateAct], 'ui') + self.__ui.removeEricActions([self.__activateAct], 'ui') self.__ui.removeSideWidget(self.__widget) self.__initialize() @@ -189,7 +181,7 @@ loaded = translator.load(translation, locale_dir) if loaded: self.__translator = translator - e5App().installTranslator(self.__translator) + ericApp().installTranslator(self.__translator) else: print("Warning: translation file '{0}' could not be" " loaded.".format(translation)) @@ -209,14 +201,16 @@ self.__ui.rightSidebar.setCurrentWidget(self.__widget) else: self.__widget.show() - self.__widget.setFocus(Qt.ActiveWindowFocusReason) + self.__widget.setFocus(Qt.FocusReason.ActiveWindowFocusReason) def getPreferences(self, key): """ Public method to retrieve the various settings. - @param key the key of the value to get - @return the requested setting + @param key key of the setting + @type str + @return value of the requested setting + @rtype Any """ if key in ["RecentBrokersWithPort", "BrokerProfiles"]: return json.loads(Preferences.Prefs.settings.value( @@ -229,8 +223,10 @@ """ Public method to store the various settings. - @param key the key of the setting to be set (string) - @param value the value to be set + @param key key of the setting to be set + @type str + @param value value to be set + @type Any """ if key in ["RecentBrokersWithPort", "BrokerProfiles"]: Preferences.Prefs.settings.setValue(