Improved shortcuts to meet the needs of different operating systems

This commit is contained in:
2022-12-01 10:06:04 +01:00
parent cef990df26
commit 03567dfefe
4 changed files with 105 additions and 85 deletions

View File

@@ -2,9 +2,10 @@
# Form implementation generated from reading ui file 'revpicommander.ui' # Form implementation generated from reading ui file 'revpicommander.ui'
# #
# Created by: PyQt5 UI code generator 5.14.1 # Created by: PyQt5 UI code generator 5.15.7
# #
# WARNING! All changes made in this file will be lost! # WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5 import QtCore, QtGui, QtWidgets
@@ -116,7 +117,7 @@ class Ui_win_revpicommander(object):
self.menubar.addAction(self.men_help.menuAction()) self.menubar.addAction(self.men_help.menuAction())
self.retranslateUi(win_revpicommander) self.retranslateUi(win_revpicommander)
self.act_quit.triggered.connect(win_revpicommander.close) self.act_quit.triggered.connect(win_revpicommander.close) # type: ignore
QtCore.QMetaObject.connectSlotsByName(win_revpicommander) QtCore.QMetaObject.connectSlotsByName(win_revpicommander)
win_revpicommander.setTabOrder(self.btn_plc_start, self.btn_plc_stop) win_revpicommander.setTabOrder(self.btn_plc_start, self.btn_plc_stop)
win_revpicommander.setTabOrder(self.btn_plc_stop, self.btn_plc_restart) win_revpicommander.setTabOrder(self.btn_plc_stop, self.btn_plc_restart)
@@ -136,19 +137,20 @@ class Ui_win_revpicommander(object):
self.men_plc.setTitle(_translate("win_revpicommander", "&PLC")) self.men_plc.setTitle(_translate("win_revpicommander", "&PLC"))
self.men_connections.setTitle(_translate("win_revpicommander", "&Connections")) self.men_connections.setTitle(_translate("win_revpicommander", "&Connections"))
self.act_connections.setText(_translate("win_revpicommander", "&Connections...")) self.act_connections.setText(_translate("win_revpicommander", "&Connections..."))
self.act_connections.setShortcut(_translate("win_revpicommander", "Ctrl+N"))
self.act_search.setText(_translate("win_revpicommander", "&Search Revolution Pi...")) self.act_search.setText(_translate("win_revpicommander", "&Search Revolution Pi..."))
self.act_search.setShortcut(_translate("win_revpicommander", "Ctrl+F")) self.act_search.setShortcut(_translate("win_revpicommander", "Ctrl+F"))
self.act_quit.setText(_translate("win_revpicommander", "&Quit")) self.act_quit.setText(_translate("win_revpicommander", "&Quit"))
self.act_webpage.setText(_translate("win_revpicommander", "Visit &webpage...")) self.act_webpage.setText(_translate("win_revpicommander", "Visit &webpage..."))
self.act_info.setText(_translate("win_revpicommander", "&Info...")) self.act_info.setText(_translate("win_revpicommander", "&Info..."))
self.act_logs.setText(_translate("win_revpicommander", "PLC &logs...")) self.act_logs.setText(_translate("win_revpicommander", "PLC &logs..."))
self.act_logs.setShortcut(_translate("win_revpicommander", "F3")) self.act_logs.setShortcut(_translate("win_revpicommander", "Ctrl+L"))
self.act_options.setText(_translate("win_revpicommander", "PLC &options...")) self.act_options.setText(_translate("win_revpicommander", "PLC &options..."))
self.act_options.setShortcut(_translate("win_revpicommander", "Ctrl+O")) self.act_options.setShortcut(_translate("win_revpicommander", "Ctrl+O"))
self.act_program.setText(_translate("win_revpicommander", "PLC progra&m...")) self.act_program.setText(_translate("win_revpicommander", "PLC progra&m..."))
self.act_program.setShortcut(_translate("win_revpicommander", "Ctrl+P")) self.act_program.setShortcut(_translate("win_revpicommander", "Ctrl+P"))
self.act_developer.setText(_translate("win_revpicommander", "PLC de&veloper...")) self.act_developer.setText(_translate("win_revpicommander", "PLC de&veloper..."))
self.act_developer.setShortcut(_translate("win_revpicommander", "F9")) self.act_developer.setShortcut(_translate("win_revpicommander", "Ctrl+D"))
self.act_pictory.setText(_translate("win_revpicommander", "piCtory configuraiton...")) self.act_pictory.setText(_translate("win_revpicommander", "piCtory configuraiton..."))
self.act_disconnect.setText(_translate("win_revpicommander", "&Disconnect")) self.act_disconnect.setText(_translate("win_revpicommander", "&Disconnect"))
self.act_disconnect.setShortcut(_translate("win_revpicommander", "Ctrl+X")) self.act_disconnect.setShortcut(_translate("win_revpicommander", "Ctrl+X"))

View File

@@ -150,6 +150,9 @@
<property name="text"> <property name="text">
<string>&amp;Connections...</string> <string>&amp;Connections...</string>
</property> </property>
<property name="shortcut">
<string>Ctrl+N</string>
</property>
</action> </action>
<action name="act_search"> <action name="act_search">
<property name="text"> <property name="text">
@@ -179,7 +182,7 @@
<string>PLC &amp;logs...</string> <string>PLC &amp;logs...</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>F3</string> <string>Ctrl+L</string>
</property> </property>
</action> </action>
<action name="act_options"> <action name="act_options">
@@ -203,7 +206,7 @@
<string>PLC de&amp;veloper...</string> <string>PLC de&amp;veloper...</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>F9</string> <string>Ctrl+D</string>
</property> </property>
</action> </action>
<action name="act_pictory"> <action name="act_pictory">

View File

@@ -68,27 +68,27 @@ Nicht gespeicherte Änderunen gehen verloren</translation>
<context> <context>
<name>AvahiSearch</name> <name>AvahiSearch</name>
<message> <message>
<location filename="../avahisearch.py" line="115"/> <location filename="../avahisearch.py" line="135"/>
<source>Auto discovered</source> <source>Auto discovered</source>
<translation>Automatisch erkannt</translation> <translation>Automatisch erkannt</translation>
</message> </message>
<message> <message>
<location filename="../avahisearch.py" line="128"/> <location filename="../avahisearch.py" line="148"/>
<source>Already in list...</source> <source>Already in list...</source>
<translation>Bereits in Liste...</translation> <translation>Bereits in Liste...</translation>
</message> </message>
<message> <message>
<location filename="../avahisearch.py" line="149"/> <location filename="../avahisearch.py" line="169"/>
<source>Success</source> <source>Success</source>
<translation>Erfolgreich</translation> <translation>Erfolgreich</translation>
</message> </message>
<message> <message>
<location filename="../avahisearch.py" line="149"/> <location filename="../avahisearch.py" line="169"/>
<source>The connection with the name &apos;{0}&apos; was successfully saved to folder &apos;{1}&apos; in your connections.</source> <source>The connection with the name &apos;{0}&apos; was successfully saved to folder &apos;{1}&apos; in your connections.</source>
<translation>Die Verbindung mit dem Namen &apos;{0}&apos; wurde erfolgreich im Ordner &apos;{1}&apos; gespeichert.</translation> <translation>Die Verbindung mit dem Namen &apos;{0}&apos; wurde erfolgreich im Ordner &apos;{1}&apos; gespeichert.</translation>
</message> </message>
<message> <message>
<location filename="../avahisearch.py" line="128"/> <location filename="../avahisearch.py" line="148"/>
<source>The selected Revolution Pi is already saved in your connection list as &apos;{0}&apos;.</source> <source>The selected Revolution Pi is already saved in your connection list as &apos;{0}&apos;.</source>
<translation>Der ausgewählte RevPi ist schon in der Verbindungsliste als &apos;{0}&apos;.</translation> <translation>Der ausgewählte RevPi ist schon in der Verbindungsliste als &apos;{0}&apos;.</translation>
</message> </message>
@@ -150,6 +150,16 @@ Nicht gespeicherte Änderunen gehen verloren</translation>
<source>as number</source> <source>as number</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="../debugios.py" line="352"/>
<source>Can not use format text</source>
<translation>Formatierung nicht möglich</translation>
</message>
<message>
<location filename="../debugios.py" line="352"/>
<source>Can not convert bytes {0} to a text for IO &apos;{1}&apos;. Switch to number format instead!</source>
<translation>Kann bytes {0} für &apos;{1}&apos; nicht in Text konvertieren. Wechseln Sie auf Nummernformat!</translation>
</message>
</context> </context>
<context> <context>
<name>MqttManager</name> <name>MqttManager</name>
@@ -179,93 +189,93 @@ Ungesicherte Änderungen gehen verloren.</translation>
<context> <context>
<name>RevPiCommander</name> <name>RevPiCommander</name>
<message> <message>
<location filename="../revpicommander.py" line="219"/> <location filename="../revpicommander.py" line="232"/>
<source>Simulator started...</source> <source>Simulator started...</source>
<translation>Simulator gestartet...</translation> <translation>Simulator gestartet...</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="228"/> <location filename="../revpicommander.py" line="241"/>
<source>Can not start...</source> <source>Can not start...</source>
<translation>Kann nicht gestartet werden...</translation> <translation>Kann nicht gestartet werden...</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="431"/> <location filename="../revpicommander.py" line="434"/>
<source>Warning</source> <source>Warning</source>
<translation>Warnung</translation> <translation>Warnung</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="244"/> <location filename="../revpicommander.py" line="257"/>
<source>This version of Logviewer ist not supported in version {0} of RevPiPyLoad on your RevPi! You need at least version 0.4.1.</source> <source>This version of Logviewer ist not supported in version {0} of RevPiPyLoad on your RevPi! You need at least version 0.4.1.</source>
<translation>Diese Version vom Logbetrachter wird in RevPiPyLoad Version {0} nicht unterstützt! Es wird mindestens Version 0.4.1 benötigt.</translation> <translation>Diese Version vom Logbetrachter wird in RevPiPyLoad Version {0} nicht unterstützt! Es wird mindestens Version 0.4.1 benötigt.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="294"/> <location filename="../revpicommander.py" line="307"/>
<source>XML-RPC access mode in the RevPiPyLoad configuration is too small to access this dialog!</source> <source>XML-RPC access mode in the RevPiPyLoad configuration is too small to access this dialog!</source>
<translation>XML-RPC Zugriffsberechtigung in der RevPiPyLoad Konfiguraiton ist zu klein für diese Einstellungen!</translation> <translation>XML-RPC Zugriffsberechtigung in der RevPiPyLoad Konfiguraiton ist zu klein für diese Einstellungen!</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="458"/> <location filename="../revpicommander.py" line="461"/>
<source>Error</source> <source>Error</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="274"/> <location filename="../revpicommander.py" line="287"/>
<source>The Version of RevPiPyLoad on your Revolution Pi ({0}) is to old. This Version of RevPiCommander require at least version 0.6.0 of RevPiPyLoad. Please update your Revolution Pi!</source> <source>The Version of RevPiPyLoad on your Revolution Pi ({0}) is to old. This Version of RevPiCommander require at least version 0.6.0 of RevPiPyLoad. Please update your Revolution Pi!</source>
<translation>Die Version von RevPiPyLoad ({0}) auf dem Revolution Pi ist zu alt. Diese Version vom RevPiCommander braucht mindestens Version 0.6.0. Bitte aktualisiere deinen Revolution Pi!</translation> <translation>Die Version von RevPiPyLoad ({0}) auf dem Revolution Pi ist zu alt. Diese Version vom RevPiCommander braucht mindestens Version 0.6.0. Bitte aktualisiere deinen Revolution Pi!</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="327"/> <location filename="../revpicommander.py" line="340"/>
<source>Question</source> <source>Question</source>
<translation>Frage</translation> <translation>Frage</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="327"/> <location filename="../revpicommander.py" line="340"/>
<source>Are you sure to reset piControl? <source>Are you sure to reset piControl?
The pictory configuration will be reloaded. During that time the process image will be interrupted and could rise errors on running control programs!</source> The pictory configuration will be reloaded. During that time the process image will be interrupted and could rise errors on running control programs!</source>
<translation>Soll piControl wirklich zurückgesetzt werden? <translation>Soll piControl wirklich zurückgesetzt werden?
Die piCtory Konfiguration wird neu geladen. Das Prozessabbild wird in dieser Zeit nicht verfügbar sein und es könnten Fehler in Steuerungsprogrammen ausgelöst werden!</translation> Die piCtory Konfiguration wird neu geladen. Das Prozessabbild wird in dieser Zeit nicht verfügbar sein und es könnten Fehler in Steuerungsprogrammen ausgelöst werden!</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="340"/> <location filename="../revpicommander.py" line="353"/>
<source>Success</source> <source>Success</source>
<translation>Erfolgreich</translation> <translation>Erfolgreich</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="340"/> <location filename="../revpicommander.py" line="353"/>
<source>piControl reset executed successfully</source> <source>piControl reset executed successfully</source>
<translation>piControl wurde erfolgreich zurückgesetzt</translation> <translation>piControl wurde erfolgreich zurückgesetzt</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="347"/> <location filename="../revpicommander.py" line="360"/>
<source>piControl reset could not be executed successfully</source> <source>piControl reset could not be executed successfully</source>
<translation>piControl konnte nicht zurückgesetzt werden</translation> <translation>piControl konnte nicht zurückgesetzt werden</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="405"/> <location filename="../revpicommander.py" line="408"/>
<source>Reset to piCtory defaults...</source> <source>Reset to piCtory defaults...</source>
<translation>Standardwerte von piCtory laden...</translation> <translation>Standardwerte von piCtory laden...</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="431"/> <location filename="../revpicommander.py" line="434"/>
<source>The watch mode ist not supported in version {0} of RevPiPyLoad on your RevPi! You need at least version 0.5.3! Maybe the python3-revpimodio2 module is not installed on your RevPi at least version 2.0.0.</source> <source>The watch mode ist not supported in version {0} of RevPiPyLoad on your RevPi! You need at least version 0.5.3! Maybe the python3-revpimodio2 module is not installed on your RevPi at least version 2.0.0.</source>
<translation>Der SPS Betrachter ist in Version {0} von RevPiPyLoad auf dem Rev Pi nicht unterstützt! Es muss mindestens Version 0.5.3 installiert sein! Vielleicht fehlt auch das python3-revpimodio2 Modul, welches mindestens Version 2.0.0 haben muss.</translation> <translation>Der SPS Betrachter ist in Version {0} von RevPiPyLoad auf dem Rev Pi nicht unterstützt! Es muss mindestens Version 0.5.3 installiert sein! Vielleicht fehlt auch das python3-revpimodio2 Modul, welches mindestens Version 2.0.0 haben muss.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="443"/> <location filename="../revpicommander.py" line="446"/>
<source>Can not load this function, because your ACL level is to low! <source>Can not load this function, because your ACL level is to low!
You need at least level 1 to read or level 3 to write.</source> You need at least level 1 to read or level 3 to write.</source>
<translation>Für diese Funktion ist das Berechtigungslevel zu gering! <translation>Für diese Funktion ist das Berechtigungslevel zu gering!
Es muss mindestens Level 1 zum Lesen oder Level 3 zu Schreiben sein.</translation> Es muss mindestens Level 1 zum Lesen oder Level 3 zu Schreiben sein.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="458"/> <location filename="../revpicommander.py" line="461"/>
<source>Can not load piCtory configuration. <source>Can not load piCtory configuration.
Did you create a hardware configuration? Please check this in piCtory!</source> Did you create a hardware configuration? Please check this in piCtory!</source>
<translation>Kann piCtory Konfiguration nicht laden. <translation>Kann piCtory Konfiguration nicht laden.
Wurde eine Hardwarekonfiguration in piCtory erzeugt?</translation> Wurde eine Hardwarekonfiguration in piCtory erzeugt?</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="362"/> <location filename="../revpicommander.py" line="99"/>
<source>Can not connect to RevPi XML-RPC Service! <source>Can not connect to RevPi XML-RPC Service!
This could have the following reasons: The RevPi is not online, the XML-RPC service is not running / bind to localhost or the ACL permission is not set for your IP!!! This could have the following reasons: The RevPi is not online, the XML-RPC service is not running / bind to localhost or the ACL permission is not set for your IP!!!
@@ -278,7 +288,7 @@ Das kann eine der folgenden Ursachen haben: Der Rev Pi ist nicht online, der XML
Führe &apos;sudo revpipyload_secure_installation&apos; auf dem Revolution Pi aus um diese Funktion zu konfigurieren!</translation> Führe &apos;sudo revpipyload_secure_installation&apos; auf dem Revolution Pi aus um diese Funktion zu konfigurieren!</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="219"/> <location filename="../revpicommander.py" line="232"/>
<source>The simulator is running! <source>The simulator is running!
You can work with this simulator if your call RevPiModIO with this additional parameters: You can work with this simulator if your call RevPiModIO with this additional parameters:
@@ -295,24 +305,24 @@ configrsc={1}
Dies kann aus der Textbox oben kopiert werden.</translation> Dies kann aus der Textbox oben kopiert werden.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="228"/> <location filename="../revpicommander.py" line="241"/>
<source>Can not start the simulator! Maybe the piCtory file is corrupt or you have no write permissions for &apos;{0}&apos;.</source> <source>Can not start the simulator! Maybe the piCtory file is corrupt or you have no write permissions for &apos;{0}&apos;.</source>
<translation>Kann Simulator nicht starten! Vielleicht ist die piCtory Datei defekt oder es gibt keine Schreibberechtigung für &apos;{0}`.</translation> <translation>Kann Simulator nicht starten! Vielleicht ist die piCtory Datei defekt oder es gibt keine Schreibberechtigung für &apos;{0}`.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="405"/> <location filename="../revpicommander.py" line="408"/>
<source>Do you want to reset your process image to {0} values? <source>Do you want to reset your process image to {0} values?
You have to stop other RevPiModIO programs before doing that, because they could reset the outputs.</source> You have to stop other RevPiModIO programs before doing that, because they could reset the outputs.</source>
<translation>Soll das virtuelle Prozessabbild auf {0} zurückgesetzt werden? <translation>Soll das virtuelle Prozessabbild auf {0} zurückgesetzt werden?
Es sollten alle RevPiModIO Programme vorher beendet werden, da diese ihre IO Werte sofort wieder schreiben würden.</translation> Es sollten alle RevPiModIO Programme vorher beendet werden, da diese ihre IO Werte sofort wieder schreiben würden.</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="405"/> <location filename="../revpicommander.py" line="408"/>
<source>zero</source> <source>zero</source>
<translation>null</translation> <translation>null</translation>
</message> </message>
<message> <message>
<location filename="../revpicommander.py" line="405"/> <location filename="../revpicommander.py" line="408"/>
<source>piCtory default</source> <source>piCtory default</source>
<translation>piCtory Standardwerte</translation> <translation>piCtory Standardwerte</translation>
</message> </message>
@@ -320,92 +330,92 @@ Es sollten alle RevPiModIO Programme vorher beendet werden, da diese ihre IO Wer
<context> <context>
<name>RevPiFiles</name> <name>RevPiFiles</name>
<message> <message>
<location filename="../revpifiles.py" line="34"/> <location filename="../revpifiles.py" line="86"/>
<source>Please select...</source> <source>Please select...</source>
<translation>Bitte auswählen...</translation> <translation>Bitte auswählen...</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="434"/> <location filename="../revpifiles.py" line="458"/>
<source>Error</source> <source>Error</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="68"/> <location filename="../revpifiles.py" line="120"/>
<source>Can not stop plc program on Revolution Pi.</source> <source>Can not stop plc program on Revolution Pi.</source>
<translation>Kann SPS Programm auf Rev Pi nicht stoppen.</translation> <translation>Kann SPS Programm auf Rev Pi nicht stoppen.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="119"/> <location filename="../revpifiles.py" line="143"/>
<source>The Revolution Pi could not process some parts of the transmission.</source> <source>The Revolution Pi could not process some parts of the transmission.</source>
<translation>Der Revolution Pi hat Teile der Übertragung nicht durchgeführt.</translation> <translation>Der Revolution Pi hat Teile der Übertragung nicht durchgeführt.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="127"/> <location filename="../revpifiles.py" line="151"/>
<source>Errors occurred during transmission</source> <source>Errors occurred during transmission</source>
<translation>Fehler bei Übertragung aufgetreten</translation> <translation>Fehler bei Übertragung aufgetreten</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="133"/> <location filename="../revpifiles.py" line="157"/>
<source>Warning</source> <source>Warning</source>
<translation>Warnung</translation> <translation>Warnung</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="133"/> <location filename="../revpifiles.py" line="157"/>
<source>Could not start the plc program on Revolution Pi.</source> <source>Could not start the plc program on Revolution Pi.</source>
<translation>Kann das SPS Programm auf dem Revolution Pi nicht starten.</translation> <translation>Kann das SPS Programm auf dem Revolution Pi nicht starten.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="154"/> <location filename="../revpifiles.py" line="178"/>
<source>The RevPiPyLoad version on the Revolution Pi is to old.</source> <source>The RevPiPyLoad version on the Revolution Pi is to old.</source>
<translation>Die RevPiPyLoad Version auf dem Revolution Pi ist zu alt.</translation> <translation>Die RevPiPyLoad Version auf dem Revolution Pi ist zu alt.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="229"/> <location filename="../revpifiles.py" line="253"/>
<source>Can not open last directory &apos;{0}&apos;.</source> <source>Can not open last directory &apos;{0}&apos;.</source>
<translation>Kann letztes Verzeichnis &apos;{0}&apos; nicht öffnen.</translation> <translation>Kann letztes Verzeichnis &apos;{0}&apos; nicht öffnen.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="286"/> <location filename="../revpifiles.py" line="310"/>
<source>Stop scanning for files, because we found more than {0} files.</source> <source>Stop scanning for files, because we found more than {0} files.</source>
<translation>Dateisuche wurde angehalten, da mehr als {0} Dateien gefunden wurden.</translation> <translation>Dateisuche wurde angehalten, da mehr als {0} Dateien gefunden wurden.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="330"/> <location filename="../revpifiles.py" line="354"/>
<source>Could not load path of working dir</source> <source>Could not load path of working dir</source>
<translation>Kann Arbeitsverzeichnis nicht laden</translation> <translation>Kann Arbeitsverzeichnis nicht laden</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="391"/> <location filename="../revpifiles.py" line="415"/>
<source>Can not load file list from Revolution Pi.</source> <source>Can not load file list from Revolution Pi.</source>
<translation>Kann Dateiliste vom Revolution Pi nicht laden.</translation> <translation>Kann Dateiliste vom Revolution Pi nicht laden.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="423"/> <location filename="../revpifiles.py" line="447"/>
<source>Select folder...</source> <source>Select folder...</source>
<translation>Ordner auswählen...</translation> <translation>Ordner auswählen...</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="434"/> <location filename="../revpifiles.py" line="458"/>
<source>Can not access the folder &apos;{0}&apos; to read files.</source> <source>Can not access the folder &apos;{0}&apos; to read files.</source>
<translation>Keine Berechtigung für Zugriff auf Ordner &apos;{0}&apos;.</translation> <translation>Keine Berechtigung für Zugriff auf Ordner &apos;{0}&apos;.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="535"/> <location filename="../revpifiles.py" line="559"/>
<source>Error...</source> <source>Error...</source>
<translation>Fehler...</translation> <translation>Fehler...</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="484"/> <location filename="../revpifiles.py" line="508"/>
<source>Error while download file &apos;{0}&apos;.</source> <source>Error while download file &apos;{0}&apos;.</source>
<translation>Fehler beim Herunterladen der Datei &apos;{0}&apos;.</translation> <translation>Fehler beim Herunterladen der Datei &apos;{0}&apos;.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="492"/> <location filename="../revpifiles.py" line="516"/>
<source>Override files...</source> <source>Override files...</source>
<translation>Dateien überschreiben...</translation> <translation>Dateien überschreiben...</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="492"/> <location filename="../revpifiles.py" line="516"/>
<source>One or more files does exist on your computer! Do you want to override the existingfiles? <source>One or more files does exist on your computer! Do you want to override the existingfiles?
Select &apos;Yes&apos; to override, &apos;No&apos; to download only missing files.</source> Select &apos;Yes&apos; to override, &apos;No&apos; to download only missing files.</source>
@@ -414,32 +424,32 @@ Select &apos;Yes&apos; to override, &apos;No&apos; to download only missing file
Wählen Sie &apos;Ja&apos; zum Überschreiben, &apos;Nein&apos; um nur fehlende Dateien zu laden.</translation> Wählen Sie &apos;Ja&apos; zum Überschreiben, &apos;Nein&apos; um nur fehlende Dateien zu laden.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="524"/> <location filename="../revpifiles.py" line="548"/>
<source>Delete files from Revolution Pi...</source> <source>Delete files from Revolution Pi...</source>
<translation>Dateien auf Rev Pi löschen...</translation> <translation>Dateien auf Rev Pi löschen...</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="524"/> <location filename="../revpifiles.py" line="548"/>
<source>Do you want to delete {0} files from revolution pi?</source> <source>Do you want to delete {0} files from revolution pi?</source>
<translation>Sollen {0} Dateien vom Revolution Pi gelöscht werden?</translation> <translation>Sollen {0} Dateien vom Revolution Pi gelöscht werden?</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="535"/> <location filename="../revpifiles.py" line="559"/>
<source>Error while delete file &apos;{0}&apos;.</source> <source>Error while delete file &apos;{0}&apos;.</source>
<translation>Fehler beim Löschen der Datei &apos;{0}&apos;.</translation> <translation>Fehler beim Löschen der Datei &apos;{0}&apos;.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="110"/> <location filename="../revpifiles.py" line="134"/>
<source>Information</source> <source>Information</source>
<translation>Information</translation> <translation>Information</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="110"/> <location filename="../revpifiles.py" line="134"/>
<source>A PLC program has been uploaded. Please check the PLC program settings to see if the correct program is specified as the start program.</source> <source>A PLC program has been uploaded. Please check the PLC program settings to see if the correct program is specified as the start program.</source>
<translation>Ein SPS Programm wurde hochgeladen. Bitte prüfe die SPS Programmeinstellungen ob das richtige Startprogramm gewählt ist.</translation> <translation>Ein SPS Programm wurde hochgeladen. Bitte prüfe die SPS Programmeinstellungen ob das richtige Startprogramm gewählt ist.</translation>
</message> </message>
<message> <message>
<location filename="../revpifiles.py" line="157"/> <location filename="../revpifiles.py" line="181"/>
<source>Choose a local directory first.</source> <source>Choose a local directory first.</source>
<translation>Lokales Verzeichnis wählen.</translation> <translation>Lokales Verzeichnis wählen.</translation>
</message> </message>
@@ -460,7 +470,7 @@ Wählen Sie &apos;Ja&apos; zum Überschreiben, &apos;Nein&apos; um nur fehlende
<context> <context>
<name>RevPiLogfile</name> <name>RevPiLogfile</name>
<message> <message>
<location filename="../revpilogfile.py" line="200"/> <location filename="../revpilogfile.py" line="204"/>
<source>Can not access log file on the RevPi</source> <source>Can not access log file on the RevPi</source>
<translation>Kann auf Logbuch vom RevPi nicht zugreifen</translation> <translation>Kann auf Logbuch vom RevPi nicht zugreifen</translation>
</message> </message>
@@ -1665,95 +1675,100 @@ applicable law.
<translation>&amp;Verbindungen...</translation> <translation>&amp;Verbindungen...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="156"/> <location filename="../../include/ui_dev/revpicommander.ui" line="159"/>
<source>&amp;Search Revolution Pi...</source> <source>&amp;Search Revolution Pi...</source>
<translation>&amp;Suche Revolution Pi...</translation> <translation>&amp;Suche Revolution Pi...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="159"/> <location filename="../../include/ui_dev/revpicommander.ui" line="162"/>
<source>Ctrl+F</source> <source>Ctrl+F</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="164"/> <location filename="../../include/ui_dev/revpicommander.ui" line="167"/>
<source>&amp;Quit</source> <source>&amp;Quit</source>
<translation>&amp;Beenden</translation> <translation>&amp;Beenden</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="169"/> <location filename="../../include/ui_dev/revpicommander.ui" line="172"/>
<source>Visit &amp;webpage...</source> <source>Visit &amp;webpage...</source>
<translation>&amp;Webseite besuchen...</translation> <translation>&amp;Webseite besuchen...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="174"/> <location filename="../../include/ui_dev/revpicommander.ui" line="177"/>
<source>&amp;Info...</source> <source>&amp;Info...</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="179"/> <location filename="../../include/ui_dev/revpicommander.ui" line="182"/>
<source>PLC &amp;logs...</source> <source>PLC &amp;logs...</source>
<translation>SPS &amp;Logdateien...</translation> <translation>SPS &amp;Logdateien...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="182"/> <location filename="../../include/ui_dev/revpicommander.ui" line="190"/>
<source>F3</source>
<translation></translation>
</message>
<message>
<location filename="../../include/ui_dev/revpicommander.ui" line="187"/>
<source>PLC &amp;options...</source> <source>PLC &amp;options...</source>
<translation>SPS &amp;Optionen...</translation> <translation>SPS &amp;Optionen...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="190"/> <location filename="../../include/ui_dev/revpicommander.ui" line="193"/>
<source>Ctrl+O</source> <source>Ctrl+O</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="195"/> <location filename="../../include/ui_dev/revpicommander.ui" line="198"/>
<source>PLC progra&amp;m...</source> <source>PLC progra&amp;m...</source>
<translation>SPS Progra&amp;mm...</translation> <translation>SPS Progra&amp;mm...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="198"/> <location filename="../../include/ui_dev/revpicommander.ui" line="201"/>
<source>Ctrl+P</source> <source>Ctrl+P</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="203"/> <location filename="../../include/ui_dev/revpicommander.ui" line="206"/>
<source>PLC de&amp;veloper...</source> <source>PLC de&amp;veloper...</source>
<translation>SPS Ent&amp;wickler...</translation> <translation>SPS Ent&amp;wickler...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="206"/> <location filename="../../include/ui_dev/revpicommander.ui" line="214"/>
<source>F9</source>
<translation></translation>
</message>
<message>
<location filename="../../include/ui_dev/revpicommander.ui" line="211"/>
<source>piCtory configuraiton...</source> <source>piCtory configuraiton...</source>
<translation>piCtory Konfiguration...</translation> <translation>piCtory Konfiguration...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="216"/> <location filename="../../include/ui_dev/revpicommander.ui" line="219"/>
<source>&amp;Disconnect</source> <source>&amp;Disconnect</source>
<translation>&amp;Trennen</translation> <translation>&amp;Trennen</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="219"/> <location filename="../../include/ui_dev/revpicommander.ui" line="222"/>
<source>Ctrl+X</source> <source>Ctrl+X</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="224"/> <location filename="../../include/ui_dev/revpicommander.ui" line="227"/>
<source>Reset driver...</source> <source>Reset driver...</source>
<translation>Treiber zurücksetzen...</translation> <translation>Treiber zurücksetzen...</translation>
</message> </message>
<message> <message>
<location filename="../../include/ui_dev/revpicommander.ui" line="229"/> <location filename="../../include/ui_dev/revpicommander.ui" line="232"/>
<source>RevPi si&amp;mulator...</source> <source>RevPi si&amp;mulator...</source>
<translation>RevPi Si&amp;mulator...</translation> <translation>RevPi Si&amp;mulator...</translation>
</message> </message>
<message>
<location filename="../../include/ui_dev/revpicommander.ui" line="154"/>
<source>Ctrl+N</source>
<translation></translation>
</message>
<message>
<location filename="../../include/ui_dev/revpicommander.ui" line="185"/>
<source>Ctrl+L</source>
<translation></translation>
</message>
<message>
<location filename="../../include/ui_dev/revpicommander.ui" line="209"/>
<source>Ctrl+D</source>
<translation></translation>
</message>
</context> </context>
<context> <context>
<name>win_revpilogfile</name> <name>win_revpilogfile</name>