RemoteLinux: Convert to Tr::tr

Change-Id: I1c541d392992fb37acecbb98f331e01d7b73fbc7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2022-07-15 12:20:23 +02:00
parent aabf9e4fef
commit 23d9ef1adb
44 changed files with 951 additions and 16991 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -35083,7 +35083,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No deployment action necessary. Skipping.</source> <source>No deployment action necessary. Skipping.</source>
<translation>Ingen udsendelseshandling nødvendig. Springer over.</translation> <translation>Ingen udsendelseshandling nødvendig. Springer over.</translation>
@@ -35114,7 +35114,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot deploy: %1</source> <source>Cannot deploy: %1</source>
<translation>Kan ikke udsende: %1</translation> <translation>Kan ikke udsende: %1</translation>
@@ -35133,7 +35133,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection failure: %1</source> <source>Connection failure: %1</source>
<translation>Oprettelse af forbindelse mislykkedes: %1</translation> <translation>Oprettelse af forbindelse mislykkedes: %1</translation>
@@ -35144,7 +35144,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name> <name>RemoteLinux</name>
<message> <message>
<source>Successfully uploaded package file.</source> <source>Successfully uploaded package file.</source>
<translation>Uploadede pakkefil med succes.</translation> <translation>Uploadede pakkefil med succes.</translation>
@@ -35159,11 +35159,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::CreateTarStepWidget</name> <name>RemoteLinux</name>
<message>
<source>Ignore missing files</source>
<translation>Ignorer manglende filer</translation>
</message>
<message> <message>
<source>Package modified files only</source> <source>Package modified files only</source>
<translation>Pak kun ændrede filer</translation> <translation>Pak kun ændrede filer</translation>
@@ -35178,7 +35174,7 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadService</name> <name>RemoteLinux</name>
<message> <message>
<source>SFTP initialization failed: %1</source> <source>SFTP initialization failed: %1</source>
<translation>SFTP-initialisering mislykkedes: %1</translation> <translation>SFTP-initialisering mislykkedes: %1</translation>
@@ -35217,29 +35213,15 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Upload files via SFTP</source> <source>Upload files via SFTP</source>
<translation>Upload filer via SFTP</translation> <translation>Upload filer via SFTP</translation>
</message> </message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationFactory</name>
<message>
<source>Generic Linux Device</source>
<translation>Generisk Linux-enhed</translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name>
<message> <message>
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>Autentifikationstype:</translation> <translation>Autentifikationstype:</translation>
</message> </message>
<message>
<source>Password</source>
<translation>Adgangskode</translation>
</message>
<message> <message>
<source>&amp;Key</source> <source>&amp;Key</source>
<translation>&amp;Nøgle</translation> <translation>&amp;Nøgle</translation>
@@ -35326,14 +35308,14 @@ For flere detaljer, se /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name> <name>RemoteLinux</name>
<message> <message>
<source>New Generic Linux Device Configuration Setup</source> <source>New Generic Linux Device Configuration Setup</source>
<translation>Ny generisk Linux-enhed konfigurationsopsætning</translation> <translation>Ny generisk Linux-enhed konfigurationsopsætning</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Summary</source> <source>Summary</source>
<translation>Opsummering</translation> <translation>Opsummering</translation>
@@ -35346,7 +35328,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection</source> <source>Connection</source>
<translation>Forbindelse</translation> <translation>Forbindelse</translation>
@@ -35361,7 +35343,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceTester</name> <name>RemoteLinux</name>
<message> <message>
<source>Connecting to host...</source> <source>Connecting to host...</source>
<translation>Opretter forbindelse til vært...</translation> <translation>Opretter forbindelse til vært...</translation>
@@ -35400,14 +35382,14 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericRemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Run custom remote command</source> <source>Run custom remote command</source>
<translation>Kør brugerdefineret fjern-kommando</translation> <translation>Kør brugerdefineret fjern-kommando</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::ConfigWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Incremental deployment</source> <source>Incremental deployment</source>
<translation>Trinvis udsendelse</translation> <translation>Trinvis udsendelse</translation>
@@ -35422,7 +35404,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation>Assistent side</translation> <translation>Assistent side</translation>
@@ -35465,7 +35447,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::LinuxDevice</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux</source> <source>Generic Linux</source>
<translation>Generisk Linux</translation> <translation>Generisk Linux</translation>
@@ -35476,15 +35458,11 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::PackageUploader</name> <name>RemoteLinux</name>
<message> <message>
<source>Preparing SFTP connection...</source> <source>Preparing SFTP connection...</source>
<translation>Forbereder SFTP-forbindelse...</translation> <translation>Forbereder SFTP-forbindelse...</translation>
</message> </message>
<message>
<source>Connection failed: %1</source>
<translation>Forbindelse mislykkedes: %1</translation>
</message>
<message> <message>
<source>SFTP error: %1</source> <source>SFTP error: %1</source>
<translation>SFTP-fejl: %1</translation> <translation>SFTP-fejl: %1</translation>
@@ -35503,14 +35481,14 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCheckForFreeDiskSpaceStepWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>MB</source> <source>MB</source>
<translation>MB</translation> <translation>MB</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote executable:</source> <source>Remote executable:</source>
<translation>Fjern-eksekverbar:</translation> <translation>Fjern-eksekverbar:</translation>
@@ -35533,7 +35511,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name> <name>RemoteLinux</name>
<message> <message>
<source>Error: No device</source> <source>Error: No device</source>
<translation>Fejl: ingen enhed</translation> <translation>Fejl: ingen enhed</translation>
@@ -35556,14 +35534,14 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (default)</source> <source>%1 (default)</source>
<translation>%1 (standard)</translation> <translation>%1 (standard)</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name> <name>RemoteLinux</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation>Vælg offentlig nøgle-fil</translation> <translation>Vælg offentlig nøgle-fil</translation>
@@ -35586,11 +35564,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message>
<source>Remote process failed to start.</source>
<translation>Fjern-proces kunne ikke starte.</translation>
</message>
<message> <message>
<source>Remote process crashed.</source> <source>Remote process crashed.</source>
<translation>Fjern-proces holdt op med at virke.</translation> <translation>Fjern-proces holdt op med at virke.</translation>
@@ -35619,14 +35593,14 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Check for free disk space</source> <source>Check for free disk space</source>
<translation>Tjek for ledig diskplads</translation> <translation>Tjek for ledig diskplads</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No command line given.</source> <source>No command line given.</source>
<translation>Ingen kommandolinje givet.</translation> <translation>Ingen kommandolinje givet.</translation>
@@ -35653,7 +35627,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>Clean Environment</source> <source>Clean Environment</source>
<translation>Rensmiljø</translation> <translation>Rensmiljø</translation>
@@ -35664,7 +35638,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Fetch Device Environment</source> <source>Fetch Device Environment</source>
<translation>Hent enhedsmiljø</translation> <translation>Hent enhedsmiljø</translation>
@@ -35683,7 +35657,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Executable on device:</source> <source>Executable on device:</source>
<translation>Eksekverbar enhed:</translation> <translation>Eksekverbar enhed:</translation>
@@ -35698,14 +35672,14 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name> <name>RemoteLinux</name>
<message> <message>
<source>Exit code is %1. stderr:</source> <source>Exit code is %1. stderr:</source>
<translation>Afslutningskode er %1. stderr:</translation> <translation>Afslutningskode er %1. stderr:</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::SshKeyDeployer</name> <name>RemoteLinux</name>
<message> <message>
<source>Public key error: %1</source> <source>Public key error: %1</source>
<translation>Fejl ved offentlig nøgle: %1</translation> <translation>Fejl ved offentlig nøgle: %1</translation>
@@ -35720,7 +35694,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::TarPackageCreationStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Packaging finished successfully.</source> <source>Packaging finished successfully.</source>
<translation>Pakning afsluttede med succes.</translation> <translation>Pakning afsluttede med succes.</translation>
@@ -35771,7 +35745,7 @@ Derudover testes enhedens forbindelse.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name> <name>RemoteLinux</name>
<message> <message>
<source>No tarball creation step found.</source> <source>No tarball creation step found.</source>
<translation>Intet tarball oprettelsestrin fundet.</translation> <translation>Intet tarball oprettelsestrin fundet.</translation>
@@ -45131,7 +45105,7 @@ Gemning mislykkedes.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Tr</name> <name>RemoteLinux</name>
<message> <message>
<source>Trying to kill &quot;%1&quot; on remote device...</source> <source>Trying to kill &quot;%1&quot; on remote device...</source>
<translation>Prøver at dræbe &quot;%1&quot; fjern-enhed...</translation> <translation>Prøver at dræbe &quot;%1&quot; fjern-enhed...</translation>

View File

@@ -16025,21 +16025,21 @@ Wird ein Problem gefunden, dann wird die Anwendung angehalten und kann untersuch
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name> <name>RemoteLinux</name>
<message> <message>
<source>New Generic Linux Device Configuration Setup</source> <source>New Generic Linux Device Configuration Setup</source>
<translation>Einrichtung einer neuen Gerätekonfiguration für generisches Linux</translation> <translation>Einrichtung einer neuen Gerätekonfiguration für generisches Linux</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection</source> <source>Connection</source>
<translation>Verbindung</translation> <translation>Verbindung</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name> <name>RemoteLinux</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation>Datei mit öffentlichem Schlüssel auswählen</translation> <translation>Datei mit öffentlichem Schlüssel auswählen</translation>
@@ -16062,7 +16062,7 @@ Wird ein Problem gefunden, dann wird die Anwendung angehalten und kann untersuch
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Summary</source> <source>Summary</source>
<translation>Zusammenfassung</translation> <translation>Zusammenfassung</translation>
@@ -16617,7 +16617,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No deployment action necessary. Skipping.</source> <source>No deployment action necessary. Skipping.</source>
<translation>Alle Dateien sind auf dem aktuellen Stand, es ist keine Installation erforderlich.</translation> <translation>Alle Dateien sind auf dem aktuellen Stand, es ist keine Installation erforderlich.</translation>
@@ -16648,7 +16648,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot deploy: %1</source> <source>Cannot deploy: %1</source>
<translation>Fehlschlag beim Deployment von %1</translation> <translation>Fehlschlag beim Deployment von %1</translation>
@@ -16667,7 +16667,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name> <name>RemoteLinux</name>
<message> <message>
<source>Successfully uploaded package file.</source> <source>Successfully uploaded package file.</source>
<translation>Die Paketdatei wurde hochgeladen.</translation> <translation>Die Paketdatei wurde hochgeladen.</translation>
@@ -16682,7 +16682,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadService</name> <name>RemoteLinux</name>
<message> <message>
<source>Failed to retrieve remote timestamp for file &quot;%1&quot;. Incremental deployment will not work. Error message was: %2</source> <source>Failed to retrieve remote timestamp for file &quot;%1&quot;. Incremental deployment will not work. Error message was: %2</source>
<translation>Der Zeitstempel der Datei &quot;%1&quot; konnte nicht gelesen werden. Inkrementelles Deployment wird daher nicht funktionieren. Die Fehlermeldung war: %2</translation> <translation>Der Zeitstempel der Datei &quot;%1&quot; konnte nicht gelesen werden. Inkrementelles Deployment wird daher nicht funktionieren. Die Fehlermeldung war: %2</translation>
@@ -16716,22 +16716,18 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Incremental deployment</source> <source>Incremental deployment</source>
<translation>Inkrementelles Deployment</translation> <translation>Inkrementelles Deployment</translation>
</message> </message>
<message>
<source>Ignore missing files</source>
<translation>Fehlende Dateien ignorieren</translation>
</message>
<message> <message>
<source>Upload files via SFTP</source> <source>Upload files via SFTP</source>
<translation>Dateien mittels SFTP hochladen</translation> <translation>Dateien mittels SFTP hochladen</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceTester</name> <name>RemoteLinux</name>
<message> <message>
<source>Connecting to host...</source> <source>Connecting to host...</source>
<translation>Verbinde zu Host...</translation> <translation>Verbinde zu Host...</translation>
@@ -16822,7 +16818,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::PackageUploader</name> <name>RemoteLinux</name>
<message> <message>
<source>Preparing SFTP connection...</source> <source>Preparing SFTP connection...</source>
<translation>Bereite SFTP-Verbindung vor...</translation> <translation>Bereite SFTP-Verbindung vor...</translation>
@@ -16848,7 +16844,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name> <name>RemoteLinux</name>
<message> <message>
<source>Error: No device</source> <source>Error: No device</source>
<translation>Fehler: Kein Gerät</translation> <translation>Fehler: Kein Gerät</translation>
@@ -16871,7 +16867,7 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection failure: %1</source> <source>Connection failure: %1</source>
<translation>Fehler beim Herstellen der Verbindung: %1</translation> <translation>Fehler beim Herstellen der Verbindung: %1</translation>
@@ -16880,24 +16876,17 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
<source>Installing package failed.</source> <source>Installing package failed.</source>
<translation>Die Installation des Pakets schlug fehl.</translation> <translation>Die Installation des Pakets schlug fehl.</translation>
</message> </message>
</context>
<context>
<name>RemoteLinux::SshKeyDeployer</name>
<message> <message>
<source>Public key error: %1</source> <source>Public key error: %1</source>
<translation>Fehler im öffentlich Schlüssel: %1</translation> <translation>Fehler im öffentlich Schlüssel: %1</translation>
</message> </message>
<message>
<source>Connection failed: %1</source>
<translation>Fehler beim Herstellen der Verbindung: %1</translation>
</message>
<message> <message>
<source>Key deployment failed: %1.</source> <source>Key deployment failed: %1.</source>
<translation>Das Versenden des Schlüssels schlug fehl: %1.</translation> <translation>Das Versenden des Schlüssels schlug fehl: %1.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::TarPackageCreationStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Packaging finished successfully.</source> <source>Packaging finished successfully.</source>
<translation>Paketierung erfolgreich abgeschlossen.</translation> <translation>Paketierung erfolgreich abgeschlossen.</translation>
@@ -16910,10 +16899,6 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
<source>Creating tarball...</source> <source>Creating tarball...</source>
<translation>Tarball erzeugen...</translation> <translation>Tarball erzeugen...</translation>
</message> </message>
<message>
<source>Ignore missing files</source>
<translation>Fehlende Dateien ignorieren</translation>
</message>
<message> <message>
<source>Package modified files only</source> <source>Package modified files only</source>
<translation>Nur geänderte Dateien einpacken</translation> <translation>Nur geänderte Dateien einpacken</translation>
@@ -16964,14 +16949,14 @@ Wenn falsch, wird das Zielobjekt sofort zur aktuellen Mouseposition bewegt.</tra
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (default)</source> <source>%1 (default)</source>
<translation>%1 (Vorgabe)</translation> <translation>%1 (Vorgabe)</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name> <name>RemoteLinux</name>
<message> <message>
<source>No tarball creation step found.</source> <source>No tarball creation step found.</source>
<translation>Es konnte kein passender Schritt zur Erzeugung eines Tarballs gefunden werden.</translation> <translation>Es konnte kein passender Schritt zur Erzeugung eines Tarballs gefunden werden.</translation>
@@ -17125,7 +17110,7 @@ Außer: %3
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No command line given.</source> <source>No command line given.</source>
<translation>Keine Kommandozeile angegeben.</translation> <translation>Keine Kommandozeile angegeben.</translation>
@@ -17134,10 +17119,6 @@ Außer: %3
<source>Starting remote command &quot;%1&quot;...</source> <source>Starting remote command &quot;%1&quot;...</source>
<translation>Starte entferntes Kommando &quot;%1&quot;...</translation> <translation>Starte entferntes Kommando &quot;%1&quot;...</translation>
</message> </message>
<message>
<source>Remote process failed: %1</source>
<translation>Der entfernte Prozess schlug fehl: %1</translation>
</message>
<message> <message>
<source>Remote process finished with exit code %1.</source> <source>Remote process finished with exit code %1.</source>
<translation>Der entfernte Prozess wurde beendet, Rückgabewert %1.</translation> <translation>Der entfernte Prozess wurde beendet, Rückgabewert %1.</translation>
@@ -17570,7 +17551,7 @@ Diese Präfixe werden zusätzlich zum Dateinamen beim Wechseln zwischen Header-
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation>WizardPage</translation> <translation>WizardPage</translation>
@@ -18563,7 +18544,7 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>Art der Authentifizierung:</translation> <translation>Art der Authentifizierung:</translation>
@@ -18596,10 +18577,6 @@ should a repository require SSH-authentication (see documentation on SSH and the
<source>&amp;Username:</source> <source>&amp;Username:</source>
<translation>&amp;Nutzername:</translation> <translation>&amp;Nutzername:</translation>
</message> </message>
<message>
<source>Private key file:</source>
<translation>Private Schlüsseldatei:</translation>
</message>
<message> <message>
<source>Physical Device</source> <source>Physical Device</source>
<translation>Physisches Gerät</translation> <translation>Physisches Gerät</translation>
@@ -19954,7 +19931,7 @@ gehören nicht zu den verifizierten Remotes in %3. Anderes Verzeichnis angeben?<
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message> <message>
<source>Unexpected output from remote process: &quot;%1&quot;</source> <source>Unexpected output from remote process: &quot;%1&quot;</source>
<translation>Unerwartete Ausgabe des entfernten Prozesses: &quot;%1&quot;</translation> <translation>Unerwartete Ausgabe des entfernten Prozesses: &quot;%1&quot;</translation>
@@ -19983,7 +19960,7 @@ gehören nicht zu den verifizierten Remotes in %3. Anderes Verzeichnis angeben?<
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote path to check for free space:</source> <source>Remote path to check for free space:</source>
<translation>Zu überprüfender Pfad:</translation> <translation>Zu überprüfender Pfad:</translation>
@@ -20248,7 +20225,7 @@ hinzufügen, um dem QML-Editor den wahrscheinlichen URI mitzuteilen.</translatio
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::LinuxDevice</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux</source> <source>Generic Linux</source>
<translation>Generisches Linux</translation> <translation>Generisches Linux</translation>
@@ -22966,7 +22943,7 @@ Teilnamen können verwendet werden, sofern sie eindeutig sind.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>Clean Environment</source> <source>Clean Environment</source>
<translation>Saubere Umgebung</translation> <translation>Saubere Umgebung</translation>
@@ -22977,7 +22954,7 @@ Teilnamen können verwendet werden, sofern sie eindeutig sind.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Fetch Device Environment</source> <source>Fetch Device Environment</source>
<translation>Umgebung vom Mobilgerät abfragen</translation> <translation>Umgebung vom Mobilgerät abfragen</translation>
@@ -25783,7 +25760,7 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name> <name>RemoteLinux</name>
<message> <message>
<source>Exit code is %1. stderr:</source> <source>Exit code is %1. stderr:</source>
<translation>Rückgabewert %1. Fehlerausgabe:</translation> <translation>Rückgabewert %1. Fehlerausgabe:</translation>
@@ -28108,7 +28085,7 @@ Bitte installieren Sie ein Android-SDK der API-Version %1 oder neuer.</translati
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote executable:</source> <source>Remote executable:</source>
<translation>Entfernte ausführbare Datei:</translation> <translation>Entfernte ausführbare Datei:</translation>
@@ -41564,7 +41541,7 @@ Breche ausstehende Operationen ab...
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Tr</name> <name>RemoteLinux</name>
<message> <message>
<source>Trying to kill &quot;%1&quot; on remote device...</source> <source>Trying to kill &quot;%1&quot; on remote device...</source>
<translation>Versuche &quot;%1&quot; auf anderem Gerät zu beenden...</translation> <translation>Versuche &quot;%1&quot; auf anderem Gerät zu beenden...</translation>
@@ -43395,7 +43372,7 @@ Die Dateien aus dem Quellverzeichnis des Android-Pakets werden in das Verzeichni
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Command line:</source> <source>Command line:</source>
<translation>Kommandozeile:</translation> <translation>Kommandozeile:</translation>
@@ -44651,7 +44628,7 @@ Die Dateien aus dem Quellverzeichnis des Android-Pakets werden in das Verzeichni
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Key Deployment</source> <source>Key Deployment</source>
<translation>Schlüssel-Deployment</translation> <translation>Schlüssel-Deployment</translation>
@@ -44684,7 +44661,7 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::X11ForwardingAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>X11 Forwarding</source> <source>X11 Forwarding</source>
<translation>X11-Weiterleitung</translation> <translation>X11-Weiterleitung</translation>
@@ -44695,7 +44672,7 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RsyncDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>Failed to create remote directories: %1</source> <source>Failed to create remote directories: %1</source>
<translation>Entfernte Verzeichnisse konnten nicht erstellt werden: %1</translation> <translation>Entfernte Verzeichnisse konnten nicht erstellt werden: %1</translation>
@@ -44714,7 +44691,7 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RsyncDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Flags:</source> <source>Flags:</source>
<translation>Optionen:</translation> <translation>Optionen:</translation>
@@ -49064,14 +49041,14 @@ Wenn Sie noch keinen privaten Schlüssel besitzen, können Sie hier auch einen e
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::MakeInstallStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Install root:</source> <source>Install root:</source>
<translation>Install-Root:</translation> <translation>Install-Root:</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Executable on device:</source> <source>Executable on device:</source>
<translation>Ausführbare Datei auf Mobilgerät:</translation> <translation>Ausführbare Datei auf Mobilgerät:</translation>

File diff suppressed because it is too large Load Diff

View File

@@ -8028,7 +8028,7 @@ Sigurno želiš nastaviti?</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>Vrsta autentifikacije</translation> <translation>Vrsta autentifikacije</translation>
@@ -8111,7 +8111,7 @@ Sigurno želiš nastaviti?</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation>Stranica čarobnjaka</translation> <translation>Stranica čarobnjaka</translation>
@@ -37701,318 +37701,7 @@ Saving failed.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message>
<source>No deployment action necessary. Skipping.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No device configuration set.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connecting to device &quot;%1&quot; (%2).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Could not connect to host: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Did the emulator fail to start?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Is the device connected and set up for network access?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connection error: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name>
<message>
<source>Cannot deploy: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>User requests deployment to stop; cleaning up.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy step failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy step finished.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name>
<message>
<source>Successfully uploaded package file.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Installing package to device...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Package installed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericDirectUploadService</name>
<message>
<source>Failed to retrieve remote timestamp for file &quot;%1&quot;. Incremental deployment will not work. Error message was: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unexpected stat output for remote file &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All files successfully deployed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No files need to be uploaded.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>%n file(s) need to be uploaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
<source>Local file &quot;%1&quot; does not exist.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote chmod failed for file &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericDirectUploadStep</name>
<message>
<source>Incremental deployment</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ignore missing files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Upload files via SFTP</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationFactory</name>
<message>
<source>Generic Linux Device</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name>
<message>
<source>New Generic Linux Device Configuration Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Generic Linux Device</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name>
<message>
<source>Connection</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name>
<message>
<source>Summary</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The new device configuration will now be created.
In addition, device connectivity will be tested.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage</name>
<message>
<source>Key Deployment</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>We recommend that you log into your device using public key authentication.
If your device is already set up for this, you do not have to do anything here.
Otherwise, please deploy the public key for the private key with which to connect in the future.
If you do not have a private key yet, you can also create one here.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Choose a Private Key File</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy Public Key</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Create New Key Pair</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Private key file:</source>
<translation type="unfinished">Datoteka privatnog ključa:</translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::LinuxDevice</name>
<message>
<source>Generic Linux</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy Public Key...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open Remote Shell</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error running remote shell: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error starting remote shell.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceTester</name>
<message>
<source>Connecting to host...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Checking kernel version...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>uname failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>uname failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Checking if specified ports are available...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error gathering ports: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>All specified ports are available.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The following specified ports are currently in use: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Checking whether an SFTP connection can be set up...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SFTP service available.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>sftp finished unexpectedly.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error setting up SFTP connection: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Checking whether rsync works...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to start rsync: %1
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync crashed.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync failed with exit code %1: %2
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>SFTP will be used for deployment, because rsync is not available.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deployment to this device will not work out of the box.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync is functional.
</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::PackageUploader</name>
<message>
<source>Preparing SFTP connection...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Package upload canceled.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connection failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to upload package: %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@@ -38035,7 +37724,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote process failed: %1</source> <source>Remote process failed: %1</source>
<translation>Udaljeni proces neuspjeo: %1</translation> <translation>Udaljeni proces neuspjeo: %1</translation>
@@ -38065,330 +37754,6 @@ If you do not have a private key yet, you can also create one here.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>RemoteLinux::Internal::RemoteLinuxCheckForFreeDiskSpaceStepWidget</name>
<message>
<source>MB</source>
<translation type="unfinished">MB</translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name>
<message>
<source>Check for free disk space</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeploymentStep</name>
<message>
<source>Command line:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Run custom remote command</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name>
<message>
<source>No command line given.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Starting remote command &quot;%1&quot;...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote process failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote process finished with exit code %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote command finished successfully.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name>
<message>
<source>Remote executable:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local executable:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The remote executable must be set in order to run a custom remote run configuration.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Custom Executable</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Run &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux</name>
<message>
<source>Deploy to Remote Linux Host</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name>
<message>
<source>Clean Environment</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>System Environment</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name>
<message>
<source>Fetch Device Environment</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cancel Fetch Operation</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Device Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fetching environment failed: %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name>
<message>
<source>Error: No device</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: %1</source>
<translation>Greška: %1</translation>
</message>
<message>
<source>Process exited with code %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error running &apos;env&apos;: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote stderr was: &quot;%1&quot;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Tr</name>
<message>
<source>Trying to kill &quot;%1&quot; on remote device...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote application killed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to kill remote application. Assuming it was not running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Kill current application instance</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name>
<message>
<source>Connection failure: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Installing package failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxRunConfiguration</name>
<message>
<source>Executable on device:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Remote path not set</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Executable on host:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name>
<message>
<source>Exit code is %1. stderr:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::X11ForwardingAspect</name>
<message>
<source>X11 Forwarding</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Forward to local display</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::RsyncDeployService</name>
<message>
<source>Failed to create remote directories: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync failed to start: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync crashed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>rsync failed with exit code %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::RsyncDeployStep</name>
<message>
<source>Ignore missing files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy files via rsync</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::SshKeyDeployer</name>
<message>
<source>Public key error: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Connection failed: %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Key deployment failed: %1.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::TarPackageCreationStep</name>
<message>
<source>Ignore missing files</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Package modified files only</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Creating tarball...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tarball up to date, skipping packaging.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error: tar file %1 cannot be opened (%2).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>No remote path specified for file &quot;%1&quot;, skipping.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error writing tar file &quot;%1&quot;: %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error reading file &quot;%1&quot;: %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Adding file &quot;%1&quot; to tarball...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot add file &quot;%1&quot; to tar-archive: path too long.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error writing tar file &quot;%1&quot;: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Packaging finished successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Packaging failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tarball creation not possible.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Create tarball:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Create tarball</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name>
<message>
<source>%1 (default)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name>
<message>
<source>No tarball creation step found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deploy tarball via SFTP upload</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>ResourceEditor::Internal::QrcEditor</name> <name>ResourceEditor::Internal::QrcEditor</name>
<message> <message>

View File

@@ -6110,7 +6110,7 @@ Add, modify, and remove document filters, which determine the documentation set
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Form</source> <source>Form</source>
<translation></translation> <translation></translation>
@@ -6119,10 +6119,6 @@ Add, modify, and remove document filters, which determine the documentation set
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message>
<source>Password</source>
<translation></translation>
</message>
<message> <message>
<source>&amp;Key</source> <source>&amp;Key</source>
<translation>(&amp;K)</translation> <translation>(&amp;K)</translation>
@@ -6213,7 +6209,7 @@ Add, modify, and remove document filters, which determine the documentation set
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation></translation> <translation></translation>
@@ -31438,7 +31434,7 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No deployment action necessary. Skipping.</source> <source>No deployment action necessary. Skipping.</source>
<translation></translation> <translation></translation>
@@ -31469,7 +31465,7 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot deploy: %1</source> <source>Cannot deploy: %1</source>
<translation>: %1</translation> <translation>: %1</translation>
@@ -31488,7 +31484,7 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name> <name>RemoteLinux</name>
<message> <message>
<source>Successfully uploaded package file.</source> <source>Successfully uploaded package file.</source>
<translation></translation> <translation></translation>
@@ -31503,7 +31499,7 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadService</name> <name>RemoteLinux</name>
<message> <message>
<source>SFTP initialization failed: %1</source> <source>SFTP initialization failed: %1</source>
<translation>SFTP : %1</translation> <translation>SFTP : %1</translation>
@@ -31542,22 +31538,7 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::ConfigWidget</name> <name>RemoteLinux</name>
<message>
<source>Incremental deployment</source>
<translation></translation>
</message>
<message>
<source>Ignore missing files</source>
<translation></translation>
</message>
<message>
<source>Command line:</source>
<translation>:</translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericDirectUploadStep</name>
<message> <message>
<source>Incremental deployment</source> <source>Incremental deployment</source>
<translation></translation> <translation></translation>
@@ -31572,21 +31553,14 @@ cannot be found in the path.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationFactory</name> <name>RemoteLinux</name>
<message>
<source>Generic Linux Device</source>
<translation> Linux </translation>
</message>
</context>
<context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name>
<message> <message>
<source>New Generic Linux Device Configuration Setup</source> <source>New Generic Linux Device Configuration Setup</source>
<translation> Linux </translation> <translation> Linux </translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection</source> <source>Connection</source>
<translation></translation> <translation></translation>
@@ -31595,13 +31569,9 @@ cannot be found in the path.</source>
<source>Choose a Private Key File</source> <source>Choose a Private Key File</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Generic Linux Device</source>
<translation> Linux </translation>
</message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Summary</source> <source>Summary</source>
<translation></translation> <translation></translation>
@@ -31614,7 +31584,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::LinuxDevice</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux</source> <source>Generic Linux</source>
<translation> Linux</translation> <translation> Linux</translation>
@@ -31629,7 +31599,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceTester</name> <name>RemoteLinux</name>
<message> <message>
<source>Connecting to host...</source> <source>Connecting to host...</source>
<translation>...</translation> <translation>...</translation>
@@ -31668,7 +31638,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::PackageUploader</name> <name>RemoteLinux</name>
<message> <message>
<source>Preparing SFTP connection...</source> <source>Preparing SFTP connection...</source>
<translation>SFTP ...</translation> <translation>SFTP ...</translation>
@@ -31695,7 +31665,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name> <name>RemoteLinux</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation></translation> <translation></translation>
@@ -31718,11 +31688,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxAnalyzeSupport</name> <name>RemoteLinux</name>
<message>
<source>Checking available ports...</source>
<translation>使...</translation>
</message>
<message> <message>
<source>Creating remote socket ...</source> <source>Creating remote socket ...</source>
<translation> ...</translation> <translation> ...</translation>
@@ -31739,17 +31705,9 @@ In addition, device connectivity will be tested.</source>
<source>Failure running remote process.</source> <source>Failure running remote process.</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Initial setup failed: %1</source>
<translation>: %1</translation>
</message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message>
<source>Remote process failed to start.</source>
<translation></translation>
</message>
<message> <message>
<source>Remote process crashed.</source> <source>Remote process crashed.</source>
<translation></translation> <translation></translation>
@@ -31768,10 +31726,6 @@ In addition, device connectivity will be tested.</source>
<numerusform> %n MBytes %1 MBytes </numerusform> <numerusform> %n MBytes %1 MBytes </numerusform>
</translation> </translation>
</message> </message>
<message>
<source>Remote process failed: %1</source>
<translation type="unfinished">: %1</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>The remote file system has %n megabytes of free space, going ahead.</source> <source>The remote file system has %n megabytes of free space, going ahead.</source>
<translation> <translation>
@@ -31780,14 +31734,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCheckForFreeDiskSpaceStepWidget</name> <name>RemoteLinux</name>
<message>
<source>MB</source>
<translation>MB</translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name>
<message> <message>
<source>Remote path to check for free space:</source> <source>Remote path to check for free space:</source>
<translation>:</translation> <translation>:</translation>
@@ -31806,14 +31753,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericRemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message>
<source>Run custom remote command</source>
<translation></translation>
</message>
</context>
<context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name>
<message> <message>
<source>No command line given.</source> <source>No command line given.</source>
<translation></translation> <translation></translation>
@@ -31844,7 +31784,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::LinuxDeviceDebugSupport</name> <name>RemoteLinux</name>
<message> <message>
<source>Checking available ports...</source> <source>Checking available ports...</source>
<translation>使...</translation> <translation>使...</translation>
@@ -31874,7 +31814,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>Clean Environment</source> <source>Clean Environment</source>
<translation></translation> <translation></translation>
@@ -31885,7 +31825,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Fetch Device Environment</source> <source>Fetch Device Environment</source>
<translation></translation> <translation></translation>
@@ -31904,7 +31844,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name> <name>RemoteLinux</name>
<message> <message>
<source>Error: No device</source> <source>Error: No device</source>
<translation>エラー: デバイスなし</translation> <translation>エラー: デバイスなし</translation>
@@ -31927,7 +31867,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection failure: %1</source> <source>Connection failure: %1</source>
<translation>: %1</translation> <translation>: %1</translation>
@@ -31938,7 +31878,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (on Remote Device)</source> <source>%1 (on Remote Device)</source>
<translation>%1 ()</translation> <translation>%1 ()</translation>
@@ -31950,14 +31890,14 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunConfigurationFactory</name> <name>RemoteLinux</name>
<message> <message>
<source>(on Remote Generic Linux Host)</source> <source>(on Remote Generic Linux Host)</source>
<translation>( Linux )</translation> <translation>( Linux )</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxRunConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Executable on host:</source> <source>Executable on host:</source>
<translation>:</translation> <translation>:</translation>
@@ -31974,10 +31914,6 @@ In addition, device connectivity will be tested.</source>
<source>Alternate executable on device:</source> <source>Alternate executable on device:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message>
<source>Arguments:</source>
<translation>:</translation>
</message>
<message> <message>
<source>&lt;default&gt;</source> <source>&lt;default&gt;</source>
<translation>&lt;&gt;</translation> <translation>&lt;&gt;</translation>
@@ -31996,7 +31932,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunControlFactory</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot debug: Kit has no device.</source> <source>Cannot debug: Kit has no device.</source>
<translation>デバッグエラー: キットにデバイスがありません</translation> <translation>デバッグエラー: キットにデバイスがありません</translation>
@@ -32011,44 +31947,25 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name> <name>RemoteLinux</name>
<message> <message>
<source>Exit code is %1. stderr:</source> <source>Exit code is %1. stderr:</source>
<translation> %1 :</translation> <translation> %1 :</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::SshKeyDeployer</name> <name>RemoteLinux</name>
<message> <message>
<source>Public key error: %1</source> <source>Public key error: %1</source>
<translation>: %1</translation> <translation>: %1</translation>
</message> </message>
<message>
<source>Connection failed: %1</source>
<translation>: %1</translation>
</message>
<message> <message>
<source>Key deployment failed: %1.</source> <source>Key deployment failed: %1.</source>
<translation>: %1</translation> <translation>: %1</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::CreateTarStepWidget</name> <name>RemoteLinux</name>
<message>
<source>Ignore missing files</source>
<translation></translation>
</message>
<message>
<source>Tarball creation not possible.</source>
<translation>tarball </translation>
</message>
<message>
<source>Create tarball:</source>
<translation> tarball:</translation>
</message>
</context>
<context>
<name>RemoteLinux::TarPackageCreationStep</name>
<message> <message>
<source>Packaging finished successfully.</source> <source>Packaging finished successfully.</source>
<translation></translation> <translation></translation>
@@ -32061,10 +31978,6 @@ In addition, device connectivity will be tested.</source>
<source>Creating tarball...</source> <source>Creating tarball...</source>
<translation>tarball ...</translation> <translation>tarball ...</translation>
</message> </message>
<message>
<source>Ignore missing files</source>
<translation></translation>
</message>
<message> <message>
<source>Package modified files only</source> <source>Package modified files only</source>
<translation></translation> <translation></translation>
@@ -32115,14 +32028,14 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (default)</source> <source>%1 (default)</source>
<translation>%1 ()</translation> <translation>%1 ()</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name> <name>RemoteLinux</name>
<message> <message>
<source>No tarball creation step found.</source> <source>No tarball creation step found.</source>
<translation>tarball </translation> <translation>tarball </translation>
@@ -36356,27 +36269,11 @@ Are you sure you want to continue?</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfigurationWidget</name> <name>RemoteLinux</name>
<message>
<source>Form</source>
<translation></translation>
</message>
<message>
<source>Local executable:</source>
<translation>:</translation>
</message>
<message>
<source>Remote executable:</source>
<translation>:</translation>
</message>
<message> <message>
<source>Arguments:</source> <source>Arguments:</source>
<translation>:</translation> <translation>:</translation>
</message> </message>
<message>
<source>Working directory:</source>
<translation>:</translation>
</message>
</context> </context>
<context> <context>
<name>ColorEditor</name> <name>ColorEditor</name>
@@ -37054,7 +36951,7 @@ API バージョンが %1 以上の SDK をインストールしてください
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote executable:</source> <source>Remote executable:</source>
<translation>:</translation> <translation>:</translation>
@@ -54313,13 +54210,6 @@ Stepping into the module or setting breakpoints by file and line is expected to
<translation>...</translation> <translation>...</translation>
</message> </message>
</context> </context>
<context>
<name>Python</name>
<message>
<source>Run %1</source>
<translation>%1 </translation>
</message>
</context>
<context> <context>
<name>Python</name> <name>Python</name>
<message> <message>
@@ -56065,18 +55955,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage</name> <name>RemoteLinux</name>
<message>
<source>Choose a Private Key File</source>
<translation></translation>
</message>
<message>
<source>Private key file:</source>
<translation>:</translation>
</message>
</context>
<context>
<name>RemoteLinux::MakeInstallStep</name>
<message> <message>
<source>Command:</source> <source>Command:</source>
<translation>:</translation> <translation>:</translation>
@@ -56087,7 +55966,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Command line:</source> <source>Command line:</source>
<translation>:</translation> <translation>:</translation>
@@ -56098,7 +55977,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Tr</name> <name>RemoteLinux</name>
<message> <message>
<source>Trying to kill &quot;%1&quot; on remote device...</source> <source>Trying to kill &quot;%1&quot; on remote device...</source>
<translation> &quot;%1&quot; ...</translation> <translation> &quot;%1&quot; ...</translation>
@@ -56117,22 +55996,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message>
<source>Executable on device:</source>
<translation>:</translation>
</message>
<message>
<source>Remote path not set</source>
<translation></translation>
</message>
<message>
<source>Executable on host:</source>
<translation>:</translation>
</message>
</context>
<context>
<name>RemoteLinux::X11ForwardingAspect</name>
<message> <message>
<source>X11 Forwarding</source> <source>X11 Forwarding</source>
<translation>X11 </translation> <translation>X11 </translation>
@@ -56143,7 +56007,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RsyncDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>Failed to create remote directories: %1</source> <source>Failed to create remote directories: %1</source>
<translation>: %1</translation> <translation>: %1</translation>
@@ -56162,7 +56026,7 @@ Stepping into the module or setting breakpoints by file and line is expected to
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RsyncDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Flags:</source> <source>Flags:</source>
<translation>:</translation> <translation>:</translation>

View File

@@ -18029,7 +18029,7 @@ Do you want to save the data first?</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (on Remote Device)</source> <source>%1 (on Remote Device)</source>
<translation>%1 (na zdalnym urządzeniu)</translation> <translation>%1 (na zdalnym urządzeniu)</translation>
@@ -18331,14 +18331,14 @@ Kiedy zostaje wykryty problem, aplikacja jest zatrzymywana i może zostać zdebu
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name> <name>RemoteLinux</name>
<message> <message>
<source>New Generic Linux Device Configuration Setup</source> <source>New Generic Linux Device Configuration Setup</source>
<translation>Nowa konfiguracja ogólnego urządzenia linuksowego</translation> <translation>Nowa konfiguracja ogólnego urządzenia linuksowego</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection</source> <source>Connection</source>
<translation>Połączenie</translation> <translation>Połączenie</translation>
@@ -18347,13 +18347,9 @@ Kiedy zostaje wykryty problem, aplikacja jest zatrzymywana i może zostać zdebu
<source>Choose a Private Key File</source> <source>Choose a Private Key File</source>
<translation>Wybierz plik z kluczem prywatnym</translation> <translation>Wybierz plik z kluczem prywatnym</translation>
</message> </message>
<message>
<source>Generic Linux Device</source>
<translation>Ogólne urządzenie linuksowe</translation>
</message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Summary</source> <source>Summary</source>
<translation>Podsumowanie</translation> <translation>Podsumowanie</translation>
@@ -18366,7 +18362,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name> <name>RemoteLinux</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation>Wybierz plik z kluczem publicznym</translation> <translation>Wybierz plik z kluczem publicznym</translation>
@@ -18389,7 +18385,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxRunConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Executable on host:</source> <source>Executable on host:</source>
<translation>Plik wykonywalny na hoście:</translation> <translation>Plik wykonywalny na hoście:</translation>
@@ -18428,11 +18424,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::CreateTarStepWidget</name> <name>RemoteLinux</name>
<message>
<source>Ignore missing files</source>
<translation>Ignoruj brakujące pliki</translation>
</message>
<message> <message>
<source>Package modified files only</source> <source>Package modified files only</source>
<translation>Upakuj tylko zmodyfikowane pliki</translation> <translation>Upakuj tylko zmodyfikowane pliki</translation>
@@ -18447,7 +18439,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunConfigurationFactory</name> <name>RemoteLinux</name>
<message> <message>
<source>(on Remote Generic Linux Host)</source> <source>(on Remote Generic Linux Host)</source>
<translation>(na zdalnym hoście linuksowym)</translation> <translation>(na zdalnym hoście linuksowym)</translation>
@@ -18738,7 +18730,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No deployment action necessary. Skipping.</source> <source>No deployment action necessary. Skipping.</source>
<translation>Instalacja nie jest wymagana. Zostanie pominięta.</translation> <translation>Instalacja nie jest wymagana. Zostanie pominięta.</translation>
@@ -18769,7 +18761,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot deploy: %1</source> <source>Cannot deploy: %1</source>
<translation>Nie można zainstalować: %1</translation> <translation>Nie można zainstalować: %1</translation>
@@ -18788,7 +18780,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name> <name>RemoteLinux</name>
<message> <message>
<source>Successfully uploaded package file.</source> <source>Successfully uploaded package file.</source>
<translation>Przesłano poprawnie plik pakietu.</translation> <translation>Przesłano poprawnie plik pakietu.</translation>
@@ -18803,7 +18795,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadService</name> <name>RemoteLinux</name>
<message> <message>
<source>SFTP initialization failed: %1</source> <source>SFTP initialization failed: %1</source>
<translation>Błąd inicjalizacji SFTP: %1</translation> <translation>Błąd inicjalizacji SFTP: %1</translation>
@@ -18842,7 +18834,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::ConfigWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Incremental deployment</source> <source>Incremental deployment</source>
<translation>Instalacja przyrostowa</translation> <translation>Instalacja przyrostowa</translation>
@@ -18857,21 +18849,21 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Upload files via SFTP</source> <source>Upload files via SFTP</source>
<translation>Prześlij pliki przez SFTP</translation> <translation>Prześlij pliki przez SFTP</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationFactory</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux Device</source> <source>Generic Linux Device</source>
<translation>Ogólne urządzenie linuksowe</translation> <translation>Ogólne urządzenie linuksowe</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceTester</name> <name>RemoteLinux</name>
<message> <message>
<source>Connecting to host...</source> <source>Connecting to host...</source>
<translation>Łączenie z hostem...</translation> <translation>Łączenie z hostem...</translation>
@@ -18910,15 +18902,11 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::PackageUploader</name> <name>RemoteLinux</name>
<message> <message>
<source>Preparing SFTP connection...</source> <source>Preparing SFTP connection...</source>
<translation>Przygotowywanie połączenia SFTP...</translation> <translation>Przygotowywanie połączenia SFTP...</translation>
</message> </message>
<message>
<source>Connection failed: %1</source>
<translation>Błąd połączenia: %1</translation>
</message>
<message> <message>
<source>SFTP error: %1</source> <source>SFTP error: %1</source>
<translation>Błąd SFTP: %1</translation> <translation>Błąd SFTP: %1</translation>
@@ -18937,14 +18925,14 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericRemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Run custom remote command</source> <source>Run custom remote command</source>
<translation>Uruchom własną zdalną komendę</translation> <translation>Uruchom własną zdalną komendę</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No command line given.</source> <source>No command line given.</source>
<translation>Nie podano linii komendy.</translation> <translation>Nie podano linii komendy.</translation>
@@ -18978,7 +18966,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name> <name>RemoteLinux</name>
<message> <message>
<source>Error: No device</source> <source>Error: No device</source>
<translation>Błąd: brak urządzenia</translation> <translation>Błąd: brak urządzenia</translation>
@@ -19001,7 +18989,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection failure: %1</source> <source>Connection failure: %1</source>
<translation>Błąd połączenia: %1</translation> <translation>Błąd połączenia: %1</translation>
@@ -19012,7 +19000,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::SshKeyDeployer</name> <name>RemoteLinux</name>
<message> <message>
<source>Public key error: %1</source> <source>Public key error: %1</source>
<translation>Błąd klucza publicznego: %1</translation> <translation>Błąd klucza publicznego: %1</translation>
@@ -19027,7 +19015,7 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::TarPackageCreationStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Packaging finished successfully.</source> <source>Packaging finished successfully.</source>
<translation>Pakowanie poprawnie zakończone.</translation> <translation>Pakowanie poprawnie zakończone.</translation>
@@ -19078,14 +19066,14 @@ Dodatkowo, przetestowane zostanie połączenie z urządzeniem.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (default)</source> <source>%1 (default)</source>
<translation>%1 (domyślnie)</translation> <translation>%1 (domyślnie)</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name> <name>RemoteLinux</name>
<message> <message>
<source>No tarball creation step found.</source> <source>No tarball creation step found.</source>
<translation>Brak kroku tworzenia tarballa.</translation> <translation>Brak kroku tworzenia tarballa.</translation>
@@ -20123,7 +20111,7 @@ Przedrostki te, w dodatku do nazwy bieżącego pliku, używane są do przełącz
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Form</source> <source>Form</source>
<translation>Formularz</translation> <translation>Formularz</translation>
@@ -20132,10 +20120,6 @@ Przedrostki te, w dodatku do nazwy bieżącego pliku, używane są do przełącz
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>Typ autoryzacji:</translation> <translation>Typ autoryzacji:</translation>
</message> </message>
<message>
<source>Password</source>
<translation>Hasło</translation>
</message>
<message> <message>
<source>&amp;Key</source> <source>&amp;Key</source>
<translation>&amp;Klucz</translation> <translation>&amp;Klucz</translation>
@@ -20222,7 +20206,7 @@ Przedrostki te, w dodatku do nazwy bieżącego pliku, używane są do przełącz
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation>StronaKreatora</translation> <translation>StronaKreatora</translation>
@@ -22894,7 +22878,7 @@ poinstruuje Qt Creatora o URI.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::LinuxDevice</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux</source> <source>Generic Linux</source>
<translation>Linuksowy</translation> <translation>Linuksowy</translation>
@@ -22905,11 +22889,7 @@ poinstruuje Qt Creatora o URI.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message>
<source>Remote process failed to start.</source>
<translation>Błąd uruchamiania zdalnego procesu.</translation>
</message>
<message> <message>
<source>Remote process crashed.</source> <source>Remote process crashed.</source>
<translation>Zdalny proces przerwał pracę.</translation> <translation>Zdalny proces przerwał pracę.</translation>
@@ -22940,21 +22920,21 @@ poinstruuje Qt Creatora o URI.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCheckForFreeDiskSpaceStepWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>MB</source> <source>MB</source>
<translation>MB</translation> <translation>MB</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Check for free disk space</source> <source>Check for free disk space</source>
<translation>Sprawdź ilość wolnego miejsca na dysku</translation> <translation>Sprawdź ilość wolnego miejsca na dysku</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::LinuxDeviceDebugSupport</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot debug: Local executable is not set.</source> <source>Cannot debug: Local executable is not set.</source>
<translation>Nie można debugować: brak ustawionego lokalnego pliku wykonywalnego.</translation> <translation>Nie można debugować: brak ustawionego lokalnego pliku wykonywalnego.</translation>
@@ -26866,7 +26846,7 @@ Zdalny: %4</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>Clean Environment</source> <source>Clean Environment</source>
<translation>Czyste środowisko</translation> <translation>Czyste środowisko</translation>
@@ -26877,7 +26857,7 @@ Zdalny: %4</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Fetch Device Environment</source> <source>Fetch Device Environment</source>
<translation>Pobierz środowisko urządzenia</translation> <translation>Pobierz środowisko urządzenia</translation>
@@ -28688,7 +28668,7 @@ Proszę zamknąć wszystkie instancje tej aplikacji przed uruchomieniem budowani
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name> <name>RemoteLinux</name>
<message> <message>
<source>Exit code is %1. stderr:</source> <source>Exit code is %1. stderr:</source>
<translation>Kod wyjściowy: %1. stderr:</translation> <translation>Kod wyjściowy: %1. stderr:</translation>
@@ -30480,11 +30460,7 @@ Czy kontynuować instalację?</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfigurationWidget</name> <name>RemoteLinux</name>
<message>
<source>Form</source>
<translation>Formularz</translation>
</message>
<message> <message>
<source>Local executable:</source> <source>Local executable:</source>
<translation>Lokalny plik wykonywalny:</translation> <translation>Lokalny plik wykonywalny:</translation>
@@ -30493,14 +30469,6 @@ Czy kontynuować instalację?</translation>
<source>Remote executable:</source> <source>Remote executable:</source>
<translation>Zdalny plik wykonywalny:</translation> <translation>Zdalny plik wykonywalny:</translation>
</message> </message>
<message>
<source>Arguments:</source>
<translation>Argumenty:</translation>
</message>
<message>
<source>Working directory:</source>
<translation>Katalog roboczy:</translation>
</message>
</context> </context>
<context> <context>
<name>ColorEditor</name> <name>ColorEditor</name>
@@ -33944,7 +33912,7 @@ Pliki z katalogu źródłowego pakietu Android są kopiowane do katalogu budowan
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>The remote executable must be set in order to run a custom remote run configuration.</source> <source>The remote executable must be set in order to run a custom remote run configuration.</source>
<translation>W celu uruchomienia własnej, zdalnej konfiguracji uruchamiania, należy ustawić zdalny plik wykonywalny.</translation> <translation>W celu uruchomienia własnej, zdalnej konfiguracji uruchamiania, należy ustawić zdalny plik wykonywalny.</translation>
@@ -44069,7 +44037,7 @@ Błąd: %5</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::FifoGatherer</name> <name>RemoteLinux</name>
<message> <message>
<source>Creating remote socket...</source> <source>Creating remote socket...</source>
<translation>Tworzenie zdalnych gniazd...</translation> <translation>Tworzenie zdalnych gniazd...</translation>
@@ -44080,7 +44048,7 @@ Błąd: %5</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxPerfSupport</name> <name>RemoteLinux</name>
<message> <message>
<source>FIFO for profiling data could not be created.</source> <source>FIFO for profiling data could not be created.</source>
<translation>Nie można utworzyć FIFO dla danych profilowania.</translation> <translation>Nie można utworzyć FIFO dla danych profilowania.</translation>

View File

@@ -44922,7 +44922,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No deployment action necessary. Skipping.</source> <source>No deployment action necessary. Skipping.</source>
<translation>Нет необходимости в развёртывании. Пропущено.</translation> <translation>Нет необходимости в развёртывании. Пропущено.</translation>
@@ -44953,7 +44953,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Cannot deploy: %1</source> <source>Cannot deploy: %1</source>
<translation>Невозможно развернуть: %1</translation> <translation>Невозможно развернуть: %1</translation>
@@ -44972,7 +44972,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractRemoteLinuxPackageInstaller</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection failure: %1</source> <source>Connection failure: %1</source>
<translation>Ошибка подключения: %1</translation> <translation>Ошибка подключения: %1</translation>
@@ -44983,7 +44983,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::AbstractUploadAndInstallPackageService</name> <name>RemoteLinux</name>
<message> <message>
<source>Successfully uploaded package file.</source> <source>Successfully uploaded package file.</source>
<translation>Успешно отправлен файл пакета.</translation> <translation>Успешно отправлен файл пакета.</translation>
@@ -44998,7 +44998,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadService</name> <name>RemoteLinux</name>
<message> <message>
<source>Failed to retrieve remote timestamp for file &quot;%1&quot;. Incremental deployment will not work. Error message was: %2</source> <source>Failed to retrieve remote timestamp for file &quot;%1&quot;. Incremental deployment will not work. Error message was: %2</source>
<translation>Не удалось получить временную метку внешнего файла «%1». Инкрементальное развёртывание не будет работать. Ошибка: %2</translation> <translation>Не удалось получить временную метку внешнего файла «%1». Инкрементальное развёртывание не будет работать. Ошибка: %2</translation>
@@ -45033,22 +45033,18 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericDirectUploadStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Incremental deployment</source> <source>Incremental deployment</source>
<translation>Инкрементальное развёртывание</translation> <translation>Инкрементальное развёртывание</translation>
</message> </message>
<message>
<source>Ignore missing files</source>
<translation>Игнорировать отсутствующие файлы</translation>
</message>
<message> <message>
<source>Upload files via SFTP</source> <source>Upload files via SFTP</source>
<translation>Отправить файлы через SFTP</translation> <translation>Отправить файлы через SFTP</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Authentication type:</source> <source>Authentication type:</source>
<translation>Тип авторизации:</translation> <translation>Тип авторизации:</translation>
@@ -45081,10 +45077,6 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
<source>&amp;Username:</source> <source>&amp;Username:</source>
<translation>&amp;Пользователь:</translation> <translation>&amp;Пользователь:</translation>
</message> </message>
<message>
<source>Private key file:</source>
<translation>Файл секретного ключа:</translation>
</message>
<message> <message>
<source>Physical Device</source> <source>Physical Device</source>
<translation>Физическое устройство</translation> <translation>Физическое устройство</translation>
@@ -45131,14 +45123,14 @@ For more details, see /etc/sysctl.d/10-ptrace.conf
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizard</name> <name>RemoteLinux</name>
<message> <message>
<source>New Generic Linux Device Configuration Setup</source> <source>New Generic Linux Device Configuration Setup</source>
<translation>Настройка новой конфигурации устройства на базе Linux</translation> <translation>Настройка новой конфигурации устройства на базе Linux</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardFinalPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Summary</source> <source>Summary</source>
<translation>Итог</translation> <translation>Итог</translation>
@@ -45151,7 +45143,7 @@ In addition, device connectivity will be tested.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Key Deployment</source> <source>Key Deployment</source>
<translation>Установка ключа</translation> <translation>Установка ключа</translation>
@@ -45184,14 +45176,14 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>Connection</source> <source>Connection</source>
<translation>Подключение</translation> <translation>Подключение</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::GenericLinuxDeviceTester</name> <name>RemoteLinux</name>
<message> <message>
<source>Connecting to host...</source> <source>Connecting to host...</source>
<translation>Подключение к узлу...</translation> <translation>Подключение к узлу...</translation>
@@ -45282,7 +45274,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage</name> <name>RemoteLinux</name>
<message> <message>
<source>WizardPage</source> <source>WizardPage</source>
<translation></translation> <translation></translation>
@@ -45301,7 +45293,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::LinuxDevice</name> <name>RemoteLinux</name>
<message> <message>
<source>Generic Linux</source> <source>Generic Linux</source>
<translation>Обычный Linux</translation> <translation>Обычный Linux</translation>
@@ -45328,7 +45320,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::PackageUploader</name> <name>RemoteLinux</name>
<message> <message>
<source>Preparing SFTP connection...</source> <source>Preparing SFTP connection...</source>
<translation>Подготовка подключения SFTP...</translation> <translation>Подготовка подключения SFTP...</translation>
@@ -45347,7 +45339,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote executable:</source> <source>Remote executable:</source>
<translation>Внешняя программа:</translation> <translation>Внешняя программа:</translation>
@@ -45371,7 +45363,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxEnvironmentReader</name> <name>RemoteLinux</name>
<message> <message>
<source>Error: No device</source> <source>Error: No device</source>
<translation>Ошибка: Нет устройства</translation> <translation>Ошибка: Нет устройства</translation>
@@ -45394,7 +45386,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RemoteLinuxRunConfiguration</name> <name>RemoteLinux</name>
<message> <message>
<source>Executable on device:</source> <source>Executable on device:</source>
<translation>Программа на устройстве:</translation> <translation>Программа на устройстве:</translation>
@@ -45409,7 +45401,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::RsyncDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>Failed to create remote directories: %1</source> <source>Failed to create remote directories: %1</source>
<translation>Не удалось создать внешние каталоги: %1</translation> <translation>Не удалось создать внешние каталоги: %1</translation>
@@ -45428,14 +45420,14 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel</name> <name>RemoteLinux</name>
<message> <message>
<source>%1 (default)</source> <source>%1 (default)</source>
<translation>%1 (по умолчанию)</translation> <translation>%1 (по умолчанию)</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::MakeInstallStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Command:</source> <source>Command:</source>
<translation>Команда:</translation> <translation>Команда:</translation>
@@ -45486,7 +45478,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::PublicKeyDeploymentDialog</name> <name>RemoteLinux</name>
<message> <message>
<source>Choose Public Key File</source> <source>Choose Public Key File</source>
<translation>Выбор файла открытого ключа</translation> <translation>Выбор файла открытого ключа</translation>
@@ -45509,7 +45501,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService</name> <name>RemoteLinux</name>
<message> <message>
<source>Unexpected output from remote process: &quot;%1&quot;</source> <source>Unexpected output from remote process: &quot;%1&quot;</source>
<translation>Неожиданный вывод удалённого процесса: «%1»</translation> <translation>Неожиданный вывод удалённого процесса: «%1»</translation>
@@ -45526,10 +45518,6 @@ If you do not have a private key yet, you can also create one here.</source>
<numerusform>Внешняя файловая система имеет только %n мегабайтов свободного пространства, а необходимо %1.</numerusform> <numerusform>Внешняя файловая система имеет только %n мегабайтов свободного пространства, а необходимо %1.</numerusform>
</translation> </translation>
</message> </message>
<message>
<source>Remote process failed: %1</source>
<translation>Ошибка внешнего процесса: %1</translation>
</message>
<message numerus="yes"> <message numerus="yes">
<source>The remote file system has %n megabytes of free space, going ahead.</source> <source>The remote file system has %n megabytes of free space, going ahead.</source>
<translation> <translation>
@@ -45540,7 +45528,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Remote path to check for free space:</source> <source>Remote path to check for free space:</source>
<translation>Внешний путь для проверки свободного места:</translation> <translation>Внешний путь для проверки свободного места:</translation>
@@ -45559,7 +45547,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeployService</name> <name>RemoteLinux</name>
<message> <message>
<source>No command line given.</source> <source>No command line given.</source>
<translation>Командная строка не задана.</translation> <translation>Командная строка не задана.</translation>
@@ -45582,7 +45570,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxCustomCommandDeploymentStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Command line:</source> <source>Command line:</source>
<translation>Командная строка:</translation> <translation>Командная строка:</translation>
@@ -45593,7 +45581,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>Clean Environment</source> <source>Clean Environment</source>
<translation>Чистая среда</translation> <translation>Чистая среда</translation>
@@ -45604,7 +45592,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxEnvironmentAspectWidget</name> <name>RemoteLinux</name>
<message> <message>
<source>Fetch Device Environment</source> <source>Fetch Device Environment</source>
<translation>Загрузить среду устройства</translation> <translation>Загрузить среду устройства</translation>
@@ -45631,7 +45619,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::Tr</name> <name>RemoteLinux</name>
<message> <message>
<source>Trying to kill &quot;%1&quot; on remote device...</source> <source>Trying to kill &quot;%1&quot; on remote device...</source>
<translation>Попытка уничтожить «%1» на внешнем устройстве...</translation> <translation>Попытка уничтожить «%1» на внешнем устройстве...</translation>
@@ -45650,44 +45638,36 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RemoteLinuxSignalOperation</name> <name>RemoteLinux</name>
<message> <message>
<source>Exit code is %1. stderr:</source> <source>Exit code is %1. stderr:</source>
<translation>Код завершения %1. stderr:</translation> <translation>Код завершения %1. stderr:</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::RsyncDeployStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Flags:</source> <source>Flags:</source>
<translation>Флаги:</translation> <translation>Флаги:</translation>
</message> </message>
<message>
<source>Ignore missing files:</source>
<translation>Игнорировать отсутствующие файлы:</translation>
</message>
<message> <message>
<source>Deploy files via rsync</source> <source>Deploy files via rsync</source>
<translation>Установка файлов через rsync</translation> <translation>Установка файлов через rsync</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::SshKeyDeployer</name> <name>RemoteLinux</name>
<message> <message>
<source>Public key error: %1</source> <source>Public key error: %1</source>
<translation>Ошибка открытого ключа: %1</translation> <translation>Ошибка открытого ключа: %1</translation>
</message> </message>
<message>
<source>Connection failed: %1</source>
<translation>Ошибка подключения: %1</translation>
</message>
<message> <message>
<source>Key deployment failed: %1.</source> <source>Key deployment failed: %1.</source>
<translation>Не удалось установить ключ: %1.</translation> <translation>Не удалось установить ключ: %1.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::TarPackageCreationStep</name> <name>RemoteLinux</name>
<message> <message>
<source>Packaging finished successfully.</source> <source>Packaging finished successfully.</source>
<translation>Пакет успешно создан.</translation> <translation>Пакет успешно создан.</translation>
@@ -45754,7 +45734,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::UploadAndInstallTarPackageStep</name> <name>RemoteLinux</name>
<message> <message>
<source>No tarball creation step found.</source> <source>No tarball creation step found.</source>
<translation>Не найден этап сборки тарбола.</translation> <translation>Не найден этап сборки тарбола.</translation>
@@ -45765,7 +45745,7 @@ If you do not have a private key yet, you can also create one here.</source>
</message> </message>
</context> </context>
<context> <context>
<name>RemoteLinux::X11ForwardingAspect</name> <name>RemoteLinux</name>
<message> <message>
<source>X11 Forwarding</source> <source>X11 Forwarding</source>
<translation>Проброска портов X11</translation> <translation>Проброска портов X11</translation>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -26,6 +26,7 @@
#include "abstractremotelinuxdeployservice.h" #include "abstractremotelinuxdeployservice.h"
#include "deploymenttimeinfo.h" #include "deploymenttimeinfo.h"
#include "remotelinuxtr.h"
#include <projectexplorer/deployablefile.h> #include <projectexplorer/deployablefile.h>
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
@@ -127,7 +128,7 @@ void AbstractRemoteLinuxDeployService::start()
} }
if (!isDeploymentNecessary()) { if (!isDeploymentNecessary()) {
emit progressMessage(tr("No deployment action necessary. Skipping.")); emit progressMessage(Tr::tr("No deployment action necessary. Skipping."));
emit finished(); emit finished();
return; return;
} }
@@ -150,7 +151,7 @@ void AbstractRemoteLinuxDeployService::stop()
CheckResult AbstractRemoteLinuxDeployService::isDeploymentPossible() const CheckResult AbstractRemoteLinuxDeployService::isDeploymentPossible() const
{ {
if (!deviceConfiguration()) if (!deviceConfiguration())
return CheckResult::failure(tr("No device configuration set.")); return CheckResult::failure(Tr::tr("No device configuration set."));
return CheckResult::success(); return CheckResult::success();
} }

View File

@@ -26,6 +26,7 @@
#include "abstractremotelinuxdeploystep.h" #include "abstractremotelinuxdeploystep.h"
#include "abstractremotelinuxdeployservice.h" #include "abstractremotelinuxdeployservice.h"
#include "remotelinuxtr.h"
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/kitinformation.h> #include <projectexplorer/kitinformation.h>
@@ -98,7 +99,7 @@ bool AbstractRemoteLinuxDeployStep::init()
QTC_ASSERT(d->internalInit, return false); QTC_ASSERT(d->internalInit, return false);
const CheckResult canDeploy = d->internalInit(); const CheckResult canDeploy = d->internalInit();
if (!canDeploy) { if (!canDeploy) {
emit addOutput(tr("Cannot deploy: %1").arg(canDeploy.errorMessage()), emit addOutput(Tr::tr("Cannot deploy: %1").arg(canDeploy.errorMessage()),
OutputFormat::ErrorMessage); OutputFormat::ErrorMessage);
} }
return canDeploy; return canDeploy;
@@ -131,7 +132,7 @@ void AbstractRemoteLinuxDeployStep::doCancel()
if (d->hasError) if (d->hasError)
return; return;
emit addOutput(tr("User requests deployment to stop; cleaning up."), emit addOutput(Tr::tr("User requests deployment to stop; cleaning up."),
OutputFormat::NormalMessage); OutputFormat::NormalMessage);
d->hasError = true; d->hasError = true;
d->deployService->stop(); d->deployService->stop();
@@ -158,9 +159,9 @@ void AbstractRemoteLinuxDeployStep::handleWarningMessage(const QString &message)
void AbstractRemoteLinuxDeployStep::handleFinished() void AbstractRemoteLinuxDeployStep::handleFinished()
{ {
if (d->hasError) if (d->hasError)
emit addOutput(tr("Deploy step failed."), OutputFormat::ErrorMessage); emit addOutput(Tr::tr("Deploy step failed."), OutputFormat::ErrorMessage);
else else
emit addOutput(tr("Deploy step finished."), OutputFormat::NormalMessage); emit addOutput(Tr::tr("Deploy step finished."), OutputFormat::NormalMessage);
disconnect(d->deployService, nullptr, this, nullptr); disconnect(d->deployService, nullptr, this, nullptr);
emit finished(!d->hasError); emit finished(!d->hasError);
} }

View File

@@ -28,6 +28,7 @@
#include "abstractremotelinuxdeployservice.h" #include "abstractremotelinuxdeployservice.h"
#include "abstractremotelinuxdeploystep.h" #include "abstractremotelinuxdeploystep.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
@@ -38,13 +39,10 @@
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils; using namespace Utils;
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class CustomCommandDeployService : public AbstractRemoteLinuxDeployService class CustomCommandDeployService : public AbstractRemoteLinuxDeployService
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::CustomCommandDeployService)
public: public:
CustomCommandDeployService(); CustomCommandDeployService();
@@ -72,12 +70,12 @@ CustomCommandDeployService::CustomCommandDeployService()
connect(&m_process, &QtcProcess::done, this, [this] { connect(&m_process, &QtcProcess::done, this, [this] {
if (m_process.error() != QProcess::UnknownError if (m_process.error() != QProcess::UnknownError
|| m_process.exitStatus() != QProcess::NormalExit) { || m_process.exitStatus() != QProcess::NormalExit) {
emit errorMessage(tr("Remote process failed: %1").arg(m_process.errorString())); emit errorMessage(Tr::tr("Remote process failed: %1").arg(m_process.errorString()));
} else if (m_process.exitCode() != 0) { } else if (m_process.exitCode() != 0) {
emit errorMessage(tr("Remote process finished with exit code %1.") emit errorMessage(Tr::tr("Remote process finished with exit code %1.")
.arg(m_process.exitCode())); .arg(m_process.exitCode()));
} else { } else {
emit progressMessage(tr("Remote command finished successfully.")); emit progressMessage(Tr::tr("Remote command finished successfully."));
} }
stopDeployment(); stopDeployment();
}); });
@@ -91,14 +89,14 @@ void CustomCommandDeployService::setCommandLine(const QString &commandLine)
CheckResult CustomCommandDeployService::isDeploymentPossible() const CheckResult CustomCommandDeployService::isDeploymentPossible() const
{ {
if (m_commandLine.isEmpty()) if (m_commandLine.isEmpty())
return CheckResult::failure(tr("No command line given.")); return CheckResult::failure(Tr::tr("No command line given."));
return AbstractRemoteLinuxDeployService::isDeploymentPossible(); return AbstractRemoteLinuxDeployService::isDeploymentPossible();
} }
void CustomCommandDeployService::doDeploy() void CustomCommandDeployService::doDeploy()
{ {
emit progressMessage(tr("Starting remote command \"%1\"...").arg(m_commandLine)); emit progressMessage(Tr::tr("Starting remote command \"%1\"...").arg(m_commandLine));
m_process.setCommand({deviceConfiguration()->filePath("/bin/sh"), m_process.setCommand({deviceConfiguration()->filePath("/bin/sh"),
{"-c", m_commandLine}}); {"-c", m_commandLine}});
m_process.start(); m_process.start();
@@ -112,8 +110,6 @@ void CustomCommandDeployService::stopDeployment()
class CustomCommandDeployStep : public AbstractRemoteLinuxDeployStep class CustomCommandDeployStep : public AbstractRemoteLinuxDeployStep
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::CustomCommandDeployStep)
public: public:
CustomCommandDeployStep(BuildStepList *bsl, Id id) CustomCommandDeployStep(BuildStepList *bsl, Id id)
: AbstractRemoteLinuxDeployStep(bsl, id) : AbstractRemoteLinuxDeployStep(bsl, id)
@@ -122,7 +118,7 @@ public:
auto commandLine = addAspect<StringAspect>(); auto commandLine = addAspect<StringAspect>();
commandLine->setSettingsKey("RemoteLinuxCustomCommandDeploymentStep.CommandLine"); commandLine->setSettingsKey("RemoteLinuxCustomCommandDeploymentStep.CommandLine");
commandLine->setLabelText(tr("Command line:")); commandLine->setLabelText(Tr::tr("Command line:"));
commandLine->setDisplayStyle(StringAspect::LineEditDisplay); commandLine->setDisplayStyle(StringAspect::LineEditDisplay);
commandLine->setHistoryCompleter("RemoteLinuxCustomCommandDeploymentStep.History"); commandLine->setHistoryCompleter("RemoteLinuxCustomCommandDeploymentStep.History");
@@ -141,10 +137,9 @@ public:
CustomCommandDeployStepFactory::CustomCommandDeployStepFactory() CustomCommandDeployStepFactory::CustomCommandDeployStepFactory()
{ {
registerStep<CustomCommandDeployStep>(Constants::CustomCommandDeployStepId); registerStep<CustomCommandDeployStep>(Constants::CustomCommandDeployStepId);
setDisplayName(CustomCommandDeployStep::tr("Run custom remote command")); setDisplayName(Tr::tr("Run custom remote command"));
setSupportedConfiguration(RemoteLinux::Constants::DeployToGenericLinux); setSupportedConfiguration(RemoteLinux::Constants::DeployToGenericLinux);
setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY);
} }
} // Internal } // RemoteLinux::Internal
} // RemoteLinux

View File

@@ -27,8 +27,7 @@
#include <projectexplorer/buildstep.h> #include <projectexplorer/buildstep.h>
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class CustomCommandDeployStepFactory : public ProjectExplorer::BuildStepFactory class CustomCommandDeployStepFactory : public ProjectExplorer::BuildStepFactory
{ {
@@ -36,5 +35,4 @@ public:
CustomCommandDeployStepFactory(); CustomCommandDeployStepFactory();
}; };
} // Internal } // RemoteLinux::Internal
} // RemoteLinux

View File

@@ -25,9 +25,12 @@
#include "genericdirectuploadservice.h" #include "genericdirectuploadservice.h"
#include "remotelinuxtr.h"
#include <projectexplorer/deployablefile.h> #include <projectexplorer/deployablefile.h>
#include <projectexplorer/devicesupport/filetransfer.h> #include <projectexplorer/devicesupport/filetransfer.h>
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/processinterface.h> #include <utils/processinterface.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -141,23 +144,23 @@ QDateTime GenericDirectUploadService::timestampFromStat(const DeployableFile &fi
bool succeeded = false; bool succeeded = false;
QString error; QString error;
if (statProc->error() == QProcess::FailedToStart) { if (statProc->error() == QProcess::FailedToStart) {
error = tr("Failed to start \"stat\": %1").arg(statProc->errorString()); error = Tr::tr("Failed to start \"stat\": %1").arg(statProc->errorString());
} else if (statProc->exitStatus() == QProcess::CrashExit) { } else if (statProc->exitStatus() == QProcess::CrashExit) {
error = tr("\"stat\" crashed."); error = Tr::tr("\"stat\" crashed.");
} else if (statProc->exitCode() != 0) { } else if (statProc->exitCode() != 0) {
error = tr("\"stat\" failed with exit code %1: %2") error = Tr::tr("\"stat\" failed with exit code %1: %2")
.arg(statProc->exitCode()).arg(statProc->cleanedStdErr()); .arg(statProc->exitCode()).arg(statProc->cleanedStdErr());
} else { } else {
succeeded = true; succeeded = true;
} }
if (!succeeded) { if (!succeeded) {
emit warningMessage(tr("Failed to retrieve remote timestamp for file \"%1\". " emit warningMessage(Tr::tr("Failed to retrieve remote timestamp for file \"%1\". "
"Incremental deployment will not work. Error message was: %2") "Incremental deployment will not work. Error message was: %2")
.arg(file.remoteFilePath(), error)); .arg(file.remoteFilePath(), error));
return QDateTime(); return QDateTime();
} }
const QByteArray output = statProc->readAllStandardOutput().trimmed(); const QByteArray output = statProc->readAllStandardOutput().trimmed();
const QString warningString(tr("Unexpected stat output for remote file \"%1\": %2") const QString warningString(Tr::tr("Unexpected stat output for remote file \"%1\": %2")
.arg(file.remoteFilePath()).arg(QString::fromUtf8(output))); .arg(file.remoteFilePath()).arg(QString::fromUtf8(output)));
if (!output.startsWith(file.remoteFilePath().toUtf8())) { if (!output.startsWith(file.remoteFilePath().toUtf8())) {
emit warningMessage(warningString); emit warningMessage(warningString);
@@ -188,7 +191,7 @@ void GenericDirectUploadService::checkForStateChangeOnRemoteProcFinished()
return; return;
} }
QTC_ASSERT(d->state == PostProcessing, return); QTC_ASSERT(d->state == PostProcessing, return);
emit progressMessage(tr("All files successfully deployed.")); emit progressMessage(Tr::tr("All files successfully deployed."));
setFinished(); setFinished();
handleDeploymentDone(); handleDeploymentDone();
} }
@@ -290,16 +293,16 @@ void GenericDirectUploadService::uploadFiles()
QTC_ASSERT(d->state == PreChecking, return); QTC_ASSERT(d->state == PreChecking, return);
d->state = Uploading; d->state = Uploading;
if (d->filesToUpload.empty()) { if (d->filesToUpload.empty()) {
emit progressMessage(tr("No files need to be uploaded.")); emit progressMessage(Tr::tr("No files need to be uploaded."));
setFinished(); setFinished();
handleDeploymentDone(); handleDeploymentDone();
return; return;
} }
emit progressMessage(tr("%n file(s) need to be uploaded.", "", d->filesToUpload.size())); emit progressMessage(Tr::tr("%n file(s) need to be uploaded.", "", d->filesToUpload.size()));
FilesToTransfer files; FilesToTransfer files;
for (const DeployableFile &file : qAsConst(d->filesToUpload)) { for (const DeployableFile &file : qAsConst(d->filesToUpload)) {
if (!file.localFilePath().exists()) { if (!file.localFilePath().exists()) {
const QString message = tr("Local file \"%1\" does not exist.") const QString message = Tr::tr("Local file \"%1\" does not exist.")
.arg(file.localFilePath().toUserOutput()); .arg(file.localFilePath().toUserOutput());
if (d->ignoreMissingFiles) { if (d->ignoreMissingFiles) {
emit warningMessage(message); emit warningMessage(message);
@@ -336,10 +339,10 @@ void GenericDirectUploadService::chmod()
QTC_ASSERT(file.isValid(), return); QTC_ASSERT(file.isValid(), return);
const QString error = chmodProc->errorString(); const QString error = chmodProc->errorString();
if (!error.isEmpty()) { if (!error.isEmpty()) {
emit warningMessage(tr("Remote chmod failed for file \"%1\": %2") emit warningMessage(Tr::tr("Remote chmod failed for file \"%1\": %2")
.arg(file.remoteFilePath(), error)); .arg(file.remoteFilePath(), error));
} else if (chmodProc->exitCode() != 0) { } else if (chmodProc->exitCode() != 0) {
emit warningMessage(tr("Remote chmod failed for file \"%1\": %2") emit warningMessage(Tr::tr("Remote chmod failed for file \"%1\": %2")
.arg(file.remoteFilePath(), .arg(file.remoteFilePath(),
QString::fromUtf8(chmodProc->readAllStandardError()))); QString::fromUtf8(chmodProc->readAllStandardError())));
} }

View File

@@ -27,6 +27,7 @@
#include "genericdirectuploadservice.h" #include "genericdirectuploadservice.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/deploymentdata.h> #include <projectexplorer/deploymentdata.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
@@ -47,7 +48,7 @@ GenericDirectUploadStep::GenericDirectUploadStep(BuildStepList *bsl, Utils::Id i
if (offerIncrementalDeployment) { if (offerIncrementalDeployment) {
incremental = addAspect<BoolAspect>(); incremental = addAspect<BoolAspect>();
incremental->setSettingsKey("RemoteLinux.GenericDirectUploadStep.Incremental"); incremental->setSettingsKey("RemoteLinux.GenericDirectUploadStep.Incremental");
incremental->setLabel(tr("Incremental deployment"), incremental->setLabel(Tr::tr("Incremental deployment"),
BoolAspect::LabelPlacement::AtCheckBox); BoolAspect::LabelPlacement::AtCheckBox);
incremental->setValue(true); incremental->setValue(true);
incremental->setDefaultValue(true); incremental->setDefaultValue(true);
@@ -55,7 +56,7 @@ GenericDirectUploadStep::GenericDirectUploadStep(BuildStepList *bsl, Utils::Id i
auto ignoreMissingFiles = addAspect<BoolAspect>(); auto ignoreMissingFiles = addAspect<BoolAspect>();
ignoreMissingFiles->setSettingsKey("RemoteLinux.GenericDirectUploadStep.IgnoreMissingFiles"); ignoreMissingFiles->setSettingsKey("RemoteLinux.GenericDirectUploadStep.IgnoreMissingFiles");
ignoreMissingFiles->setLabel(tr("Ignore missing files"), ignoreMissingFiles->setLabel(Tr::tr("Ignore missing files"),
BoolAspect::LabelPlacement::AtCheckBox); BoolAspect::LabelPlacement::AtCheckBox);
ignoreMissingFiles->setValue(false); ignoreMissingFiles->setValue(false);
@@ -84,7 +85,7 @@ Utils::Id GenericDirectUploadStep::stepId()
QString GenericDirectUploadStep::displayName() QString GenericDirectUploadStep::displayName()
{ {
return tr("Upload files via SFTP"); return Tr::tr("Upload files via SFTP");
} }
} //namespace RemoteLinux } //namespace RemoteLinux

View File

@@ -25,6 +25,7 @@
#include "genericlinuxdeviceconfigurationwidget.h" #include "genericlinuxdeviceconfigurationwidget.h"
#include "remotelinuxtr.h"
#include "sshkeycreationdialog.h" #include "sshkeycreationdialog.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
@@ -55,22 +56,22 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
{ {
resize(556, 309); resize(556, 309);
m_defaultAuthButton = new QRadioButton(tr("Default"), this); m_defaultAuthButton = new QRadioButton(Tr::tr("Default"), this);
m_keyButton = new QRadioButton(tr("Specific &key")); m_keyButton = new QRadioButton(Tr::tr("Specific &key"));
m_hostLineEdit = new QLineEdit(this); m_hostLineEdit = new QLineEdit(this);
m_hostLineEdit->setPlaceholderText(tr("IP or host name of the device")); m_hostLineEdit->setPlaceholderText(Tr::tr("IP or host name of the device"));
m_sshPortSpinBox = new QSpinBox(this); m_sshPortSpinBox = new QSpinBox(this);
m_sshPortSpinBox->setMinimum(0); m_sshPortSpinBox->setMinimum(0);
m_sshPortSpinBox->setMaximum(65535); m_sshPortSpinBox->setMaximum(65535);
m_sshPortSpinBox->setValue(22); m_sshPortSpinBox->setValue(22);
m_hostKeyCheckBox = new QCheckBox(tr("&Check host key")); m_hostKeyCheckBox = new QCheckBox(Tr::tr("&Check host key"));
m_portsLineEdit = new QLineEdit(this); m_portsLineEdit = new QLineEdit(this);
m_portsLineEdit->setToolTip(tr("You can enter lists and ranges like this: '1024,1026-1028,1030'.")); m_portsLineEdit->setToolTip(Tr::tr("You can enter lists and ranges like this: '1024,1026-1028,1030'."));
m_portsWarningLabel = new QLabel(this); m_portsWarningLabel = new QLabel(this);
@@ -78,22 +79,22 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
m_timeoutSpinBox->setMaximum(10000); m_timeoutSpinBox->setMaximum(10000);
m_timeoutSpinBox->setSingleStep(10); m_timeoutSpinBox->setSingleStep(10);
m_timeoutSpinBox->setValue(1000); m_timeoutSpinBox->setValue(1000);
m_timeoutSpinBox->setSuffix(tr("s")); m_timeoutSpinBox->setSuffix(Tr::tr("s"));
m_userLineEdit = new QLineEdit(this); m_userLineEdit = new QLineEdit(this);
m_keyLabel = new QLabel(tr("Private key file:")); m_keyLabel = new QLabel(Tr::tr("Private key file:"));
m_keyFileLineEdit = new Utils::PathChooser(this); m_keyFileLineEdit = new Utils::PathChooser(this);
auto createKeyButton = new QPushButton(tr("Create New...")); auto createKeyButton = new QPushButton(Tr::tr("Create New..."));
m_machineTypeValueLabel = new QLabel(this); m_machineTypeValueLabel = new QLabel(this);
m_gdbServerLineEdit = new QLineEdit(this); m_gdbServerLineEdit = new QLineEdit(this);
m_gdbServerLineEdit->setPlaceholderText(tr("Leave empty to look up executable in $PATH")); m_gdbServerLineEdit->setPlaceholderText(Tr::tr("Leave empty to look up executable in $PATH"));
auto sshPortLabel = new QLabel(tr("&SSH port:")); auto sshPortLabel = new QLabel(Tr::tr("&SSH port:"));
sshPortLabel->setBuddy(m_sshPortSpinBox); sshPortLabel->setBuddy(m_sshPortSpinBox);
using namespace Layouting; using namespace Layouting;
@@ -101,13 +102,13 @@ GenericLinuxDeviceConfigurationWidget::GenericLinuxDeviceConfigurationWidget(
const Stretch st; const Stretch st;
Form { Form {
tr("Machine type:"), m_machineTypeValueLabel, st, nl, Tr::tr("Machine type:"), m_machineTypeValueLabel, st, nl,
tr("Authentication type:"), m_defaultAuthButton, m_keyButton, st, nl, Tr::tr("Authentication type:"), m_defaultAuthButton, m_keyButton, st, nl,
tr("&Host name:"), m_hostLineEdit, sshPortLabel, m_sshPortSpinBox, m_hostKeyCheckBox, st, nl, Tr::tr("&Host name:"), m_hostLineEdit, sshPortLabel, m_sshPortSpinBox, m_hostKeyCheckBox, st, nl,
tr("Free ports:"), m_portsLineEdit, m_portsWarningLabel, tr("Timeout:"), m_timeoutSpinBox, st, nl, Tr::tr("Free ports:"), m_portsLineEdit, m_portsWarningLabel, Tr::tr("Timeout:"), m_timeoutSpinBox, st, nl,
tr("&Username:"), m_userLineEdit, st, nl, Tr::tr("&Username:"), m_userLineEdit, st, nl,
m_keyLabel, m_keyFileLineEdit, createKeyButton, st, nl, m_keyLabel, m_keyFileLineEdit, createKeyButton, st, nl,
tr("GDB server executable:"), m_gdbServerLineEdit, st, nl Tr::tr("GDB server executable:"), m_gdbServerLineEdit, st, nl
}.attachTo(this); }.attachTo(this);
connect(m_hostLineEdit, &QLineEdit::editingFinished, connect(m_hostLineEdit, &QLineEdit::editingFinished,
@@ -241,12 +242,12 @@ void GenericLinuxDeviceConfigurationWidget::updatePortsWarningLabel()
void GenericLinuxDeviceConfigurationWidget::initGui() void GenericLinuxDeviceConfigurationWidget::initGui()
{ {
if (device()->machineType() == IDevice::Hardware) if (device()->machineType() == IDevice::Hardware)
m_machineTypeValueLabel->setText(tr("Physical Device")); m_machineTypeValueLabel->setText(Tr::tr("Physical Device"));
else else
m_machineTypeValueLabel->setText(tr("Emulator")); m_machineTypeValueLabel->setText(Tr::tr("Emulator"));
m_portsWarningLabel->setPixmap(Utils::Icons::CRITICAL.pixmap()); m_portsWarningLabel->setPixmap(Utils::Icons::CRITICAL.pixmap());
m_portsWarningLabel->setToolTip(QLatin1String("<font color=\"red\">") m_portsWarningLabel->setToolTip(QLatin1String("<font color=\"red\">")
+ tr("You will need at least one port.") + QLatin1String("</font>")); + Tr::tr("You will need at least one port.") + QLatin1String("</font>"));
m_keyFileLineEdit->setExpectedKind(PathChooser::File); m_keyFileLineEdit->setExpectedKind(PathChooser::File);
m_keyFileLineEdit->setHistoryCompleter(QLatin1String("Ssh.KeyFile.History")); m_keyFileLineEdit->setHistoryCompleter(QLatin1String("Ssh.KeyFile.History"));
m_keyFileLineEdit->lineEdit()->setMinimumWidth(0); m_keyFileLineEdit->lineEdit()->setMinimumWidth(0);

View File

@@ -28,9 +28,11 @@
#include "genericlinuxdeviceconfigurationwizardpages.h" #include "genericlinuxdeviceconfigurationwizardpages.h"
#include "linuxdevice.h" #include "linuxdevice.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/devicesupport/sshparameters.h> #include <projectexplorer/devicesupport/sshparameters.h>
#include <utils/portlist.h> #include <utils/portlist.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
@@ -59,7 +61,7 @@ GenericLinuxDeviceConfigurationWizard::GenericLinuxDeviceConfigurationWizard(QWi
: Utils::Wizard(parent), : Utils::Wizard(parent),
d(new Internal::GenericLinuxDeviceConfigurationWizardPrivate(this)) d(new Internal::GenericLinuxDeviceConfigurationWizardPrivate(this))
{ {
setWindowTitle(tr("New Remote Linux Device Configuration Setup")); setWindowTitle(Tr::tr("New Remote Linux Device Configuration Setup"));
setPage(Internal::SetupPageId, &d->setupPage); setPage(Internal::SetupPageId, &d->setupPage);
setPage(Internal::KeyDeploymentPageId, &d->keyDeploymentPage); setPage(Internal::KeyDeploymentPageId, &d->keyDeploymentPage);
setPage(Internal::FinalPageId, &d->finalPage); setPage(Internal::FinalPageId, &d->finalPage);

View File

@@ -26,6 +26,7 @@
#include "genericlinuxdeviceconfigurationwizardpages.h" #include "genericlinuxdeviceconfigurationwizardpages.h"
#include "publickeydeploymentdialog.h" #include "publickeydeploymentdialog.h"
#include "remotelinuxtr.h"
#include "sshkeycreationdialog.h" #include "sshkeycreationdialog.h"
#include <projectexplorer/devicesupport/sshparameters.h> #include <projectexplorer/devicesupport/sshparameters.h>
@@ -68,8 +69,8 @@ GenericLinuxDeviceConfigurationWizardSetupPage::GenericLinuxDeviceConfigurationW
QWidget *parent) : QWidget *parent) :
QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardSetupPagePrivate) QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardSetupPagePrivate)
{ {
setTitle(tr("Connection")); setTitle(Tr::tr("Connection"));
setWindowTitle(tr("WizardPage")); setWindowTitle(Tr::tr("WizardPage"));
d->nameLineEdit = new QLineEdit(this); d->nameLineEdit = new QLineEdit(this);
d->hostNameLineEdit = new QLineEdit(this); d->hostNameLineEdit = new QLineEdit(this);
@@ -80,9 +81,9 @@ GenericLinuxDeviceConfigurationWizardSetupPage::GenericLinuxDeviceConfigurationW
const Stretch st; const Stretch st;
Form { Form {
tr("The name to identify this configuration:"), d->nameLineEdit, nl, Tr::tr("The name to identify this configuration:"), d->nameLineEdit, nl,
tr("The device's host name or IP address:"), d->hostNameLineEdit, st, nl, Tr::tr("The device's host name or IP address:"), d->hostNameLineEdit, st, nl,
tr("The username to log into the device:"), d->userNameLineEdit, st, nl Tr::tr("The username to log into the device:"), d->userNameLineEdit, st, nl
}.attachTo(this); }.attachTo(this);
setSubTitle(QLatin1String(" ")); // For Qt bug (background color) setSubTitle(QLatin1String(" ")); // For Qt bug (background color)
@@ -142,7 +143,7 @@ GenericLinuxDeviceConfigurationWizardFinalPage::GenericLinuxDeviceConfigurationW
QWidget *parent) QWidget *parent)
: QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardFinalPagePrivate) : QWizardPage(parent), d(new Internal::GenericLinuxDeviceConfigurationWizardFinalPagePrivate)
{ {
setTitle(tr("Summary")); setTitle(Tr::tr("Summary"));
setSubTitle(QLatin1String(" ")); // For Qt bug (background color) setSubTitle(QLatin1String(" ")); // For Qt bug (background color)
d->infoLabel.setWordWrap(true); d->infoLabel.setWordWrap(true);
auto const layout = new QVBoxLayout(this); auto const layout = new QVBoxLayout(this);
@@ -161,8 +162,8 @@ void GenericLinuxDeviceConfigurationWizardFinalPage::initializePage()
QString GenericLinuxDeviceConfigurationWizardFinalPage::infoText() const QString GenericLinuxDeviceConfigurationWizardFinalPage::infoText() const
{ {
return tr("The new device configuration will now be created.\n" return Tr::tr("The new device configuration will now be created.\n"
"In addition, device connectivity will be tested."); "In addition, device connectivity will be tested.");
} }
struct GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::Private struct GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::Private
@@ -181,30 +182,30 @@ struct GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::Private
GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage(QWidget *parent) GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::GenericLinuxDeviceConfigurationWizardKeyDeploymentPage(QWidget *parent)
: QWizardPage(parent), d(new Private) : QWizardPage(parent), d(new Private)
{ {
setTitle(tr("Key Deployment")); setTitle(Tr::tr("Key Deployment"));
setSubTitle(" "); setSubTitle(" ");
const QString info = tr("We recommend that you log into your device using public key " const QString info = Tr::tr("We recommend that you log into your device using public key "
"authentication.\n" "authentication.\n"
"If your device is already set up for this, you do not have to do " "If your device is already set up for this, you do not have to do "
"anything here.\n" "anything here.\n"
"Otherwise, please deploy the public key for the private key " "Otherwise, please deploy the public key for the private key "
"with which to connect in the future.\n" "with which to connect in the future.\n"
"If you do not have a private key yet, you can also " "If you do not have a private key yet, you can also "
"create one here."); "create one here.");
d->keyFileChooser.setExpectedKind(PathChooser::File); d->keyFileChooser.setExpectedKind(PathChooser::File);
d->keyFileChooser.setHistoryCompleter("Ssh.KeyFile.History"); d->keyFileChooser.setHistoryCompleter("Ssh.KeyFile.History");
d->keyFileChooser.setPromptDialogTitle(tr("Choose a Private Key File")); d->keyFileChooser.setPromptDialogTitle(Tr::tr("Choose a Private Key File"));
auto const deployButton = new QPushButton(tr("Deploy Public Key"), this); auto const deployButton = new QPushButton(Tr::tr("Deploy Public Key"), this);
connect(deployButton, &QPushButton::clicked, connect(deployButton, &QPushButton::clicked,
this, &GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::deployKey); this, &GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::deployKey);
auto const createButton = new QPushButton(tr("Create New Key Pair"), this); auto const createButton = new QPushButton(Tr::tr("Create New Key Pair"), this);
connect(createButton, &QPushButton::clicked, connect(createButton, &QPushButton::clicked,
this, &GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::createKey); this, &GenericLinuxDeviceConfigurationWizardKeyDeploymentPage::createKey);
auto const mainLayout = new QVBoxLayout(this); auto const mainLayout = new QVBoxLayout(this);
auto const keyLayout = new QHBoxLayout; auto const keyLayout = new QHBoxLayout;
auto const deployLayout = new QHBoxLayout; auto const deployLayout = new QHBoxLayout;
mainLayout->addWidget(new QLabel(info)); mainLayout->addWidget(new QLabel(info));
keyLayout->addWidget(new QLabel(tr("Private key file:"))); keyLayout->addWidget(new QLabel(Tr::tr("Private key file:")));
keyLayout->addWidget(&d->keyFileChooser); keyLayout->addWidget(&d->keyFileChooser);
keyLayout->addWidget(createButton); keyLayout->addWidget(createButton);
keyLayout->addStretch(); keyLayout->addStretch();

View File

@@ -31,8 +31,9 @@
#include "linuxprocessinterface.h" #include "linuxprocessinterface.h"
#include "publickeydeploymentdialog.h" #include "publickeydeploymentdialog.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxsignaloperation.h"
#include "remotelinuxenvironmentreader.h" #include "remotelinuxenvironmentreader.h"
#include "remotelinuxsignaloperation.h"
#include "remotelinuxtr.h"
#include "sshprocessinterface.h" #include "sshprocessinterface.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
@@ -169,15 +170,16 @@ void SshSharedConnection::connectToHost()
const FilePath sshBinary = SshSettings::sshFilePath(); const FilePath sshBinary = SshSettings::sshFilePath();
if (!sshBinary.exists()) { if (!sshBinary.exists()) {
emitError(QProcess::FailedToStart, tr("Cannot establish SSH connection: ssh binary " emitError(QProcess::FailedToStart, Tr::tr("Cannot establish SSH connection: ssh binary "
"\"%1\" does not exist.").arg(sshBinary.toUserOutput())); "\"%1\" does not exist.").arg(sshBinary.toUserOutput()));
return; return;
} }
m_masterSocketDir.reset(new QTemporaryDir); m_masterSocketDir.reset(new QTemporaryDir);
if (!m_masterSocketDir->isValid()) { if (!m_masterSocketDir->isValid()) {
emitError(QProcess::FailedToStart, tr("Cannot establish SSH connection: Failed to create temporary " emitError(QProcess::FailedToStart,
"directory for control socket: %1") Tr::tr("Cannot establish SSH connection: Failed to create temporary "
"directory for control socket: %1")
.arg(m_masterSocketDir->errorString())); .arg(m_masterSocketDir->errorString()));
m_masterSocketDir.reset(); m_masterSocketDir.reset();
return; return;
@@ -199,8 +201,8 @@ void SshSharedConnection::connectToHost()
const ProcessResult result = m_masterProcess->result(); const ProcessResult result = m_masterProcess->result();
const ProcessResultData resultData = m_masterProcess->resultData(); const ProcessResultData resultData = m_masterProcess->resultData();
if (result == ProcessResult::StartFailed) { if (result == ProcessResult::StartFailed) {
emitError(QProcess::FailedToStart, tr("Cannot establish SSH connection.\n" emitError(QProcess::FailedToStart, Tr::tr("Cannot establish SSH connection.\n"
"Control process failed to start.")); "Control process failed to start."));
return; return;
} else if (result == ProcessResult::FinishedWithError) { } else if (result == ProcessResult::FinishedWithError) {
emitError(resultData.m_error, fullProcessError()); emitError(resultData.m_error, fullProcessError());
@@ -263,7 +265,7 @@ QString SshSharedConnection::fullProcessError() const
? m_masterProcess->errorString() : QString(); ? m_masterProcess->errorString() : QString();
const QString standardError = m_masterProcess->cleanedStdErr(); const QString standardError = m_masterProcess->cleanedStdErr();
const QString errorPrefix = errorString.isEmpty() && standardError.isEmpty() const QString errorPrefix = errorString.isEmpty() && standardError.isEmpty()
? tr("SSH connection failure.") : tr("SSH connection failure:"); ? Tr::tr("SSH connection failure.") : Tr::tr("SSH connection failure:");
QStringList allErrors {errorPrefix, errorString, standardError}; QStringList allErrors {errorPrefix, errorString, standardError};
allErrors.removeAll({}); allErrors.removeAll({});
return allErrors.join('\n'); return allErrors.join('\n');
@@ -920,11 +922,11 @@ private:
LinuxDevice::LinuxDevice() LinuxDevice::LinuxDevice()
: d(new LinuxDevicePrivate(this)) : d(new LinuxDevicePrivate(this))
{ {
setDisplayType(tr("Remote Linux")); setDisplayType(Tr::tr("Remote Linux"));
setDefaultDisplayName(tr("Remote Linux Device")); setDefaultDisplayName(Tr::tr("Remote Linux Device"));
setOsType(OsTypeLinux); setOsType(OsTypeLinux);
addDeviceAction({tr("Deploy Public Key..."), [](const IDevice::Ptr &device, QWidget *parent) { addDeviceAction({Tr::tr("Deploy Public Key..."), [](const IDevice::Ptr &device, QWidget *parent) {
if (auto d = PublicKeyDeploymentDialog::createDialog(device, parent)) { if (auto d = PublicKeyDeploymentDialog::createDialog(device, parent)) {
d->exec(); d->exec();
delete d; delete d;
@@ -939,11 +941,11 @@ LinuxDevice::LinuxDevice()
const QString errorString = proc->errorString(); const QString errorString = proc->errorString();
QString message; QString message;
if (proc->error() == QProcess::FailedToStart) if (proc->error() == QProcess::FailedToStart)
message = tr("Error starting remote shell."); message = Tr::tr("Error starting remote shell.");
else if (errorString.isEmpty()) else if (errorString.isEmpty())
message = tr("Error running remote shell."); message = Tr::tr("Error running remote shell.");
else else
message = tr("Error running remote shell: %1").arg(errorString); message = Tr::tr("Error running remote shell: %1").arg(errorString);
Core::MessageManager::writeDisrupting(message); Core::MessageManager::writeDisrupting(message);
} }
proc->deleteLater(); proc->deleteLater();
@@ -957,7 +959,7 @@ LinuxDevice::LinuxDevice()
proc->start(); proc->start();
}); });
addDeviceAction({tr("Open Remote Shell"), [](const IDevice::Ptr &device, QWidget *) { addDeviceAction({Tr::tr("Open Remote Shell"), [](const IDevice::Ptr &device, QWidget *) {
device->openTerminal(Environment(), FilePath()); device->openTerminal(Environment(), FilePath());
}}); }});
} }
@@ -1399,10 +1401,10 @@ protected:
{ {
ProcessResultData resultData = m_process.resultData(); ProcessResultData resultData = m_process.resultData();
if (resultData.m_error == QProcess::FailedToStart) { if (resultData.m_error == QProcess::FailedToStart) {
resultData.m_errorString = tr("\"%1\" failed to start: %2") resultData.m_errorString = Tr::tr("\"%1\" failed to start: %2")
.arg(FileTransfer::transferMethodName(m_setup.m_method), resultData.m_errorString); .arg(FileTransfer::transferMethodName(m_setup.m_method), resultData.m_errorString);
} else if (resultData.m_exitStatus != QProcess::NormalExit) { } else if (resultData.m_exitStatus != QProcess::NormalExit) {
resultData.m_errorString = tr("\"%1\" crashed.") resultData.m_errorString = Tr::tr("\"%1\" crashed.")
.arg(FileTransfer::transferMethodName(m_setup.m_method)); .arg(FileTransfer::transferMethodName(m_setup.m_method));
} else if (resultData.m_exitCode != 0) { } else if (resultData.m_exitCode != 0) {
resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllStandardError()); resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllStandardError());
@@ -1499,14 +1501,14 @@ private:
{ {
const FilePath sftpBinary = SshSettings::sftpFilePath(); const FilePath sftpBinary = SshSettings::sftpFilePath();
if (!sftpBinary.exists()) { if (!sftpBinary.exists()) {
startFailed(SshTransferInterface::tr("\"sftp\" binary \"%1\" does not exist.") startFailed(Tr::tr("\"sftp\" binary \"%1\" does not exist.")
.arg(sftpBinary.toUserOutput())); .arg(sftpBinary.toUserOutput()));
return; return;
} }
m_batchFile.reset(new QTemporaryFile(this)); m_batchFile.reset(new QTemporaryFile(this));
if (!m_batchFile->isOpen() && !m_batchFile->open()) { if (!m_batchFile->isOpen() && !m_batchFile->open()) {
startFailed(SshTransferInterface::tr("Could not create temporary file: %1") startFailed(Tr::tr("Could not create temporary file: %1")
.arg(m_batchFile->errorString())); .arg(m_batchFile->errorString()));
return; return;
} }
@@ -1518,7 +1520,7 @@ private:
+ '\n'); + '\n');
} else if (direction() == FileTransferDirection::Download) { } else if (direction() == FileTransferDirection::Download) {
if (!QDir::root().mkpath(dir.path())) { if (!QDir::root().mkpath(dir.path())) {
startFailed(SshTransferInterface::tr("Failed to create local directory \"%1\".") startFailed(Tr::tr("Failed to create local directory \"%1\".")
.arg(QDir::toNativeSeparators(dir.path()))); .arg(QDir::toNativeSeparators(dir.path())));
return; return;
} }
@@ -1662,7 +1664,7 @@ namespace Internal {
LinuxDeviceFactory::LinuxDeviceFactory() LinuxDeviceFactory::LinuxDeviceFactory()
: IDeviceFactory(Constants::GenericLinuxOsType) : IDeviceFactory(Constants::GenericLinuxOsType)
{ {
setDisplayName(LinuxDevice::tr("Remote Linux Device")); setDisplayName(Tr::tr("Remote Linux Device"));
setIcon(QIcon()); setIcon(QIcon());
setConstructionFunction(&LinuxDevice::create); setConstructionFunction(&LinuxDevice::create);
setCreator([] { setCreator([] {

View File

@@ -34,8 +34,6 @@ namespace RemoteLinux {
class REMOTELINUX_EXPORT LinuxDevice : public ProjectExplorer::IDevice class REMOTELINUX_EXPORT LinuxDevice : public ProjectExplorer::IDevice
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::LinuxDevice)
public: public:
using Ptr = QSharedPointer<LinuxDevice>; using Ptr = QSharedPointer<LinuxDevice>;
using ConstPtr = QSharedPointer<const LinuxDevice>; using ConstPtr = QSharedPointer<const LinuxDevice>;

View File

@@ -26,9 +26,11 @@
#include "linuxdevicetester.h" #include "linuxdevicetester.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/deviceusedportsgatherer.h> #include <projectexplorer/devicesupport/deviceusedportsgatherer.h>
#include <projectexplorer/devicesupport/filetransfer.h> #include <projectexplorer/devicesupport/filetransfer.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/port.h> #include <utils/port.h>
#include <utils/processinterface.h> #include <utils/processinterface.h>
@@ -164,7 +166,7 @@ static const char s_echoContents[] = "Hello Remote World!";
void GenericLinuxDeviceTester::testEcho() void GenericLinuxDeviceTester::testEcho()
{ {
d->state = TestingEcho; d->state = TestingEcho;
emit progressMessage(tr("Sending echo to device...")); emit progressMessage(Tr::tr("Sending echo to device..."));
d->echoProcess.setCommand({d->device->filePath("echo"), {s_echoContents}}); d->echoProcess.setCommand({d->device->filePath("echo"), {s_echoContents}});
d->echoProcess.start(); d->echoProcess.start();
@@ -176,18 +178,18 @@ void GenericLinuxDeviceTester::handleEchoDone()
if (d->echoProcess.result() != ProcessResult::FinishedWithSuccess) { if (d->echoProcess.result() != ProcessResult::FinishedWithSuccess) {
const QByteArray stdErrOutput = d->echoProcess.readAllStandardError(); const QByteArray stdErrOutput = d->echoProcess.readAllStandardError();
if (!stdErrOutput.isEmpty()) if (!stdErrOutput.isEmpty())
emit errorMessage(tr("echo failed: %1").arg(QString::fromUtf8(stdErrOutput)) + '\n'); emit errorMessage(Tr::tr("echo failed: %1").arg(QString::fromUtf8(stdErrOutput)) + '\n');
else else
emit errorMessage(tr("echo failed.") + '\n'); emit errorMessage(Tr::tr("echo failed.") + '\n');
setFinished(TestFailure); setFinished(TestFailure);
return; return;
} }
const QString reply = d->echoProcess.cleanedStdOut().chopped(1); // Remove trailing \n const QString reply = d->echoProcess.cleanedStdOut().chopped(1); // Remove trailing \n
if (reply != s_echoContents) if (reply != s_echoContents)
emit errorMessage(tr("Device replied to echo with unexpected contents.") + '\n'); emit errorMessage(Tr::tr("Device replied to echo with unexpected contents.") + '\n');
else else
emit progressMessage(tr("Device replied to echo with expected contents.") + '\n'); emit progressMessage(Tr::tr("Device replied to echo with expected contents.") + '\n');
testUname(); testUname();
} }
@@ -195,7 +197,7 @@ void GenericLinuxDeviceTester::handleEchoDone()
void GenericLinuxDeviceTester::testUname() void GenericLinuxDeviceTester::testUname()
{ {
d->state = TestingUname; d->state = TestingUname;
emit progressMessage(tr("Checking kernel version...")); emit progressMessage(Tr::tr("Checking kernel version..."));
d->unameProcess.setCommand({d->device->filePath("uname"), {"-rsm"}}); d->unameProcess.setCommand({d->device->filePath("uname"), {"-rsm"}});
d->unameProcess.start(); d->unameProcess.start();
@@ -208,9 +210,9 @@ void GenericLinuxDeviceTester::handleUnameDone()
if (!d->unameProcess.errorString().isEmpty() || d->unameProcess.exitCode() != 0) { if (!d->unameProcess.errorString().isEmpty() || d->unameProcess.exitCode() != 0) {
const QByteArray stderrOutput = d->unameProcess.readAllStandardError(); const QByteArray stderrOutput = d->unameProcess.readAllStandardError();
if (!stderrOutput.isEmpty()) if (!stderrOutput.isEmpty())
emit errorMessage(tr("uname failed: %1").arg(QString::fromUtf8(stderrOutput)) + QLatin1Char('\n')); emit errorMessage(Tr::tr("uname failed: %1").arg(QString::fromUtf8(stderrOutput)) + QLatin1Char('\n'));
else else
emit errorMessage(tr("uname failed.") + QLatin1Char('\n')); emit errorMessage(Tr::tr("uname failed.") + QLatin1Char('\n'));
} else { } else {
emit progressMessage(QString::fromUtf8(d->unameProcess.readAllStandardOutput())); emit progressMessage(QString::fromUtf8(d->unameProcess.readAllStandardOutput()));
} }
@@ -221,7 +223,7 @@ void GenericLinuxDeviceTester::handleUnameDone()
void GenericLinuxDeviceTester::testPortsGatherer() void GenericLinuxDeviceTester::testPortsGatherer()
{ {
d->state = TestingPorts; d->state = TestingPorts;
emit progressMessage(tr("Checking if specified ports are available...")); emit progressMessage(Tr::tr("Checking if specified ports are available..."));
d->portsGatherer.start(d->device); d->portsGatherer.start(d->device);
} }
@@ -230,7 +232,7 @@ void GenericLinuxDeviceTester::handlePortsGathererError(const QString &message)
{ {
QTC_ASSERT(d->state == TestingPorts, return); QTC_ASSERT(d->state == TestingPorts, return);
emit errorMessage(tr("Error gathering ports: %1").arg(message) + QLatin1Char('\n')); emit errorMessage(Tr::tr("Error gathering ports: %1").arg(message) + QLatin1Char('\n'));
setFinished(TestFailure); setFinished(TestFailure);
} }
@@ -239,12 +241,12 @@ void GenericLinuxDeviceTester::handlePortsGathererDone()
QTC_ASSERT(d->state == TestingPorts, return); QTC_ASSERT(d->state == TestingPorts, return);
if (d->portsGatherer.usedPorts().isEmpty()) { if (d->portsGatherer.usedPorts().isEmpty()) {
emit progressMessage(tr("All specified ports are available.") + QLatin1Char('\n')); emit progressMessage(Tr::tr("All specified ports are available.") + QLatin1Char('\n'));
} else { } else {
const QString portList = transform(d->portsGatherer.usedPorts(), [](const Port &port) { const QString portList = transform(d->portsGatherer.usedPorts(), [](const Port &port) {
return QString::number(port.number()); return QString::number(port.number());
}).join(", "); }).join(", ");
emit errorMessage(tr("The following specified ports are currently in use: %1") emit errorMessage(Tr::tr("The following specified ports are currently in use: %1")
.arg(portList) + QLatin1Char('\n')); .arg(portList) + QLatin1Char('\n'));
} }
@@ -257,7 +259,7 @@ void GenericLinuxDeviceTester::testFileTransfer(FileTransferMethod method)
case FileTransferMethod::Sftp: d->state = TestingSftp; break; case FileTransferMethod::Sftp: d->state = TestingSftp; break;
case FileTransferMethod::Rsync: d->state = TestingRsync; break; case FileTransferMethod::Rsync: d->state = TestingRsync; break;
} }
emit progressMessage(tr("Checking whether \"%1\" works...") emit progressMessage(Tr::tr("Checking whether \"%1\" works...")
.arg(FileTransfer::transferMethodName(method))); .arg(FileTransfer::transferMethodName(method)));
d->fileTransfer.setTransferMethod(method); d->fileTransfer.setTransferMethod(method);
@@ -272,18 +274,18 @@ void GenericLinuxDeviceTester::handleFileTransferDone(const ProcessResultData &r
QString error; QString error;
const QString methodName = FileTransfer::transferMethodName(d->fileTransfer.transferMethod()); const QString methodName = FileTransfer::transferMethodName(d->fileTransfer.transferMethod());
if (resultData.m_error == QProcess::FailedToStart) { if (resultData.m_error == QProcess::FailedToStart) {
error = tr("Failed to start \"%1\": %2\n").arg(methodName, resultData.m_errorString); error = Tr::tr("Failed to start \"%1\": %2\n").arg(methodName, resultData.m_errorString);
} else if (resultData.m_exitStatus == QProcess::CrashExit) { } else if (resultData.m_exitStatus == QProcess::CrashExit) {
error = tr("\"%1\" crashed.\n").arg(methodName); error = Tr::tr("\"%1\" crashed.\n").arg(methodName);
} else if (resultData.m_exitCode != 0) { } else if (resultData.m_exitCode != 0) {
error = tr("\"%1\" failed with exit code %2: %3\n") error = Tr::tr("\"%1\" failed with exit code %2: %3\n")
.arg(methodName).arg(resultData.m_exitCode).arg(resultData.m_errorString); .arg(methodName).arg(resultData.m_exitCode).arg(resultData.m_errorString);
} else { } else {
succeeded = true; succeeded = true;
} }
if (succeeded) if (succeeded)
emit progressMessage(tr("\"%1\" is functional.\n").arg(methodName)); emit progressMessage(Tr::tr("\"%1\" is functional.\n").arg(methodName));
else else
emit errorMessage(error); emit errorMessage(error);
@@ -293,10 +295,10 @@ void GenericLinuxDeviceTester::handleFileTransferDone(const ProcessResultData &r
} else { } else {
if (!succeeded) { if (!succeeded) {
if (d->sftpWorks) { if (d->sftpWorks) {
emit progressMessage(tr("SFTP will be used for deployment, because rsync " emit progressMessage(Tr::tr("SFTP will be used for deployment, because rsync "
"is not available.\n")); "is not available.\n"));
} else { } else {
emit errorMessage(tr("Deployment to this device will not work out of the box.\n")); emit errorMessage(Tr::tr("Deployment to this device will not work out of the box.\n"));
} }
} }
d->device->setExtraData(Constants::SupportsRSync, succeeded); d->device->setExtraData(Constants::SupportsRSync, succeeded);
@@ -310,7 +312,7 @@ void GenericLinuxDeviceTester::handleFileTransferDone(const ProcessResultData &r
void GenericLinuxDeviceTester::testCommands() void GenericLinuxDeviceTester::testCommands()
{ {
d->state = TestingCommands; d->state = TestingCommands;
emit progressMessage(tr("Checking if required commands are available...")); emit progressMessage(Tr::tr("Checking if required commands are available..."));
d->currentCommandIndex = 0; d->currentCommandIndex = 0;
d->commandFailed = false; d->commandFailed = false;
@@ -326,7 +328,7 @@ void GenericLinuxDeviceTester::testNextCommand()
} }
const QString commandName = s_commandsToTest[d->currentCommandIndex]; const QString commandName = s_commandsToTest[d->currentCommandIndex];
emit progressMessage(tr("%1...").arg(commandName)); emit progressMessage(Tr::tr("%1...").arg(commandName));
CommandLine command{d->device->filePath("/bin/sh"), {"-c"}}; CommandLine command{d->device->filePath("/bin/sh"), {"-c"}};
command.addArgs(QLatin1String("\"command -v %1\"").arg(commandName), CommandLine::Raw); command.addArgs(QLatin1String("\"command -v %1\"").arg(commandName), CommandLine::Raw);
d->commandsProcess.setCommand(command); d->commandsProcess.setCommand(command);
@@ -339,13 +341,13 @@ void GenericLinuxDeviceTester::handleCommandDone()
const QString command = s_commandsToTest[d->currentCommandIndex]; const QString command = s_commandsToTest[d->currentCommandIndex];
if (d->commandsProcess.result() == ProcessResult::FinishedWithSuccess) { if (d->commandsProcess.result() == ProcessResult::FinishedWithSuccess) {
emit progressMessage(tr("%1 found.").arg(command)); emit progressMessage(Tr::tr("%1 found.").arg(command));
} else { } else {
d->commandFailed = true; d->commandFailed = true;
const QString message = d->commandsProcess.result() == ProcessResult::StartFailed const QString message = d->commandsProcess.result() == ProcessResult::StartFailed
? tr("An error occurred while checking for %1.").arg(command) ? Tr::tr("An error occurred while checking for %1.").arg(command)
+ '\n' + d->commandsProcess.errorString() + '\n' + d->commandsProcess.errorString()
: tr("%1 not found.").arg(command); : Tr::tr("%1 not found.").arg(command);
emit errorMessage(message); emit errorMessage(message);
} }

View File

@@ -26,6 +26,7 @@
#include "makeinstallstep.h" #include "makeinstallstep.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildsteplist.h> #include <projectexplorer/buildsteplist.h>
@@ -88,7 +89,7 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent
makeAspect->setId(MakeAspectId); makeAspect->setId(MakeAspectId);
makeAspect->setSettingsKey(MakeAspectId); makeAspect->setSettingsKey(MakeAspectId);
makeAspect->setDisplayStyle(StringAspect::PathChooserDisplay); makeAspect->setDisplayStyle(StringAspect::PathChooserDisplay);
makeAspect->setLabelText(tr("Command:")); makeAspect->setLabelText(Tr::tr("Command:"));
connect(makeAspect, &ExecutableAspect::changed, connect(makeAspect, &ExecutableAspect::changed,
this, &MakeInstallStep::updateCommandFromAspect); this, &MakeInstallStep::updateCommandFromAspect);
@@ -97,7 +98,7 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent
installRootAspect->setSettingsKey(InstallRootAspectId); installRootAspect->setSettingsKey(InstallRootAspectId);
installRootAspect->setDisplayStyle(StringAspect::PathChooserDisplay); installRootAspect->setDisplayStyle(StringAspect::PathChooserDisplay);
installRootAspect->setExpectedKind(PathChooser::Directory); installRootAspect->setExpectedKind(PathChooser::Directory);
installRootAspect->setLabelText(tr("Install root:")); installRootAspect->setLabelText(Tr::tr("Install root:"));
installRootAspect->setFilePath(rootPath); installRootAspect->setFilePath(rootPath);
connect(installRootAspect, &StringAspect::changed, connect(installRootAspect, &StringAspect::changed,
this, &MakeInstallStep::updateArgsFromAspect); this, &MakeInstallStep::updateArgsFromAspect);
@@ -105,22 +106,22 @@ MakeInstallStep::MakeInstallStep(BuildStepList *parent, Id id) : MakeStep(parent
const auto cleanInstallRootAspect = addAspect<BoolAspect>(); const auto cleanInstallRootAspect = addAspect<BoolAspect>();
cleanInstallRootAspect->setId(CleanInstallRootAspectId); cleanInstallRootAspect->setId(CleanInstallRootAspectId);
cleanInstallRootAspect->setSettingsKey(CleanInstallRootAspectId); cleanInstallRootAspect->setSettingsKey(CleanInstallRootAspectId);
cleanInstallRootAspect->setLabel(tr("Clean install root first:"), cleanInstallRootAspect->setLabel(Tr::tr("Clean install root first:"),
BoolAspect::LabelPlacement::InExtraLabel); BoolAspect::LabelPlacement::InExtraLabel);
cleanInstallRootAspect->setValue(true); cleanInstallRootAspect->setValue(true);
const auto commandLineAspect = addAspect<StringAspect>(); const auto commandLineAspect = addAspect<StringAspect>();
commandLineAspect->setId(FullCommandLineAspectId); commandLineAspect->setId(FullCommandLineAspectId);
commandLineAspect->setDisplayStyle(StringAspect::LabelDisplay); commandLineAspect->setDisplayStyle(StringAspect::LabelDisplay);
commandLineAspect->setLabelText(tr("Full command line:")); commandLineAspect->setLabelText(Tr::tr("Full command line:"));
const auto customCommandLineAspect = addAspect<StringAspect>(); const auto customCommandLineAspect = addAspect<StringAspect>();
customCommandLineAspect->setId(CustomCommandLineAspectId); customCommandLineAspect->setId(CustomCommandLineAspectId);
customCommandLineAspect->setSettingsKey(CustomCommandLineAspectId); customCommandLineAspect->setSettingsKey(CustomCommandLineAspectId);
customCommandLineAspect->setDisplayStyle(StringAspect::LineEditDisplay); customCommandLineAspect->setDisplayStyle(StringAspect::LineEditDisplay);
customCommandLineAspect->setLabelText(tr("Custom command line:")); customCommandLineAspect->setLabelText(Tr::tr("Custom command line:"));
customCommandLineAspect->makeCheckable(StringAspect::CheckBoxPlacement::Top, customCommandLineAspect->makeCheckable(StringAspect::CheckBoxPlacement::Top,
tr("Use custom command line instead:"), Tr::tr("Use custom command line instead:"),
"RemoteLinux.MakeInstall.EnableCustomCommandLine"); "RemoteLinux.MakeInstall.EnableCustomCommandLine");
const auto updateCommand = [this] { const auto updateCommand = [this] {
updateCommandFromAspect(); updateCommandFromAspect();
@@ -146,7 +147,7 @@ Utils::Id MakeInstallStep::stepId()
QString MakeInstallStep::displayName() QString MakeInstallStep::displayName()
{ {
return tr("Install into temporary host directory"); return Tr::tr("Install into temporary host directory");
} }
QWidget *MakeInstallStep::createConfigWidget() QWidget *MakeInstallStep::createConfigWidget()
@@ -162,24 +163,24 @@ bool MakeInstallStep::init()
const FilePath rootDir = installRoot().onDevice(makeCommand()); const FilePath rootDir = installRoot().onDevice(makeCommand());
if (rootDir.isEmpty()) { if (rootDir.isEmpty()) {
emit addTask(BuildSystemTask(Task::Error, tr("You must provide an install root."))); emit addTask(BuildSystemTask(Task::Error, Tr::tr("You must provide an install root.")));
return false; return false;
} }
if (cleanInstallRoot() && !rootDir.removeRecursively()) { if (cleanInstallRoot() && !rootDir.removeRecursively()) {
emit addTask(BuildSystemTask(Task::Error, emit addTask(BuildSystemTask(Task::Error,
tr("The install root \"%1\" could not be cleaned.") Tr::tr("The install root \"%1\" could not be cleaned.")
.arg(rootDir.displayName()))); .arg(rootDir.displayName())));
return false; return false;
} }
if (!rootDir.exists() && !rootDir.createDir()) { if (!rootDir.exists() && !rootDir.createDir()) {
emit addTask(BuildSystemTask(Task::Error, emit addTask(BuildSystemTask(Task::Error,
tr("The install root \"%1\" could not be created.") Tr::tr("The install root \"%1\" could not be created.")
.arg(rootDir.displayName()))); .arg(rootDir.displayName())));
return false; return false;
} }
if (this == deployConfiguration()->stepList()->steps().last()) { if (this == deployConfiguration()->stepList()->steps().last()) {
emit addTask(BuildSystemTask(Task::Warning, emit addTask(BuildSystemTask(Task::Warning,
tr("The \"make install\" step should probably not be " Tr::tr("The \"make install\" step should probably not be "
"last in the list of deploy steps. " "last in the list of deploy steps. "
"Consider moving it up."))); "Consider moving it up.")));
} }
@@ -241,7 +242,7 @@ void MakeInstallStep::finish(bool success)
buildSystem()->setDeploymentData(m_deploymentData); buildSystem()->setDeploymentData(m_deploymentData);
} else if (m_noInstallTarget && m_isCmakeProject) { } else if (m_noInstallTarget && m_isCmakeProject) {
emit addTask(DeploymentTask(Task::Warning, tr("You need to add an install statement " emit addTask(DeploymentTask(Task::Warning, Tr::tr("You need to add an install statement "
"to your CMakeLists.txt file for deployment to work."))); "to your CMakeLists.txt file for deployment to work.")));
} }
MakeStep::finish(success); MakeStep::finish(success);

View File

@@ -25,10 +25,13 @@
#include "publickeydeploymentdialog.h" #include "publickeydeploymentdialog.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/devicesupport/sshparameters.h> #include <projectexplorer/devicesupport/sshparameters.h>
#include <projectexplorer/devicesupport/sshsettings.h> #include <projectexplorer/devicesupport/sshsettings.h>
#include <utils/fileutils.h>
#include <utils/filepath.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>
@@ -53,8 +56,8 @@ PublicKeyDeploymentDialog *PublicKeyDeploymentDialog::createDialog(
{ {
const FilePath dir = deviceConfig->sshParameters().privateKeyFile.parentDir(); const FilePath dir = deviceConfig->sshParameters().privateKeyFile.parentDir();
const FilePath publicKeyFileName = FileUtils::getOpenFilePath(nullptr, const FilePath publicKeyFileName = FileUtils::getOpenFilePath(nullptr,
tr("Choose Public Key File"), dir, Tr::tr("Choose Public Key File"), dir,
tr("Public Key Files (*.pub);;All Files (*)")); Tr::tr("Public Key Files (*.pub);;All Files (*)"));
if (publicKeyFileName.isEmpty()) if (publicKeyFileName.isEmpty())
return nullptr; return nullptr;
return new PublicKeyDeploymentDialog(deviceConfig, publicKeyFileName, parent); return new PublicKeyDeploymentDialog(deviceConfig, publicKeyFileName, parent);
@@ -70,7 +73,7 @@ PublicKeyDeploymentDialog::PublicKeyDeploymentDialog(const IDevice::ConstPtr &de
setMaximum(1); setMaximum(1);
d->m_done = false; d->m_done = false;
setLabelText(tr("Deploying...")); setLabelText(Tr::tr("Deploying..."));
setValue(0); setValue(0);
connect(this, &PublicKeyDeploymentDialog::canceled, this, connect(this, &PublicKeyDeploymentDialog::canceled, this,
[this] { d->m_done ? accept() : reject(); }); [this] { d->m_done ? accept() : reject(); });
@@ -83,7 +86,7 @@ PublicKeyDeploymentDialog::PublicKeyDeploymentDialog(const IDevice::ConstPtr &de
errorMessage = d->m_process.cleanedStdErr(); errorMessage = d->m_process.cleanedStdErr();
if (errorMessage.endsWith('\n')) if (errorMessage.endsWith('\n'))
errorMessage.chop(1); errorMessage.chop(1);
finalMessage = tr("Key deployment failed."); finalMessage = Tr::tr("Key deployment failed.");
if (!errorMessage.isEmpty()) if (!errorMessage.isEmpty())
finalMessage += '\n' + errorMessage; finalMessage += '\n' + errorMessage;
} }
@@ -92,7 +95,7 @@ PublicKeyDeploymentDialog::PublicKeyDeploymentDialog(const IDevice::ConstPtr &de
FileReader reader; FileReader reader;
if (!reader.fetch(publicKeyFileName)) { if (!reader.fetch(publicKeyFileName)) {
handleDeploymentDone(false, tr("Public key error: %1").arg(reader.errorString())); handleDeploymentDone(false, Tr::tr("Public key error: %1").arg(reader.errorString()));
return; return;
} }
@@ -136,12 +139,12 @@ PublicKeyDeploymentDialog::~PublicKeyDeploymentDialog()
void PublicKeyDeploymentDialog::handleDeploymentDone(bool succeeded, const QString &errorMessage) void PublicKeyDeploymentDialog::handleDeploymentDone(bool succeeded, const QString &errorMessage)
{ {
QString buttonText = succeeded ? tr("Deployment finished successfully.") : errorMessage; QString buttonText = succeeded ? Tr::tr("Deployment finished successfully.") : errorMessage;
const QString textColor = creatorTheme()->color( const QString textColor = creatorTheme()->color(
succeeded ? Theme::TextColorNormal : Theme::TextColorError).name(); succeeded ? Theme::TextColorNormal : Theme::TextColorError).name();
setLabelText(QString::fromLatin1("<font color=\"%1\">%2</font>") setLabelText(QString::fromLatin1("<font color=\"%1\">%2</font>")
.arg(textColor, buttonText.replace("\n", "<br/>"))); .arg(textColor, buttonText.replace("\n", "<br/>")));
setCancelButtonText(tr("Close")); setCancelButtonText(Tr::tr("Close"));
if (!succeeded) if (!succeeded)
return; return;

View File

@@ -26,6 +26,7 @@
#include "remotelinuxcustomrunconfiguration.h" #include "remotelinuxcustomrunconfiguration.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include "remotelinuxenvironmentaspect.h" #include "remotelinuxenvironmentaspect.h"
#include "x11forwardingaspect.h" #include "x11forwardingaspect.h"
@@ -38,13 +39,10 @@
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils; using namespace Utils;
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class RemoteLinuxCustomRunConfiguration : public RunConfiguration class RemoteLinuxCustomRunConfiguration : public RunConfiguration
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::RemoteLinuxCustomRunConfiguration)
public: public:
RemoteLinuxCustomRunConfiguration(Target *target, Id id); RemoteLinuxCustomRunConfiguration(Target *target, Id id);
@@ -61,14 +59,14 @@ RemoteLinuxCustomRunConfiguration::RemoteLinuxCustomRunConfiguration(Target *tar
auto exeAspect = addAspect<ExecutableAspect>(target, ExecutableAspect::RunDevice); auto exeAspect = addAspect<ExecutableAspect>(target, ExecutableAspect::RunDevice);
exeAspect->setSettingsKey("RemoteLinux.CustomRunConfig.RemoteExecutable"); exeAspect->setSettingsKey("RemoteLinux.CustomRunConfig.RemoteExecutable");
exeAspect->setLabelText(tr("Remote executable:")); exeAspect->setLabelText(Tr::tr("Remote executable:"));
exeAspect->setDisplayStyle(StringAspect::LineEditDisplay); exeAspect->setDisplayStyle(StringAspect::LineEditDisplay);
exeAspect->setHistoryCompleter("RemoteLinux.CustomExecutable.History"); exeAspect->setHistoryCompleter("RemoteLinux.CustomExecutable.History");
exeAspect->setExpectedKind(PathChooser::Any); exeAspect->setExpectedKind(PathChooser::Any);
auto symbolsAspect = addAspect<SymbolFileAspect>(); auto symbolsAspect = addAspect<SymbolFileAspect>();
symbolsAspect->setSettingsKey("RemoteLinux.CustomRunConfig.LocalExecutable"); symbolsAspect->setSettingsKey("RemoteLinux.CustomRunConfig.LocalExecutable");
symbolsAspect->setLabelText(tr("Local executable:")); symbolsAspect->setLabelText(Tr::tr("Local executable:"));
symbolsAspect->setDisplayStyle(SymbolFileAspect::PathChooserDisplay); symbolsAspect->setDisplayStyle(SymbolFileAspect::PathChooserDisplay);
addAspect<ArgumentsAspect>(macroExpander()); addAspect<ArgumentsAspect>(macroExpander());
@@ -90,7 +88,7 @@ QString RemoteLinuxCustomRunConfiguration::runConfigDefaultDisplayName()
{ {
QString remoteExecutable = aspect<ExecutableAspect>()->executable().toString(); QString remoteExecutable = aspect<ExecutableAspect>()->executable().toString();
QString display = remoteExecutable.isEmpty() QString display = remoteExecutable.isEmpty()
? tr("Custom Executable") : tr("Run \"%1\"").arg(remoteExecutable); ? Tr::tr("Custom Executable") : Tr::tr("Run \"%1\"").arg(remoteExecutable);
return RunConfigurationFactory::decoratedTargetName(display, target()); return RunConfigurationFactory::decoratedTargetName(display, target());
} }
@@ -98,8 +96,8 @@ Tasks RemoteLinuxCustomRunConfiguration::checkForIssues() const
{ {
Tasks tasks; Tasks tasks;
if (aspect<ExecutableAspect>()->executable().isEmpty()) { if (aspect<ExecutableAspect>()->executable().isEmpty()) {
tasks << createConfigurationIssue(tr("The remote executable must be set in order to run " tasks << createConfigurationIssue(Tr::tr("The remote executable must be set in order to run "
"a custom remote run configuration.")); "a custom remote run configuration."));
} }
return tasks; return tasks;
} }
@@ -107,11 +105,10 @@ Tasks RemoteLinuxCustomRunConfiguration::checkForIssues() const
// RemoteLinuxCustomRunConfigurationFactory // RemoteLinuxCustomRunConfigurationFactory
RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFactory() RemoteLinuxCustomRunConfigurationFactory::RemoteLinuxCustomRunConfigurationFactory()
: FixedRunConfigurationFactory(RemoteLinuxCustomRunConfiguration::tr("Custom Executable"), true) : FixedRunConfigurationFactory(Tr::tr("Custom Executable"), true)
{ {
registerRunConfiguration<RemoteLinuxCustomRunConfiguration>("RemoteLinux.CustomRunConfig"); registerRunConfiguration<RemoteLinuxCustomRunConfiguration>("RemoteLinux.CustomRunConfig");
addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType);
} }
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -27,8 +27,7 @@
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class RemoteLinuxCustomRunConfigurationFactory class RemoteLinuxCustomRunConfigurationFactory
: public ProjectExplorer::FixedRunConfigurationFactory : public ProjectExplorer::FixedRunConfigurationFactory
@@ -37,5 +36,4 @@ public:
RemoteLinuxCustomRunConfigurationFactory(); RemoteLinuxCustomRunConfigurationFactory();
}; };
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -30,8 +30,7 @@
using namespace Debugger; using namespace Debugger;
using namespace ProjectExplorer; using namespace ProjectExplorer;
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
LinuxDeviceDebugSupport::LinuxDeviceDebugSupport(RunControl *runControl) LinuxDeviceDebugSupport::LinuxDeviceDebugSupport(RunControl *runControl)
: DebuggerRunTool(runControl, DebuggerRunTool::DoNotAllowTerminal) : DebuggerRunTool(runControl, DebuggerRunTool::DoNotAllowTerminal)
@@ -52,5 +51,4 @@ LinuxDeviceDebugSupport::LinuxDeviceDebugSupport(RunControl *runControl)
setLldbPlatform("remote-linux"); setLldbPlatform("remote-linux");
} }
} // namespace Internal } // Internal::Internal
} // namespace RemoteLinux

View File

@@ -27,8 +27,7 @@
#include <debugger/debuggerruncontrol.h> #include <debugger/debuggerruncontrol.h>
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class LinuxDeviceDebugSupport : public Debugger::DebuggerRunTool class LinuxDeviceDebugSupport : public Debugger::DebuggerRunTool
{ {
@@ -36,5 +35,4 @@ public:
LinuxDeviceDebugSupport(ProjectExplorer::RunControl *runControl); LinuxDeviceDebugSupport(ProjectExplorer::RunControl *runControl);
}; };
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -27,25 +27,22 @@
#include "makeinstallstep.h" #include "makeinstallstep.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/kitinformation.h> #include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <QCoreApplication>
using namespace ProjectExplorer; using namespace ProjectExplorer;
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
RemoteLinuxDeployConfigurationFactory::RemoteLinuxDeployConfigurationFactory() RemoteLinuxDeployConfigurationFactory::RemoteLinuxDeployConfigurationFactory()
{ {
setConfigBaseId(RemoteLinux::Constants::DeployToGenericLinux); setConfigBaseId(RemoteLinux::Constants::DeployToGenericLinux);
addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType);
setDefaultDisplayName(QCoreApplication::translate("RemoteLinux", setDefaultDisplayName(Tr::tr("Deploy to Remote Linux Host"));
"Deploy to Remote Linux Host"));
setUseDeploymentDataView(); setUseDeploymentDataView();
const auto needsMakeInstall = [](Target *target) const auto needsMakeInstall = [](Target *target)
@@ -74,5 +71,4 @@ RemoteLinuxDeployConfigurationFactory::RemoteLinuxDeployConfigurationFactory()
}); });
} }
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -27,8 +27,7 @@
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class RemoteLinuxDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory class RemoteLinuxDeployConfigurationFactory : public ProjectExplorer::DeployConfigurationFactory
{ {
@@ -36,5 +35,4 @@ public:
RemoteLinuxDeployConfigurationFactory(); RemoteLinuxDeployConfigurationFactory();
}; };
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -26,6 +26,8 @@
#include "remotelinuxenvironmentaspect.h" #include "remotelinuxenvironmentaspect.h"
#include "remotelinuxenvironmentaspectwidget.h" #include "remotelinuxenvironmentaspectwidget.h"
#include "remotelinuxtr.h"
#include <utils/algorithm.h> #include <utils/algorithm.h>
namespace RemoteLinux { namespace RemoteLinux {
@@ -43,8 +45,8 @@ static bool displayAlreadySet(const Utils::EnvironmentItems &changes)
RemoteLinuxEnvironmentAspect::RemoteLinuxEnvironmentAspect(ProjectExplorer::Target *target) RemoteLinuxEnvironmentAspect::RemoteLinuxEnvironmentAspect(ProjectExplorer::Target *target)
{ {
addSupportedBaseEnvironment(tr("Clean Environment"), {}); addSupportedBaseEnvironment(Tr::tr("Clean Environment"), {});
addPreferredBaseEnvironment(tr("System Environment"), [this] { return m_remoteEnvironment; }); addPreferredBaseEnvironment(Tr::tr("System Environment"), [this] { return m_remoteEnvironment; });
setConfigWidgetCreator([this, target] { setConfigWidgetCreator([this, target] {
return new RemoteLinuxEnvironmentAspectWidget(this, target); return new RemoteLinuxEnvironmentAspectWidget(this, target);

View File

@@ -28,11 +28,14 @@
#include "linuxdevice.h" #include "linuxdevice.h"
#include "remotelinuxenvironmentaspect.h" #include "remotelinuxenvironmentaspect.h"
#include "remotelinuxenvironmentreader.h" #include "remotelinuxenvironmentreader.h"
#include "remotelinuxtr.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <projectexplorer/environmentwidget.h> #include <projectexplorer/environmentwidget.h>
#include <projectexplorer/kitinformation.h> #include <projectexplorer/kitinformation.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QCoreApplication> #include <QCoreApplication>
@@ -43,14 +46,10 @@ using namespace ProjectExplorer;
using namespace RemoteLinux::Internal; using namespace RemoteLinux::Internal;
using namespace Utils; using namespace Utils;
namespace {
const QString FetchEnvButtonText
= QCoreApplication::translate("RemoteLinux::RemoteLinuxEnvironmentAspectWidget",
"Fetch Device Environment");
} // anonymous namespace
namespace RemoteLinux { namespace RemoteLinux {
const QString FetchEnvButtonText = Tr::tr("Fetch Device Environment");
RemoteLinuxEnvironmentAspectWidget::RemoteLinuxEnvironmentAspectWidget RemoteLinuxEnvironmentAspectWidget::RemoteLinuxEnvironmentAspectWidget
(RemoteLinuxEnvironmentAspect *aspect, Target *target) (RemoteLinuxEnvironmentAspect *aspect, Target *target)
: EnvironmentAspectWidget(aspect) : EnvironmentAspectWidget(aspect)
@@ -71,12 +70,12 @@ RemoteLinuxEnvironmentAspectWidget::RemoteLinuxEnvironmentAspectWidget
this, &RemoteLinuxEnvironmentAspectWidget::fetchEnvironmentError); this, &RemoteLinuxEnvironmentAspectWidget::fetchEnvironmentError);
const EnvironmentWidget::OpenTerminalFunc openTerminalFunc const EnvironmentWidget::OpenTerminalFunc openTerminalFunc
= [target](const Utils::Environment &env) { = [target](const Environment &env) {
IDevice::ConstPtr device = DeviceKitAspect::device(target->kit()); IDevice::ConstPtr device = DeviceKitAspect::device(target->kit());
if (!device) { if (!device) {
QMessageBox::critical(Core::ICore::dialogParent(), QMessageBox::critical(Core::ICore::dialogParent(),
tr("Cannot Open Terminal"), Tr::tr("Cannot Open Terminal"),
tr("Cannot open remote terminal: Current kit has no device.")); Tr::tr("Cannot open remote terminal: Current kit has no device."));
return; return;
} }
const auto linuxDevice = device.dynamicCast<const LinuxDevice>(); const auto linuxDevice = device.dynamicCast<const LinuxDevice>();
@@ -92,7 +91,7 @@ void RemoteLinuxEnvironmentAspectWidget::fetchEnvironment()
this, &RemoteLinuxEnvironmentAspectWidget::fetchEnvironment); this, &RemoteLinuxEnvironmentAspectWidget::fetchEnvironment);
connect(m_fetchButton, &QPushButton::clicked, connect(m_fetchButton, &QPushButton::clicked,
this, &RemoteLinuxEnvironmentAspectWidget::stopFetchEnvironment); this, &RemoteLinuxEnvironmentAspectWidget::stopFetchEnvironment);
m_fetchButton->setText(tr("Cancel Fetch Operation")); m_fetchButton->setText(Tr::tr("Cancel Fetch Operation"));
m_deviceEnvReader->start(); m_deviceEnvReader->start();
} }
@@ -109,8 +108,8 @@ void RemoteLinuxEnvironmentAspectWidget::fetchEnvironmentFinished()
void RemoteLinuxEnvironmentAspectWidget::fetchEnvironmentError(const QString &error) void RemoteLinuxEnvironmentAspectWidget::fetchEnvironmentError(const QString &error)
{ {
QMessageBox::warning(this, tr("Device Error"), QMessageBox::warning(this, Tr::tr("Device Error"),
tr("Fetching environment failed: %1").arg(error)); Tr::tr("Fetching environment failed: %1").arg(error));
} }
void RemoteLinuxEnvironmentAspectWidget::stopFetchEnvironment() void RemoteLinuxEnvironmentAspectWidget::stopFetchEnvironment()
@@ -119,8 +118,4 @@ void RemoteLinuxEnvironmentAspectWidget::stopFetchEnvironment()
fetchEnvironmentFinished(); fetchEnvironmentFinished();
} }
// -------------------------------------------------------------------- } // RemoteLinux
// RemoteLinuxEnvironmentAspectWidget:
// --------------------------------------------------------------------
} // namespace RemoteLinux

View File

@@ -25,6 +25,8 @@
#include "remotelinuxenvironmentreader.h" #include "remotelinuxenvironmentreader.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/runcontrol.h> #include <projectexplorer/runcontrol.h>
@@ -48,7 +50,7 @@ RemoteLinuxEnvironmentReader::RemoteLinuxEnvironmentReader(const IDevice::ConstP
void RemoteLinuxEnvironmentReader::start() void RemoteLinuxEnvironmentReader::start()
{ {
if (!m_device) { if (!m_device) {
emit error(tr("Error: No device")); emit error(Tr::tr("Error: No device"));
setFinished(); setFinished();
return; return;
} }
@@ -77,7 +79,7 @@ void RemoteLinuxEnvironmentReader::handleCurrentDeviceConfigChanged()
void RemoteLinuxEnvironmentReader::handleDone() void RemoteLinuxEnvironmentReader::handleDone()
{ {
if (m_deviceProcess->result() != ProcessResult::FinishedWithSuccess) { if (m_deviceProcess->result() != ProcessResult::FinishedWithSuccess) {
emit error(tr("Error: %1").arg(m_deviceProcess->errorString())); emit error(Tr::tr("Error: %1").arg(m_deviceProcess->errorString()));
setFinished(); setFinished();
return; return;
} }
@@ -87,16 +89,16 @@ void RemoteLinuxEnvironmentReader::handleDone()
if (m_deviceProcess->exitStatus() != QProcess::NormalExit) { if (m_deviceProcess->exitStatus() != QProcess::NormalExit) {
errorMessage = m_deviceProcess->errorString(); errorMessage = m_deviceProcess->errorString();
} else if (m_deviceProcess->exitCode() != 0) { } else if (m_deviceProcess->exitCode() != 0) {
errorMessage = tr("Process exited with code %1.") errorMessage = Tr::tr("Process exited with code %1.")
.arg(m_deviceProcess->exitCode()); .arg(m_deviceProcess->exitCode());
} }
if (!errorMessage.isEmpty()) { if (!errorMessage.isEmpty()) {
errorMessage = tr("Error running 'env': %1").arg(errorMessage); errorMessage = Tr::tr("Error running 'env': %1").arg(errorMessage);
const QString remoteStderr const QString remoteStderr
= QString::fromUtf8(m_deviceProcess->readAllStandardError()).trimmed(); = QString::fromUtf8(m_deviceProcess->readAllStandardError()).trimmed();
if (!remoteStderr.isEmpty()) if (!remoteStderr.isEmpty())
errorMessage += QLatin1Char('\n') + tr("Remote stderr was: \"%1\"").arg(remoteStderr); errorMessage += QLatin1Char('\n') + Tr::tr("Remote stderr was: \"%1\"").arg(remoteStderr);
emit error(errorMessage); emit error(errorMessage);
} else { } else {
const QString remoteOutput = QString::fromUtf8(m_deviceProcess->readAllStandardOutput()); const QString remoteOutput = QString::fromUtf8(m_deviceProcess->readAllStandardOutput());

View File

@@ -27,6 +27,7 @@
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxenvironmentaspect.h" #include "remotelinuxenvironmentaspect.h"
#include "remotelinuxtr.h"
#include "x11forwardingaspect.h" #include "x11forwardingaspect.h"
#include <projectexplorer/buildsystem.h> #include <projectexplorer/buildsystem.h>
@@ -43,13 +44,10 @@
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils; using namespace Utils;
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class RemoteLinuxRunConfiguration final : public RunConfiguration class RemoteLinuxRunConfiguration final : public RunConfiguration
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::RemoteLinuxRunConfiguration)
public: public:
RemoteLinuxRunConfiguration(Target *target, Id id); RemoteLinuxRunConfiguration(Target *target, Id id);
}; };
@@ -60,14 +58,14 @@ RemoteLinuxRunConfiguration::RemoteLinuxRunConfiguration(Target *target, Id id)
auto envAspect = addAspect<RemoteLinuxEnvironmentAspect>(target); auto envAspect = addAspect<RemoteLinuxEnvironmentAspect>(target);
auto exeAspect = addAspect<ExecutableAspect>(target, ExecutableAspect::RunDevice); auto exeAspect = addAspect<ExecutableAspect>(target, ExecutableAspect::RunDevice);
exeAspect->setLabelText(tr("Executable on device:")); exeAspect->setLabelText(Tr::tr("Executable on device:"));
exeAspect->setPlaceHolderText(tr("Remote path not set")); exeAspect->setPlaceHolderText(Tr::tr("Remote path not set"));
exeAspect->makeOverridable("RemoteLinux.RunConfig.AlternateRemoteExecutable", exeAspect->makeOverridable("RemoteLinux.RunConfig.AlternateRemoteExecutable",
"RemoteLinux.RunConfig.UseAlternateRemoteExecutable"); "RemoteLinux.RunConfig.UseAlternateRemoteExecutable");
exeAspect->setHistoryCompleter("RemoteLinux.AlternateExecutable.History"); exeAspect->setHistoryCompleter("RemoteLinux.AlternateExecutable.History");
auto symbolsAspect = addAspect<SymbolFileAspect>(); auto symbolsAspect = addAspect<SymbolFileAspect>();
symbolsAspect->setLabelText(tr("Executable on host:")); symbolsAspect->setLabelText(Tr::tr("Executable on host:"));
symbolsAspect->setDisplayStyle(SymbolFileAspect::LabelDisplay); symbolsAspect->setDisplayStyle(SymbolFileAspect::LabelDisplay);
addAspect<ArgumentsAspect>(macroExpander()); addAspect<ArgumentsAspect>(macroExpander());
@@ -105,5 +103,4 @@ RemoteLinuxRunConfigurationFactory::RemoteLinuxRunConfigurationFactory()
addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType); addSupportedTargetDeviceType(RemoteLinux::Constants::GenericLinuxOsType);
} }
} // namespace Internal } // RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -27,8 +27,7 @@
#include <projectexplorer/runconfiguration.h> #include <projectexplorer/runconfiguration.h>
namespace RemoteLinux { namespace RemoteLinux::Internal {
namespace Internal {
class RemoteLinuxRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory class RemoteLinuxRunConfigurationFactory final : public ProjectExplorer::RunConfigurationFactory
{ {
@@ -36,5 +35,4 @@ public:
RemoteLinuxRunConfigurationFactory(); RemoteLinuxRunConfigurationFactory();
}; };
} // namespace Internal } // namespace RemoteLinux::Internal
} // namespace RemoteLinux

View File

@@ -25,15 +25,18 @@
#include "remotelinuxsignaloperation.h" #include "remotelinuxsignaloperation.h"
#include "remotelinuxtr.h"
#include <utils/commandline.h> #include <utils/commandline.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
using namespace RemoteLinux;
using namespace ProjectExplorer; using namespace ProjectExplorer;
using namespace Utils; using namespace Utils;
namespace RemoteLinux {
RemoteLinuxSignalOperation::RemoteLinuxSignalOperation( RemoteLinuxSignalOperation::RemoteLinuxSignalOperation(
const IDeviceConstPtr &device) const IDeviceConstPtr &device)
: m_device(device) : m_device(device)
@@ -106,10 +109,12 @@ void RemoteLinuxSignalOperation::runnerDone()
if (m_process->exitStatus() != QProcess::NormalExit) { if (m_process->exitStatus() != QProcess::NormalExit) {
m_errorMessage = m_process->errorString(); m_errorMessage = m_process->errorString();
} else if (m_process->exitCode() != 0) { } else if (m_process->exitCode() != 0) {
m_errorMessage = tr("Exit code is %1. stderr:").arg(m_process->exitCode()) m_errorMessage = Tr::tr("Exit code is %1. stderr:").arg(m_process->exitCode())
+ QLatin1Char(' ') + QLatin1Char(' ')
+ QString::fromLatin1(m_process->readAllStandardError()); + QString::fromLatin1(m_process->readAllStandardError());
} }
m_process.release()->deleteLater(); m_process.release()->deleteLater();
emit finished(m_errorMessage); emit finished(m_errorMessage);
} }
} // RemoteLinux

View File

@@ -27,12 +27,14 @@
#include "abstractremotelinuxdeployservice.h" #include "abstractremotelinuxdeployservice.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/deploymentdata.h> #include <projectexplorer/deploymentdata.h>
#include <projectexplorer/devicesupport/filetransfer.h> #include <projectexplorer/devicesupport/filetransfer.h>
#include <projectexplorer/devicesupport/idevice.h> #include <projectexplorer/devicesupport/idevice.h>
#include <projectexplorer/runconfigurationaspects.h> #include <projectexplorer/runconfigurationaspects.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <utils/algorithm.h> #include <utils/algorithm.h>
#include <utils/processinterface.h> #include <utils/processinterface.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
@@ -45,7 +47,6 @@ namespace Internal {
class RsyncDeployService : public AbstractRemoteLinuxDeployService class RsyncDeployService : public AbstractRemoteLinuxDeployService
{ {
Q_OBJECT
public: public:
RsyncDeployService(QObject *parent = nullptr) : AbstractRemoteLinuxDeployService(parent) RsyncDeployService(QObject *parent = nullptr) : AbstractRemoteLinuxDeployService(parent)
{ {
@@ -58,7 +59,7 @@ public:
finalMessage += '\n'; finalMessage += '\n';
finalMessage += stdErr; finalMessage += stdErr;
} }
emit errorMessage(tr("Deploy via rsync: failed to create remote directories:") emit errorMessage(Tr::tr("Deploy via rsync: failed to create remote directories:")
+ '\n' + finalMessage); + '\n' + finalMessage);
setFinished(); setFinished();
return; return;
@@ -76,11 +77,11 @@ public:
setFinished(); setFinished();
}; };
if (result.m_error == QProcess::FailedToStart) if (result.m_error == QProcess::FailedToStart)
notifyError(tr("rsync failed to start: %1").arg(result.m_errorString)); notifyError(Tr::tr("rsync failed to start: %1").arg(result.m_errorString));
else if (result.m_exitStatus == QProcess::CrashExit) else if (result.m_exitStatus == QProcess::CrashExit)
notifyError(tr("rsync crashed.")); notifyError(Tr::tr("rsync crashed."));
else if (result.m_exitCode != 0) else if (result.m_exitCode != 0)
notifyError(tr("rsync failed with exit code %1.").arg(result.m_exitCode)); notifyError(Tr::tr("rsync failed with exit code %1.").arg(result.m_exitCode));
else else
setFinished(); setFinished();
}); });
@@ -170,12 +171,12 @@ RsyncDeployStep::RsyncDeployStep(BuildStepList *bsl, Utils::Id id)
auto flags = addAspect<StringAspect>(); auto flags = addAspect<StringAspect>();
flags->setDisplayStyle(StringAspect::LineEditDisplay); flags->setDisplayStyle(StringAspect::LineEditDisplay);
flags->setSettingsKey("RemoteLinux.RsyncDeployStep.Flags"); flags->setSettingsKey("RemoteLinux.RsyncDeployStep.Flags");
flags->setLabelText(tr("Flags:")); flags->setLabelText(Tr::tr("Flags:"));
flags->setValue(FileTransferSetupData::defaultRsyncFlags()); flags->setValue(FileTransferSetupData::defaultRsyncFlags());
auto ignoreMissingFiles = addAspect<BoolAspect>(); auto ignoreMissingFiles = addAspect<BoolAspect>();
ignoreMissingFiles->setSettingsKey("RemoteLinux.RsyncDeployStep.IgnoreMissingFiles"); ignoreMissingFiles->setSettingsKey("RemoteLinux.RsyncDeployStep.IgnoreMissingFiles");
ignoreMissingFiles->setLabel(tr("Ignore missing files:"), ignoreMissingFiles->setLabel(Tr::tr("Ignore missing files:"),
BoolAspect::LabelPlacement::InExtraLabel); BoolAspect::LabelPlacement::InExtraLabel);
ignoreMissingFiles->setValue(false); ignoreMissingFiles->setValue(false);
@@ -199,9 +200,7 @@ Utils::Id RsyncDeployStep::stepId()
QString RsyncDeployStep::displayName() QString RsyncDeployStep::displayName()
{ {
return tr("Deploy files via rsync"); return Tr::tr("Deploy files via rsync");
} }
} //namespace RemoteLinux } // RemoteLinux
#include <rsyncdeploystep.moc>

View File

@@ -43,4 +43,4 @@ public:
static QString displayName(); static QString displayName();
}; };
} // namespace RemoteLinux } // RemoteLinux

View File

@@ -25,6 +25,8 @@
#include "sshkeycreationdialog.h" #include "sshkeycreationdialog.h"
#include "remotelinuxtr.h"
#include <projectexplorer/devicesupport/sshsettings.h> #include <projectexplorer/devicesupport/sshsettings.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
@@ -50,13 +52,13 @@ namespace RemoteLinux {
SshKeyCreationDialog::SshKeyCreationDialog(QWidget *parent) SshKeyCreationDialog::SshKeyCreationDialog(QWidget *parent)
: QDialog(parent) : QDialog(parent)
{ {
setWindowTitle(tr("SSH Key Configuration")); setWindowTitle(Tr::tr("SSH Key Configuration"));
resize(385, 231); resize(385, 231);
m_rsa = new QRadioButton(tr("&RSA")); m_rsa = new QRadioButton(Tr::tr("&RSA"));
m_rsa->setChecked(true); m_rsa->setChecked(true);
m_ecdsa = new QRadioButton(tr("ECDSA")); m_ecdsa = new QRadioButton(Tr::tr("ECDSA"));
m_comboBox = new QComboBox; m_comboBox = new QComboBox;
@@ -65,8 +67,8 @@ SshKeyCreationDialog::SshKeyCreationDialog(QWidget *parent)
m_publicKeyFileLabel = new QLabel; m_publicKeyFileLabel = new QLabel;
auto privateKeyFileButton = new QPushButton(PathChooser::browseButtonLabel()); auto privateKeyFileButton = new QPushButton(PathChooser::browseButtonLabel());
m_generateButton = new QPushButton(tr("&Generate And Save Key Pair")); m_generateButton = new QPushButton(Tr::tr("&Generate And Save Key Pair"));
auto closeButton = new QPushButton(tr("&Cancel")); auto closeButton = new QPushButton(Tr::tr("&Cancel"));
using namespace Layouting; using namespace Layouting;
const Break nl; const Break nl;
@@ -74,12 +76,12 @@ SshKeyCreationDialog::SshKeyCreationDialog(QWidget *parent)
Column { Column {
Group { Group {
Title(tr("Options")), Title(Tr::tr("Options")),
Form { Form {
tr("Key algorithm:"), m_rsa, m_ecdsa, st, nl, Tr::tr("Key algorithm:"), m_rsa, m_ecdsa, st, nl,
tr("Key &size:"), m_comboBox, st, nl, Tr::tr("Key &size:"), m_comboBox, st, nl,
tr("Private key file:"), m_privateKeyFileValueLabel, privateKeyFileButton, st, nl, Tr::tr("Private key file:"), m_privateKeyFileValueLabel, privateKeyFileButton, st, nl,
tr("Public key file:"), m_publicKeyFileLabel Tr::tr("Public key file:"), m_publicKeyFileLabel
} }
}, },
Stretch(), Stretch(),
@@ -120,11 +122,11 @@ void SshKeyCreationDialog::keyTypeChanged()
void SshKeyCreationDialog::generateKeys() void SshKeyCreationDialog::generateKeys()
{ {
if (SshSettings::keygenFilePath().isEmpty()) { if (SshSettings::keygenFilePath().isEmpty()) {
showError(tr("The ssh-keygen tool was not found.")); showError(Tr::tr("The ssh-keygen tool was not found."));
return; return;
} }
if (privateKeyFilePath().exists()) { if (privateKeyFilePath().exists()) {
showError(tr("Refusing to overwrite existing private key file \"%1\".") showError(Tr::tr("Refusing to overwrite existing private key file \"%1\".")
.arg(privateKeyFilePath().toUserOutput())); .arg(privateKeyFilePath().toUserOutput()));
return; return;
} }
@@ -141,7 +143,7 @@ void SshKeyCreationDialog::generateKeys()
else if (keygen.exitCode() != 0) else if (keygen.exitCode() != 0)
errorMsg = QString::fromLocal8Bit(keygen.readAllStandardError()); errorMsg = QString::fromLocal8Bit(keygen.readAllStandardError());
if (!errorMsg.isEmpty()) { if (!errorMsg.isEmpty()) {
showError(tr("The ssh-keygen tool at \"%1\" failed: %2") showError(Tr::tr("The ssh-keygen tool at \"%1\" failed: %2")
.arg(SshSettings::keygenFilePath().toUserOutput(), errorMsg)); .arg(SshSettings::keygenFilePath().toUserOutput(), errorMsg));
} }
QApplication::restoreOverrideCursor(); QApplication::restoreOverrideCursor();
@@ -150,7 +152,7 @@ void SshKeyCreationDialog::generateKeys()
void SshKeyCreationDialog::handleBrowseButtonClicked() void SshKeyCreationDialog::handleBrowseButtonClicked()
{ {
const FilePath filePath = FileUtils::getSaveFilePath(this, tr("Choose Private Key File Name")); const FilePath filePath = FileUtils::getSaveFilePath(this, Tr::tr("Choose Private Key File Name"));
if (!filePath.isEmpty()) if (!filePath.isEmpty())
setPrivateKeyFile(filePath); setPrivateKeyFile(filePath);
} }
@@ -164,7 +166,7 @@ void SshKeyCreationDialog::setPrivateKeyFile(const FilePath &filePath)
void SshKeyCreationDialog::showError(const QString &details) void SshKeyCreationDialog::showError(const QString &details)
{ {
QMessageBox::critical(this, tr("Key Generation Failed"), details); QMessageBox::critical(this, Tr::tr("Key Generation Failed"), details);
} }
FilePath SshKeyCreationDialog::privateKeyFilePath() const FilePath SshKeyCreationDialog::privateKeyFilePath() const

View File

@@ -27,6 +27,7 @@
#include "deploymenttimeinfo.h" #include "deploymenttimeinfo.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include <projectexplorer/buildmanager.h> #include <projectexplorer/buildmanager.h>
#include <projectexplorer/deploymentdata.h> #include <projectexplorer/deploymentdata.h>
@@ -95,21 +96,21 @@ TarPackageCreationStep::TarPackageCreationStep(BuildStepList *bsl, Id id)
d->m_deploymentDataModified = true; d->m_deploymentDataModified = true;
d->m_ignoreMissingFilesAspect = addAspect<BoolAspect>(); d->m_ignoreMissingFilesAspect = addAspect<BoolAspect>();
d->m_ignoreMissingFilesAspect->setLabel(tr("Ignore missing files"), d->m_ignoreMissingFilesAspect->setLabel(Tr::tr("Ignore missing files"),
BoolAspect::LabelPlacement::AtCheckBox); BoolAspect::LabelPlacement::AtCheckBox);
d->m_ignoreMissingFilesAspect->setSettingsKey(IgnoreMissingFilesKey); d->m_ignoreMissingFilesAspect->setSettingsKey(IgnoreMissingFilesKey);
d->m_incrementalDeploymentAspect = addAspect<BoolAspect>(); d->m_incrementalDeploymentAspect = addAspect<BoolAspect>();
d->m_incrementalDeploymentAspect->setLabel(tr("Package modified files only"), d->m_incrementalDeploymentAspect->setLabel(Tr::tr("Package modified files only"),
BoolAspect::LabelPlacement::AtCheckBox); BoolAspect::LabelPlacement::AtCheckBox);
d->m_incrementalDeploymentAspect->setSettingsKey(IncrementalDeploymentKey); d->m_incrementalDeploymentAspect->setSettingsKey(IncrementalDeploymentKey);
setSummaryUpdater([this] { setSummaryUpdater([this] {
FilePath path = packageFilePath(); FilePath path = packageFilePath();
if (path.isEmpty()) if (path.isEmpty())
return QString("<font color=\"red\">" + tr("Tarball creation not possible.") return QString("<font color=\"red\">" + Tr::tr("Tarball creation not possible.")
+ "</font>"); + "</font>");
return QString("<b>" + tr("Create tarball:") + "</b> " + path.toUserOutput()); return QString("<b>" + Tr::tr("Create tarball:") + "</b> " + path.toUserOutput());
}); });
} }
@@ -122,7 +123,7 @@ Utils::Id TarPackageCreationStep::stepId()
QString TarPackageCreationStep::displayName() QString TarPackageCreationStep::displayName()
{ {
return tr("Create tarball"); return Tr::tr("Create tarball");
} }
FilePath TarPackageCreationStep::packageFilePath() const FilePath TarPackageCreationStep::packageFilePath() const
@@ -252,9 +253,9 @@ bool TarPackageCreationStep::runImpl()
if (success) { if (success) {
d->m_deploymentDataModified = false; d->m_deploymentDataModified = false;
emit addOutput(tr("Packaging finished successfully."), OutputFormat::NormalMessage); emit addOutput(Tr::tr("Packaging finished successfully."), OutputFormat::NormalMessage);
} else { } else {
emit addOutput(tr("Packaging failed."), OutputFormat::ErrorMessage); emit addOutput(Tr::tr("Packaging failed."), OutputFormat::ErrorMessage);
} }
connect(BuildManager::instance(), &BuildManager::buildQueueFinished, connect(BuildManager::instance(), &BuildManager::buildQueueFinished,
@@ -265,9 +266,9 @@ bool TarPackageCreationStep::runImpl()
bool TarPackageCreationStep::doPackage() bool TarPackageCreationStep::doPackage()
{ {
emit addOutput(tr("Creating tarball..."), OutputFormat::NormalMessage); emit addOutput(Tr::tr("Creating tarball..."), OutputFormat::NormalMessage);
if (!d->m_packagingNeeded) { if (!d->m_packagingNeeded) {
emit addOutput(tr("Tarball up to date, skipping packaging."), OutputFormat::NormalMessage); emit addOutput(Tr::tr("Tarball up to date, skipping packaging."), OutputFormat::NormalMessage);
return true; return true;
} }
@@ -276,14 +277,14 @@ bool TarPackageCreationStep::doPackage()
QFile tarFile(tarFilePath.toString()); QFile tarFile(tarFilePath.toString());
if (!tarFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { if (!tarFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) {
raiseError(tr("Error: tar file %1 cannot be opened (%2).") raiseError(Tr::tr("Error: tar file %1 cannot be opened (%2).")
.arg(tarFilePath.toUserOutput(), tarFile.errorString())); .arg(tarFilePath.toUserOutput(), tarFile.errorString()));
return false; return false;
} }
for (const DeployableFile &d : qAsConst(d->m_files)) { for (const DeployableFile &d : qAsConst(d->m_files)) {
if (d.remoteDirectory().isEmpty()) { if (d.remoteDirectory().isEmpty()) {
emit addOutput(tr("No remote path specified for file \"%1\", skipping.") emit addOutput(Tr::tr("No remote path specified for file \"%1\", skipping.")
.arg(d.localFilePath().toUserOutput()), OutputFormat::ErrorMessage); .arg(d.localFilePath().toUserOutput()), OutputFormat::ErrorMessage);
continue; continue;
} }
@@ -296,7 +297,7 @@ bool TarPackageCreationStep::doPackage()
const QByteArray eofIndicator(2*sizeof(TarFileHeader), 0); const QByteArray eofIndicator(2*sizeof(TarFileHeader), 0);
if (tarFile.write(eofIndicator) != eofIndicator.length()) { if (tarFile.write(eofIndicator) != eofIndicator.length()) {
raiseError(tr("Error writing tar file \"%1\": %2.") raiseError(Tr::tr("Error writing tar file \"%1\": %2.")
.arg(QDir::toNativeSeparators(tarFile.fileName()), tarFile.errorString())); .arg(QDir::toNativeSeparators(tarFile.fileName()), tarFile.errorString()));
return false; return false;
} }
@@ -330,8 +331,8 @@ static bool writeHeader(QFile &tarFile, const QFileInfo &fileInfo, const QString
TarFileHeader header; TarFileHeader header;
std::memset(&header, '\0', sizeof header); std::memset(&header, '\0', sizeof header);
if (!setFilePath(header, remoteFilePath.toUtf8())) { if (!setFilePath(header, remoteFilePath.toUtf8())) {
*errorMessage = QCoreApplication::translate("RemoteLinux::TarPackageCreationStep", *errorMessage = Tr::tr("Cannot add file \"%1\" to tar-archive: path too long.")
"Cannot add file \"%1\" to tar-archive: path too long.").arg(remoteFilePath); .arg(remoteFilePath);
return false; return false;
} }
int permissions = (0400 * fileInfo.permission(QFile::ReadOwner)) int permissions = (0400 * fileInfo.permission(QFile::ReadOwner))
@@ -376,8 +377,8 @@ static bool writeHeader(QFile &tarFile, const QFileInfo &fileInfo, const QString
std::memcpy(&header.chksum, checksumString.data(), checksumString.length()); std::memcpy(&header.chksum, checksumString.data(), checksumString.length());
header.chksum[sizeof header.chksum-1] = 0; header.chksum[sizeof header.chksum-1] = 0;
if (!tarFile.write(reinterpret_cast<char *>(&header), sizeof header)) { if (!tarFile.write(reinterpret_cast<char *>(&header), sizeof header)) {
*errorMessage = QCoreApplication::translate("RemoteLinux::TarPackageCreationStep", *errorMessage = Tr::tr("Error writing tar file \"%1\": %2")
"Error writing tar file \"%1\": %2").arg(cachedPackageFilePath, tarFile.errorString()); .arg(cachedPackageFilePath, tarFile.errorString());
return false; return false;
} }
return true; return true;
@@ -407,7 +408,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf
const QString nativePath = QDir::toNativeSeparators(fileInfo.filePath()); const QString nativePath = QDir::toNativeSeparators(fileInfo.filePath());
QFile file(fileInfo.filePath()); QFile file(fileInfo.filePath());
if (!file.open(QIODevice::ReadOnly)) { if (!file.open(QIODevice::ReadOnly)) {
const QString message = tr("Error reading file \"%1\": %2.") const QString message = Tr::tr("Error reading file \"%1\": %2.")
.arg(nativePath, file.errorString()); .arg(nativePath, file.errorString());
if (d->m_ignoreMissingFilesAspect->value()) { if (d->m_ignoreMissingFilesAspect->value()) {
raiseWarning(message); raiseWarning(message);
@@ -420,7 +421,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf
const int chunkSize = 1024*1024; const int chunkSize = 1024*1024;
emit addOutput(tr("Adding file \"%1\" to tarball...").arg(nativePath), emit addOutput(Tr::tr("Adding file \"%1\" to tarball...").arg(nativePath),
OutputFormat::NormalMessage); OutputFormat::NormalMessage);
// TODO: Wasteful. Work with fixed-size buffer. // TODO: Wasteful. Work with fixed-size buffer.
@@ -431,7 +432,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf
return false; return false;
} }
if (file.error() != QFile::NoError) { if (file.error() != QFile::NoError) {
raiseError(tr("Error reading file \"%1\": %2.").arg(nativePath, file.errorString())); raiseError(Tr::tr("Error reading file \"%1\": %2.").arg(nativePath, file.errorString()));
return false; return false;
} }
@@ -440,7 +441,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf
tarFile.write(QByteArray(TarBlockSize - blockModulo, 0)); tarFile.write(QByteArray(TarBlockSize - blockModulo, 0));
if (tarFile.error() != QFile::NoError) { if (tarFile.error() != QFile::NoError) {
raiseError(tr("Error writing tar file \"%1\": %2.") raiseError(Tr::tr("Error writing tar file \"%1\": %2.")
.arg(QDir::toNativeSeparators(tarFile.fileName()), tarFile.errorString())); .arg(QDir::toNativeSeparators(tarFile.fileName()), tarFile.errorString()));
return false; return false;
} }

View File

@@ -28,6 +28,7 @@
#include "abstractremotelinuxdeployservice.h" #include "abstractremotelinuxdeployservice.h"
#include "abstractremotelinuxdeploystep.h" #include "abstractremotelinuxdeploystep.h"
#include "remotelinux_constants.h" #include "remotelinux_constants.h"
#include "remotelinuxtr.h"
#include "tarpackagecreationstep.h" #include "tarpackagecreationstep.h"
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
@@ -79,7 +80,7 @@ TarPackageInstaller::TarPackageInstaller()
}); });
connect(&m_installer, &QtcProcess::done, this, [this] { connect(&m_installer, &QtcProcess::done, this, [this] {
const QString errorMessage = m_installer.result() == ProcessResult::FinishedWithSuccess const QString errorMessage = m_installer.result() == ProcessResult::FinishedWithSuccess
? QString() : tr("Installing package failed.") + m_installer.errorString(); ? QString() : Tr::tr("Installing package failed.") + m_installer.errorString();
emit finished(errorMessage); emit finished(errorMessage);
}); });
} }
@@ -198,10 +199,10 @@ void TarPackageDeployService::handleUploadFinished(const ProcessResultData &resu
return; return;
} }
emit progressMessage(tr("Successfully uploaded package file.")); emit progressMessage(Tr::tr("Successfully uploaded package file."));
const QString remoteFilePath = uploadDir() + '/' + m_packageFilePath.fileName(); const QString remoteFilePath = uploadDir() + '/' + m_packageFilePath.fileName();
m_state = Installing; m_state = Installing;
emit progressMessage(tr("Installing package to device...")); emit progressMessage(Tr::tr("Installing package to device..."));
connect(&m_installer, &TarPackageInstaller::stdoutData, connect(&m_installer, &TarPackageInstaller::stdoutData,
this, &AbstractRemoteLinuxDeployService::stdOutData); this, &AbstractRemoteLinuxDeployService::stdOutData);
connect(&m_installer, &TarPackageInstaller::stderrData, connect(&m_installer, &TarPackageInstaller::stderrData,
@@ -217,7 +218,7 @@ void TarPackageDeployService::handleInstallationFinished(const QString &errorMsg
if (errorMsg.isEmpty()) { if (errorMsg.isEmpty()) {
saveDeploymentTimeStamp(DeployableFile(m_packageFilePath, {}), {}); saveDeploymentTimeStamp(DeployableFile(m_packageFilePath, {}), {});
emit progressMessage(tr("Package installed.")); emit progressMessage(Tr::tr("Package installed."));
} else { } else {
emit errorMessage(errorMsg); emit errorMessage(errorMsg);
} }
@@ -236,8 +237,6 @@ void TarPackageDeployService::setFinished()
class TarPackageDeployStep : public AbstractRemoteLinuxDeployStep class TarPackageDeployStep : public AbstractRemoteLinuxDeployStep
{ {
Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::TarPackageDeployStep)
public: public:
TarPackageDeployStep(BuildStepList *bsl, Id id) TarPackageDeployStep(BuildStepList *bsl, Id id)
: AbstractRemoteLinuxDeployStep(bsl, id) : AbstractRemoteLinuxDeployStep(bsl, id)
@@ -256,7 +255,7 @@ public:
break; break;
} }
if (!pStep) if (!pStep)
return CheckResult::failure(tr("No tarball creation step found.")); return CheckResult::failure(Tr::tr("No tarball creation step found."));
service->setPackageFilePath(pStep->packageFilePath()); service->setPackageFilePath(pStep->packageFilePath());
return service->isDeploymentPossible(); return service->isDeploymentPossible();
@@ -270,7 +269,7 @@ public:
TarPackageDeployStepFactory::TarPackageDeployStepFactory() TarPackageDeployStepFactory::TarPackageDeployStepFactory()
{ {
registerStep<TarPackageDeployStep>(Constants::TarPackageDeployStepId); registerStep<TarPackageDeployStep>(Constants::TarPackageDeployStepId);
setDisplayName(TarPackageDeployStep::tr("Deploy tarball via SFTP upload")); setDisplayName(Tr::tr("Deploy tarball via SFTP upload"));
setSupportedConfiguration(RemoteLinux::Constants::DeployToGenericLinux); setSupportedConfiguration(RemoteLinux::Constants::DeployToGenericLinux);
setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY); setSupportedStepList(ProjectExplorer::Constants::BUILDSTEPS_DEPLOY);
} }

View File

@@ -25,6 +25,8 @@
#include "x11forwardingaspect.h" #include "x11forwardingaspect.h"
#include "remotelinuxtr.h"
#include <utils/macroexpander.h> #include <utils/macroexpander.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -37,11 +39,11 @@ static QString defaultDisplay() { return qEnvironmentVariable("DISPLAY"); }
X11ForwardingAspect::X11ForwardingAspect(const MacroExpander *expander) X11ForwardingAspect::X11ForwardingAspect(const MacroExpander *expander)
: m_macroExpander(expander) : m_macroExpander(expander)
{ {
setLabelText(tr("X11 Forwarding:")); setLabelText(Tr::tr("X11 Forwarding:"));
setDisplayStyle(LineEditDisplay); setDisplayStyle(LineEditDisplay);
setId("X11ForwardingAspect"); setId("X11ForwardingAspect");
setSettingsKey("RunConfiguration.X11Forwarding"); setSettingsKey("RunConfiguration.X11Forwarding");
makeCheckable(CheckBoxPlacement::Right, tr("Forward to local display"), makeCheckable(CheckBoxPlacement::Right, Tr::tr("Forward to local display"),
"RunConfiguration.UseX11Forwarding"); "RunConfiguration.UseX11Forwarding");
setValue(defaultDisplay()); setValue(defaultDisplay());