pyhoca-gui-0.4.0.8/build/mo/bg/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000000104612207147477016661 0ustar $,89Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-03 22:47+0200 PO-Revision-Date: 2011-09-17 02:17+0100 Last-Translator: Mike Gabriel Language-Team: X2Go i18n Language: bg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Poedit-Language: Bulgarian X-Poedit-Country: Bulgaria X-Poedit-SourceCharset: utf-8 pyhoca-gui-0.4.0.8/build/mo/da/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000006561612207147477016672 0ustar [  ($ MY%h)="P%s' +H\k     ( = 5R     ! !'?!g!{!!!!!! " " "%*"P"U" f"s"z" ~""/"0"&"&$# K#W#B]## ####>#.<$Rk$$$#$%%):%d%'|%%%%%G%:& @& L&W&f& u&&+&& &&& '&'8'&K'r'{''/' ' '+':(;U((<(( ( ( (9):)O)$c)))#))))* %* 0*<*qK* * ***+++$+*)+ T+ b+Bo++++++++ ,,+,2,A, ^, k,?v,R, -!- 8-B-H-g-n- t---"--------+.G._.t...... ......!/,1/^/d/ {/#/$/Q/U"0x0+0(00 1 1%11 11 22%2D2S2q222U2353+=3i333333;34 4,4>4Q4i444R44 4 55 ,5:5J5 c5q5555555556)6<6Z6'k6:6"6B6C47x7 7%7%7 7.7.858>8"P8's8H80819KG959=9:6:3:6:J-;Lx;0;;B<C<1 =p==%===>!>?>D>5b>>>">>.>.?'E?m?/?)???+?"@ +@5@G@K@@ A A$A*A!B 7BCBWB"lBB B BBB BBBBCD-D D E)E8EXE sEE EEEEEE"EF'3F [FhF~FFFFF GG5GFGWGmGGG G GGGG2HAH RH]H lH zHHH(HH)I*I?I^IyI'I I I I I'J,J 1JMeM~MMM;MM M MNN )N5N*KN vNNNN"NNN- O7O@O EO8QO O$O-O?OA'PiPIqPPP P P?P *Q6Q.MQ2|Q(QQQQR -R8RIR|]RR RSS1S6S=SBS*GSrS SBSSSST TT !T/T3TOT VTdT T TETMT-UGU _UiUoUUU UUUUU#UVVV&V)V,CVpVVVVVVVVVVWW,W 3W%AW,gWWW W$W$WMXDTXX)X$XYY Y:YZ Z ,Z9ZOZ$WZ|ZZZZZVZ O[p["w[[[[[[[B\S\ Z\f\x\\\\\W\ ']5]D]U] d]r]]]] ]] ]^ ^^/^3^P^f^x^^$^:^)_>+_6j__*_._&` 5`*A`l`s`|`)`-`Q`+8a)daIa.a:bBb:b6c88cEqcMc*d0d7d6d.-ez\e"eef%f!Dfffkf3f$ff%fg67gng*gg1g,g)hYp{HM3m)u V'O$# BUG6VJIC.hX @RDF;. \` 2TL"C- *'$:+qTn>QtA,_^<EH0k%Wlires ]?Z,Q@1%;4c*34 U(/Kj #S(EP7SRN[y<F9P~}dGO!|2JBf[07W=%s ...caused by session %s%s ...caused on printer %s by session %s%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth error%s - auth key error%s - channel error%s - client resources not sharable%s - client-side folders not sharable%s - client-side printing not available%s - connect%s - connect failure%s - desktop sharing failed%s - disconnect%s - export session profile%s - export session profiles%s - host key error%s - key error%s - missing home directory%s - modified%s - print error%s - profile added%s - profile deleted%s - profile exported%s - profiles exported%s - resume%s - running%s - server warning%s - session failure%s - session warning%s - share local folder with sessions of this profile%s - socket error%s - start%s - suspend%s - terminate%s - timeout%s - unknown error%s: Confirm Host Authorization%s: DirectRDP not supported yet%s: Export file already exists%s: Exporting session profile(s) failed&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -A new session profile has been added.ADSLAbout %s (%s)...About %s ...ActionAddAdd ProfileAll files (*.*)|*An unknown error occured during authentication!An unknown error occurred during authentication!Another client resumed X2Go session %sAnother client started X2Go session %sApplicationApplyAre you really sure you want to delete the session profile ,,%s''?Arts (not supported)AuthenticateAuthentication failed!Authentication has been successful.Authentication protocol communication incomplete! Try again...Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionCancelChange session title toChanges to profile have been saved.Choose PDF saving locationChoose PDF viewer applicationChoose a folder to share within a sessionChoose a public SSH keyChoose an icon for this session profileCinnamon Desktop (CINNAMON)Cleaning X2Go sessions...Client OptionsClient Side printingClient encodingClient-side folders and printers cannot be shared with this session. %sCloseCompressionConnect %sConnect MethodConnect ServerConnectionConnection Link SpeedConvert between client and server encodingsCurrently connecting...Custom SizeCustom commandCustom print commandCustom session window titleCustom sound portCustomize &profileDefault action for incoming print jobsDefaultsDeleteDelete ProfileDesktop Sharing with %s not supported by serverDevelopmentDisconnect and E&xit applicationDisconnecting %s and exiting application...Discover SSH keys or use SSH agent for X2Go authenticationDiscover SSH keys or use SSH agent for proxy authenticationDisplayDo not set (use server-side tools to configure the keyboard)E&xitEdit ProfileEducationEmail ClientEnable forwarding of SSH authentication agent connectionsEnable sound supportEnd Desktop SharingEnd Desktop Sharing (and disconnect)End Desktop Sharing (and disconnect/exit)Execution of command ,,%s'' failed.Exiting application...Export ProfileExport Profile GroupExport all ProfilesExtensionsFile ImportFolder ExportsFor details, start %s from the command line and retry the import.Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostHost key verification failed. The X2Go server may have been compromised. It is also possible that the host key has just been changed. However, for security reasons the connection will not be established!!!ISDNIcon Files (*.png)|*.png|All files (*.*)|*Image qualityImport Session ProfilesInput/OutputIntegrate remote application(s) into local desktop (rootless mode)InternetInternet BrowserK Desktop Environment (KDE)KeyKey fileKeyboardKeyboard modelLANLaunch Single ApplicationLayoutLayout variantLightweight X Desktop (LXDE)Link QualityLocal PathLogin automatically after %s has started (needs --auto-connect)Lost connection to server %s unexpectedly! Try to re-authenticate to the server...MATE Desktop (MATE)Manage Application MenuManage Session ProfileMaximizedMediaMenu of published applicationsMethodModemMultimediaNameNew Session ProfileNew X2Go session starting up... %sNew session profile has been imported...New session profiles have been imported...NoNo session profiles definedNone of the session profiles could be imported...OKOfficeOffice ApplicationsOkOnly these session profiles could be imported...Open application chooser dialogOpen file with system's default applicationOpen this dialog windowOpen with PDF viewerOther ApplicationsPDF viewer commandPasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioPyHoca-GUI Connecting you to ,,%s''PyHoca-GUI Connecting you to X2Go...PyHoca-GUI (Python X2Go Client) Client for connecting you to a remote X2Go serverPyHoca-GUI (Python X2Go Client) Currently connecting you to remote X2Go server ,,%s''PyHoca-GUI Profile Manager - %sPyHoca-GUI Profile Manager - %s (connected)PyHoca-GUI Profile Manager - new profilePyHoca-GUI is already running for user ,,%s''! Only one instance of PyHoca-GUI can be started per user. The PyHoca-GUI icon can be found in your desktops's notification area/systray.RDP optionsRDP serverReally Delete Session Profile ,,%s''?RefreshRefresh listRefresh menu treeRename Session WindowResetRestore shares in next sessionResume SessionResume Session (not possible)Resuming X2Go session... %sRetrieve Application MenuRetrieving Application Menu...Reverse TCP port forwarding request for session %s to server port %s has been denied.Run custom print commandRunningSSH key authentication has been successful.SSH proxy server loginSSH tunnel startedSaveSave PDFs to folderSave incoming file as ...Save to a local folderSelect one of the available desktop sessions on this serverServerServer CoreServer ExtensionsServer InformationServer Information - %sServer behind SSH proxyServer encodingSessionSession Profile: %s List of X2Go Server components, add-ons and their versions...Session StartupSession TitleSession Title - %sSession WindowSession loginSet display DPISet session window titleShare DesktopShare Desktop Session - %sShare desktop session (SHADOW)Share:Shared &foldersSharingShow Session WindowSingle ApplicationSoundStart &new Desktop SessionStart &new RDP SessionStart &new SessionStart Desktop Sharing SessionStart SSH tunnelStart session automatically after loginStore SSH host keys under (unique) X2Go session profile IDStore share list at end of sessionSuccessfully exported session profile group »%s« to file »%s«.Successfully exported single session profile »%s« to file »%s«.Suspend SessionSuspend Session (and disconnect)Suspend Session (and disconnect/exit)Suspend Session and E&xit applicationSuspendedSuspending sessions and exiting application...SystemTerminalTerminate SessionTerminate Session (and disconnect)Terminate Session (and disconnect/exit)The SSH proxy's host key is invalid or has not been accepted by the userThe X2Go PulseAudio system could not be started.The X2Go PulseAudio system has died unexpectedly.The X2Go PulseAudio system is not available within Remote Desktop sessions.The X2Go Server does not publish an application menu.The audio connection could not be set up for this session. %sThe authenticity of host [%s]:%s can't be established. %s key fingerprint is ,,%s''. Are you sure you want to continue connecting?The command ,,%s'' is not available on X2Go server %s.The command ,,%s'' is not available on X2Go server.The desktop %s is not available for sharing (anymore).The file »%s« already exists in this folder. Do you want to replace it?The remote server's host key is invalid or has not been accepted by the userThe remote user's home directory does not exist.The selected session profile(s) could not be exported to the file »%s«. Check for common problems (disk full, insufficient access, etc.).The selected session profile(s) could not be imported from file »%s«. Are you sure the session profiles file has the correct format?The server denies client-side folder sharing with this session. %sThe server denies client-side printing from within this session. %sThe server does not support the X2Go MIME box. %sThe server took long to provide a list of sharable desktops. This can happen from time to time, please try againThe session profile has been deleted.The session profiles configuration could not be written to file after import Check for common problems (disk full, insufficient access, etc.).The session startup failed.Transfer SessionTransfer Session (not possible)Trinity X Desktop (KDE3-like)TypeUnity X Desktop Shell (UNITY)Unknown session profile, configure before using it...Unshare &all local foldersUnshare:Use a default session window titleUse as Template for New ProfileUse custom keyboard settings as provided belowUse default sound portUse file MIME box for local file importUse local folder sharingUse same authentication for X2Go and proxy hostUse same username for X2Go and proxy hostUse this printerUserUser is not allowed to start X2Go sessions!UsernameUtilitiesView session onlyWANWe apologize for the inconvenience... Session profiles of type ,,DirectRDP'' are not supported by %s (%s), yet!! DirectRDP support will be available in %s (>= 1.0.0.0).We apologize for the inconvenience... Session profiles of type ,,SHADOW'' are not supported by X2Go Server (v%s)!!! Desktop Sharing with %s requires X2Go Server 4.1.0.0 and above.Whereas these session profiles failed to import...Window IconWindow titleWindows Terminal Server (Direct RDP)Windows Terminal Server (X2Go-proxied RDP)X2Go Profile is now disconnected.X2Go ServerX2Go Server Add-onsX2Go Server FeaturesX2Go Session has been suspended %sX2Go Session has terminated %sXDMCP QueryXDMCP serverXFCE Desktop (XFCE)Yesautomaticallyesdimport session profile(s)manuallysettings derived from Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-03 22:47+0200 PO-Revision-Date: 2013-08-03 22:46+0100 Last-Translator: Mike Gabriel Language-Team: X2Go i18n Language: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: German X-Poedit-Country: GERMANY X-Poedit-SourceCharset: utf-8 %s ...verursacht von Sitzung %s%s ...verursacht an Drucker durch Sitzung %s%s (via %s)%s - EOF-Fehler%s - Eingehender Druckauftrag von %s (%s)%s - MIME box nicht verfügbar%s - Druckeinstellungen%s - SSH-Fehler%s - SSH Proxy%s - Audiofehler%s - Audioproblem%s - Warnung Audiosystem%s - Anmeldefehler%s - ungültiger Benutzerschlüssel%s - Verbindungsfehler%s - keine Client-seitigen Ordner- und Druckerfreigaben möglich%s - keine Freigabe Client-seitiger Ordner%s - Client-seitiges Drucken nicht verfügbar%s - verbinden%s - Verbindung fehlgeschlagen%s - Desktopsharing fehlgeschlagen%s - trennen%s - Sitzungsprofil exportieren%s - Sitzungsprofile exportieren%s - ungültiger Server-Schlüssel%s - ungültiger Schlüssel%s - Benutzerverzeichnis nicht vorhanden%s - modifiziert%s - Druckfehler%s - Profil hinzugefügt%s - Profil gelöscht%s - Sitzungsprofilexport%s - Sitzungsprofilexport%s - fortsetzen%s - aktiv%s - Serverwarnung%s - Verbindung fehlgeschlagen%s - Sitzungsfunktion eingeschränkt%s - lokalen Ordner für dieses Sitzungsprofile freigeben%s - Socket-Fehler%s - starten%s - anhalten%s - beenden%s - Zeitüberschreitung%s - unbekannter Fehler%s: Echtheit des Servers bestätigen%s: DirectRDP noch nicht unterstützt%s: Export-Datei existiert bereits%s: Export von Sitzungsprofil(en) ist fehlgeschlagen%s: Import von Sitzungsprofil(en) ist fehlgeschlagen%s: Schreibfehler nach ImportAlle Sitzungen beendenVon Server trennenLokalen Ordner für &Freigabe wählen- es sind keine Drucker installiert -- das Drucksystem ist nicht bereit -depc105/denodeadkeysEin neues Sitzungsprofil wurde hinzugefügt.ADSLÜber %s (%s) ...Über %s ...AktionHinzufügenSitzungsprofil hinzufügenAlle Dateien (*.*)|*Ein unbekannter Fehler ist während der Serveranmeldung aufgetreten!Ein unbekannter Fehler ist während der Serveranmeldung aufgetreten!Eine andere X2Go Anwendung hat die Sitzung fortgesetzt %sEin anderes X2Go Programm hat diese Sitzung gestartet %sAnwendungAnwendenSind Sie sicher, dass sie das Sitzungsprofil ,,%s'' wirklich löschen möchten?Arts (nicht unterstützt)AnmeldenAnmeldung fehlgeschlagen!Anmeldung war erfolgreich.Kommunikation während Authentifizierungsprotokoll unvollständig! Nochmal versuchen...Anmeldung am SSH Proxy Server ist fehlgeschlagenTastaturkonfiguration dieses Computers automatisch erkennen und in der Sitzung verwendenAbbrechenSitzungsfenster umbenennen inÄnderungen am Profil wurden übernommen.Speicherort für eingehende Druckaufträge (PDFs) auswählenApplikation für PDF-Anzeige auswählenOrdner zur Freigabe für Sitzungen auswählenÖffentlichen SSH-Schlüssel auswählenSitzungs-Icon für dieses Sitzungsprofil auswählenCinnamon Desktop (CINNAMON)Beende X2Go Sitzungen...OptionenUnterstützung für lokale DruckeranbindungZeichenkodierung ClientClient-seitige Ordner und Drucker können für diese Sitzung nicht freigegeben werden. %sSchließenKomprimierungMit %s verbindenVerbindungsartSerververbindung aufbauenVerbindungVerbindungsgeschwindigkeitZeichenkodierung zwischen Server und Client übersetzenVerbindung wird aufgebaut...Benutzerdefinierte GrößeBenutzerdef. KommandoBenutzerdef. DruckkommandoSitzungstitel anpassenBenutzerdefinierter Audio-PortSitzungsprofil anpassenAktion für eingehende DruckaufträgeStandardwerteEntfernenSitzungsprofil löschenDesktopsharing mit %s wird vom Server nicht unterstütztEntwicklungVerbindung Trennen und Anwendung schließenTrenne %s und schließe Anwendung...Finde SSH Schlüssel oder verwende SSH Agent für X2Go-AnmeldungFinde SSH Schlüssel oder verwende SSH Agent für Proxy-AnmeldungAnzeigeKeine Einstellungen (zum Konfigurieren der Tastatur müssen Server-seitige Tools verwendet werden)&BeendenSitzungsprofil bearbeitenBildungE-Mail ProgrammWeiterleitung von SSH Agent AuthentifizierungsanfragenAudiounterstützung aktivierenDesktopsharing beendenDesktopsharing beenden (und Verbindung trennen)Desktopsharing beenden (und Verbindung trennen / Anwendung beenden)Das Ausführen des Befehls ,,%s'' ist fehlgeschlagen.Programm wird beendet...Sitzungsprofil exportierenSitzungsprofilgruppe exportierenAlle Sitzungsprofile exportierenErweiterungenDateiimportOrdnerfreigabeUm weitere Hinweise zu erhalten, %s von der Kommandozeile starten und den Import erneut durchführen.SSH Forwarding Tunnel zu [%s]:%s wurde für Sitzung %s vom X2Go/SSH Server verweigert. Die Sitzung konnte nicht gestartet werden.Bereits aktive Sitzung gefunden %sVollbildGNOME Desktop (GNOME)Vollzugriff erhaltenSpieleGrafikHostnameÜberprüfung des Hostkeys fehlgeschlagen. Der X2Go Server könnte kompromittiert worden sein. Ebenso ist es möglich, dass der Hostkey einfach nur geändert wurde. Dennoch wird die Verbindung aus Sicherheitsgründen abgebrochen!!!ISDNIcon Dateien (*.png)|*.png|Alle Dateien (*.*)|*BildqualitätSitzungsprofile importierenEin-/AusgabeServerseitige Anwendung(en) in lokalen Desktop integrieren (sog. rootless Modus)InternetInternetbrowserK Desktop Environment (KDE)SchlüsselSchlüsselTastaturTastaturmodellLANEinzelne Anwendung startenLayoutLayoutvarianteLightweight X Desktop (LXDE)VerbindungsqualitätLokaler PfadAutomatisch anmelden nach %s Programmstart (nur mit --auto-connect)Die Verbindung zum Server %s wurde unerwartet unterbrochen! Bitte versuchen Sie, sich neu am Server anzumelden...MATE Desktop (MATE)Anwendungsmenü verwaltenSitzungsprofil verwaltenMaximiertMedienMenü mit Server-publizierten AnwendungenMethodeModemMultimediaNameNeues SitzungsprofilNeue X2Go Sitzung wird gestartet... %sNeues Sitzungsprofil wurde importiert...Neue Sitzungsprofile wurden importiert...Neinkeine Sitzungsprofile definiertKeines der Sitzungsprofile konnte importiert werden...OkBüroprogramm (Office)BüroanwendungenOKNur diese Sitzungsprofile konnten importiert werden...Auswahldialog öffnen, um Anwendung auszuwählenMit Standardanwendung des Systems öffnenDieses Auswahlfenster öffnenMIt PDF-Betrachter öffnenWeitere AnwendungenAnwendung für PDF-AnzeigeKennwortPfadPortDruckenAktion für aktuellen DruckauftragAuf lokalem Drucker druckenDruckenDruckeinstellungenProfilProfilmanagerEin Sitzungsprofil mit dem Namen %s existiert bereits!!!Der Profilname fehlt, Profil so nicht verwendbar!!!ProxyServer-publizierte AnwendungenPulse AudioPyHoca-GUI Verbinde mit ,,%s''Verbinden mit X2Go Server...PyHoca-GUI (Python X2Go Client) Verbindungen zu entferntem X2Go Server aufbauenPyHoca-GUI (Python X2Go Client) Verbindungsaufbau zu X2Go Server ,,%s'' läuftPyHoca-GUI Profilmanager - %sPyHoca-GUI Profilmanager - %s (verbunden)PyHoca-GUI Profilmanager - neues SitzungsprofilPyHoca-GUI ist bereits gestartet für Benutzer/in ,,%s''! Nur eine Instanz von PyHoca-GUI kann pro Benutzer/in gestartet werden. Das PyHoca-GUI Icon befindet sich auf Ihrem Desktop in der Benachrichtigungsleiste.RDP OptionenRDP ServerDas Sitzungsprofil ,,%s'' wirklich löschen?AktualisierenListe aktualisierenMenübaum aktualisierenSitzungsfenster umbenennenZurücksetzenFreigaben in nächster Sitzung wiederherstellenSitzung fortsetzenSitzung fortsetzen (nicht möglich)X2Go Sitzung wird fortgesetzt... %sHole AnwendungsmenüHole Anwendungsmenü...Eine Reverse TCP Port Weiterleitungsanfrage für Sitzung %s an Serverport %s wurde vom X2Go Server abgelehnt.Benutzerdefiniertes Druckkommando ausführenaktivAuthentifizierung mit SSH Schlüssel war erfolgreich.Anmeldung an SSH ProxySSH Tunnel gestartetSpeichernPDF in Ordner speichernEingehende Datei speichern unter ...In lokalem Ordner speichernBitte eine der verfügbaren Desktop-Sitzungen auf diesem Server auswählenServerServer-KernServer-ErweiterungenServer-InformationServer-Informationen - %sServer hinter SSH-ProxyServerSitzungSitzungsprofil: %s Liste der X2Go Server Komponenten, Add-Ons und Versionsnummern...SitzungsstartSitzungstitelSitzungstitel - %sSitzungsfensterSitzungsloginDPI-Wert für Anzeige setzenSitzungsfenstertitel setzenDesktopsharing startenDesktopsharing Sitzung - %sDesktopsharing Sitzung (SHADOW)Freigeben:Freigegebene OrdnerFreigabenSitzungsfenster anzeigenEinzelne AnwendungAudio&Neue Desktopsitzung starten&Neue RDP-Sitzung starten&Neue Sitzung startenDesktopsharing Sitzung startenSSH Tunnel aufbauenSitzung nach Anmeldung automatisch startenSSH Host-Schlüssel unter der (eindeutigen) X2Go Sitzungsprofil-ID speichernFreigabenliste nach Sitzungsende speichernDer Export der Sitzungsprofilgruppe ,,%s'' in Datei ,,%s'' war erfolgreich.Der Export des einzelnen Sitzungsprofils ,,%s'' in Datei ,,%s'' war erfolgreich.Sitzung anhaltenSitzungen anhalten (und Verbindung trennen)Sitzung anhalten (und Verbindung trenen / Anwendung beenden)Sitzung anhalten und Anwendung beendenangehaltenSitzungen werden angehalten und Programm beendet...SystemTerminalkonsoleSitzung beendenSitzung beenden (und Verbindung trennen)Sitzung beenden (und Verbindung trennen / Anwendung beenden)Der Host-Schlüssel des SSH Proxy-Servers ist ungültig oder wurde vom Benutzer nicht akzeptiertDas X2Go PulseAudio System konnte nicht gestartet werden.Das X2Go PulseAudio System ist soeben abgestürzt.Das X2Go PulseAudio System ist innerhalb von Remote Desktop Sitzungen nicht verfügbar.Der X2Go-Server publiziert kein Anwendungsmenü.Die Audio-Verbindung für diese Sitzung konnte nicht aufgebaut werden. %sDie Echtheit des Servers [%s]:%s konnte nicht bestätigt werden. Der %s Fingerabdruck lautet: ,,%s''. Sind Sie sicher, dass sie fortfahren möchten? Der Befehl ,,%s'' ist auf dem X2Go Server nicht verfügbar %sDer Befehl ,,%s'' ist auf dem X2Go Server nicht verfügbar.Der Desktop %s ist für Desktopsharing nicht (mehr) verfügbar.Die Datei ,,%s'' existiert bereits in diesem Ordner. Soll die Datei ersetzt werden?Der Host-Schlüssel des X2Go Servers ist ungültig oder wurde vom Benutzer nicht akzeptiertDas serverseitige Benutzerverzeichnis (HOME-Verzeichnis) existiert nicht.Die/das ausgewählte(n) Sitzungsprofil(e) konnte(n) nicht exportiert werden in Datei ,,%s''. Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender Zugriff, usw).Die/das ausgewählte(n) Sitzungsprofil(e) konnte(n) nicht aus der Datei ,,%s'' importiert werden. Hat die Sitzungsprofildatei wirklich ein korrektes Format?Client-seitige Ordner können in dieser Sitzung nicht freigegeben werden. Der Server verweigert die Verbindung. %sIn dieser Sitzung können Client-seitige Drucker nicht verwendet werden. Der Server verweigert die Verbindung. %sDer Server unterstützt die X2Go MIME box nicht. %sDer Server hat in der erlaubten Zeit keine Desktop-Liste geliefert. Dies kann manchmal vorkommen, bitte noch einmal versuchen.Das Sitzungsprofil wurde gelöscht.Die Sitzungsprofilkonfiguration konnte nach Import nicht auf den Datenträger geschrieben werden. Bitte häufige Fehlerursachen prüfen (Datenträger voll, unzureichender Zugriff, usw).Der Start der Sitzung ist fehlgeschlagen.Sitzung übernehmenSitzung übernehmen (nicht möglich)Trinity X Desktop (ähnlich KDE3)TypUnity X Desktop Umgebung (UNITY)Unbekanntes Sitzungsprofil, vor Benutzung bitte einrichten...Alle aushängenAushängen:Standardtitel für SitzungsfensterAls Vorlage für neues Profil verwendenTastatureinstellungen der Sitzung wie folgt anpassenStandard Audio-Port verwendenMIME-Box für lokalen Dateiimport verwendenLokale Ordnerfreigabe verwendenVerwende die gleichen Anmeldeinformationen für X2Go Server und ProxyVerwende gleichen Anmeldenamen für X2Go Server und ProxyHier druckenBenutzerBenutzer darf keine X2Go Sitzungen starten!BenutzernameDienstprogrammeSitzung nur betrachtenWANEntschuldigung... Sitzungsprofile vom Typ ,,DirectRDP'' werden momentan von %s (%s) noch nicht unterstützt!! DirectRDP wird in %s (>= 1.0.0.0) verfügbar sein.Entschuldigung... Sitzungsprofile vom Typ ,,SHADOW'' werden vom X2Go Server (v%s) nicht unterstützt!! Desktopsharing mit %s erfordert X2Go Server 4.1.0.0 oder höher.Der Import dieser Sitzungsprofile schlug hingegen fehl...FenstersymbolFenstertitelWindows Terminal Server (Direktes RDP)Windows Terminalserver (RDP via X2Go-Proxy)X2Go Profil ist nun nicht mehr verbunden.X2Go ServerX2Go Server Add-OnsBesondere X2Go Server MerkmaleX2Go Sitzung wurde angehalten %sX2Go Sitzung wurde beendet %sXDMCP-Serveranfrage (Query)XDMCP ServerXFCE Desktop (XFCE)JaautomatischesdSitzungsprofil(e) importierenmanuellEinstellungen übernommen vonpyhoca-gui-0.4.0.8/build/mo/en/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000007163212207147477016703 0ustar jl XY(t %#2CViy"%'   3 O _ {       !!4! K! W!d!x!!5!! ! !" ""1"P"p"'"'"""#*#E#!_## # # #%### # $$ $!$/3$0c$&$&$ $$B$7% L%Y%#p%>%.%R&U&\&#t&&&)&&'';'W'q'''G'' ' ' (( ((3(+I(u( ((((((&(%).)5)/D) t) )+):);*D*<L** * * *9**+$+);+#e+++++ + ++A+q@, , ,,,- ----*- .'. ?.BL........../// ;/ H/?S/R///0 )03090X0_0 e0p0u0"0(0*01111Q1T1[1o10r11+1122/2B2K2P2U2 [2h22222!2,23 3 #3#/3$S3Qx3U3 4+@4(l44 M5 Y5%d55 5555555656O6Un666+67(7;7@7T7n7;77 77778)898RA88 888 888 9949S9Z9j9r9999999:'::;:"v:B:C: ; 0;%Q;%w; ;.;;;;";'<HC<0<1<K<5;==q==63>3j>6>J>L ?0m??,@B@C@1Q.NQR}QQQ#QR.R)LRvR'RRRRRSG ShS nS zSSS SS+SS TT#T8TTTfT&yTTTT/T T T+U:HU;UU<UV V V !V9.VhV}V$V)V#VWW*W?W SW ^WjWAyWqW -X NXYXoXXXXXdY*iY YY YAY ZZ#Z?ZCZLZUZdZhZZZZ Z Z?ZR [`[t[[ [[[[[ [[["\(&\*O\z\}\1\\\\\0\]+=]i]]]]]]]] ]]]^^!^!1^,S^^^ ^#^$^Q^UD__+_(_` ` `%`a aa+aAaGafauaaaaUa>bWb+_bbbbbbb;b;c BcOcactccccRcd d-d@d Od]dmd dddddddeee5eLe_e}e'e:e"eBfCWff f%f%f g."gQgXgag"sg'gHg0h18hKjh5h=h*i6i3i6jJPjLj0jkkB0lCsl1lpl%Zmmn,n=n]n{nn5nnn"no.;ojo'oo/o)op-p+2p^p gpqppp2q2q r 'r$4r*Yr!r rrr"rr s )s6sJs Ns\s`szsseE+$ u,]T*^Jp#8NHS`I #3`[9T,LhY1^Zs *f 0iU\RIA-b@:d%g"r;Wx?;kcd:(~DR@?Y1 P-4O0%e5MZ)fnH>O QiJ6V4a+o{ K/|V =>"<6&SGAqM95C=tBQg7N_c<z&.P_)X}vyKED2 $h3G'8F7 ] .jwWB(!L\2Cb/[aUX j!lm'F%s ...caused by session %s%s ...caused on printer %s by session %s%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth error%s - auth key error%s - channel error%s - client resources not sharable%s - client-side folders not sharable%s - client-side printing not available%s - connect%s - connect failure%s - desktop sharing failed%s - disconnect%s - export session profile%s - export session profiles%s - host key error%s - key error%s - missing home directory%s - modified%s - print error%s - profile added%s - profile deleted%s - profile exported%s - profiles exported%s - resume%s - running%s - server warning%s - session failure%s - session warning%s - share local folder with sessions of this profile%s - socket error%s - start%s - suspend%s - terminate%s - timeout%s - unknown error%s: Confirm Host Authorization%s: DirectRDP not supported yet%s: Export file already exists%s: Exporting session profile(s) failed%s: Import of session profile(s) failed%s: Write failure after import&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -uspc105/usbasicA new session profile has been added.ADSLAbout %s (%s) ...About %s ...ActionAddAdd ProfileAll files (*.*)|*An unknown error occured during authentication!An unknown error occurred during authentication!Another client resumed X2Go session %sAnother client started X2Go session %sApplicationApplyAre you really sure you want to delete the session profile ,,%s''?Arts (not supported)AuthenticateAuthentication failed!Authentication has been successful.Authentication protocol communication incomplete! Try again...Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionCancelChange session title toChanges to profile have been saved.Choose PDF saving locationChoose PDF viewer applicationChoose a folder to share within a sessionChoose a public SSH keyChoose an icon for this session profileCinnamon Desktop (CINNAMON)Cleaning X2Go sessions...Client OptionsClient Side printingClient encodingClient-side folders and printers cannot be shared with this session. %sCloseCompressionConnect %sConnect MethodConnect ServerConnectionConnection Link SpeedConvert between client and server encodingsCurrently connecting...Custom SizeCustom commandCustom print commandCustom session window titleCustom sound portCustomize &profileDefault action for incoming print jobsDefaultsDeleteDelete ProfileDesktop Sharing with %s not supported by serverDevelopmentDisconnect and E&xit applicationDisconnecting %s and exiting application...Discover SSH keys or use SSH agent for X2Go authenticationDiscover SSH keys or use SSH agent for proxy authenticationDisplayDo not set (use server-side tools to configure the keyboard)E&xitEdit ProfileEducationEmail ClientEnable forwarding of SSH authentication agent connectionsEnable sound supportEnd Desktop SharingEnd Desktop Sharing (and disconnect)End Desktop Sharing (and disconnect/exit)Execution of command ,,%s'' failed.Exiting Application...Export ProfileExport Profile GroupExport all ProfilesExtensionsFile ImportFolder ExportsFor details, start %s from the command line and retry the import.Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostHost key verification failed. The X2Go server may have been compromised. It is also possible that the host key has just been changed. However, for security reasons the connection will not be established!!!ISDNIcon Files (*.png)|*.png|All files (*.*)|*Image qualityImport Session ProfilesInput/Outputntegrate remote application(s) into local desktop (rootless mode)InternetInternet BrowserK Desktop Environment (KDE)KeyKey fileKeyboardKeyboard modelLANLaunch Single ApplicationLayoutLayout variantLightweight X Desktop (LXDE)Link QualityLocal PathLogin automatically after %s has started (needs --auto-connect)Lost connection to server %s unexpectedly! Try to re-authenticate to the server...MATE Desktop (MATE)Manage Application MenuManage Session ProfileMaximizedMediaMenu of published applicationsMethodModemMultimediaNameNew Session ProfileNew X2Go session starting up... %sNew session profile has been imported...New session profiles have been imported...NoNo session profiles definedNone of the session profiles could be imported...OKOfficeOffice ApplicationsOkOnly these session profiles could be imported...Open application chooser dialogOpen file with system's default applicationOpen this dialog windowOpen with PDF viewerOther ApplicationsPDF viewer commandPasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioPyHoca-GUI Connecting you to ,,%s''PyHoca-GUI Connecting you to X2Go...PyHoca-GUI (Python X2Go Client) Client for connecting you to a remote X2Go serverPyHoca-GUI (Python X2Go Client) Currently connecting you to remote X2Go server ,,%s''PyHoca-GUI Profile Manager - %sPyHoca-GUI Profile Manager - %s (connected)PyHoca-GUI Profile Manager - new profilePyHoca-GUI is already running for user ,,%s''! Only one instance of PyHoca-GUI can be started per user. The PyHoca-GUI icon can be found in your desktops's notification area/systray.RDP optionsRDP serverReally Delete Session Profile ,,%s''?RefreshRefresh listRefresh menu treeRename Session WindowResetRestore shares in next sessionResume SessionResume Session (not possible)Resuming X2Go session... %sRetrieve Application MenuRetrieving Application Menu...Reverse TCP port forwarding request for session %s to server port %s has been denied.Run custom print commandRunningSSH key authentication has been successful.SSH proxy server loginSSH tunnel startedSaveSave PDFs to folderSave incoming file as ...Save to a local folderSelect one of the available desktop sessions on this serverServer Server CoreServer ExtensionsServer InformationServer Information - %sServer behind SSH proxyServer encodingSessionSession Profile: %s List of X2Go Server components, add-ons and their versions...Session StartupSession TitleSession Title - %sSession WindowSession loginSet display DPISet session window titleShare DesktopShare Desktop Session - %sShare desktop session (SHADOW)Share:Shared &foldersSharingShow Session WindowSingle ApplicationSoundStart &new Desktop SessionStart &new RDP SessionStart &new SessionStart Desktop Sharing SessionStart SSH tunnelStart session automatically after loginStore SSH host keys under (unique) X2Go session profile IDStore share list at end of sessionSuccessfully exported session profile group »%s« to file »%s«.Successfully exported single session profile »%s« to file »%s«.Suspend SessionSuspend Session (and disconnect)Suspend Session (and disconnect/exit)Suspend Session and E&xit applicationSuspendedSuspending sessions and exiting application...SystemTerminalTerminate SessionTerminate Session (and disconnect)Terminate Session (and disconnect/exit)The SSH proxy's host key is invalid or has not been accepted by the userThe X2Go PulseAudio system could not be started.The X2Go PulseAudio system has died unexpectedly.The X2Go PulseAudio system is not available within Remote Desktop sessions.The X2Go Server does not publish an application menu.The audio connection could not be set up for this session. %sThe authenticity of host [%s]:%s can't be established. %s key fingerprint is ,,%s''. Are you sure you want to continue connecting?The command ,,%s'' is not available on X2Go server %s.The command ,,%s'' is not available on X2Go server.The desktop %s is not available for sharing (anymore).The file »%s« already exists in this folder. Do you want to replace it?The remote server's host key is invalid or has not been accepted by the userThe remote user's home directory does not exist.The selected session profile(s) could not be exported to the file »%s«. Check for common problems (disk full, insufficient access, etc.).The selected session profile(s) could not be imported from file »%s«. Are you sure the session profiles file has the correct format?The server denies client-side folder sharing with this session. %sThe server denies client-side printing from within this session. %sThe server does not support the X2Go MIME box. %sThe server took long to provide a list of sharable desktops. This can happen from time to time, please try againThe session profile has been deleted.The session profiles configuration could not be written to file after import Check for common problems (disk full, insufficient access, etc.).The session startup failed.Transfer SessionTransfer Session (not possible)Trinity X Desktop (KDE3-like)TypeUnity X Desktop Shell (UNITY)Unknown session profile, configure before using it...Unshare &all local foldersUnshare:Use a default session window titleUse as Template for New ProfileUse custom keyboard settings as provided belowUse default sound portUse file MIME box for local file importUse local folder sharingUse same authentication for X2Go and proxy hostUse same username for X2Go and proxy hostUse this printerUserUser is not allowed to start X2Go sessions!UsernameUtilitiesView session onlyWANWe apologize for the inconvenience... Session profiles of type ,,DirectRDP'' are not supported by %s (%s), yet!! DirectRDP support will be available in %s (>= 1.0.0.0).We apologize for the inconvenience... Session profiles of type ,,SHADOW'' are not supported by X2Go Server (v%s)!!! Desktop Sharing with %s requires X2Go Server 4.1.0.0 and above.Whereas these session profiles failed to import...Window IconWindow titleWindows Terminal Server (Direct RDP)Windows Terminal Server (X2Go-proxied RDP)X2Go Profile is now disconnected.X2Go ServerX2Go Server Add-onsX2Go Server FeaturesX2Go Session has been suspended %sX2Go Session has terminated %sXDMCP QueryXDMCP serverXFCE Desktop (XFCE)Yesautomaticallyesdimport session profile(s)manuallysettings derived from pyhoca-gui-0.4.0.8/build/mo/es/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000007112612207147477016706 0ustar [  ($ MY%h)="P%s' +H\k     ( = 5R     ! !'?!g!{!!!!!! " " "%*"P"U" f"s"z" ~""/"0"&"&$# K#W#B]## ####>#.<$Rk$$$#$%%):%d%'|%%%%%G%:& @& L&W&f& u&&+&& &&& '&'8'&K'r'{''/' ' '+':(;U((<(( ( ( (9):)O)$c)))#))))* %* 0*<*qK* * ***+++$+*)+ T+ b+Bo++++++++ ,,+,2,A, ^, k,?v,R, -!- 8-B-H-g-n- t---"--------+.G._.t...... ......!/,1/^/d/ {/#/$/Q/U"0x0+0(00 1 1%11 11 22%2D2S2q222U2353+=3i333333;34 4,4>4Q4i444R44 4 55 ,5:5J5 c5q5555555556)6<6Z6'k6:6"6B6C47x7 7%7%7 7.7.858>8"P8's8H80819KG959=9:6:3:6:J-;Lx;0;;B<C<1 =p==%===>!>?>D>5b>>>">>.>.?'E?m?/?)???+?"@ +@5@G@K@@ A A$A*A!B 7BCBWB"lBB B BBB BBBB&C!8E5ZE EE4E)E F+F=FLFcF'}FF)FF<G<CGJGGG%GH-H!MH!oHHHHHHII0IIIdIwIII?I J "J.J=JLJjJ+J"J(J?J 9KZK&tKK0K'K L L (L*5L`LeL{LLLL LOLO M*YM(M MM%MM M.N4N[PNDNgNYObO)O"OO6OP*4P_PzPPPfP!Q (Q 4Q@QUQ nQxQ1Q QQQ#Q R@R_R=rRRR R>R S-%S2SSDSPSTW%T}T T TTITTU.2U4aU"UUUUV V(V9V|RV$VVWW4W ;WEWJW"OWrWW<WW WWX XXX)X-XEXJX^X{X XRXfX$SYxY YY YYY YYY"Z#Z&&ZMZPZ WZbZeZ,ZZZZZ [&[+[2[;[D[ c[m[[[$[3[[\ \%\B\Qb\K\"].#],R]] 4^ A^$N^ s^~^^"^ ^/^__8_V_#t_h_,`.`65`*l````!``C aMa Vaba{aaaaaXaObabwbbbb bb$b!c ?cJc ^c hc cc$ccccd."d<Qd=dEd:eMe!_e'e3e e7e f(f1f!Cf'efIf.f9gW@g4gJg{h;h7h9iBBiOi5i jRjOj08kik%k l7l"Jl"mlll<l.lm#.m(Rm-{m!m4mn=n@Ynnn:nn oo#o'oopp%p(q"-q Pq\q"wq#q#q qqqrr&r *r6r5A!X?vI6Y = &8ax5Lw+z/Z9o&:1gM)"D-8K Nb>Yp{HM3m)u V'O$# BUG6VJIC.hX @RDF;. \` 2TL"C- *'$:+qTn>QtA,_^<EH0k%Wlires ]?Z,Q@1%;4c*34 U(/Kj #S(EP7SRN[y<F9P~}dGO!|2JBf[07W=%s ...caused by session %s%s ...caused on printer %s by session %s%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth error%s - auth key error%s - channel error%s - client resources not sharable%s - client-side folders not sharable%s - client-side printing not available%s - connect%s - connect failure%s - desktop sharing failed%s - disconnect%s - export session profile%s - export session profiles%s - host key error%s - key error%s - missing home directory%s - modified%s - print error%s - profile added%s - profile deleted%s - profile exported%s - profiles exported%s - resume%s - running%s - server warning%s - session failure%s - session warning%s - share local folder with sessions of this profile%s - socket error%s - start%s - suspend%s - terminate%s - timeout%s - unknown error%s: Confirm Host Authorization%s: DirectRDP not supported yet%s: Export file already exists%s: Exporting session profile(s) failed&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -A new session profile has been added.ADSLAbout %s (%s)...About %s ...ActionAddAdd ProfileAll files (*.*)|*An unknown error occured during authentication!An unknown error occurred during authentication!Another client resumed X2Go session %sAnother client started X2Go session %sApplicationApplyAre you really sure you want to delete the session profile ,,%s''?Arts (not supported)AuthenticateAuthentication failed!Authentication has been successful.Authentication protocol communication incomplete! Try again...Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionCancelChange session title toChanges to profile have been saved.Choose PDF saving locationChoose PDF viewer applicationChoose a folder to share within a sessionChoose a public SSH keyChoose an icon for this session profileCleaning X2Go sessions...Client OptionsClient Side printingClient encodingClient-side folders and printers cannot be shared with this session. %sCloseCompressionConnect %sConnect MethodConnect ServerConnectionConnection Link SpeedConvert between client and server encodingsCurrently connecting...Custom SizeCustom commandCustom print commandCustom session window titleCustom sound portCustomize &profileDefault action for incoming print jobsDefaultsDeleteDelete ProfileDesktop Sharing with %s not supported by serverDevelopmentDisconnect and E&xit applicationDisconnecting %s and exiting application...Discover SSH keys or use SSH agent for X2Go authenticationDiscover SSH keys or use SSH agent for proxy authenticationDisplayDo not set (use server-side tools to configure the keyboard)E&xitEdit ProfileEducationEmail ClientEnable forwarding of SSH authentication agent connectionsEnable sound supportEnd Desktop SharingEnd Desktop Sharing (and disconnect)End Desktop Sharing (and disconnect/exit)Execution of command ,,%s'' failed.Exiting application...Export ProfileExport Profile GroupExport all ProfilesExtensionsFile ImportFolder ExportsForwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostISDNIcon Files (*.png)|*.png|All files (*.*)|*Image qualityInput/OutputIntegrate remote application(s) into local desktop (rootless mode)InternetInternet BrowserK Desktop Environment (KDE)KeyKey fileKeyboardKeyboard modelLANLaunch Single ApplicationLayoutLayout variantLightweight X Desktop (LXDE)Link QualityLocal PathLogin automatically after %s has started (needs --auto-connect)Lost connection to server %s unexpectedly! Try to re-authenticate to the server...Manage Application MenuManage Session ProfileMaximizedMediaMenu of published applicationsMethodModemMultimediaNameNew Session ProfileNew X2Go session starting up... %sNoNo session profiles definedOKOfficeOffice ApplicationsOkOpen application chooser dialogOpen file with system's default applicationOpen this dialog windowOpen with PDF viewerOther ApplicationsPDF viewer commandPasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioPyHoca-GUI Connecting you to ,,%s''PyHoca-GUI Connecting you to X2Go...PyHoca-GUI (Python X2Go Client) Client for connecting you to a remote X2Go serverPyHoca-GUI (Python X2Go Client) Currently connecting you to remote X2Go server ,,%s''PyHoca-GUI Profile Manager - %sPyHoca-GUI Profile Manager - %s (connected)PyHoca-GUI Profile Manager - new profilePyHoca-GUI is already running for user ,,%s''! Only one instance of PyHoca-GUI can be started per user. The PyHoca-GUI icon can be found in your desktops's notification area/systray.RDP optionsRDP serverReally Delete Session Profile ,,%s''?RefreshRefresh listRefresh menu treeRename Session WindowResetRestore shares in next sessionResume SessionResume Session (not possible)Resuming X2Go session... %sRetrieve Application MenuRetrieving Application Menu...Reverse TCP port forwarding request for session %s to server port %s has been denied.Run custom print commandRunningSSH key authentication has been successful.SSH proxy server loginSSH tunnel startedSaveSave PDFs to folderSave incoming file as ...Save to a local folderSelect one of the available desktop sessions on this serverServerServer CoreServer ExtensionsServer InformationServer Information - %sServer behind SSH proxyServer encodingSessionSession Profile: %s List of X2Go Server components, add-ons and their versions...Session StartupSession TitleSession Title - %sSession WindowSession loginSet display DPISet session window titleShare DesktopShare Desktop Session - %sShare desktop session (SHADOW)Share:Shared &foldersSharingShow Session WindowSingle ApplicationSoundStart &new Desktop SessionStart &new RDP SessionStart &new SessionStart Desktop Sharing SessionStart SSH tunnelStart session automatically after loginStore SSH host keys under (unique) X2Go session profile IDStore share list at end of sessionSuccessfully exported session profile group »%s« to file »%s«.Successfully exported single session profile »%s« to file »%s«.Suspend SessionSuspend Session (and disconnect)Suspend Session (and disconnect/exit)Suspend Session and E&xit applicationSuspendedSuspending sessions and exiting application...SystemTerminalTerminate SessionTerminate Session (and disconnect)Terminate Session (and disconnect/exit)The SSH proxy's host key is invalid or has not been accepted by the userThe X2Go PulseAudio system could not be started.The X2Go PulseAudio system has died unexpectedly.The X2Go PulseAudio system is not available within Remote Desktop sessions.The X2Go Server does not publish an application menu.The audio connection could not be set up for this session. %sThe authenticity of host [%s]:%s can't be established. %s key fingerprint is ,,%s''. Are you sure you want to continue connecting?The command ,,%s'' is not available on X2Go server %s.The command ,,%s'' is not available on X2Go server.The desktop %s is not available for sharing (anymore).The file »%s« already exists in this folder. Do you want to replace it?The remote server's host key is invalid or has not been accepted by the userThe remote user's home directory does not exist.The selected session profile(s) could not be exported to the file »%s«. Check for common problems (disk full, insufficient access, etc.).The server denies client-side folder sharing with this session. %sThe server denies client-side printing from within this session. %sThe server does not support the X2Go MIME box. %sThe server took long to provide a list of sharable desktops. This can happen from time to time, please try againThe session profile has been deleted.The session startup failed.Transfer SessionTransfer Session (not possible)Trinity X Desktop (KDE3-like)TypeUnity X Desktop Shell (UNITY)Unknown session profile, configure before using it...Unshare &all local foldersUnshare:Use a default session window titleUse as Template for New ProfileUse custom keyboard settings as provided belowUse default sound portUse file MIME box for local file importUse local folder sharingUse same authentication for X2Go and proxy hostUse same username for X2Go and proxy hostUse this printerUserUser is not allowed to start X2Go sessions!UsernameUtilitiesView session onlyWANWe apologize for the inconvenience... Session profiles of type ,,DirectRDP'' are not supported by %s (%s), yet!! DirectRDP support will be available in %s (>= 1.0.0.0).We apologize for the inconvenience... Session profiles of type ,,SHADOW'' are not supported by X2Go Server (v%s)!!! Desktop Sharing with %s requires X2Go Server 4.1.0.0 and above.Window IconWindow titleWindows Terminal Server (Direct RDP)Windows Terminal Server (X2Go-proxied RDP)X2Go Profile is now disconnected.X2Go ServerX2Go Server Add-onsX2Go Server FeaturesX2Go Session has been suspended %sX2Go Session has terminated %sXDMCP QueryXDMCP serverXFCE Desktop (XFCE)Yesautomaticallyesdmanuallysettings derived from Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-03 22:47+0200 PO-Revision-Date: 2013-01-23 23:07+0100 Last-Translator: Terje Andersen Language-Team: X2Go i18n Language: nb_NO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Poedit-Language: Bokmal X-Poedit-Country: Norway X-Poedit-SourceCharset: utf-8 %s ...oppstod fra sesjon %s%s ...oppstod på skriver %s fra sesjon %s%s (via %s)%s - EOF feil%s - Innkommende utskriftsjobb fra %s (%s)%s - MIME boks ikke tilgjengelig%s - Utskriftsinnstillinger%s - SSH feil%s - ssh mellomtjener%s - feil med lyden%s - problem med lyden%s - advarsel om lyd%s - autentiseringens feil%s - Feil med autentiseringsnøkkel%s - feil med kanalen%s - klient ressurser er ikke mulig å dele%s - klient-side mapper er ikke mulig å dele%s - klient-side utskrift er ikke tilgjengelig%s - koble til%s - tilkoblingsfeil%s - skrivebordsdelingen feilet%s - koble fra%s - eksporter sesjonsprofil%s - eksporter sesjonsprofiler%s - verts nøkkel feil%s - nøkkel feil%s - mangler hjemmekatalog%s - endret%s - feil ved utskrift%s - profil lagt til%s - profilen er slettet%s - profilen er eksportert%s - profilene ble eksportert%s - gjenoppta%s - aktiv%s - server advarsel%s - sesjonsfeil%s - advarsel om sesjon%s - del lokal mappe med sesjoner av denne profilen%s - sokkel feil%s - start%s - koble fra%s - avslutt%s - tidsavbrudd%s - ukjent feil%s: Verifiser vert autorisasjonen%s: Direkte RDP er ikke støttet enda%s: Eksportfilen eksisterer allerede%s: Eksporteringen av sesjonsprofil(er) feilet&Rensk opp alle sesjoner&Koble fra serveren&Del selvvalgt lokal mappe- ingen skrivere installert -- utskriftssystemet er ikke tilgjengelig -En ny sesjonsprofil har blitt lagt til.ADSLOm %s (%s) ...Om %s ...HandlingLegg tilLegg til profilAlle filer (*.*)|*En ukjent feil oppstod under autentiseringen!En ukjent feil oppstod under autentiseringen! En annen klient gjenopptok X2Go sesjon %sEn annen klient startet X2Go sesjon %sApplikasjonPåførEr du helt sikker på at du ønser å slette valgt sesjonsprofil "%s"?Arts (ikke supportert)AutentiserAutentiseringen feilet!Autentiseringen var vellykket.Autentiseringens protokoll kommunikasjon er ufullstendig! Forsøk igjen.Autentiseringenen til SSH mellomtjeneren feilet!Automatisk oppdag og benytt klient-side konfigurasjon for tastaturet inne i sesjonenAvbrytEndre sesjonstittelen tilEndringer til profilen har blitt lagret.Velg plassering for PDF lagringVelg PDF leseprogramVelg en mappe som skal deles i en sesjonVelg en offentlig SSH nøkkelVelg et ikon for denne sesjonsprofilenRensker opp i X2Go sesjoner...Klient alternativerKlientside utskriftKlientens tegnkodeKlient-side mapper og skrivere kan ikke bli delt med denne sesjonen. %sLukkKompresjonKoble til %sTilkoblingsmetodeKoble til serverTilkoblingTilkoblingens forbindelseshastighetKonverter tegnkodingen mellom klient og serverKobler til...Egentilpasset størrelseSelvvalgt kommandoSelvvalgt kommando for utskriftTilpasset sesjon vindustittelSelvvalgt lydportTIlpass &profilForvalgt handling for innkommende utskriftsjobberStandardSlettSlett profilDeling av skrivebord med %s er ikke støttet av serverenUtviklingKoble fra sesjonen og &Avslutt applikasjonenKobler fra %s og avslutter applikasjonen...Oppdag SSH nøkler, eller bruk SSH agent for X2Go autentiseringOppdag SSH nøkler, eller bruk SSH agent for proxy autentiseringSkjermIkke angi (benytt server-side verktøy for å konfigurere tastaturet)&AvsluttRediger profilOpplæringEpost klientAktiver videresending av SSH autentiseringen for agent tilkoblingerAktiver lydstøtteAvslutt skrivebordsdelingAvslutt skrivebordsdeling (og koble fra)Avslutt skrivebordsdeling (og koble fra/avslutte)Utførelsen av kommandoen "%s" feilet.Avslutter applikasjonen...Eksporter profilEksporter profilgruppeEksporter alle profilerUtvidelserFil importMappe eksporterTunnel videresendingsforespørsel til [%s]:%s for sesjon %s ble avvist av den eksterne X2Go/SSH serveren. Oppstart av sesjonen feilet.Fant allerede kjørende sesjon %sFullskjermGNOME skrivebord (GNOME)Få full tilgangSpillGrafikkVertISDNIkonfiler(*.png)|*.png|Alle filer (*.*)|*BildekvalitetInndata/UtdataIntegrer eksterne applikasjon(er) inn i det lokale skrivebordet (rotløs modus)InternettNettleserK skrivebordsmiljø (KDE)NøkkelNøkkelfilTastaturTastaturmodellLANStart enkelt applikasjonUtformingUtformingsvariantLettvekts X skrivebord (LXDE)KoblingskvalitetLokal stiLogg inn automatisk etter at %s har startet (trenger -auto-connect)Mistet uventet forbindelsen til server %s ! Forsøk å autentisiere deg på nytt til serveren...Administrer applkasjonsmenyenHåndter sesjonsprofilMaksimertMediaMeny med publiserte applikasjonerMetodeModemMultimediaNavnNy sesjonsprofilNy X2Go sesjon starter opp... %sNeiIngen sesjonsprofiler er definertOKKontorKontorapplikasjonerOkÅpne applikasjonsvelger dialogÅpne filen med systems foretrukne applikasjonÅpne dette dialogvinduetÅpne med PDF leserenAndre applikasjonerPDF leser kommandoPassordStiPortSkriv utSkriv ut handlingSkriv ut til en lokal skriverUtskriftUtksriftsinnstillingerProfilProfil håndtererProfilnavnet %s eksisterer allerede!Profilnavnet mangler, profilen er ubrukelig!ProxyPubliserte applikasjonerPulse AudioPyHoca-GUI Kobler deg til ,,%s''PyHoca-GUI Kobler deg til X2Go...PyHoca-GUI (Python X2Go Client) Klient for å koble deg til en ekstern X2Go serverPyHoca-GUI (Python X2Go Client) Holder på med å koble deg til X2Go serveren ,,%s''PyHoca-GUI Profil håndterer - %sPyHoca-GUI Profil håndterer - %s (tilkoblet)PyHoca-GUI Profil håndterer - ny profilPyHoca-GUI kjører allerede for bruker "%s"! Kun en instans av PyHoca-GUI kan bli startet per bruker. PyHoca-GUI ikonet kan bli funnet i ditt skrivebords systemkurv område.RDP alternativerRDP serverVirkelig slette sesjonsprofilen "%s"?OppfriskOppfrisk listenOppfrisk menytreetOmdøp sesjonsvinduetResettGjenopprett delte mapper i neste sesjonGjenoppta sesjonGjenoppta sesjon (ikke mulig)Gjenopptar X2Go sesjon... %sHent applikasjonsmenyenHenter applikasjonsmenyen...Revers TCP port videresendingsforespørselen for sesjon %s til server port %s har blitt avvist.Kjør en selvvalgt kommando for utskriftAktivSSH nøkkel autentisering var vellykket.logg inn via en SSH mellomtjenerSSH tunnel har startetLagreLagre PDF'er i en mappeLagre innkommende fil som ...Lagre i en lokal mappeVelg en av de tilgjengelige skrivebordssesjonene på denne serverenServerServer kjerneServer utvidelserServerinformasjonServerinformasjon - %sServer bak SSH mellomtjenerenServerens tegnkodeSesjonSesjonsprofil: %s Liste over X2Go Server komponenter, tillegg og deres versjoner...Sesjon oppstartSesjonstittelSesjonstittel - %sSesjonsvinduSesjons innloggingSett skjermens DPIAngi sesjons vindustittelDel skrivebordDel skrivebordssesjon - %sDel skrivebordssesjon (skygge)Del:Delte &mapperDelingVis sesjonsvinduEnkelt applikasjonLydStart &ny skrivebordssesjonStart &ny RDP sesjonStart &ny sesjonStart sesjon for skrivebordsdelingStart SSH tunnelStart sesjonen automatisk etter innloggingLagre SSH vertsnøkler under en (unik) X2Go sesjonsprofil IDLagre listen over delte mapper ved sesjonsavslutning%sEksporten av sesjonsprofilgruppen "%s" til filen "%s" var vellykket.Eksporten av sesjonsprofilen "%s" til filen "%s" var vellykket.Frakoble sesjonKoble fra sesjonenKoble fra sesjonen (og avslutte)Koble fra sesjonen og &Avslutt applikasjonenFrakobletKoble fra sesjonene og avslutt applikasjonen...SystemTerminalAvslutte sesjonAvslutte sesjon (og koble fra)Avslutte sesjonen (og SSH mellomtjenerens vertsnøkkel er ugyldig, eller har ikke blitt akseptert av brukerenX2Go PulseAudio systemet kan ikke bli startet.X2Go PulseAudio systemet har uventet stoppet.X2Go PulseAudio systemet er ikke tilgjengelig inne i Terminal server sesjoner (RDP).X2Go serveren publiserer ikke en applikasjonsmenyKlarte ikke å sette opp lydforbindelsen for denne sesjonen. %sEktheten til [%s]:%s kan ikke bli verifisert. %s nøkkelens fingeravtrykkk er "%s". Er du sikker på at du vil fortsette tilkoblingen?Kommandoen "%s" er ikke tilgjengelig på X2Go server %s.Kommandoen "%s" er ikke tilgjengelig på X2Go serveren.Skrivebordet %s er ikke tilgjengelig for deling (lenger).Filen "%s" eksisteren allerede i denne mappen. Vil du overskrive den?Den eksterne serverens verts nøkkel er ugyldig, eller ikke blitt akseptert av brukerenBrukerens hjemmekatalog på den eksterne serveren finnes ikke.Valgt sesjonsprofil(er) kunne ikke bli eksportert til filen "%s". Sjekk for vanlige feil (full disk, manglende tilgang, o.l.).Serveren nekter klient-side mapperdeling med denne sesjonen. %sServeren nekter klient-side utskrift innenfra denne sesjonen. %sServeren støtter ikke X2Go MIME boks. %sServeren brukte for lang tid med å komme med listen over skrivebord som det er mulig å dele. Dette kan noen ganger skje, vennligst forsøk igjen.Sesjonsprofilen har blitt slettet.Oppstart av sesjonen feilet.Overfør sesjonOverfør sesjon (ikke mulig)Trinity X Skrivebord (KDE3-liknende)TypeUnity X skrivebords skall (UNITY)Ukjent sesjonsprofil, konfigurer den først...Stopp deling på a&lle lokale mapperStopp deling:Benytt standard sesjons vindustittelBenytt som mal for en ny profilBenytt tilpasset innstillinger for tastaturoppsett som gitt nedenforBenytt standard lydportBenytt filens MIME boks for lokal fil importBenytt lokal mappedelingBruk samme autentisering for X2Go og proxyserverenBruk samme brukernavn for X2Go og proxyserverenBenytt denne skriverenBrukerBruker kontoen har ikke tillatelse til å starte X2Go sesjoner!BrukernavnVerktøyBare vis sesjonenWANVi beklager for det inntrufne... Sesjonsprofiler av typen ,,DirectRDP'' er ikke støttet av %s (%s), enda! DirectRDP støtte vil være tilgjengelig i %s (>= 1.0.0.0).Vi beklager for det inntrufne... Sesjonsprofiler av typen ,,Skygge'' er ikke støttet av X2Go Server (%s), enda! Skrivebordsdeling med %s krever X2Go Server 4.1.0.0, eller nyere.VindusikonVindustittelWindows Terminal Server (Direkte RDP)Windows Terminal Server (RDP via X2Go-proxy)X2Go profilen er nå frakoblet.X2Go ServerX2Go Server tilleggX2Go Server FunksjonerX2Go sesjonen har blitt frakoblet %sX2Go sesjonen har blitt avsluttet %sXDMCP spørringXDMCP serverXFCE skrivebord (XFCE)Jaautomatiskesdmanueltinnstillinger arvet frapyhoca-gui-0.4.0.8/build/mo/nl/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000006632612207147477016716 0ustar [  ($ MY%h)="P%s' +H\k     ( = 5R     ! !'?!g!{!!!!!! " " "%*"P"U" f"s"z" ~""/"0"&"&$# K#W#B]## ####>#.<$Rk$$$#$%%):%d%'|%%%%%G%:& @& L&W&f& u&&+&& &&& '&'8'&K'r'{''/' ' '+':(;U((<(( ( ( (9):)O)$c)))#))))* %* 0*<*qK* * ***+++$+*)+ T+ b+Bo++++++++ ,,+,2,A, ^, k,?v,R, -!- 8-B-H-g-n- t---"--------+.G._.t...... ......!/,1/^/d/ {/#/$/Q/U"0x0+0(00 1 1%11 11 22%2D2S2q222U2353+=3i333333;34 4,4>4Q4i444R44 4 55 ,5:5J5 c5q5555555556)6<6Z6'k6:6"6B6C47x7 7%7%7 7.7.858>8"P8's8H80819KG959=9:6:3:6:J-;Lx;0;;B<C<1 =p==%===>!>?>D>5b>>>">>.>.?'E?m?/?)???+?"@ +@5@G@K@@ A A$A*A!B 7BCBWB"lBB B BBB BBBBC D/D #E /E&=E dEEEEEEEE"F$3F.XF+F/FFF" G,GFGaG~GG!GGGGHH;HXH gHsHHH$HH H HI I"I)6I(`II%IIII J"+J%NJtJwJJJJJ JJ JJJ5K58K0nK3K K K?K(L @LJLaL4zL+L9LMM+6MbMMMMMMN N(NL8N N N NNN NN)NO/OAOSOcOyOO*OO OOAP BPOP<mP9P?P$QF,Q sQQ QQ2QQQ7RAGR#RRRRR SS S+S S SSS TTT!T3&TZT iT@vTTTTTT TUUU>UEUTUqU UBU_U4VNVfV uV"VVV VV V&VVVWWW2W%5W,[WWWWW WWW W WX !X+XCXKX[X3qXXX XX"XRYOgYY+Y*Z.Z Z Z Z[ %[ 3[@[O[-U[[ [[[#[V\f\\ \\\\\\ ]<!]^] e]q]]]]]]Q] 0^ =^I^ Z^ h^u^^ ^^^^ ^___0_7_V_q___!_6_> `CL`=``)`0a8a Pa8Zaaaa-a5aQb3mb(bKb.c@Ecc<d:Sd,d@dNd:KeeE f-Sf(fgf!g"4gWg hgggg>g%h*h :h+[h9hh(h i8!i7Zii i'i i iij jj jk wk'k'k'k kll6lRl rl ~lll ll ll5A!X?vI6Y = &8ax5Lw+z/Z9o&:1gM)"D-8K Nb>Yp{HM3m)u V'O$# BUG6VJIC.hX @RDF;. \` 2TL"C- *'$:+qTn>QtA,_^<EH0k%Wlires ]?Z,Q@1%;4c*34 U(/Kj #S(EP7SRN[y<F9P~}dGO!|2JBf[07W=%s ...caused by session %s%s ...caused on printer %s by session %s%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth error%s - auth key error%s - channel error%s - client resources not sharable%s - client-side folders not sharable%s - client-side printing not available%s - connect%s - connect failure%s - desktop sharing failed%s - disconnect%s - export session profile%s - export session profiles%s - host key error%s - key error%s - missing home directory%s - modified%s - print error%s - profile added%s - profile deleted%s - profile exported%s - profiles exported%s - resume%s - running%s - server warning%s - session failure%s - session warning%s - share local folder with sessions of this profile%s - socket error%s - start%s - suspend%s - terminate%s - timeout%s - unknown error%s: Confirm Host Authorization%s: DirectRDP not supported yet%s: Export file already exists%s: Exporting session profile(s) failed&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -A new session profile has been added.ADSLAbout %s (%s)...About %s ...ActionAddAdd ProfileAll files (*.*)|*An unknown error occured during authentication!An unknown error occurred during authentication!Another client resumed X2Go session %sAnother client started X2Go session %sApplicationApplyAre you really sure you want to delete the session profile ,,%s''?Arts (not supported)AuthenticateAuthentication failed!Authentication has been successful.Authentication protocol communication incomplete! Try again...Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionCancelChange session title toChanges to profile have been saved.Choose PDF saving locationChoose PDF viewer applicationChoose a folder to share within a sessionChoose a public SSH keyChoose an icon for this session profileCleaning X2Go sessions...Client OptionsClient Side printingClient encodingClient-side folders and printers cannot be shared with this session. %sCloseCompressionConnect %sConnect MethodConnect ServerConnectionConnection Link SpeedConvert between client and server encodingsCurrently connecting...Custom SizeCustom commandCustom print commandCustom session window titleCustom sound portCustomize &profileDefault action for incoming print jobsDefaultsDeleteDelete ProfileDesktop Sharing with %s not supported by serverDevelopmentDisconnect and E&xit applicationDisconnecting %s and exiting application...Discover SSH keys or use SSH agent for X2Go authenticationDiscover SSH keys or use SSH agent for proxy authenticationDisplayDo not set (use server-side tools to configure the keyboard)E&xitEdit ProfileEducationEmail ClientEnable forwarding of SSH authentication agent connectionsEnable sound supportEnd Desktop SharingEnd Desktop Sharing (and disconnect)End Desktop Sharing (and disconnect/exit)Execution of command ,,%s'' failed.Exiting application...Export ProfileExport Profile GroupExport all ProfilesExtensionsFile ImportFolder ExportsForwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostISDNIcon Files (*.png)|*.png|All files (*.*)|*Image qualityInput/OutputIntegrate remote application(s) into local desktop (rootless mode)InternetInternet BrowserK Desktop Environment (KDE)KeyKey fileKeyboardKeyboard modelLANLaunch Single ApplicationLayoutLayout variantLightweight X Desktop (LXDE)Link QualityLocal PathLogin automatically after %s has started (needs --auto-connect)Lost connection to server %s unexpectedly! Try to re-authenticate to the server...Manage Application MenuManage Session ProfileMaximizedMediaMenu of published applicationsMethodModemMultimediaNameNew Session ProfileNew X2Go session starting up... %sNoNo session profiles definedOKOfficeOffice ApplicationsOkOpen application chooser dialogOpen file with system's default applicationOpen this dialog windowOpen with PDF viewerOther ApplicationsPDF viewer commandPasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioPyHoca-GUI Connecting you to ,,%s''PyHoca-GUI Connecting you to X2Go...PyHoca-GUI (Python X2Go Client) Client for connecting you to a remote X2Go serverPyHoca-GUI (Python X2Go Client) Currently connecting you to remote X2Go server ,,%s''PyHoca-GUI Profile Manager - %sPyHoca-GUI Profile Manager - %s (connected)PyHoca-GUI Profile Manager - new profilePyHoca-GUI is already running for user ,,%s''! Only one instance of PyHoca-GUI can be started per user. The PyHoca-GUI icon can be found in your desktops's notification area/systray.RDP optionsRDP serverReally Delete Session Profile ,,%s''?RefreshRefresh listRefresh menu treeRename Session WindowResetRestore shares in next sessionResume SessionResume Session (not possible)Resuming X2Go session... %sRetrieve Application MenuRetrieving Application Menu...Reverse TCP port forwarding request for session %s to server port %s has been denied.Run custom print commandRunningSSH key authentication has been successful.SSH proxy server loginSSH tunnel startedSaveSave PDFs to folderSave incoming file as ...Save to a local folderSelect one of the available desktop sessions on this serverServerServer CoreServer ExtensionsServer InformationServer Information - %sServer behind SSH proxyServer encodingSessionSession Profile: %s List of X2Go Server components, add-ons and their versions...Session StartupSession TitleSession Title - %sSession WindowSession loginSet display DPISet session window titleShare DesktopShare Desktop Session - %sShare desktop session (SHADOW)Share:Shared &foldersSharingShow Session WindowSingle ApplicationSoundStart &new Desktop SessionStart &new RDP SessionStart &new SessionStart Desktop Sharing SessionStart SSH tunnelStart session automatically after loginStore SSH host keys under (unique) X2Go session profile IDStore share list at end of sessionSuccessfully exported session profile group »%s« to file »%s«.Successfully exported single session profile »%s« to file »%s«.Suspend SessionSuspend Session (and disconnect)Suspend Session (and disconnect/exit)Suspend Session and E&xit applicationSuspendedSuspending sessions and exiting application...SystemTerminalTerminate SessionTerminate Session (and disconnect)Terminate Session (and disconnect/exit)The SSH proxy's host key is invalid or has not been accepted by the userThe X2Go PulseAudio system could not be started.The X2Go PulseAudio system has died unexpectedly.The X2Go PulseAudio system is not available within Remote Desktop sessions.The X2Go Server does not publish an application menu.The audio connection could not be set up for this session. %sThe authenticity of host [%s]:%s can't be established. %s key fingerprint is ,,%s''. Are you sure you want to continue connecting?The command ,,%s'' is not available on X2Go server %s.The command ,,%s'' is not available on X2Go server.The desktop %s is not available for sharing (anymore).The file »%s« already exists in this folder. Do you want to replace it?The remote server's host key is invalid or has not been accepted by the userThe remote user's home directory does not exist.The selected session profile(s) could not be exported to the file »%s«. Check for common problems (disk full, insufficient access, etc.).The server denies client-side folder sharing with this session. %sThe server denies client-side printing from within this session. %sThe server does not support the X2Go MIME box. %sThe server took long to provide a list of sharable desktops. This can happen from time to time, please try againThe session profile has been deleted.The session startup failed.Transfer SessionTransfer Session (not possible)Trinity X Desktop (KDE3-like)TypeUnity X Desktop Shell (UNITY)Unknown session profile, configure before using it...Unshare &all local foldersUnshare:Use a default session window titleUse as Template for New ProfileUse custom keyboard settings as provided belowUse default sound portUse file MIME box for local file importUse local folder sharingUse same authentication for X2Go and proxy hostUse same username for X2Go and proxy hostUse this printerUserUser is not allowed to start X2Go sessions!UsernameUtilitiesView session onlyWANWe apologize for the inconvenience... Session profiles of type ,,DirectRDP'' are not supported by %s (%s), yet!! DirectRDP support will be available in %s (>= 1.0.0.0).We apologize for the inconvenience... Session profiles of type ,,SHADOW'' are not supported by X2Go Server (v%s)!!! Desktop Sharing with %s requires X2Go Server 4.1.0.0 and above.Window IconWindow titleWindows Terminal Server (Direct RDP)Windows Terminal Server (X2Go-proxied RDP)X2Go Profile is now disconnected.X2Go ServerX2Go Server Add-onsX2Go Server FeaturesX2Go Session has been suspended %sX2Go Session has terminated %sXDMCP QueryXDMCP serverXFCE Desktop (XFCE)Yesautomaticallyesdmanuallysettings derived from Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2013-08-03 22:47+0200 PO-Revision-Date: 2013-01-28 13:39+0100 Last-Translator: Oleksandr Shneyder Language-Team: German Language: ru MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Poedit-Language: Russian X-Poedit-Country: Russian X-Poedit-SourceCharset: utf-8 X-Language: ru_RU X-Source-Language: C X-Generator: Lokalize 1.4 %s ...в сессии %s%s ...на принтере %s в сессии %s%s (через %s)%s - EOF ошибка%s - Поступило задание печати от %s (%s)%s - MIME box недоступен%s - Установки печати%s - ошибка SSH%s - SSH прокси%s - ошибка audio%s - ошибка audio%s - предупреждение audio%s - ошибка авторизации%s - ошибка ключа%s - ошибка канала%s - клиентские ресурсы не экспортируемы%s - клиентские каталоги не экспотируемы%s - печать недоступна%s - соединение%s - ошибка соединения%s - разделение десктопа не удалось%s - разъединение%s - экспорт профиля сессии%s - экспорт профилей сессии%s - ошибка ключа хоста%s - ошибка ключа%s - домашний каталог отсутствует%s - модифицирован%s - ошибка печати%s - профиль добавлен%s - профиль удален%s - профиль экспортирован%s - профили экспортированы%s - восстановить%s - выполняется%s - предупреждение сервера%s - ошибка сессии%s - предупреждение%s - экспортируемый каталог%s - ошибка сокета%s - пуск%s - прервать%s - завершить%s - превышение интервала ожидания%s - неизвестная ошибка%s: Подтвердите авторизацию хоста%s: DirectRDP пока не поддерживается%s: Файл уже существует%s - экспорт профиля сессии не удался&Очистить все сессии&Отсоединить от сервераЭ&кспорт произвольного каталога- принтеры не установлены -- система печати недоступна -<Выбор действия печати>Новый профиль сессии добавлен.ADSLО %s (%s)...О %s ...ДействиеДобавитьДобавить профильВсе файлы (*.*)|*Неизвестная ошибка при авторизации!Неизвестная ошибка при авторизации!Другой клиент восстанавливает сессию X2Go %sДругой клиент запускает сессию X2Go %sПриложениеПрименитьУдалить профиль ,,%s''?Arts (не поддерживается)АвторизоватьОшибка авторизации!Авторизация успешна.Ошибка авторизации! Попробуйте еще раз...Ошибка авторизации на прокси сервере SSH!автоматически определять и использовать установки на стороне сервераОтменаИзменить заголовок сессии наИзменения в профиле сохранены.Выберите путь сохранения PDFВыберите программу просмотра PDFВыбрать экспортируемый каталогВыбрать публичный ключ SSHВыбрать пиктограммуОчищаем сессии X2Go...Опции клиентаПечать на стороне клиентаНа стороне клиентаКаталоги и принтеры на стороне клиента не могут быть экспортированы внутри этой сессии. %sЗакрытьСжатиеСоединение %sМетод подключенияСоединить с серверомСоединениеСкорость соединенияКодировка имен файловСоединение ...Другой размерКоманда пользователяКоманда печатиПроизвольный заголовок окна сессииДругой звуковой портИзменить &профильДействие по умолчанию для поступающих заданий печатиПо умолчаниюУдалитьУдалить профильРазделение десктопа с %s не поддерживается серверомРазработка&Разъединить и покинуть программуРазъединяем %s и покидаем программу...Автоматически определять SSH ключи или использовать SSH агент для аутентификацииАвтоматически определять SSH ключи или использовать SSH агент для аутентификации на прокси сервереДисплейНе устанавливать (конфигурация на стороне сервера)Вы&ходРедактировать профильОбразованиеПочтовый клиентРазрешить ретрансляцию соединений агента SSHАктивировать звукЗавершить сессиюЗавершить сессию (и разъединить)Завершить сессию (и разъединить/выйти)Невозможно выполнить команду ,,%s''.Покидаем программу...Экспорт профиляЭкспортировать группу профилейЭкспортировать все профилиРасширенияИмпорт файловЭкспорт каталоговЗапрос туннеля к серверу [%s]:%s для сессии %s был отклонен удаленным сервером X2Go/SSH. Запуск сессии не удался.Найдена уже запущенная сессия %sПолноэкранный режимGNOME Desktop (GNOME)Открыть полный доступИгрыГрафикаХостISDNГрафические файлы (*.png)|*.png|Все файлы (*.*)|*Качество изображенияВвод/ВыводИнтегрировать удаленное приложение в локальный десктопИнтернетВеб-броузерK Desktop Environment (KDE)КлючФайл ключаКлавиатураМодельLANЗапустить приложениеРаскладкаВариант раскладкиLightweight X Desktop (LXDE)Качество соединенияЛокальный путьАвтоматический вход после запуска %s (требуется опция --auto-connect)Соединение с сервером %s утрачено. Попытайтесь соединиться еще раз...Управление меню приложенийУправление профилем сессииМаксимальный размерМедиаМеню удаленных приложенийМетодМодемМультимедиаИмяНовый профильНовая сессия X2Go запускается... %sНетПрофили не определеныОКОфисОфисные приложенияОКОткрыть диалог выбора приложенияОткрыть файл с приложением по умолчаниюОткрывать этот диалогОткрыть с программой просмотра PDFДругие программыПрограмма просмотра PDFПарольПутьПортПечатьДействие печатиПечататьПечатьУстановки печатиПрофильProfile ManagerПрофиль с именем %s уже существует!!!Имя профиля не установлено!!!ПроксиУдаленные приложенияPulse AudioPyHoca-GUI Соединяет Вас ,,%s''Соединяет Вас с X2Go...PyHoca-GUI (Python X2Go Client) Для соединения с удаленным сервером X2GoPyHoca-GUI (Python X2Go Client) Соединяет Вас с удаленным сервером X2Go ,,%s''PyHoca-GUI Profile Manager - %sPyHoca-GUI Profile Manager - %s (соединение)PyHoca-GUI Profile Manager - новый профильPyHoca-GUI уже выполняется пользователем ,,%s''! Лишь одна версия PyHoca-GUI может быть запущена пользователем.Опции RDPRDP серверУдалить профиль ,,%s''?ОбновитьОбновить списокОбновить менюПереименовать окно сессииВосстановитьВосстановить экспортируемые каталоги в следующей сессииВосстановить сессиюВосстановить сессию (невозможно)Восстанавливаем X2Go сессию... %sПолучить меню приложенийПолучаем меню приложений...Запрос ретрансляции порта TCP для сессии %s к порту сервера %S был отклонен.Команда печатиВыполняетсяАвторизация по публичному ключу завершена.Логин SSH прокси сервераSSH туннель установленСохранитьСохранять PDFСохранить файл как ...СохранитьВыберите одну из доступных сессий на сервереСерверСерверРасширения сервераИнформация о сервереИнформация о сервере - %sСервер за SSH проксиНа стороне сервераСессияПрофиль сессии: %s Список компонентов сервера X2Go, дополнений и их версий...Запуск сессииЗаголовок сессииЗаголовок сессии - %sОкно сессииЛогин сессииУстановить DPIУстановить заголовок окна сессииРазделить Десктопприсоединиться к существующей сессии - %sПрисоединиться к существующей сессии (SHADOW)Экспорт:Экспорт &каталоговДоступПоказать окно сессииПриложенияЗвукЗапустить &новую сессиюЗапустить &новую RDP сессиюЗапустить &новую сессиюЗапустить сессию разделения десктопаСоздать SSH туннельЗапускать сессию автоматически после входаСохранять SSH ключ сервера с уникальным ID профиля сессииСохранить список экспортируемых каталогов по завершению сессииГруппа профилей сессий »%s« успешно экспортирована в файл »%s«.Сессия »%s« успешно экспортирована в файл »%s«.Прервать сессиюПрервать сессию (и разъединить)Прервать сессию (и разъединить/выйти)&Прервать сессию и покинуть программуПриостановленоПрерываем сессию и покидаем программу...СистемныеТерминалЗавершить сессиюЗавершить сессию (и разъединить)Завершить сессию (и разъединить/выйти)SSH прокси ключ недействителен и не был принят пользователемСистема X2Go PulseAudio не может быть запущена.Сбой системы X2Go PulseAudio.Система X2Go PulseAudio недоступна в сессиях удаленного десктопа.Сервер X2Go не публикует меню приложений.Звуковое соединение не может быть установлено для этой сессии. %sАвторизация хоста [%s]:%s не может быть установлена. %s ключ ,,%s''. Продолжить соединение?Команда ,,%s'' недоступна на сервере X2Go %s.Команда ,,%s'' недоступна на сервере X2Go.Десктоп %s недоступен для разделения.Файл »%s« уже существует в этом каталоге. Переписать?Удаленный серверный ключ недействителен и не был принят пользователемДомашний каталог удаленного пользователя не существует.Выделенные профили сессий не могут быть экспортированы в file »%s«. Проверьте дисковое пространство и права доступа.Сервер отклонил экспорт каталогов внутри этой сессии. %sСервер отклонил печать внутри этой сессии. %sСервер не поддерживает X2Go MIME box. %sСерверу требуется слишком много времени для предоставления списка сессий. Это иногда случается, попытайтесь еще разПрофиль был удален.Запуск сессии не удался.Трансфер сессииТрансфер сессии (невозможен)Trinity X Desktop (KDE3-like)ТипUnity X Desktop Shell (UNITY)Неизвестный профиль сессии...Разъединить &все каталогиРазъединить:Использовать заголовок окна сессии по умолчаниюИспользовать в качестве шаблона для нового профиляИспользовать следующие установкиЗвуковой порт по умолчаниюИспользовать MIME box для импорта локальных файловДоступ к локальным каталогамИспользовать тот же пароль, что и на сервере X2GoИспользовать то же имя пользователя, что и на сервере X2GoИспользовать этот принтерПользовательПользователю не разрешено открывать X2Go сессии!Имя пользователяУтилитыТолько просмотр сессииWANПриносим наши извинения за неудобства... Профиль сессии типа ,,DirectRDP'' пока что не поддерживается %s (%s)!! Поддержка DirectRDP будет доступна в %s (>= 1.0.0.0).Приносим наши извинения за неудобства... Профиль сессии типа ,,SHADOW'' не поддерживается сервером X2Go (v%s)!!! Требуется сервер X2Go версии 4.1.0.0 или выше.ПиктограммаЗаголовок окнаСервер терминалов Windows (прямое RDP соединение)Сервер терминалов Windows (RDP через X2Go прокси)X2Go Профиль отсоединен.Сервер X2GoДополнения сервера X2GoОпции сервера X2GoX2Go сессия прервана %sX2Go сессия завершена %sXDMCP ЗапросXDMCP серверXFCE Desktop (XFCE)Даавтоматическиesdвручнуюнастройки импортированы из pyhoca-gui-0.4.0.8/build/mo/sv/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000006531012207147477016725 0ustar [  ($ MY%h)="P%s' +H\k     ( = 5R     ! !'?!g!{!!!!!! " " "%*"P"U" f"s"z" ~""/"0"&"&$# K#W#B]## ####>#.<$Rk$$$#$%%):%d%'|%%%%%G%:& @& L&W&f& u&&+&& &&& '&'8'&K'r'{''/' ' '+':(;U((<(( ( ( (9):)O)$c)))#))))* %* 0*<*qK* * ***+++$+*)+ T+ b+Bo++++++++ ,,+,2,A, ^, k,?v,R, -!- 8-B-H-g-n- t---"--------+.G._.t...... ......!/,1/^/d/ {/#/$/Q/U"0x0+0(00 1 1%11 11 22%2D2S2q222U2353+=3i333333;34 4,4>4Q4i444R44 4 55 ,5:5J5 c5q5555555556)6<6Z6'k6:6"6B6C47x7 7%7%7 7.7.858>8"P8's8H80819KG959=9:6:3:6:J-;Lx;0;;B<C<1 =p==%===>!>?>D>5b>>>">>.>.?'E?m?/?)???+?"@ +@5@G@K@@ A A$A*A!B 7BCBWB"lBB B BBB BBBBCD, E :E FE+SEEE EE EEEEF 4F#BF!fF-F FF#FGG3GSGpGG GGGGGGH (H3HFH`H=uHH H H H HH I$IDI-^IIIII$IJ6J9J?J$BJgJ lJ zJ J JJJ-J-J,K(GK pK |K=KK KKK+L*BLQmLLL!LM M#1MUM'pMMM"MMEMX<XX+X&Y>YY Y3Y Z'Z7ZKZ dZ*pZZ!Z ZZ [J&[q[[&[[[[[\%\C;\\ \\\\\\\Y\ T] b]o]]]]]]]^.^4^C^K^ a^m^r^^^^^+^:_5K_?_9__)`$>`$c``*``````Ia!Ja$laBa1a@bTGb/b,b1bA+cFmc%cc<odBd dXeieeee!eee7 f Dfef+vff0ff!g4g5Ng5gg g5g h h(hYp{HM3m)u V'O$# BUG6VJIC.hX @RDF;. \` 2TL"C- *'$:+qTn>QtA,_^<EH0k%Wlires ]?Z,Q@1%;4c*34 U(/Kj #S(EP7SRN[y<F9P~}dGO!|2JBf[07W=%s ...caused by session %s%s ...caused on printer %s by session %s%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth error%s - auth key error%s - channel error%s - client resources not sharable%s - client-side folders not sharable%s - client-side printing not available%s - connect%s - connect failure%s - desktop sharing failed%s - disconnect%s - export session profile%s - export session profiles%s - host key error%s - key error%s - missing home directory%s - modified%s - print error%s - profile added%s - profile deleted%s - profile exported%s - profiles exported%s - resume%s - running%s - server warning%s - session failure%s - session warning%s - share local folder with sessions of this profile%s - socket error%s - start%s - suspend%s - terminate%s - timeout%s - unknown error%s: Confirm Host Authorization%s: DirectRDP not supported yet%s: Export file already exists%s: Exporting session profile(s) failed&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "" pyhoca-gui-0.4.0.8/po/da.po0000644000000000000000000013722712207147477012205 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI 0.2.0.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2013-01-29 16:38+0100\n" "Last-Translator: Nicolai Hansen \n" "Language-Team: X2Go i18n \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Danish\n" "X-Poedit-Country: Denmark\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Language: da_DK\n" "X-Source-Language: C\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "Brugernavn" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "Kodeord" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "Autentificér" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "Start SSH tunnel" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "Sessionslogin" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "SSH proxy server login" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "Annullér" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "%s - forbindelsesfejl" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "Bruger har ikke rettigheder til at starte X2Go sessioner!" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "%s - forbind" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "Autentificering lykkedes." #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "SSH tunnel startet" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "Autentificering mislykkedes!" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH proxy" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "Autentificering mod SSH proxy server mislykkedes!" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "%s - socket fejl" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "%s - værtsnøgle fejl" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "Fjernserverens værtsnøgle er ugyldig eller blev ikke accepteret af brugeren" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "%s - manglende hjemmemappe" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "Fjernbrugerens hjemmemappe eksisterer ikke." #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "%s - nøglefejl" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "%s - auth fejl" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" "Host nøgle verifikation fejlede. The X2Go server er muligvis komprimeteret. " "Det er også muligt at host nøgle filen er blevet ændret. Men af " "sikkerhedsmæssige årsager vil forbindelsen ikke blive oprettet!!!" #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "%s - SSH fejl" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "%s - ukendt fejl" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "En ukendt fejl opstod under autentificering!" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Forbinder dig til ,,%s''" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Forbinder dig til X2Go server ,,%s''" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" "PyHoca-GUI\n" "Forbinder dig til X2Go..." #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Klient til at forbinde dig til en X2Go server" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Skrivebord (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "GNOME Skrivebord (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-lignende)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Skrivebord (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Udgivne Applikationer" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Enkelt Applikation" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Del skrivebords session (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Forespørgsel" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP igennem X2Go-proxy)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direkte RDP)" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Tilpasset kommando" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Internet Browser" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "Email Klient" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Kontorsoftware" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Åben fil med systemets standard-applikation" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Åben applikationsvælger" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Gem indkommende fil som ..." #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "indstillinger taget fra" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Sesstionstitel" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Sessionsvindue" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Sessionsstart" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Forbindelseshastighed" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Komprimering" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Display" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Tastatur" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Lyd" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Udskrift" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Mappeeksporteringer" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Filimporteringer" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Navn" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Indstil sessionsvinduets titel" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Brug standardtitel til sessionsvindue" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Tilpasset titel til sessionsvindue" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Vinduesikon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Start session automatisk efter login" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Log ind automatisk efter at %s er startet (skal bruge --auto-connect)" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Applikation" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP server" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP server" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "RDP indstillinger" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrér fjernapplikationer med lokalt skrivebord (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menu med udgivne applikationer" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Bruger" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Nøgle" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Opdag SSH nøgler eller brug SSH agent til X2Go autentificering" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Aktiver forwarding af SSH autentificeringsagentens forbindelser" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Gem SSH værtsnøgle under (unik) X2Go sessionsprofil's ID" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Server bag SSH proxy" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Brug samme brugernavn til X2Go og proxy host" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Brug samme autentificering til X2Go og proxy host" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Nøglefil" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Opdag SSH nøgler eller brug SSH agent til proxyauthentificering " #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Metode" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Billedkvalitet" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Fuldskærm" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Maximeret" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "TIlpasset størrelse" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "Indstil display-DPI" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" "Indstil ikke (brug server-side værktøjer til at konfigurere tastaturet)" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "Indstil automatisk tastaturet under sessionen" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Brug tilpasset tastaturindstillinger som vist nedenfor" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Tastaturmodel" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Layout" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Layoutvariant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Aktiver lyd" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (ikke understøttet)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Brug standardport til lyd" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Tilpasset lydport" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Klient udskrift" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Brug lokal mappedeling" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Gem delemappeliste når sessionen slutter" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Sti" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Tilføj" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Local Sti" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Forbindelsesmetode" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Slet" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Konverter encoding mellem klient og server" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Klient encoding" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Server encoding" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Brug fil MIME box til lokal filimportering" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Udvidelser" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Handling" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Standard" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Gem" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Nulstil" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Anvend" #: ../pyhoca/wxgui/profilemanager.py:425 ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "automatisk" #: ../pyhoca/wxgui/profilemanager.py:427 ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "manuelt" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-Gui Profilmanager - ny profil" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Profilmanager - %s (forbundet)" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "PyHoca-GUI Profilmanager - %s" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Profil" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Session" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Forbindelse" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Link Kvalitet" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Medie" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Deling" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Ikonfiler (*.png)|*.png|Alle filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "Vælg et ikon til denne sessionsprofil" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "Alle Filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1899 ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "Vælg offentlig SSH nøgle" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "Vælg en mappe som skal deles i en session" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profilmanager" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "Profilnavnet mangler, profilen er ubrugelig!" #: ../pyhoca/wxgui/profilemanager.py:2388 ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profilnavnet %s eksisterer i forvejen!!!" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "%s - profil tilføjet" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "A ny sessionsprofil er blevet tilføjet." #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "%s - modificeret" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "Ændringerne i profilen er blevet gemt." #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "Del Desktop session - %s" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "Vælg en af de tilgængelige skrivebordssessioner på denne server" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "Observer session" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "Erhverv fuld adgang" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "Del skrivebord" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "Opfrisk liste" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Rediger Profil" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Brug som Skabelon til Ny Profil" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Eksporter Profil" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Slet Profil" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "Om %s (%s)..." #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Håndter Sessionsprofil" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Printerindstillinger" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Klientparamentre" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "E&xit" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Vinduestitel" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Fortsæt Session" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Fortsæt Session (ikke muligt)" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Overfør Session" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Overfør Session (ikke muligt)" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspendér Session (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Suspendér Session (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Suspendér Session" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Terminér Session (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Terminér Session (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Terminér Session" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Stop Skrivebordsdeling (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Stop Skrivebordsdeling (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Stop Skrivebordsdeling" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Opfrisk menu" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Omdøb Sessionsvindue" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Vis Sessionsvindue" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "&Del tilpasset lokal mappe" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Del:" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Afbryd Deling:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Afbryd deling af &alle lokale mapper" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Genopret delemapper i næste session" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedie" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Udvikling" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Undervisning" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Spil" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Grafik" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Kontorprogrammer" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Værktøjer" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Andre Programmer" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Forbind %s" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Forbinder..." #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "Start &ny Skrivebordssession" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Start Skrivebordsdeling" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Henter Applikationsmenu..." #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Hent Applikationsmenu" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "Start &ny RDP Session" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "Start &ny Session" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Start en enkelt Applikation" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Håndter Applikationsmenu" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Kører" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Suspenderet" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "&Rens alle sessioner" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Tilpas &profil" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Delte &mapper" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Serverinformation" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Afbryd forbindelse til Server" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "Suspendér Session og L&uk applikation" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "Afbryd forbindese og L&uk programmet" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Tilføj Profil" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "Ingen sessionsprofiler er defineret" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Eksporter alle profiler" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Eksporter Profilgruppe" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Importeret Sessions Profiler" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Forbind Server" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "Om %s..." #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "Suspenderer sessioner og lukker programmet..." #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Afbryder forbindelsen %s og lukker programmet..." #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "Lukker programmet..." #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "%s - serveradvarsel" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "X2Go serveren udgiver ikke en applikationsmenu." #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "SSH nøgleautentificering lykkedes." #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "SSH proxy'ens værstnøgle er ugyldig eller er ikke blevet accepteret af " "brugeren" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "%s - EOF fejl" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Autentifikationsprotokollens kommunikation er ukomplet! Prøv igen..." #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "%s - auth nøglefejl" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "Der opstod en ukendt fejl under autentificeringen!" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirektRDP er ikke undersøttet endnu" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" "Vi undskylder ulejligheden...\n" "\n" "Sessionsprofiler af typen ,,DirectRDP'' er ikke\n" "understøttet af %s (%s), endnu!!\n" "\n" "DirectRDP understøttelse vil være tilgængelig i %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "Ukendt sessionsprofil, konfigurér den før brug..." #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Skrivebordsdeling med %s er ikke understøttet af server" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" "Vi undskylder ulejligheden...\n" "\n" "Sessionsprofiler af typen ,,SHADOW'' er ikke\n" "understøttet af X2Goserver (v%s)!!!\n" "\n" "Skrivebordsdeling med %s kræver \n" "X2Go Server 4.1.0.0 eller højere." #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "%s - sessionsadvarsel" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Eksekvering af kommandoen ,,%s'' fejlede." #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "Renser X2Go sessioner..." #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "%s - afbryd forbindelse" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profil er nu afbrudt." #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "Ny Sessionsprofil" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Er du sikker på at du vil slette Sessionsprofilen ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "%s - profil slettet" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "Sessionsprofilen er blevet slettet." #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "Importere session profil(er)" #: ../pyhoca/wxgui/frontend.py:1140 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s:Import af Sessionsprofil(er) fejlede" #: ../pyhoca/wxgui/frontend.py:1141 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" "Den valgte sessions profil(er) kunne ikke importeres fra\n" "filen »%s«. Er du sikker på session profilens fil er i det korrekte format?" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "%s: Skrive fejl efter import" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "Sessions profilens konfiguration kunne ikke blive skrevet til filen efter " "import Check for almindelige problemer (Fuld disk, utilstrækkelig adgang " "osv.)." #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "Ingen sessionsprofiler er defineret..." #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "For detaljer, start %s fra command line og forsøg igen med import." #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "Kun disse sessions profiler kunne blive importeret..." #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "Hvor af disse sessions profiler fejlede at importere..." #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "Ny session profiler har været blevet importeret..." #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "Ny session profiler er blevet importeret..." #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "%s - Eksporter sessionsprofiler" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "%s - eksporter sessionsprofil" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "5s: Eksportfil findes allerede" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Filen »%s« eksisterer allerede i denne mappe.\n" "\n" "Vil du erstatte den?" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "%s - profiler eksporteret" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Eksporterede sessionsprofilens gruppe »%s« til filen »%s«." #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "%s - profil eksporteret" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Eksporterede sessionsprofilen »%s« til filen »%s«." #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Eksport af Sessionsprofil(er) fejlede" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "Den valgte sessionsprofil kunne ikke eksporteres til\n" "filen »%s«.\n" "\n" "Check for almindelige problemer (Fuld disk, utilstrækkelig adgang osv.)." #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - del lokale mappe med sessioner i denne profil" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Bekræft Værtsautorisering" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "%s - kanalfejl" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "" "Mistede forbindelsen til server %s! Prøv at re-autentificere til serveren..." #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "%s - sessionen fejlede" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "Sessionsopstarten fejlede." #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Serveren tog lang tid om at uddele en liste over delbare skriveborde.\n" "Dette kan ske fra tid til anden, prøv venligst igen" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - skrivebordsdeling fejlede" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Skrivebordet %s er ikke tilgængeligt som delt ressource." #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Kommandoen ,,%s'' er ikke tilgængelig på X2Go server." #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Kommandoen ,,%s'' er ikke tilgængelig på X2Go server\n" "%s." #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Omvendt TCP port forwarding forespørgsel for session %s til serverport %s " "blev afvist." #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" "Forwarding tunnel forespørgsler til [%s]:%s til session %s blev nægtet af " "X2Go/SSH fjernserveren. Sessionsstartop fejlede." #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "%s - lydadvarsel" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "X2Go PulseAudio systemet er ikke tilgængeligt i Remote Desktop sessioner." #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "%s - lydfejl" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "X2Go PulseAudio systemet kunne ikke startes." #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "X2Go PulseAudio systemet døde uforventet." #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "%s - lydproblem" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Lydforbindelsen kunne ikke opsættes for denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "%s - klient-udskrift ikke tilgængeligt" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Serveren nægter klient-udskrift fra denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box ikke tilgængelig" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "Serveren undersøtter ikke X2Go MIME boxen.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - klientmapper ikke delbare" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Serveren nægter klientmappe-deling i denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "%s - klientressourcer ikke delbare" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Klientprintere og mapper kan ikke deles i denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "%s - printerfejl" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "... fejlede på printer %s pga. session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...skyldes session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "%s - start" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Ny X2Go session starter...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "En anden klient startede X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "%s - fortsæt" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Genoptager X2Go session...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "En anden klient genoptog X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "%s - kører" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Fandt igangværende session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "%s - suspender" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go session er blevet suspenderet\n" "%s" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "%s - terminer" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go session er blevet termineret\n" "%s" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Er du sikke rpå at du vil \n" "slette sessionsprofilen ,,%s''?" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "PyHoca-GUI kører i forvejen for bruger ,,%s''!\n" "\n" "Der kan kun startes én instans af Pyhoca-GUI per\n" "bruger. PyHoca-GUI ikonet kan findes i dit skrivebord's\n" "notifikationsområde/systray." #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Ja" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Nej" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Udskriver Preferencer" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Indkommende Udskriftsjob fra %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Åben dette dialogvindue" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Åben med PDF fremviser" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Gem til lokal mappe" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Udskriv til lokal printer" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Kør tilpasset udskriftskommando" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Aktion für aktuellen Druckauftrag" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Aktion für eingehende Druckaufträge" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "Anwendung für PDF-Anzeige" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "PDF in Ordner speichern" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Hier drucken" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Benutzerdef. Druckkommando" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Drucken" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- es sind keine Drucker installiert -" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- das Drucksystem ist nicht bereit -" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Applikation für PDF-Anzeige auswählen" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Speicherort für eingehende Druckaufträge (PDFs) auswählen" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Sitzungstitel - %s" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Sitzungsfenster umbenennen in" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "Ok" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Server-Informationen - %s" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Sitzungsprofil: %s\n" "\n" "Liste der X2Go Server Komponenten, Add-Ons und Versionsnummern..." #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Aktualisieren" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Schließen" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "Server-Kern" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Server-Erweiterungen" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Server Add-Ons" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "Besondere X2Go Server Merkmale" #~ msgid "Host key for X2Go server %s does not match" #~ msgstr "Hostkey für X2Go Server %s wurde geändert" #~ msgid "Settings" #~ msgstr "Einstellungen" #, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (via %s)" #, fuzzy #~ msgid "Connect to another Desktop Session" #~ msgstr "&Neue Desktopsitzung starten" #~ msgid "Start/Resume Session" #~ msgstr "Sitzung starten/fortsetzen" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH-Proxytunnel" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "" #~ "Die SSH Proxy Konfiguration ist unvollständig. Bitte nochmal versuchen." #~ msgid "" #~ "Another session profile (%s) already uses [%s]:%s for binding a local SSH " #~ "proxy to.\n" #~ "Please change the SSH proxy settings accordingly." #~ msgstr "" #~ "Ein anderes Profil (%s) verwendet die Socketadresse [%s]:%s bereits, um " #~ "einen lokalen SSH Proxy Port daran zu binden. Bitte die SSH Proxy " #~ "Einstellungen entsprechend ändern." #, fuzzy #~ msgid "Remember shared folders" #~ msgstr "Freigegebene Ordner" #~ msgid "RSA/DSA private key" #~ msgstr "Privater RSA/DSA Schlüssel" #~ msgid "Host[:Port]" #~ msgstr "Hostname[:Port]" #~ msgid "us" #~ msgstr "de" #~ msgid "pc105/us" #~ msgstr "pc105/de" #~ msgid "Keyboard layout" #~ msgstr "Tastaturlayout" #~ msgid "%s - DNS error" #~ msgstr "%s - DNS-Fehler" #~ msgid "still loading" #~ msgstr "wird geladen" #~ msgid "" #~ "On slow connections, the loading of the application menu can take a " #~ "couple of seconds." #~ msgstr "" #~ "Bei einer langsamen Verbindung, kann die Ladezeit des Anwendungsmenüs " #~ "einige Zeit dauern." #~ msgid "Disconnect and E&xit" #~ msgstr "Verbindung trennen und &beenden" #~ msgid "%s - connect error" #~ msgstr "%s - Verbindungsfehler" #~ msgid "Exiting..." #~ msgstr "Programm wird beendet..." #~ msgid "Unknown Session Profile" #~ msgstr "Unbekanntes Sitzungsprofil" #~ msgid "Network" #~ msgstr "Netzwerk" #~ msgid "Retrieving Application menu..." #~ msgstr "Hole Anwendungsmenü..." #~ msgid "RDP settings" #~ msgstr "RDP Einstellungen" #~ msgid "" #~ "Set session window title (leave field below empty for default title from " #~ "server)" #~ msgstr "" #~ "Titel für Sitzungsfenster setzen (das folgende Feld freilassen für einen " #~ "Server-seitigen Titel)" #~ msgid "Bring to Foreground" #~ msgstr "In den Vordergrund" #~ msgid "Icon" #~ msgstr "Symbol" #~ msgid "All session profiles are connected" #~ msgstr "Alle Sitzungsprofile sind bereits verbunden" #, fuzzy #~ msgid "New Profile" #~ msgstr "Profil" #~ msgid "%s - print job" #~ msgstr "%s - Druckauftrag" #~ msgid "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgstr "" #~ "Druckdialog für eingehende Druckaufträge ist bislang nicht " #~ "implementiert!!!\n" #~ "%s" #~ msgid "Profile icon" #~ msgstr "Profilsymbol" #~ msgid "Arts" #~ msgstr "Arts" pyhoca-gui-0.4.0.8/po/en.po0000644000000000000000000014213112207147477012211 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. # msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2013-08-03 18:26+0100\n" "Last-Translator: Mike Gabriel \n" "Language-Team: X2Go i18n \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: English\n" "X-Poedit-Country: UNITED STATES\n" "X-Poedit-SourceCharset: utf-8\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "Username" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "Password" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "Authenticate" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "Start SSH tunnel" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "Session login" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "SSH proxy server login" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "Cancel" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "%s - connect failure" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "User is not allowed to start X2Go sessions!" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "%s - connect" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "Authentication has been successful." #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "SSH tunnel started" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "Authentication failed!" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH proxy" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "Authentication to the SSH proxy server failed!" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "%s - socket error" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "%s - host key error" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "The remote server's host key is invalid or has not been accepted by the user" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "%s - missing home directory" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "The remote user's home directory does not exist." #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "%s - key error" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "%s - auth error" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "%s - SSH error" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "%s - unknown error" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "An unknown error occured during authentication!" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Connecting you to ,,%s''" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" "PyHoca-GUI\n" "Connecting you to X2Go..." #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-like)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Published Applications" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Single Application" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Share desktop session (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Query" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (X2Go-proxied RDP)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direct RDP)" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Custom command" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Internet Browser" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "Email Client" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Open file with system's default application" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Open application chooser dialog" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Save incoming file as ..." #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "settings derived from " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Session Title" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Session Window" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Session Startup" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Connection Link Speed" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Compression" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Display" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Keyboard" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Sound" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Printing" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Folder Exports" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "File Import" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Name" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Set session window title" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Use a default session window title" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Custom session window title" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Window Icon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Start session automatically after login" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Login automatically after %s has started (needs --auto-connect)" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Application" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP server" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP server" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "RDP options" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrate remote application(s) into local desktop (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menu of published applications" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "User" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Key" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Discover SSH keys or use SSH agent for X2Go authentication" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Enable forwarding of SSH authentication agent connections" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Store SSH host keys under (unique) X2Go session profile ID" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Server behind SSH proxy" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Use same username for X2Go and proxy host" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Use same authentication for X2Go and proxy host" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Key file" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Discover SSH keys or use SSH agent for proxy authentication" #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Method" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Image quality" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Fullscreen" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Maximized" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Custom Size" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "Set display DPI" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Do not set (use server-side tools to configure the keyboard)" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Automatically detect and use client-side keyboard configuration inside the " "session" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Use custom keyboard settings as provided below" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Keyboard model" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Layout" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Layout variant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Enable sound support" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (not supported)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Use default sound port" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Custom sound port" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Client Side printing" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Use local folder sharing" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Store share list at end of session" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Path" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Add" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Local Path" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Connect Method" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Delete" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Convert between client and server encodings" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Client encoding" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Server encoding" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Use file MIME box for local file import" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Extensions" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Action" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Defaults" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Save" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Reset" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Apply" #: ../pyhoca/wxgui/profilemanager.py:425 #: ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "automatically" #: ../pyhoca/wxgui/profilemanager.py:427 #: ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "manually" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-GUI Profile Manager - new profile" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Profile Manager - %s (connected)" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "PyHoca-GUI Profile Manager - %s" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Profile" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Session" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Connection" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Link Quality" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Media" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Sharing" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "pc105/us" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "us" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "basic" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Icon Files (*.png)|*.png|All files (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "Choose an icon for this session profile" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "All files (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1899 #: ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "Choose a public SSH key" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "Choose a folder to share within a session" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profile Manager" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "Profile name is missing, profile unusable!!!" #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profile name %s already exists!!!" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "%s - profile added" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "A new session profile has been added." #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "%s - modified" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "Changes to profile have been saved." #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "Share Desktop Session - %s" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "Select one of the available desktop sessions on this server" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "View session only" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "Gain full access" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "Share Desktop" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "Refresh list" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Edit Profile" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Use as Template for New Profile" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Export Profile" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Delete Profile" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "About %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Manage Session Profile" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Printing Preferences" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Client Options" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "E&xit" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Window title" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Resume Session" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Resume Session (not possible)" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Transfer Session" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Transfer Session (not possible)" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspend Session (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Suspend Session (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Suspend Session" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Terminate Session (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Terminate Session (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Terminate Session" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "End Desktop Sharing (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "End Desktop Sharing (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "End Desktop Sharing" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Refresh menu tree" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Rename Session Window" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Show Session Window" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "&Share custom local folder" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Share:" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Unshare:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Unshare &all local folders" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Restore shares in next session" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Development" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Education" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Games" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Graphics" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Office Applications" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Utilities" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Other Applications" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Connect %s" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Currently connecting..." #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "Start &new Desktop Session" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Start Desktop Sharing Session" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Retrieving Application Menu..." #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Retrieve Application Menu" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "Start &new RDP Session" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "Start &new Session" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Launch Single Application" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Manage Application Menu" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Running" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Suspended" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "&Clean all sessions" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Customize &profile" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Shared &folders" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Server Information" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Disconnect from Server" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "Suspend Session and E&xit application" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "Disconnect and E&xit application" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Add Profile" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "No session profiles defined" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Export all Profiles" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Export Profile Group" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Import Session Profiles" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Connect Server" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "About %s ..." #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "Suspending sessions and exiting application..." #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Disconnecting %s and exiting application..." #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "Exiting Application..." #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "%s - server warning" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "The X2Go Server does not publish an application menu." #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "SSH key authentication has been successful." #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "The SSH proxy's host key is invalid or has not been accepted by the user" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "%s - EOF error" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Authentication protocol communication incomplete! Try again..." #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "%s - auth key error" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "An unknown error occurred during authentication!" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP not supported yet" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "Unknown session profile, configure before using it..." #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Desktop Sharing with %s not supported by server" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "%s - session warning" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Execution of command ,,%s'' failed." #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "Cleaning X2Go sessions..." #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "%s - disconnect" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profile is now disconnected." #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "New Session Profile" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Really Delete Session Profile ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "%s - profile deleted" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "The session profile has been deleted." #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "import session profile(s)" #: ../pyhoca/wxgui/frontend.py:1140 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Import of session profile(s) failed" #: ../pyhoca/wxgui/frontend.py:1141 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "%s: Write failure after import" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "None of the session profiles could be imported..." #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "For details, start %s from the command line and retry the import." #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "Only these session profiles could be imported..." #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "Whereas these session profiles failed to import..." #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "New session profiles have been imported..." #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "New session profile has been imported..." #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "%s - export session profiles" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "%s - export session profile" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "%s: Export file already exists" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "%s - profiles exported" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Successfully exported session profile group »%s« to file »%s«." #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "%s - profile exported" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Successfully exported single session profile »%s« to file »%s«." #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Exporting session profile(s) failed" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - share local folder with sessions of this profile" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Confirm Host Authorization" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "%s - channel error" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "%s - session failure" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "The session startup failed." #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - desktop sharing failed" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "The desktop %s is not available for sharing (anymore)." #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "The command ,,%s'' is not available on X2Go server." #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "The command ,,%s'' is not available on X2Go server\n" "%s." #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "%s - audio warning" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "%s - audio error" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "The X2Go PulseAudio system could not be started." #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "The X2Go PulseAudio system has died unexpectedly." #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "%s - audio problem" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "The audio connection could not be set up for this session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "%s - client-side printing not available" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "The server denies client-side printing from within this session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box not available" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "The server does not support the X2Go MIME box.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - client-side folders not sharable" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "The server denies client-side folder sharing with this session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "%s - client resources not sharable" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Client-side folders and printers cannot be shared with this session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "%s - print error" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...caused on printer %s by session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...caused by session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "%s - start" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "New X2Go session starting up...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Another client started X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "%s - resume" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Resuming X2Go session...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Another client resumed X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "%s - running" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Found already running session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "%s - suspend" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go Session has been suspended\n" "%s" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "%s - terminate" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go Session has terminated\n" "%s" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Yes" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "No" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Printing Preferences" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Incoming Print Job from %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Open this dialog window" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Open with PDF viewer" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Save to a local folder" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Print to a local printer" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Run custom print command" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Print action" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Default action for incoming print jobs" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "PDF viewer command" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Save PDFs to folder" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Use this printer" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Custom print command" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Print" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- no printers installed -" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- print system is not available -" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Choose PDF viewer application" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Choose PDF saving location" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Session Title - %s" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Change session title to" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Server Information - %s" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Refresh" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Close" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr " Server Core" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Server Extensions" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Server Add-ons" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "X2Go Server Features" #~ msgid "Settings" #~ msgstr "Settings" #, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (via %s)" #~ msgid "Start/Resume Session" #~ msgstr "Start/Resume Session" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH Proxy Tunnel" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "The SSH proxy configuration is incomplete. Try again." #~ msgid "" #~ "Another session profile (%s) already uses [%s]:%s for binding a local SSH " #~ "proxy to.\n" #~ "Please change the SSH proxy settings accordingly." #~ msgstr "" #~ "Another session profile (%s) already uses [%s]:%s for binding a local SSH " #~ "proxy to.\n" #~ "Please change the SSH proxy settings accordingly." #, fuzzy #~ msgid "Remember shared folders" #~ msgstr "Shared &folders" #~ msgid "RSA/DSA private key" #~ msgstr "RSA/DSA private key" #~ msgid "Host[:Port]" #~ msgstr "Host[:Port]" #~ msgid "us" #~ msgstr "us" #~ msgid "pc105/us" #~ msgstr "pc105/us" #~ msgid "Keyboard layout" #~ msgstr "Keyboard layout" #~ msgid "%s - DNS error" #~ msgstr "%s - DNS error" #~ msgid "still loading" #~ msgstr "still loading" #~ msgid "" #~ "On slow connections, the loading of the application menu can take a " #~ "couple of seconds." #~ msgstr "" #~ "On slow connections, the loading of the application menu can take a " #~ "couple of seconds." #~ msgid "Disconnect and E&xit" #~ msgstr "Disconnect and E&xit" #~ msgid "%s - connect error" #~ msgstr "%s - connect error" #~ msgid "Exiting..." #~ msgstr "Exiting..." #~ msgid "Unknown Session Profile" #~ msgstr "Unknown Session Profile" #~ msgid "Network" #~ msgstr "Network" #~ msgid "Retrieving Application menu..." #~ msgstr "Retrieving Application menu..." #~ msgid "RDP settings" #~ msgstr "RDP settings" #~ msgid "" #~ "Set session window title (leave field below empty for default title from " #~ "server)" #~ msgstr "" #~ "Set session window title (leave field below empty for default title from " #~ "server)" #~ msgid "Bring to Foreground" #~ msgstr "Bring to Foreground" #~ msgid "Icon" #~ msgstr "Icon" #~ msgid "All session profiles are connected" #~ msgstr "All session profiles are connected" #~ msgid "New Profile" #~ msgstr "New Profile" #~ msgid "%s - print job" #~ msgstr "%s - print job" #~ msgid "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgstr "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgid "Profile icon" #~ msgstr "Profile icon" #~ msgid "Arts" #~ msgstr "Arts" pyhoca-gui-0.4.0.8/po/es.po0000644000000000000000000014530312207147477012222 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # # Mike Gabriel , 2011. # Ricardo Diaz Marti­n, 2011. # Ricardo Díaz Martín , 2012. # msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2013-08-06 07:16-0000\n" "Last-Translator: Ricardo Díaz \n" "Language-Team: X2Go i18n \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Poedit 1.5.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Language: es_ES\n" "X-Source-Language: C\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "%s (vía %s)" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "Nombre de usuario" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "Contraseña" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "Autenticar" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "Iniciar tunel SSH" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "Inicio de sesión" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "Inicio de sesión en el servidor proxy SSH" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "Cancelar" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "%s - fallo en la conexión" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "¡El usuario no tiene permisos para iniciar sesiones X2Go!" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "%s - conectado" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "Inicio de sesión correcto." #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "Iniciado tunel SSH" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "¡Error en el nombre de usuario o contraseña!" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "%s - proxy SSH" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "¡Nombre de usuario o contraseña erróneo en el servidor proxy SSH!" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "%s - error de socket" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "%s - error en la clave del equipo" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "La clave del servidor remoto no es válida o no ha sido aceptada por el " "usuario" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "%s - carpeta home desconocida" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "La carpeta home del usuario no existe en el servidor." #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "%s - error en la clave" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "%s - error en la autenticación" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" "La clave de verificación del host ha fallado. El servidor X2Go podría haber " "sido comprometido.\n" "\n" "También es posible que la clave de verificación haya sido cambiada.\n" "\n" "Debido ha esto, por razones de seguridad la conexión no se establecerá." #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "%s - error de SSH" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "%s - error desconocido" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "" "¡Error desconocido al tratar de validar el nombre de usuario y la contraseña!" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Conectando a \"%s\"" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Conectando con tu servidor remoto X2Go \"%s\"" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" "PyHoca-GUI\n" "Conectando a X2Go..." #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Cliente para conexiones remotas a servidores X2Go" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (similar a KDE3)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Aplicaciones publicadas" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Aplicación" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Compartir escritorio (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Query" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP sobre X2Go)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (RDP Directo)" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Comando personalizado" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Navegador web" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "Cliente de Correo" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Abrir archivo con la aplicación por defecto" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Abrir selector de aplicaciones" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Guardar archivo recibido como ..." #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "configuraciones recuperadas de " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Título de la Sesión" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Ventana de Sesión" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Inicio de Sesión" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Servidor" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Velocidad de conexión" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Compresión" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Pantalla" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Teclado" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Sonido" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Impresora" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Carpeta de Exportaciones" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Importar Archivo" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Nombre" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Establecer título de la sesión" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Usar título de sesión por defecto" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Título de sesión personalizado" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Icono de la ventana" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Iniciar sesión automáticamente tras el login" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" "El inicio de sesión automático ha comenzado tras %s (se necesita --auto-" "connect)" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Tipo" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Aplicación" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "Servidor XDMCP" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "Servidor RDP" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "Opciones RDP" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrar aplicaciones en el escritorio local (modo rootless)" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menú de aplicaciones publicadas" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Usuario" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Puerto" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Clave" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Descubrir clave SSH o usar el agente SSH para la autenticación X2Go" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Activar reenvío de autenticación SSH a través del agente de conexiones" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Alamcenar las claves SSH del equipo en el ID de sesión X2go" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Servidor detrás del proxy SSH" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Usar el mismo nombre de usuario para los servidores proxy y X2Go" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Usar la misma autenticación para los servidores proxy y X2Go" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Clave" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" "Descubrir las claves SSH o usar el agente SSH para la autenticación en el " "proxy" #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Módem" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Método" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Calidad de imagen" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Pantalla Completa" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Maximizada" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Tamaño Personalizado" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "Establecer DPI" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" "No establecido (usar las herramientas del lado del servidor para configurar " "el teclado)" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Detectar automáticamente y usar la configuración de teclado del lado del " "cliente en la sesión remota" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Ussar configuración de teclado personalizada" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Modelo de teclado" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Capa" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Variante de la capa" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Activar soporte de sonido" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (sin soporte)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Usar puerto de sonido por defecto" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Puerto de sonido personalizado" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Impresión local" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Compartir carpetas locales" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Almacenar la lista de comparticiones al final de la sesión%s" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Ruta" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Añadir" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Ruta Local" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Método de Conexión" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Eliminar" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Convertir codificaciones entre cliente y servidor" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Codificación del cliente" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Codificación del Servidor" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Usar tipo de archivo MIME para la importación local" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Extensiones" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Acción" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Valores por defecto" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Guardar" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Reiniciar" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Aplicar" #: ../pyhoca/wxgui/profilemanager.py:425 #: ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "automáticamente" #: ../pyhoca/wxgui/profilemanager.py:427 #: ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "manualmente" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-GUI Gestor de Perfiles - nuevo perfil" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Gestor de Perfiles - %s (conectado)" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "PyHoca-GUI Gestor de Perfiles - %s" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Perfil" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Sesión" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Conexión" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Calidad del enlace" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Entrada/Salida" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Medios" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Compartir" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Iconos (*.png)|*.png|Todos (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "Elige un icono para este perfil de sesión" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "Todos (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1899 #: ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "Elige una clave pública SSH" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "Elige la carpeta que quieres compartir en la conexión" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Gestor de Perfiles" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "¡¡¡Nombre de pefil no encontrado o no válido!!!" #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "El perfil de usuario %s ya existe!!!" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "%s - perfil añadido" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "Se ha añadido un nuevo perfil de sesión." #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "%s - modificado" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "Se han guardado los cambios en el perfil." #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "Compartir sesión de escritorio - %s" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "Elegir una de las sesiones de escritorio disponibles en el servidor" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "Ver sólo la sesión" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "Obtener acceso completo" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "Compartir Escritorio" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "Actualizar lista" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Editar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Usar como Plantilla para Nuevos Perfiles" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Exportar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Borrar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "Acerca de %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Gestionar Perfil de Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Preferencias de impresión" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Opciones del Cliente" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "S&alir" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Título de la ventana" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Retomar Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Retomar Sesión (no disponible)" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Transferir Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Transferir Sesión (no disponible)" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspender Sesión (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Suspender Sesión (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Suspender Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Finalizar Sesión (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Finalizar Sesión (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Finalizar Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Finalizar Compartir Escritorio (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Finalizar Compartir Escritorio (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Finalizó Compartir Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Actualizar árbol de menús" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Renombrar la Ventana de la Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Mostrar la Ventana de la Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "Compartir carpeta per&sonalizada local" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Compartir:" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "No compartido:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Dejar de compartir tod&as las carpetas locales" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Restaurar comparticiones en la próxima sesión" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Desarrollo" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Educación" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Juegos" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Gráficos" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Ofimática" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "Sistema" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Utilidades" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Otras Aplicaciones" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Conectar %s" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Conectando..." #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "Iniciar &nueva Sesión de Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Iniciar Compartir Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Recuperando Menú de Aplicación..." #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Recibido Menú de Aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "Iniciar &nueva Sesión RDP" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "Iniciar &nueva Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Ejecutar la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Gestionar el Menú de la Aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Activa" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Suspendida" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "&Limpiar el registro de sesiones" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Configurar &perfil" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Compartir &carpetas" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Información del Servidor" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Desconectar del servidor" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "Suspender Sesión y Salir (e&xit) de la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "Desconectar y Salir (e&xit) de la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Añadir Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "No se han definido perfiles de sesión" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Exportar todos los Perfiles" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Exportar Perfil de Grupo" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Importar perfiles de sesión" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Conectar con el Servidor" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "Acerca de %s ..." #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "Suspendiendo sesiones y saliendo de las aplicaciones..." #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Desconectando %s y saliendo de las aplicaciones..." #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "Saliendo de la aplicación..." #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "%s - advertencia del servidor" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "El servidor X2GO no publica menú de la aplicación." #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "Se ha iniciado sesión con éxito usando la clave SSH." #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "La clave SSH del proxy no es válida o no ha sido aceptada por el usuario" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "%s - error EOF" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" "¡El protocolo de autenticación de comunicaciones está incompleto! Inténtalo " "otra vez..." #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "%s - error en la clave de identificación" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "" "¡Error desconocido al tratar de validar el nombre de usuario y la contraseña!" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s; Sin soporte DirectRDP todavía" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" "Pedimos disculpas por los inconvenientes\n" "\n" "Los perfiles de sesión del tipo \"DirectRDP\" no están\n" "soportados por %s (%s) todavía\n" "\n" "El soporte DirectRDP estará disponible en %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "Perfil de sesión desconocido, configúralo antes de usar..." #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Compartir Escritorio con %s no está soportado por el servidor" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" "Pedimos disculpas por los inconvenientes\n" "\n" "Los perfiles de sesión del tipo \"SHADOW\" no están\n" "soportados por X2Go Server (v%s)\n" "\n" "Compartir Escritorio con %s requiere\n" " X2Go Server 4.1.0.0 o superior." #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "%s - advertencia de la sesión" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Fallo al ejecutar el comando \"%s\"." #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "Limpiando sesiones X2Go..." #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "%s - desconectado" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "Se ha desconectado el Perfil X2Go." #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "Nuevo Perfil de Sesión" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Eliminar el Perfil de Sesión \"%s''?" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "%s - perfil eliminado" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "Se ha eliminado el perfil de sesión." #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "importar perfil/es de sesión" #: ../pyhoca/wxgui/frontend.py:1140 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: La importaión del/los perfil/es de sesión ha fallado" #: ../pyhoca/wxgui/frontend.py:1141 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" "El perfil o perfiles de sesión no pueden ser importados del \n" "archivo \"%s\".\n" "Has comprobado que los perfiles des sesión tengan el formato adecuado?" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "%s: Fallo de escritura tras la importación" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "El perfil o perfiles de sesión no pudieron ser guardados después de la " "importación.\n" "\n" "Comprueba problemas comunes (disco lleno, sin permisos, etc.)." #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "Ninguno de los perfiles de sesión pudo ser importado..." #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "Para mostrar más detalles, ejecutar %s desde la línea de comandos y " "reintentar la importación." #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "Sólo estos perfiles de sesión pudieron ser importados...." #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "Falló la importación de los siguientes perfiles de sesión" #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "Se han importado perfiles de sesión..." #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "Un nuevo perfil de sesión ha sido añadido..." #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "%s - exportar perfiles de sesión" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "%s - exportar perfil de sesión" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "%s: El archivo de exportación ya existe" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "El archivo \"%s\" ya existe en esa carpeta.\n" "\n" "¿Quieres reemplazarlo?" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "%s - perfiles exportados" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" "Se ha exportado el grupo de perfiles de sesión \"%s\" al archivo \"%s\"." #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "%s - perfil exportado" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Se ha exportado el perfil de sesión \"%s\" al archivo \"%s\"." #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: La exportación del perfil de sesión o sesiones ha fallado" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "El perfil o perfiles de sesión no pueden ser exportados al \n" "archivo \"%s\".\n" "Comprueba problemas comunes (disco lleno, sin permisos, etc.)." #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - compartir carpetas locales con las sesiones de este perfil" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" "La autenticidad del servidor [%s]:%s no puede comprobarse.\n" "la huella de la clave %s es \"%s\".\n" "\n" "¿Continuar con la conexión?" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Se confirma la autorización del equipo" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "%s - error en el canal" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "" "¡La conexión con el servidor %s ha finalizado inesperadamente! Intenta " "iniciar sesión nuevamente..." #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "%s - fallo en la sesión" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "El inicio de sesión ha fallado." #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "%s - tiempo de espera agotado" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Al servidor le llevó mucho tiempo para devolver la lista de escritorios " "compartidos.\n" "Esto es algo poco frecuente. Inténtalo de nuevo" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - fallo al compartir el escritorio" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "El escritorio %s no está disponible para ser compartido." #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "El comando \"%s'' no está presente en el servidor X2Go." #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "El comando \"%s\" no está disponible en el servidor X2Go\n" "%s." #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Se ha denegado la redirección del túnel TCP inverso para la sesión %s al " "puerto %s del servidor X2Go." #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" "La solicitud de túnel a %s:%s para la sesión %s ha sido denegada por el " "servidor X2Go/SSH . Fallo en el inicio de sesión." #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "%s - advertencia en el sistema de audio" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "El sistema X2Go PulseAudio no está disponible en las sesiones del tipo " "Remote Desktop." #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "%s - error en el audio" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "El sistema X2Go PulseAudio no puede iniciarse." #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "El sistema X2Go PulseAudio ha finalizado inesperadamente." #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "%s - problema en el audio" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "La conexión de audio puede que no esté configurada para esta sesión.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "" "%s - el sistema de impresión en el lado del cliente no está disponible -" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "El servidor no permite la impresión del lado del cliente para esta sesión.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "%s - No está disponible el contexto MIME" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "El servidor no soporta el contexto X2Go MIME.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - las carpetas del lado del cliente no están compartidas" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "El servidor no permite compartir carpetas del lado del cliente en esta " "sesión.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "%s - el recurso del cliente no está marcado como compartido" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "La impresión y el acceso a las carpetas del lado del cliente no están " "permitidas en esta sesión.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "%s - error de impresión" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...provocado en la impresora %s por la sesión\n" "%s" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...provocado por la sesión\n" "%s" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "%s - inicio" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Iniciando nueva sesión X2Go...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Otro cliente ha iniciado sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "%s - retornar a la sesión" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Retornando sesión X2Go...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Otro cliente retornó a la sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "%s - en ejecución" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "La sesión ya está en ejecución\n" "%s" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "%s - suspender" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "Se ha suspendido la Sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "%s - finalizar" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "Se ha finalizado la sesión X2Go\n" "%s" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "¿Eliminar el perfil de sesión \"%s\"?" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "¡PyHoca-GUI ya está siendo usado para el usuario \"%s\"!\n" "\n" "Sólo se permite una instancia de PyHoca-GUI por usuario.\n" "El icono de PyHoca-GUI se encuentra en el area de notificación." #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Sí" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "No" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Preferencias de Impresión" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Recibiendo trabajo de impresión desde %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Abrir esta ventana de diálogo" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Abrir con el visor PDF" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Guardar en carpeta local" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Imprimir en la impresora local" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Ejecutar comando de impresión personalizado" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "" pyhoca-gui-0.4.0.8/po/fr.po0000644000000000000000000011043012207147477012213 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. # msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2011-09-17 02:17+0100\n" "Last-Translator: Mike Gabriel \n" "Language-Team: X2Go i18n \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-Language: French\n" "X-Poedit-Country: French\n" "X-Poedit-SourceCharset: utf-8\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "" #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "" #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "" #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:425 #: ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:427 #: ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1899 #: ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "" #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "" #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "" #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "" #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "" #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "" #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "" #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "" #: ../pyhoca/wxgui/frontend.py:1140 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1141 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "" #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "" #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "" #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "" #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Skriv ut handling" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Forvalgt handling for innkommende utskriftsjobber" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "PDF leser kommando" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Lagre PDF'er i en mappe" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Benytt denne skriveren" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Selvvalgt kommando for utskrift" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Skriv ut" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- ingen skrivere installert -" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- utskriftssystemet er ikke tilgjengelig -" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Velg PDF leseprogram" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Velg plassering for PDF lagring" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Sesjonstittel - %s" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Endre sesjonstittelen til" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Serverinformasjon - %s" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Sesjonsprofil: %s\n" "\n" "Liste over X2Go Server komponenter, tillegg og deres versjoner..." #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Oppfrisk" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Lukk" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "Server kjerne" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Server utvidelser" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Server tillegg" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "X2Go Server Funksjoner" #~ msgid "Settings" #~ msgstr "Innstillinger" #, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (via %s)" #, fuzzy #~ msgid "Connect to another Desktop Session" #~ msgstr "Start &ny sesjon" #~ msgid "Start/Resume Session" #~ msgstr "Start/gjenoppta sesjon" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH mellomtjener tunnel" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "SSH mellomtjener konfigurasjonen er ufullstendig. Forsøk igjen." #~ msgid "" #~ "Another session profile (%s) already uses [%s]:%s for binding a local SSH " #~ "proxy to.\n" #~ "Please change the SSH proxy settings accordingly." #~ msgstr "" #~ "En annen sesjonsprofil (%s) benytter allerede [%s]:%s for å portbinde en " #~ "lokal SSH mellomtjener.\n" #~ "Vennligst endre SSH mellomtjener innstillingene tilsvarende." #, fuzzy #~ msgid "Remember shared folders" #~ msgstr "Delte &mapper" #~ msgid "RSA/DSA private key" #~ msgstr "RSA/DSA privat nøkkel" #~ msgid "Host[:Port]" #~ msgstr "Vert[:Port]" #~ msgid "us" #~ msgstr "no" #~ msgid "pc105/us" #~ msgstr "pc105/no" #~ msgid "Keyboard layout" #~ msgstr "Tastaturoppsett" #, fuzzy #~ msgid "%s - DNS error" #~ msgstr "%s - nøkkel feil" #~ msgid "%s - connect error" #~ msgstr "%s - tilkoblings feil" #, fuzzy #~ msgid "Unknown Session Profile" #~ msgstr "Ny sesjonsprofil" #, fuzzy #~ msgid "Retrieving Application menu..." #~ msgstr "Enkelt applikasjon" #~ msgid "Icon" #~ msgstr "Ikon" #~ msgid "RDP settings" #~ msgstr "RDP innstillinger" #~ msgid "All session profiles are connected" #~ msgstr "All session profiles are connected" #~ msgid "New Profile" #~ msgstr "New Profile" #~ msgid "%s - print job" #~ msgstr "%s - print job" #~ msgid "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgstr "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgid "Profile icon" #~ msgstr "Profile icon" #~ msgid "Arts" #~ msgstr "Arts" pyhoca-gui-0.4.0.8/po/nl.po0000644000000000000000000014200112207147477012214 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # Mike Gabriel , 2011. # msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2013-01-29 20:57+0100\n" "Last-Translator: Mike Gabriel \n" "Language-Team: X2Go i18n \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-SourceCharset: utf-8\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "Gebruiker" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "Wachtwoord" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "Aanmelden" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "Start SSH Tunnel" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "Sessie login" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "Login via SSH Proxy" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "Afbreken" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "%s - verbinden mislukt" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "Gebruiker mag geen X2Go sessie starten!" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "%s - verbinden" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "Authenticatie is gelukt." #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "SSH Tunnel gestart" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "Authenticatie mislukt!" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH Proxy" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "Authenticatie via SSH Proxy Server mislukt!" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "%s - socket fout" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "%s - server sleutel fout" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "De sleutel van de server is ongeldig of is niet geaccepteerd door de " "gebruiker" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "%s - home directory niet aanwezig" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "De home directory op afstand van de gebruiker bestaat niet" #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "%s - sleutel fout" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "%s - authenticatie fout" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "%s - sleutel fout" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "%s - onbekende fout" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "Een onbekende fout is bij de authenticatie opgetreden" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Verbinden met ,,%s''" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Verbinding met X2Go server ,,%s'' wordt gemaakt" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "Bezig je te verbinden met X2Go ..." #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Verbinding met remote X2Go server aan het opbouwen" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Gepubliceerde applicaties" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Enkelvoudige Applicatie" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Delen desktop sessie (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Query" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminalserver (via X2Go-proxy)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminalserver (Direct RDP)" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Speciaal Commando" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Internetbrowser" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "E-Mail Programma" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Open bestand met het geassocieerde programma" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Open dialoog, om Applicatie te kiezen" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Opslaan bestand als ..." #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "configuratie afgeleid van" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Sessie naam" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Sessie Window" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Sessie start" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Verbindings snelheid" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Compressie" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Display" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Toetsenbord" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Geluid" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Afdrukken" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Map export" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Bestands import" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Naam" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Stel sessiescherm titel in" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Gebruik een standaard sessienaam" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Aangepaste sessienaam" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Scherm icoon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Start sessie automatisch na login" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Login automatisch nadat %s is gestart (--auto-connect vereist)" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Applicatie" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP Server" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP Server" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "RDP Opties" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integreer remote toepassing in de lokale desktop (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Menu met gepubliceerde applicaties" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Gebruiker" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Sleutel" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Gebruik SSH agent voor authenticatie of zoek SSH sleutels" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Gebruik SSH forwarding van SSH authenticatie agent" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Sla SSH host keys op onder (uniek) X2Go sessie profiel" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Server achter SSH-Proxy" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Gebruik zelfde gebruikersnaam voor X2Go en de SSH Proxy" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Gebruik dezelfde authenticatie voor X2Go en de SSH Proxy" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Sleutel" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Gebruik SSH agent voor proxy authenticatie of zoek SSH sleutels" #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Methode" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Beeldkwaliteit" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Fullscreen" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Maximaliseered" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Grootte instellen" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "DPI-waarde instellen" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Uitzetten (gebruik server-side tools om het toetsenbord in te stellen)" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "Gebruik automatisch gedetecteerd toetsenbord in de sessie" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Gebruik de onderstaande speciale toetsenbord instellingen" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Toetsenbord model" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Layout" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Layout variant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Geluid gebruiken" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (niet ondersteund)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Standaard Audio-Port gebruiken" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Speciale Audio-Port" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Afdrukken via deze computer" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Delen van lokale mappen" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Sla de lijst met te delen informatie wanneer de sessie eindigt" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Pad" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Toevoegen" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Lokaal Pad" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Verbindingsmethode" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Verwijderen" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Encoding tussen client en server vertalen" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "Client encoding" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "Server encoding" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Importeren lokale bestanden via MIME box" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Extra's" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Actie" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "Standaardwaarden" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Opslaan" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Reset" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Toepassen" #: ../pyhoca/wxgui/profilemanager.py:425 #: ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "automatisch" #: ../pyhoca/wxgui/profilemanager.py:427 #: ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "handmatig" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-GUI Profiel manager - nieuw profiel" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Profiel manager - %s (verbonden)" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "PyHoca-GUI Profiel manager - %s" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Profiel" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Sessie" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Verbinding" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Verbindingskwaliteit" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Multimedia" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Delen" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "pc105/us" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "us" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "intl" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Icon Bestanden (*.png)|*.png|Alle Bestanden (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "Icon voor dit Profiel kiezen" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "Alle Bestanden (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1899 #: ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "Kies een public SSH-key" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "Kies een map om te delen" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profiel manager" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "Profiel naam ontbreekt, kan niet gebruikt worden!!!" #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profiel %s bestaat al" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "%s - Profiel toegevoegd" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "Een nieuw Profiel is toegevoegd" #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "%s - gewijzigd" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "Wijzigingen in het profiel zijn opgeslagen." #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "Delen desktop sessie - %s" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "Kies één van de beschikbare desktop sessies op deze server" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "Sessie alleen bekijken" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "Volledige toegang" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "Delen desktop" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "Ververs lijst" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Profiel bijwerken" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Gebruik als sjabloon voor een nieuw profiel" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Export profiel" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Profiel verwijderen" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "About %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Onderhoud sessieprofiel" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Voorkeur voor afdrukken" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Opties" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "&Beeindigen" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Scherm titel" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Sessie hervatten" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Sessie hervatten (niet mogelijk)" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Sessie overnemen" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Sessie overnemen (niet mogelijk)" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspend Sessie (en Verbinding verbreken / e&xit)" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Suspend Sessie (en Verbinding verbreken)" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Suspend Sessie" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Sessie beëindigen (en Verbinding verbreken / e&xit)" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Sessie beëindigen (en Verbinding verbreken)" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Sessie beëindigen" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Beëindig delen van de desktop (en verbreek verbinding/afsluiten)" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Beëindig delen van de desktop (en verbreek verbinding)" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Beëindig delen van de desktop" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Ververs menu" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Hernoem sessie" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Toon sessiescherm" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "Delen lokale &map" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Delen:" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Niet meer delen" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Niet langer delen alle lokale &mappen" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Herstel gedeelde mappen in de volgende sessie" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Ontwikkeling" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Opleiding" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Spelletjes" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Graphics" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Kantoor applicaties" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "Systeem" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Hulpmiddelen" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Andere applicaties" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Verbind %s" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Nu aan het verbinden..." #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "&Nieuwe Desktop Sessie starten" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Start delen van de desktop" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Bezig met ophalen applicatiemenu..." #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Haal applicatiemenu op" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "&Nieuwe RDP Sessie starten" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "&Nieuwe Sessie starten" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Enkelvoudige Applicatie starten" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Onderhoud applicatie menu" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Aktief" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Suspended" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "Alle Sessies beëindigen" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Sessieprofiel wijzigen" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Delen &mappen" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Server informatie" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Verbinding verbreken" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "Suspend Sessie en e&xit" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "verbinding verbreken en e&xit" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Profiel toevoegen" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "Geen Profiel gedefinieerd" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Export alle profielen" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Export profielgroep" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Importeer sessie profielen" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Verbinden met Server" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "About %s ..." #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "Bezig met suspend van sessie en afsluiten van applicatie" #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Bezig met verbreken verbinding %s en afsluiten applicatie..." #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "Afsluiten van applicatie..." #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "%s - server waarschuwing" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "De X2Go server publiceert geen applicatie menu" #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "SSH-key authenticatie is gelukt." #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "De sleutel van de SSH proxy is ongeldig of is niet geaccepteerd door de " "gebruiker" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "%s - EOF fout" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Authenticatie was niet volledig! Opnieuw proberen..." #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "%s - Verbindingsfout met auth. key" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "Een onbekende fout is bij de authenticatie opgetreden" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP wordt nog niet ondersteund" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" "Excuses voor het ongemak...\n" "\n" "Sessie profielen voor DirectRDP worden door\n" "%s (%s) nog niet ondersteund!!\n" "\n" "DirectRDP wordt ondersteund in %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "Onekend sessie profiel, stel dit in voordat je het gebruikt..." #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Delen van de desktop met %s wordt niet ondersteund door de server" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" "Excuses voor het ongemak...\n" "\n" "Sessie profielen met het ,,SHADOW'' type worden \n" "door X2Go server nog niet ondersteund\n" "\n" "Delen van de desktop met %s wordt ondersteund\n" "vanaf X2Go Server 4.1.0.0 en hoger" #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "%s - sessie waarschuwing" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Uitvoering van commando \"%s\" faalde" #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "Opschonen X2Go sessies..." #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "%s - verbinding verbreken" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profiel is nu niet meer verbonden." #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "Nieuw Profiel" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Verwijder sessie profiel ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "%s - Profiel is verwijderd!" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "Het sessie profiel is verwijderd." #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "importeer sessie profielen" #: ../pyhoca/wxgui/frontend.py:1140 msgid "%s: Import of session profile(s) failed" msgstr "%s: Import van sessie profiel(en) mislukt" #: ../pyhoca/wxgui/frontend.py:1141 msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" "Het geselecteerde profiel(en) kon niet worden geimporteerd\n" "van file »%s«.\n" "\n" "Weet u zeker dat het profiel het juiste formaat heeft?" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "Het geselecteerde profiel kon niet worden weggeschreven worden \n" "\n" "Controleer of er voldoende schijfruimte is en of u toegang hebt" #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "Geen van de profielen kon worden geïmporteerd..." #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "Alleen deze sessie profielen konden worden geimporteerd..." #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "Deze sessie profielen konden niet geïmporteerd worden..." #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "Nieuwe sessie profielen zijn geïmporteerd..." #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "Een nieuw Profiel is geïmporteerd..." #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "%s - export sessie profielen" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "%s - export sessie profiel" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "%s: Export file bestaat al" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Het bestand »%s« bestaat al in deze map\n" "\n" "Wilt u het vervangen?" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "%s - Profielen geëxporteerd" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Exporteren van sessieprofiel groep »%s« naar file »%s« geslaagd" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "%s - Profiel is geëxporteerd" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Exporteren van sessieprofiel »%s« naar file »%s« geslaagd" #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Export van sessie profiel mislukt" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "Het geselecteerde profiel kon niet worden geëxporteerd \n" "naar »%s«.\n" "\n" "Controleer of er voldoende schijfruimte is en of u toegang hebt" #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - deel lokale map met dit Profiel" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" "De authenticiteit van host [%s]:%s kan niet vastgesteld worden.\n" "%s sleutel kenmerken zijn ,,%s''.\n" "\n" "Weet u zeker dat u de verbinding wilt maken?" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Bevestig dat de Host geautoriseerd is" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "%s - Verbindingsfout (channel error)" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "" "De Verbinding met de server %s werd onverwacht verbroken! Probeer om u " "opnieuw aan te melden..." #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "%s - sessie fout" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "Opstarten van de sessie is mislukt" #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Het duurde te lang om de lijst met deelbare desktops op te halen\n" "Dit gebeurt soms, probeer het nogmaals" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - delen van de desktop mislukte" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "De %s desktop kan niet (meer) gedeeld worden" #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Het commando ,,%s'' is niet beschikbaar op de X2Go server." #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Het commando ,,%s'' is niet beschikbaar op de X2Go server\n" "%s" #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Reverse TCP port forwarding request voor sessie %s naar server port %s niet " "toegestaan" #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" "Forwarding tunnel request naar [%s]:%s voor sessie %s niet toegestaan door " "remote X2Go/SSH server. Het starten van de sessie is mislukt." #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "%s - audio waarschuwing" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "Het X2Go PulseAudio systeem is niet beschikbaar voor Remote Desktop sessies" #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "%s - audio fout" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "Het X2Go PulseAudio systeem kon niet gestart worden" #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "Het X2Go PulseAudio systeem is gecrashed" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "%s - audio probleem" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "De audio verbinding kon niet worden gemaakt voor deze sessie.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "%s - client-side print systeem niet beschikbaar" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "De server staat client-side printing niet toe" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "%s- MIME box is niet beschikbaar" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "De server ondersteunt geen X2Go MIME box" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - client-side mappen worden niet gedeeld" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "De server staat client-side mappen deling in deze sessie niet toe.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "%s - client bronnen kunnen niet gedeeld worden" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Client-side mappen en printers kunnen niet gedeeld worden in deze sessie.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "%s - Printfout" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...veroorzaakt door printer %s in sessie\n" "%s" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...veroorzaakt door sessie\n" "%s" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "%s - Start" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Nieuwe X2Go sessie wordt gestart...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Een andere X2Go-client heeft deze sessie gestart\n" "%s" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "%s - hervatten" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "X2Go Sessie wordt hervat...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Een andere X2Go-client heeft de Sessie hervat\n" "%s" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "%s - actief" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Reeds actieve sessie gevonden\n" "%s" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "%s - suspend" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go Sessie is suspended\n" "%s" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "%s - beëindigen" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go Sessie wordt beëindigd\n" "%s" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Weet u zeker dat u het sessie\n" "profiel ,,%s'' wilt verwijderen??" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "Pyhoca-GUI is al actief voor gebruiker ,,%s''!\n" "\n" "Er kan slechts één instantie per gebruiker gestart worden.\n" "Het Pyhoca-GUI icoontje kan gevonden worden in de\n" "taakbalk van uw desktop." #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Ja" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Nee" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Print voorkeuren" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Inkomende afdruk taak van %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Open dit dialoog venster" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Openen met PDF viewer" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Opslaan naar lokale map" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Printen naar lokale printer" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Afdrukken met speciaal commando" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "" pyhoca-gui-0.4.0.8/po/ru.po0000644000000000000000000015654112207147477012247 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2013 Mike Gabriel # Dick Kniep # This file is distributed under the same license as the PyHoca-GUI package. # # Mike Gabriel , 2011. # Oleksandr Shneyder , 2012, 2013. msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-03 22:47+0200\n" "PO-Revision-Date: 2013-01-28 13:39+0100\n" "Last-Translator: Oleksandr Shneyder \n" "Language-Team: German \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Poedit-Language: Russian\n" "X-Poedit-Country: Russian\n" "X-Poedit-SourceCharset: utf-8\n" "X-Language: ru_RU\n" "X-Source-Language: C\n" "X-Generator: Lokalize 1.4\n" #: ../pyhoca/wxgui/logon.py:86 #, python-format msgid "%s (via %s)" msgstr "%s (через %s)" #: ../pyhoca/wxgui/logon.py:90 ../pyhoca/wxgui/logon.py:102 msgid "Username" msgstr "Имя пользователя" #: ../pyhoca/wxgui/logon.py:92 ../pyhoca/wxgui/logon.py:104 msgid "Password" msgstr "Пароль" #: ../pyhoca/wxgui/logon.py:95 msgid "Authenticate" msgstr "Авторизовать" #: ../pyhoca/wxgui/logon.py:107 msgid "Start SSH tunnel" msgstr "Создать SSH туннель" #: ../pyhoca/wxgui/logon.py:115 msgid "Session login" msgstr "Логин сессии" #: ../pyhoca/wxgui/logon.py:116 msgid "SSH proxy server login" msgstr "Логин SSH прокси сервера" #: ../pyhoca/wxgui/logon.py:127 ../pyhoca/wxgui/profilemanager.py:375 #: ../pyhoca/wxgui/listdesktops.py:99 ../pyhoca/wxgui/messages.py:130 #: ../pyhoca/wxgui/printingprefs.py:147 ../pyhoca/wxgui/sessiontitle.py:85 msgid "Cancel" msgstr "Отмена" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/logon.py:339 #: ../pyhoca/wxgui/frontend.py:614 #, python-format msgid "%s - connect failure" msgstr "%s - ошибка соединения" #: ../pyhoca/wxgui/logon.py:298 ../pyhoca/wxgui/frontend.py:614 msgid "User is not allowed to start X2Go sessions!" msgstr "Пользователю не разрешено открывать X2Go сессии!" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/frontend.py:621 #, python-format msgid "%s - connect" msgstr "%s - соединение" #: ../pyhoca/wxgui/logon.py:304 msgid "Authentication has been successful." msgstr "Авторизация успешна." #: ../pyhoca/wxgui/logon.py:335 msgid "SSH tunnel started" msgstr "SSH туннель установлен" #: ../pyhoca/wxgui/logon.py:340 msgid "Authentication failed!" msgstr "Ошибка авторизации!" #: ../pyhoca/wxgui/logon.py:348 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH прокси" #: ../pyhoca/wxgui/logon.py:349 msgid "Authentication to the SSH proxy server failed!" msgstr "Ошибка авторизации на прокси сервере SSH!" #: ../pyhoca/wxgui/logon.py:376 ../pyhoca/wxgui/frontend.py:676 #, python-format msgid "%s - socket error" msgstr "%s - ошибка сокета" #: ../pyhoca/wxgui/logon.py:383 ../pyhoca/wxgui/frontend.py:655 #: ../pyhoca/wxgui/frontend.py:662 #, python-format msgid "%s - host key error" msgstr "%s - ошибка ключа хоста" #: ../pyhoca/wxgui/logon.py:384 ../pyhoca/wxgui/frontend.py:655 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "Удаленный серверный ключ недействителен и не был принят пользователем" #: ../pyhoca/wxgui/logon.py:391 ../pyhoca/wxgui/frontend.py:697 #, python-format msgid "%s - missing home directory" msgstr "%s - домашний каталог отсутствует" #: ../pyhoca/wxgui/logon.py:392 ../pyhoca/wxgui/frontend.py:697 msgid "The remote user's home directory does not exist." msgstr "Домашний каталог удаленного пользователя не существует." #: ../pyhoca/wxgui/logon.py:399 #, python-format msgid "%s - key error" msgstr "%s - ошибка ключа" #: ../pyhoca/wxgui/logon.py:407 ../pyhoca/wxgui/frontend.py:704 #, python-format msgid "%s - auth error" msgstr "%s - ошибка авторизации" #: ../pyhoca/wxgui/logon.py:416 ../pyhoca/wxgui/frontend.py:645 msgid "" "Host key verification failed. The X2Go server may have been compromised.\n" "\n" "It is also possible that the host key has just been changed.\n" "\n" "However, for security reasons the connection will not be established!!!" msgstr "" "Проверка ключа удалённого хоста не удалась. Возможно, сервер X2Go компрометирован.\n" "\n" "Также может быть что ключ просто был сменён.\n" "\n" "Тем не менее, по соображениям безопасности соединение не будет установлено!!!" #: ../pyhoca/wxgui/logon.py:421 ../pyhoca/wxgui/frontend.py:648 #, python-format msgid "%s - SSH error" msgstr "%s - ошибка SSH" #: ../pyhoca/wxgui/logon.py:431 #, python-format msgid "%s - unknown error" msgstr "%s - неизвестная ошибка" #: ../pyhoca/wxgui/logon.py:432 msgid "An unknown error occured during authentication!" msgstr "Неизвестная ошибка при авторизации!" #: ../pyhoca/wxgui/taskbar.py:118 #, python-format msgid "" "PyHoca-GUI\n" "Connecting you to ,,%s''" msgstr "" "PyHoca-GUI\n" "Соединяет Вас с ,,%s''" #: ../pyhoca/wxgui/taskbar.py:122 #, python-format msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Соединяет Вас с удаленным сервером X2Go ,,%s''" #: ../pyhoca/wxgui/taskbar.py:132 msgid "" "PyHoca-GUI\n" "Connecting you to X2Go..." msgstr "" "PyHoca-GUI\n" "Соединяет Вас с X2Go..." #: ../pyhoca/wxgui/taskbar.py:136 msgid "" "PyHoca-GUI (Python X2Go Client)\n" "Client for connecting you to a remote X2Go server" msgstr "" "PyHoca-GUI (Python X2Go Client)\n" "Для соединения с удаленным сервером X2Go" #: ../pyhoca/wxgui/profilemanager.py:79 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:80 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-like)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Published Applications" msgstr "Удаленные приложения" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "Single Application" msgstr "Приложение" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Share desktop session (SHADOW)" msgstr "Присоединиться к существующей сессии (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "XDMCP Query" msgstr "XDMCP Запрос" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Сервер терминалов Windows (RDP через X2Go прокси)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "Windows Terminal Server (Direct RDP)" msgstr "Сервер терминалов Windows (прямое RDP соединение)" #: ../pyhoca/wxgui/profilemanager.py:93 ../pyhoca/wxgui/profilemanager.py:245 msgid "Custom command" msgstr "Команда пользователя" #: ../pyhoca/wxgui/profilemanager.py:98 ../pyhoca/wxgui/menus_taskbar.py:407 msgid "Internet Browser" msgstr "Веб-броузер" #: ../pyhoca/wxgui/profilemanager.py:99 ../pyhoca/wxgui/menus_taskbar.py:408 msgid "Email Client" msgstr "Почтовый клиент" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:409 msgid "Office" msgstr "Офис" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:410 msgid "Terminal" msgstr "Терминал" #: ../pyhoca/wxgui/profilemanager.py:119 msgid "Open file with system's default application" msgstr "Открыть файл с приложением по умолчанию" #: ../pyhoca/wxgui/profilemanager.py:120 msgid "Open application chooser dialog" msgstr "Открыть диалог выбора приложения" #: ../pyhoca/wxgui/profilemanager.py:121 msgid "Save incoming file as ..." msgstr "Сохранить файл как ..." #: ../pyhoca/wxgui/profilemanager.py:149 msgid "settings derived from " msgstr "настройки импортированы из " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:188 msgid "Session Title" msgstr "Заголовок сессии" #: ../pyhoca/wxgui/profilemanager.py:189 msgid "Session Window" msgstr "Окно сессии" #: ../pyhoca/wxgui/profilemanager.py:190 msgid "Session Startup" msgstr "Запуск сессии" #: ../pyhoca/wxgui/profilemanager.py:191 msgid "Server" msgstr "Сервер" #: ../pyhoca/wxgui/profilemanager.py:192 msgid "Proxy" msgstr "Прокси" #: ../pyhoca/wxgui/profilemanager.py:193 msgid "Connection Link Speed" msgstr "Скорость соединения" #: ../pyhoca/wxgui/profilemanager.py:194 msgid "Compression" msgstr "Сжатие" #: ../pyhoca/wxgui/profilemanager.py:195 msgid "Display" msgstr "Дисплей" #: ../pyhoca/wxgui/profilemanager.py:196 msgid "Keyboard" msgstr "Клавиатура" #: ../pyhoca/wxgui/profilemanager.py:197 msgid "Sound" msgstr "Звук" #: ../pyhoca/wxgui/profilemanager.py:198 msgid "Printing" msgstr "Печать" #: ../pyhoca/wxgui/profilemanager.py:199 msgid "Folder Exports" msgstr "Экспорт каталогов" #: ../pyhoca/wxgui/profilemanager.py:200 msgid "File Import" msgstr "Импорт файлов" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Name" msgstr "Имя" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Set session window title" msgstr "Установить заголовок окна сессии" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Use a default session window title" msgstr "Использовать заголовок окна сессии по умолчанию" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Custom session window title" msgstr "Произвольный заголовок окна сессии" #: ../pyhoca/wxgui/profilemanager.py:233 msgid "Window Icon" msgstr "Пиктограмма" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:239 msgid "Start session automatically after login" msgstr "Запускать сессию автоматически после входа" #: ../pyhoca/wxgui/profilemanager.py:240 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Автоматический вход после запуска %s (требуется опция --auto-connect)" #: ../pyhoca/wxgui/profilemanager.py:241 msgid "Type" msgstr "Тип" #: ../pyhoca/wxgui/profilemanager.py:243 msgid "Application" msgstr "Приложение" #: ../pyhoca/wxgui/profilemanager.py:247 msgid "XDMCP server" msgstr "XDMCP сервер" #: ../pyhoca/wxgui/profilemanager.py:249 msgid "RDP server" msgstr "RDP сервер" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "RDP options" msgstr "Опции RDP" #: ../pyhoca/wxgui/profilemanager.py:253 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Интегрировать удаленное приложение в локальный десктоп" #: ../pyhoca/wxgui/profilemanager.py:254 msgid "Menu of published applications" msgstr "Меню удаленных приложений" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:261 ../pyhoca/wxgui/profilemanager.py:275 msgid "User" msgstr "Пользователь" #: ../pyhoca/wxgui/profilemanager.py:263 ../pyhoca/wxgui/profilemanager.py:282 msgid "Host" msgstr "Хост" #: ../pyhoca/wxgui/profilemanager.py:265 ../pyhoca/wxgui/profilemanager.py:284 msgid "Port" msgstr "Порт" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "Key" msgstr "Ключ" #: ../pyhoca/wxgui/profilemanager.py:270 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" "Автоматически определять SSH ключи или использовать SSH агент для " "аутентификации" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Разрешить ретрансляцию соединений агента SSH" #: ../pyhoca/wxgui/profilemanager.py:273 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Сохранять SSH ключ сервера с уникальным ID профиля сессии" #: ../pyhoca/wxgui/profilemanager.py:274 msgid "Server behind SSH proxy" msgstr "Сервер за SSH прокси" #: ../pyhoca/wxgui/profilemanager.py:277 msgid "Use same username for X2Go and proxy host" msgstr "Использовать то же имя пользователя, что и на сервере X2Go" #: ../pyhoca/wxgui/profilemanager.py:278 msgid "Use same authentication for X2Go and proxy host" msgstr "Использовать тот же пароль, что и на сервере X2Go" #: ../pyhoca/wxgui/profilemanager.py:279 msgid "Key file" msgstr "Файл ключа" #: ../pyhoca/wxgui/profilemanager.py:286 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" "Автоматически определять SSH ключи или использовать SSH агент для " "аутентификации на прокси сервере" #: ../pyhoca/wxgui/profilemanager.py:289 msgid "Modem" msgstr "Модем" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:293 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Method" msgstr "Метод" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Image quality" msgstr "Качество изображения" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:303 msgid "Fullscreen" msgstr "Полноэкранный режим" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Maximized" msgstr "Максимальный размер" #: ../pyhoca/wxgui/profilemanager.py:305 msgid "Custom Size" msgstr "Другой размер" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "Set display DPI" msgstr "Установить DPI" #: ../pyhoca/wxgui/profilemanager.py:312 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Не устанавливать (конфигурация на стороне сервера)" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Автоматически определять конфигурацию клиента и использовать её для " "сессии" #: ../pyhoca/wxgui/profilemanager.py:314 msgid "Use custom keyboard settings as provided below" msgstr "Использовать следующие установки" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Keyboard model" msgstr "Модель" #: ../pyhoca/wxgui/profilemanager.py:317 msgid "Layout" msgstr "Раскладка" #: ../pyhoca/wxgui/profilemanager.py:319 msgid "Layout variant" msgstr "Вариант раскладки" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:325 msgid "Enable sound support" msgstr "Активировать звук" #: ../pyhoca/wxgui/profilemanager.py:326 msgid "Pulse Audio" msgstr "Pulse Audio" #. Arts daemon is not supported by PyHoca-GUI / Python X2Go as it is outdated. #. However, config files can contain an Arts configuration, so we will honour this #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Arts (not supported)" msgstr "Arts (не поддерживается)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use default sound port" msgstr "Звуковой порт по умолчанию" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Custom sound port" msgstr "Другой звуковой порт" #: ../pyhoca/wxgui/profilemanager.py:338 msgid "Client Side printing" msgstr "Печать на стороне клиента" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Use local folder sharing" msgstr "Доступ к локальным каталогам" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Store share list at end of session" msgstr "Сохранить список экспортируемых каталогов по завершению сессии" #: ../pyhoca/wxgui/profilemanager.py:346 msgid "Path" msgstr "Путь" #: ../pyhoca/wxgui/profilemanager.py:349 ../pyhoca/wxgui/profilemanager.py:368 msgid "Add" msgstr "Добавить" #: ../pyhoca/wxgui/profilemanager.py:351 msgid "Local Path" msgstr "Локальный путь" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "Connect Method" msgstr "Метод подключения" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Delete" msgstr "Удалить" #: ../pyhoca/wxgui/profilemanager.py:355 msgid "Convert between client and server encodings" msgstr "Кодировка имен файлов" #: ../pyhoca/wxgui/profilemanager.py:356 msgid "Client encoding" msgstr "На стороне клиента" #: ../pyhoca/wxgui/profilemanager.py:358 msgid "Server encoding" msgstr "На стороне сервера" #: ../pyhoca/wxgui/profilemanager.py:361 msgid "Use file MIME box for local file import" msgstr "Использовать MIME box для импорта локальных файлов" #: ../pyhoca/wxgui/profilemanager.py:362 msgid "Extensions" msgstr "Расширения" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Action" msgstr "Действие" #: ../pyhoca/wxgui/profilemanager.py:369 msgid "Defaults" msgstr "По умолчанию" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Save" msgstr "Сохранить" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Reset" msgstr "Восстановить" #: ../pyhoca/wxgui/profilemanager.py:374 ../pyhoca/wxgui/printingprefs.py:143 msgid "Apply" msgstr "Применить" #: ../pyhoca/wxgui/profilemanager.py:425 #: ../pyhoca/wxgui/profilemanager.py:1137 #: ../pyhoca/wxgui/profilemanager.py:2305 msgid "automatically" msgstr "автоматически" #: ../pyhoca/wxgui/profilemanager.py:427 #: ../pyhoca/wxgui/profilemanager.py:1139 msgid "manually" msgstr "вручную" #: ../pyhoca/wxgui/profilemanager.py:436 msgid "PyHoca-GUI Profile Manager - new profile" msgstr "PyHoca-GUI Profile Manager - новый профиль" #: ../pyhoca/wxgui/profilemanager.py:438 #, python-format msgid "PyHoca-GUI Profile Manager - %s (connected)" msgstr "PyHoca-GUI Profile Manager - %s (соединение)" #: ../pyhoca/wxgui/profilemanager.py:440 #, python-format msgid "PyHoca-GUI Profile Manager - %s" msgstr "PyHoca-GUI Profile Manager - %s" #: ../pyhoca/wxgui/profilemanager.py:806 msgid "Profile" msgstr "Профиль" #: ../pyhoca/wxgui/profilemanager.py:807 msgid "Session" msgstr "Сессия" #: ../pyhoca/wxgui/profilemanager.py:808 msgid "Connection" msgstr "Соединение" #: ../pyhoca/wxgui/profilemanager.py:809 msgid "Link Quality" msgstr "Качество соединения" #: ../pyhoca/wxgui/profilemanager.py:810 msgid "Input/Output" msgstr "Ввод/Вывод" #: ../pyhoca/wxgui/profilemanager.py:811 msgid "Media" msgstr "Медиа" #: ../pyhoca/wxgui/profilemanager.py:812 msgid "Sharing" msgstr "Доступ" #: ../pyhoca/wxgui/profilemanager.py:991 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:992 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:993 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1451 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Графические файлы (*.png)|*.png|Все файлы (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1454 msgid "Choose an icon for this session profile" msgstr "Выбрать пиктограмму" #: ../pyhoca/wxgui/profilemanager.py:1897 msgid "All files (*.*)|*" msgstr "Все файлы (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1899 #: ../pyhoca/wxgui/profilemanager.py:1923 msgid "Choose a public SSH key" msgstr "Выбрать публичный ключ SSH" #: ../pyhoca/wxgui/profilemanager.py:2257 msgid "Choose a folder to share within a session" msgstr "Выбрать экспортируемый каталог" #: ../pyhoca/wxgui/profilemanager.py:2385 #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 ../pyhoca/wxgui/menus_taskbar.py:125 msgid "Profile Manager" msgstr "Profile Manager" #: ../pyhoca/wxgui/profilemanager.py:2385 msgid "Profile name is missing, profile unusable!!!" msgstr "Имя профиля не установлено!!!" #: ../pyhoca/wxgui/profilemanager.py:2388 #: ../pyhoca/wxgui/profilemanager.py:2391 #, python-format msgid "Profile name %s already exists!!!" msgstr "Профиль с именем %s уже существует!!!" #: ../pyhoca/wxgui/profilemanager.py:2418 #, python-format msgid "%s - profile added" msgstr "%s - профиль добавлен" #: ../pyhoca/wxgui/profilemanager.py:2419 msgid "A new session profile has been added." msgstr "Новый профиль сессии добавлен." #: ../pyhoca/wxgui/profilemanager.py:2423 #, python-format msgid "%s - modified" msgstr "%s - модифицирован" #: ../pyhoca/wxgui/profilemanager.py:2424 msgid "Changes to profile have been saved." msgstr "Изменения в профиле сохранены." #: ../pyhoca/wxgui/listdesktops.py:82 #, python-format msgid "Share Desktop Session - %s" msgstr "присоединиться к существующей сессии - %s" #: ../pyhoca/wxgui/listdesktops.py:84 msgid "Select one of the available desktop sessions on this server" msgstr "Выберите одну из доступных сессий на сервере" #: ../pyhoca/wxgui/listdesktops.py:90 msgid "View session only" msgstr "Только просмотр сессии" #: ../pyhoca/wxgui/listdesktops.py:91 msgid "Gain full access" msgstr "Открыть полный доступ" #: ../pyhoca/wxgui/listdesktops.py:95 msgid "Share Desktop" msgstr "Разделить Десктоп" #: ../pyhoca/wxgui/listdesktops.py:98 msgid "Refresh list" msgstr "Обновить список" #: ../pyhoca/wxgui/menus_taskbar.py:76 msgid "Edit Profile" msgstr "Редактировать профиль" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Use as Template for New Profile" msgstr "Использовать в качестве шаблона для нового профиля" #: ../pyhoca/wxgui/menus_taskbar.py:81 msgid "Export Profile" msgstr "Экспорт профиля" #: ../pyhoca/wxgui/menus_taskbar.py:82 msgid "Delete Profile" msgstr "Удалить профиль" #: ../pyhoca/wxgui/menus_taskbar.py:112 ../pyhoca/wxgui/menus_taskbar.py:113 #, python-format msgid "About %s (%s)..." msgstr "О %s (%s)..." #: ../pyhoca/wxgui/menus_taskbar.py:140 msgid "Manage Session Profile" msgstr "Управление профилем сессии" #: ../pyhoca/wxgui/menus_taskbar.py:149 msgid "Printing Preferences" msgstr "Установки печати" #: ../pyhoca/wxgui/menus_taskbar.py:155 msgid "Client Options" msgstr "Опции клиента" #: ../pyhoca/wxgui/menus_taskbar.py:163 ../pyhoca/wxgui/menus_taskbar.py:829 #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "E&xit" msgstr "Вы&ход" #: ../pyhoca/wxgui/menus_taskbar.py:235 msgid "Window title" msgstr "Заголовок окна" #: ../pyhoca/wxgui/menus_taskbar.py:241 ../pyhoca/wxgui/menus_taskbar.py:632 msgid "Resume Session" msgstr "Восстановить сессию" #: ../pyhoca/wxgui/menus_taskbar.py:243 msgid "Resume Session (not possible)" msgstr "Восстановить сессию (невозможно)" #: ../pyhoca/wxgui/menus_taskbar.py:254 msgid "Transfer Session" msgstr "Трансфер сессии" #: ../pyhoca/wxgui/menus_taskbar.py:256 msgid "Transfer Session (not possible)" msgstr "Трансфер сессии (невозможен)" #: ../pyhoca/wxgui/menus_taskbar.py:261 ../pyhoca/wxgui/menus_taskbar.py:623 msgid "Suspend Session (and disconnect/exit)" msgstr "Прервать сессию (и разъединить/выйти)" #: ../pyhoca/wxgui/menus_taskbar.py:263 ../pyhoca/wxgui/menus_taskbar.py:625 msgid "Suspend Session (and disconnect)" msgstr "Прервать сессию (и разъединить)" #: ../pyhoca/wxgui/menus_taskbar.py:265 ../pyhoca/wxgui/menus_taskbar.py:627 msgid "Suspend Session" msgstr "Прервать сессию" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:636 msgid "Terminate Session (and disconnect/exit)" msgstr "Завершить сессию (и разъединить/выйти)" #: ../pyhoca/wxgui/menus_taskbar.py:273 ../pyhoca/wxgui/menus_taskbar.py:638 msgid "Terminate Session (and disconnect)" msgstr "Завершить сессию (и разъединить)" #: ../pyhoca/wxgui/menus_taskbar.py:275 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Terminate Session" msgstr "Завершить сессию" #: ../pyhoca/wxgui/menus_taskbar.py:278 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Завершить сессию (и разъединить/выйти)" #: ../pyhoca/wxgui/menus_taskbar.py:280 msgid "End Desktop Sharing (and disconnect)" msgstr "Завершить сессию (и разъединить)" #: ../pyhoca/wxgui/menus_taskbar.py:282 msgid "End Desktop Sharing" msgstr "Завершить сессию" #: ../pyhoca/wxgui/menus_taskbar.py:286 ../pyhoca/wxgui/menus_taskbar.py:620 msgid "Refresh menu tree" msgstr "Обновить меню" #: ../pyhoca/wxgui/menus_taskbar.py:295 msgid "Rename Session Window" msgstr "Переименовать окно сессии" #: ../pyhoca/wxgui/menus_taskbar.py:296 msgid "Show Session Window" msgstr "Показать окно сессии" #: ../pyhoca/wxgui/menus_taskbar.py:338 msgid "&Share custom local folder" msgstr "Э&кспорт произвольного каталога" #: ../pyhoca/wxgui/menus_taskbar.py:349 msgid "Share:" msgstr "Экспорт:" #: ../pyhoca/wxgui/menus_taskbar.py:358 msgid "Unshare:" msgstr "Разъединить:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare &all local folders" msgstr "Разъединить &все каталоги" #: ../pyhoca/wxgui/menus_taskbar.py:372 msgid "Restore shares in next session" msgstr "Восстановить экспортируемые каталоги в следующей сессии" #: ../pyhoca/wxgui/menus_taskbar.py:454 msgid "Multimedia" msgstr "Мультимедиа" #: ../pyhoca/wxgui/menus_taskbar.py:455 msgid "Development" msgstr "Разработка" #: ../pyhoca/wxgui/menus_taskbar.py:456 msgid "Education" msgstr "Образование" #: ../pyhoca/wxgui/menus_taskbar.py:457 msgid "Games" msgstr "Игры" #: ../pyhoca/wxgui/menus_taskbar.py:458 msgid "Graphics" msgstr "Графика" #: ../pyhoca/wxgui/menus_taskbar.py:459 msgid "Internet" msgstr "Интернет" #: ../pyhoca/wxgui/menus_taskbar.py:460 msgid "Office Applications" msgstr "Офисные приложения" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "System" msgstr "Системные" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Utilities" msgstr "Утилиты" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Other Applications" msgstr "Другие программы" #: ../pyhoca/wxgui/menus_taskbar.py:536 ../pyhoca/wxgui/menus_taskbar.py:548 #, python-format msgid "Connect %s" msgstr "Соединение %s" #: ../pyhoca/wxgui/menus_taskbar.py:542 msgid "Currently connecting..." msgstr "Соединение ..." #: ../pyhoca/wxgui/menus_taskbar.py:557 msgid "Start &new Desktop Session" msgstr "Запустить &новую сессию" #: ../pyhoca/wxgui/menus_taskbar.py:561 ../pyhoca/wxgui/menus_taskbar.py:661 msgid "Start Desktop Sharing Session" msgstr "Запустить сессию разделения десктопа" #: ../pyhoca/wxgui/menus_taskbar.py:567 ../pyhoca/wxgui/menus_taskbar.py:711 msgid "Retrieving Application Menu..." msgstr "Получаем меню приложений..." #: ../pyhoca/wxgui/menus_taskbar.py:571 ../pyhoca/wxgui/menus_taskbar.py:714 msgid "Retrieve Application Menu" msgstr "Получить меню приложений" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new RDP Session" msgstr "Запустить &новую RDP сессию" #: ../pyhoca/wxgui/menus_taskbar.py:577 msgid "Start &new Session" msgstr "Запустить &новую сессию" #: ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Launch Single Application" msgstr "Запустить приложение" #: ../pyhoca/wxgui/menus_taskbar.py:698 msgid "Manage Application Menu" msgstr "Управление меню приложений" #: ../pyhoca/wxgui/menus_taskbar.py:753 msgid "Running" msgstr "Выполняется" #: ../pyhoca/wxgui/menus_taskbar.py:755 msgid "Suspended" msgstr "Приостановлено" #: ../pyhoca/wxgui/menus_taskbar.py:774 msgid "&Clean all sessions" msgstr "&Очистить все сессии" #: ../pyhoca/wxgui/menus_taskbar.py:780 msgid "Customize &profile" msgstr "Изменить &профиль" #: ../pyhoca/wxgui/menus_taskbar.py:795 msgid "Shared &folders" msgstr "Экспорт &каталогов" #: ../pyhoca/wxgui/menus_taskbar.py:807 msgid "Server Information" msgstr "Информация о сервере" #: ../pyhoca/wxgui/menus_taskbar.py:814 msgid "&Disconnect from Server" msgstr "&Отсоединить от сервера" #: ../pyhoca/wxgui/menus_taskbar.py:821 msgid "Suspend Session and E&xit application" msgstr "&Прервать сессию и покинуть программу" #: ../pyhoca/wxgui/menus_taskbar.py:825 msgid "Disconnect and E&xit application" msgstr "&Разъединить и покинуть программу" #: ../pyhoca/wxgui/menus_taskbar.py:879 msgid "Add Profile" msgstr "Добавить профиль" #: ../pyhoca/wxgui/menus_taskbar.py:955 msgid "No session profiles defined" msgstr "Профили не определены" #: ../pyhoca/wxgui/menus_taskbar.py:966 msgid "Export all Profiles" msgstr "Экспортировать все профили" #: ../pyhoca/wxgui/menus_taskbar.py:968 msgid "Export Profile Group" msgstr "Экспортировать группу профилей" #: ../pyhoca/wxgui/menus_taskbar.py:974 msgid "Import Session Profiles" msgstr "Импортировать профили сессии" #: ../pyhoca/wxgui/menus_taskbar.py:1010 msgid "Connect Server" msgstr "Соединить с сервером" #: ../pyhoca/wxgui/about.py:83 ../pyhoca/wxgui/about.py:85 #, python-format msgid "About %s ..." msgstr "О %s ..." #: ../pyhoca/wxgui/frontend.py:467 msgid "Suspending sessions and exiting application..." msgstr "Прерываем сессию и покидаем программу..." #: ../pyhoca/wxgui/frontend.py:470 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Разъединяем %s и покидаем программу..." #: ../pyhoca/wxgui/frontend.py:472 msgid "Exiting application..." msgstr "Покидаем программу..." #: ../pyhoca/wxgui/frontend.py:570 #, python-format msgid "%s - server warning" msgstr "%s - предупреждение сервера" #: ../pyhoca/wxgui/frontend.py:570 msgid "The X2Go Server does not publish an application menu." msgstr "Сервер X2Go не публикует меню приложений." #: ../pyhoca/wxgui/frontend.py:621 msgid "SSH key authentication has been successful." msgstr "Авторизация по публичному ключу завершена." #: ../pyhoca/wxgui/frontend.py:662 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "SSH прокси ключ недействителен и не был принят пользователем" #: ../pyhoca/wxgui/frontend.py:683 #, python-format msgid "%s - EOF error" msgstr "%s - EOF ошибка" #: ../pyhoca/wxgui/frontend.py:683 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Ошибка авторизации! Попробуйте еще раз..." #: ../pyhoca/wxgui/frontend.py:690 #, python-format msgid "%s - auth key error" msgstr "%s - ошибка ключа" #: ../pyhoca/wxgui/frontend.py:711 msgid "An unknown error occurred during authentication!" msgstr "Неизвестная ошибка при авторизации!" #: ../pyhoca/wxgui/frontend.py:740 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP пока не поддерживается" #: ../pyhoca/wxgui/frontend.py:741 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,DirectRDP'' are not\n" "supported by %s (%s), yet!!\n" "\n" "DirectRDP support will be available in %s (>= 1.0.0.0)." msgstr "" "Приносим наши извинения за неудобства...\n" "\n" "Профиль сессии типа ,,DirectRDP'' пока что\n" "не поддерживается %s (%s)!!\n" "\n" "Поддержка DirectRDP будет доступна в %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:753 msgid "Unknown session profile, configure before using it..." msgstr "Неизвестный профиль сессии..." #: ../pyhoca/wxgui/frontend.py:784 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Разделение десктопа с %s не поддерживается сервером" #: ../pyhoca/wxgui/frontend.py:785 #, python-format msgid "" "We apologize for the inconvenience...\n" "\n" "Session profiles of type ,,SHADOW'' are not\n" "supported by X2Go Server (v%s)!!!\n" "\n" "Desktop Sharing with %s requires\n" "X2Go Server 4.1.0.0 and above." msgstr "" "Приносим наши извинения за неудобства...\n" "\n" "Профиль сессии типа ,,SHADOW'' \n" "не поддерживается сервером X2Go (v%s)!!!\n" "\n" "Требуется сервер X2Go версии 4.1.0.0 или выше." #: ../pyhoca/wxgui/frontend.py:843 ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "%s - session warning" msgstr "%s - предупреждение" #: ../pyhoca/wxgui/frontend.py:843 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Невозможно выполнить команду ,,%s''." #: ../pyhoca/wxgui/frontend.py:984 msgid "Cleaning X2Go sessions..." msgstr "Очищаем сессии X2Go..." #: ../pyhoca/wxgui/frontend.py:1032 #, python-format msgid "%s - disconnect" msgstr "%s - разъединение" #: ../pyhoca/wxgui/frontend.py:1032 msgid "X2Go Profile is now disconnected." msgstr "X2Go Профиль отсоединен." #: ../pyhoca/wxgui/frontend.py:1053 msgid "New Session Profile" msgstr "Новый профиль" #: ../pyhoca/wxgui/frontend.py:1108 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Удалить профиль ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1114 #, python-format msgid "%s - profile deleted" msgstr "%s - профиль удален" #: ../pyhoca/wxgui/frontend.py:1114 msgid "The session profile has been deleted." msgstr "Профиль был удален." #: ../pyhoca/wxgui/frontend.py:1128 msgid "import session profile(s)" msgstr "импорт профилей сессии" #: ../pyhoca/wxgui/frontend.py:1140 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Импорт профиля сессии не удался" #: ../pyhoca/wxgui/frontend.py:1141 #, python-format msgid "" "The selected session profile(s) could not be imported from \n" "file »%s«.\n" "\n" "Are you sure the session profiles file has the correct format?" msgstr "" "Выделенные профили сессии не удалось импортировать \n" "из файла »%s«.\n" "\n" "Вы уверены что это файл в правильном формате?" #: ../pyhoca/wxgui/frontend.py:1169 #, python-format msgid "%s: Write failure after import" msgstr "%s: Ошибка записи после импортирования" #: ../pyhoca/wxgui/frontend.py:1170 msgid "" "The session profiles configuration could not be written to file after " "import\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "После импортирования не удалось записать конфигурацию профилей " "в файл\n" "\n" "Проверьте дисковое пространство и права доступа." #: ../pyhoca/wxgui/frontend.py:1175 msgid "None of the session profiles could be imported..." msgstr "Не удалось импортировать ни один из профилей сессии..." #: ../pyhoca/wxgui/frontend.py:1178 ../pyhoca/wxgui/frontend.py:1188 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "Чтобы узнать больше, запустите %s из командной строки и попробуйте ещё раз." #: ../pyhoca/wxgui/frontend.py:1182 msgid "Only these session profiles could be imported..." msgstr "Только эти профили сессии удалось импортировать..." #: ../pyhoca/wxgui/frontend.py:1185 msgid "Whereas these session profiles failed to import..." msgstr "В то время как с этими возникли проблемы..." #: ../pyhoca/wxgui/frontend.py:1191 msgid "New session profiles have been imported..." msgstr "Новые профили сессии были импортированы..." #: ../pyhoca/wxgui/frontend.py:1196 msgid "New session profile has been imported..." msgstr "Новый профиль сессии был импортирован..." #: ../pyhoca/wxgui/frontend.py:1225 #, python-format msgid "%s - export session profiles" msgstr "%s - экспорт профилей сессии" #: ../pyhoca/wxgui/frontend.py:1230 #, python-format msgid "%s - export session profile" msgstr "%s - экспорт профиля сессии" #: ../pyhoca/wxgui/frontend.py:1242 #, python-format msgid "%s: Export file already exists" msgstr "%s: Файл уже существует" #: ../pyhoca/wxgui/frontend.py:1243 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Файл »%s« уже существует в этом каталоге.\n" "\n" "Переписать?" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "%s - profiles exported" msgstr "%s - профили экспортированы" #: ../pyhoca/wxgui/frontend.py:1264 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Группа профилей сессий »%s« успешно экспортирована в файл »%s«." #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s - profile exported" msgstr "%s - профиль экспортирован" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Профиль сессии »%s« успешно экспортирован в файл »%s«." #: ../pyhoca/wxgui/frontend.py:1270 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s - экспорт профиля сессии не удался" #: ../pyhoca/wxgui/frontend.py:1271 #, python-format msgid "" "The selected session profile(s) could not be exported to the \n" "file »%s«.\n" "\n" "Check for common problems (disk full, insufficient access, etc.)." msgstr "" "Выделенные профили сессий не удалось экспортировать \n" "в файл »%s«.\n" "\n" "Проверьте дисковое пространство и права доступа." #: ../pyhoca/wxgui/frontend.py:1290 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - экспортируемый каталог" #: ../pyhoca/wxgui/frontend.py:1456 #, python-format msgid "" "The authenticity of host [%s]:%s can't be established.\n" "%s key fingerprint is ,,%s''.\n" "\n" "Are you sure you want to continue connecting?" msgstr "" "Авторизация хоста [%s]:%s не может быть установлена.\n" "%s ключ ,,%s''.\n" "\n" "Продолжить соединение?" #: ../pyhoca/wxgui/frontend.py:1464 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Подтвердите авторизацию хоста" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "%s - channel error" msgstr "%s - ошибка канала" #: ../pyhoca/wxgui/frontend.py:1510 #, python-format msgid "" "Lost connection to server %s unexpectedly! Try to re-authenticate to the " "server..." msgstr "Соединение с сервером %s утрачено. Попытайтесь соединиться еще раз..." #: ../pyhoca/wxgui/frontend.py:1527 ../pyhoca/wxgui/frontend.py:1570 #: ../pyhoca/wxgui/frontend.py:1572 ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "%s - session failure" msgstr "%s - ошибка сессии" #: ../pyhoca/wxgui/frontend.py:1527 msgid "The session startup failed." msgstr "Запуск сессии не удался." #: ../pyhoca/wxgui/frontend.py:1540 #, python-format msgid "%s - timeout" msgstr "%s - превышение интервала ожидания" #: ../pyhoca/wxgui/frontend.py:1540 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Серверу требуется слишком много времени для\n" "предоставления списка сессий.\n" "Это иногда случается, попытайтесь еще раз" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - разделение десктопа не удалось" #: ../pyhoca/wxgui/frontend.py:1552 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Десктоп %s недоступен для разделения." #: ../pyhoca/wxgui/frontend.py:1570 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Команда ,,%s'' недоступна на сервере X2Go." #: ../pyhoca/wxgui/frontend.py:1572 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Команда ,,%s'' недоступна на сервере X2Go\n" "%s." #: ../pyhoca/wxgui/frontend.py:1589 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Запрос ретрансляции порта TCP для сессии %s к порту сервера %s был отклонен." #: ../pyhoca/wxgui/frontend.py:1608 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Session startup failed." msgstr "" "Запрос туннеля к серверу [%s]:%s для сессии %s был отклонен удаленным " "сервером X2Go/SSH. Запуск сессии не удался." #: ../pyhoca/wxgui/frontend.py:1627 #, python-format msgid "%s - audio warning" msgstr "%s - предупреждение audio" #: ../pyhoca/wxgui/frontend.py:1627 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "Система X2Go PulseAudio недоступна в сессиях удаленного десктопа." #: ../pyhoca/wxgui/frontend.py:1634 ../pyhoca/wxgui/frontend.py:1641 #, python-format msgid "%s - audio error" msgstr "%s - ошибка audio" #: ../pyhoca/wxgui/frontend.py:1634 msgid "The X2Go PulseAudio system could not be started." msgstr "Система X2Go PulseAudio не может быть запущена." #: ../pyhoca/wxgui/frontend.py:1641 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "Сбой системы X2Go PulseAudio." #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "%s - audio problem" msgstr "%s - ошибка audio" #: ../pyhoca/wxgui/frontend.py:1653 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Звуковое соединение не может быть установлено для этой сессии.\n" "%s" # %s - печать недоступна #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "%s - client-side printing not available" msgstr "%s - печать недоступна" #: ../pyhoca/wxgui/frontend.py:1665 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Сервер отклонил печать внутри этой сессии.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box недоступен" #: ../pyhoca/wxgui/frontend.py:1677 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "Сервер не поддерживает X2Go MIME box.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - клиентские каталоги не экспортируемы" #: ../pyhoca/wxgui/frontend.py:1689 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Сервер отклонил экспорт каталогов внутри этой сессии.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "%s - client resources not sharable" msgstr "%s - клиентские ресурсы не экспортируемы" #: ../pyhoca/wxgui/frontend.py:1701 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Каталоги и принтеры на стороне клиента не могут быть экспортированы внутри " "этой сессии.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1720 ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "%s - print error" msgstr "%s - ошибка печати" #: ../pyhoca/wxgui/frontend.py:1720 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...на принтере %s в сессии\n" "%s" #: ../pyhoca/wxgui/frontend.py:1722 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...в сессии\n" "%s" #: ../pyhoca/wxgui/frontend.py:1737 ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "%s - start" msgstr "%s - пуск" #: ../pyhoca/wxgui/frontend.py:1737 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Новая сессия X2Go запускается...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1752 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Другой клиент запускает сессию X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1767 ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "%s - resume" msgstr "%s - восстановить" #: ../pyhoca/wxgui/frontend.py:1767 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Восстанавливаем X2Go сессию...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1782 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Другой клиент восстанавливает сессию X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "%s - running" msgstr "%s - выполняется" #: ../pyhoca/wxgui/frontend.py:1797 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Найдена уже запущенная сессия\n" "%s" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "%s - suspend" msgstr "%s - прервать" #: ../pyhoca/wxgui/frontend.py:1817 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go сессия прервана\n" "%s" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "%s - terminate" msgstr "%s - завершить" #: ../pyhoca/wxgui/frontend.py:1844 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go сессия завершена\n" "%s" #: ../pyhoca/wxgui/messages.py:72 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "Удалить профиль ,,%s''?" #: ../pyhoca/wxgui/messages.py:73 #, python-format msgid "" "PyHoca-GUI is already running for user ,,%s''!\n" "\n" "Only one instance of PyHoca-GUI can be started per\n" "user. The PyHoca-GUI icon can be found in your desktops's\n" "notification area/systray." msgstr "" "PyHoca-GUI уже выполняется пользователем ,,%s''!\n" "\n" "Одновременно у пользователя может работать только\n" "один экземпляр PyHoca-GUI. Значок PyHoca-GUI можно найти\n" "в системном трее или области уведомлений." #: ../pyhoca/wxgui/messages.py:106 msgid "Yes" msgstr "Да" #: ../pyhoca/wxgui/messages.py:107 msgid "No" msgstr "Нет" #: ../pyhoca/wxgui/messages.py:124 ../pyhoca/wxgui/printingprefs.py:142 msgid "Ok" msgstr "ОК" #: ../pyhoca/wxgui/printingprefs.py:66 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Установки печати" #: ../pyhoca/wxgui/printingprefs.py:68 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Поступило задание печати от %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:73 msgid "Open this dialog window" msgstr "Открывать этот диалог" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open with PDF viewer" msgstr "Открыть с программой просмотра PDF" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Save to a local folder" msgstr "Сохранить" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Print to a local printer" msgstr "Печатать" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Run custom print command" msgstr "Команда печати" #: ../pyhoca/wxgui/printingprefs.py:80 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:114 msgid "Print action" msgstr "Utskriftshantering" #: ../pyhoca/wxgui/printingprefs.py:116 msgid "Default action for incoming print jobs" msgstr "Standardhantering av inkommande utskriftsjobb" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:120 msgid "PDF viewer command" msgstr "Kommando för PDF-visare" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:127 msgid "Save PDFs to folder" msgstr "Spara PDF:er till mapp" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:134 msgid "Use this printer" msgstr "Använd denna skrivare" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:138 msgid "Custom print command" msgstr "Anpassat utskriftskommando" #: ../pyhoca/wxgui/printingprefs.py:145 msgid "Print" msgstr "Skriv ut" #: ../pyhoca/wxgui/printingprefs.py:249 msgid "- no printers installed -" msgstr "- utskrifter ej tillgängliga -" #: ../pyhoca/wxgui/printingprefs.py:254 msgid "- print system is not available -" msgstr "- utskriftssystem ej tillgängligt -" #: ../pyhoca/wxgui/printingprefs.py:408 msgid "Choose PDF viewer application" msgstr "Välj PDF-visare" #: ../pyhoca/wxgui/printingprefs.py:431 msgid "Choose PDF saving location" msgstr "Välj mapp att spara PDF:er i" #: ../pyhoca/wxgui/sessiontitle.py:79 #, python-format msgid "Session Title - %s" msgstr "Sessionstitel - %s" #: ../pyhoca/wxgui/sessiontitle.py:81 msgid "Change session title to" msgstr "Ändra sessionstitel till" #: ../pyhoca/wxgui/sessiontitle.py:83 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:76 #, python-format msgid "Server Information - %s" msgstr "Serverinformation - %s" #: ../pyhoca/wxgui/serverinfo.py:78 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Sessionsprofil: %s\n" "\n" "Lista över X2Go Servers komponenter, tillägg och deras versioner..." #: ../pyhoca/wxgui/serverinfo.py:83 msgid "Refresh" msgstr "Uppdatera" #: ../pyhoca/wxgui/serverinfo.py:84 msgid "Close" msgstr "Stäng" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:154 msgid "Server Core" msgstr "Server Core" #: ../pyhoca/wxgui/serverinfo.py:162 msgid "Server Extensions" msgstr "Servertillägg" #: ../pyhoca/wxgui/serverinfo.py:168 msgid "X2Go Server Add-ons" msgstr "X2Go Servertillägg" #: ../pyhoca/wxgui/serverinfo.py:172 msgid "X2Go Server Features" msgstr "X2Go Serverfunktioner" #~ msgid "Settings" #~ msgstr "Inställningar" #, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (via %s)" #, fuzzy #~ msgid "Connect to another Desktop Session" #~ msgstr "Starta &ny Skrivbordssession" #~ msgid "Start/Resume Session" #~ msgstr "Starta/återanslut session" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH proxytunnel" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "Konfigurationen av SSH-proxy är inte komplett. Försök igen." #~ msgid "" #~ "Another session profile (%s) already uses [%s]:%s for binding a local SSH " #~ "proxy to.\n" #~ "Please change the SSH proxy settings accordingly." #~ msgstr "" #~ "En annan session (%s) använder redan [%s]:%s för att ansluta till lokal " #~ "SSH-proxy.\n" #~ "Ändra konfiguration för SSH-proxy ." #, fuzzy #~ msgid "Remember shared folders" #~ msgstr "Delade &mappar" #~ msgid "RSA/DSA private key" #~ msgstr "RSA/DSA privat nyckel" #~ msgid "Host[:Port]" #~ msgstr "Server[:Port]" #~ msgid "us" #~ msgstr "se" #~ msgid "pc105/us" #~ msgstr "pc105/se" #~ msgid "Keyboard layout" #~ msgstr "Tangentbordslayout" #, fuzzy #~ msgid "%s - DNS error" #~ msgstr "%s - nyckelfel" #~ msgid "still loading" #~ msgstr "laddar fortfarande" #~ msgid "" #~ "On slow connections, the loading of the application menu can take a " #~ "couple of seconds." #~ msgstr "" #~ "Vid långsam uppkoppling så kan laddning av programmeny ta några sekunder." #~ msgid "Disconnect and E&xit" #~ msgstr "Koppla ifrån och avsluta" #~ msgid "%s - connect error" #~ msgstr "%s - anslutning misslyckades" #, fuzzy #~ msgid "Unknown Session Profile" #~ msgstr "Ny sessionsprofil" #, fuzzy #~ msgid "Retrieving Application menu..." #~ msgstr "Applikation" pyhoca-gui-0.4.0.8/pyhoca-gui0000755000000000000000000005356112207147477012634 0ustar #!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. modules ={} import sys import os import re PROG_NAME = os.path.basename(sys.argv[0]).replace('.exe', '') PROG_PID = os.getpid() if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): class Win32_Logging(object): softspace = 0 _fname = os.path.join(os.environ['AppData'], PROG_NAME, '%s.log' % PROG_NAME) _file = None def __init__(self, filemode='a'): self._filemode = filemode if os.path.isfile(self._fname) and self._filemode == "w+": os.remove(self._fname) def write(self, text, **kwargs): if self._file is None: try: try: os.mkdir(os.path.dirname(self._fname)) except: pass self._file = open(self._fname, self._filemode) except: pass else: self._file.write(text) self._file.flush() def flush(self): if self._file is not None: self._file.flush() sys.stdout = Win32_Logging(filemode='w+') sys.stderr = Win32_Logging(filemode='a') del Win32_Logging import gevent import gevent.monkey gevent.monkey.patch_all() import subprocess try: import wxversion wxversion.select('2.9') except: pass try: import wxversion wxversion.select('2.8') except: pass import argparse import os import exceptions import locale import gettext import wx from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS if _X2GOCLIENT_OS in ('Linux', 'Mac'): import setproctitle setproctitle.setproctitle(PROG_NAME) if sys.argv[0].startswith('./') or sys.argv[0].startswith('python'): sys.path.insert(0, os.getcwd()) os.environ['PYHOCAGUI_DEVELOPMENT'] = '1' print '### %s running in development mode ###' % PROG_NAME from pyhoca.wxgui.basepath import locale_basepath # Python X2Go modules from x2go import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER if _X2GOCLIENT_OS == 'Windows': from x2go import X2GoClientXConfig as _X2GoClientXConfig from x2go import X2GoLogger as _X2GoLogger from x2go import x2go_cleanup as _x2go_cleanup # X2Go backends from x2go.defaults import BACKENDS_CONTROLSESSION, BACKEND_CONTROLSESSION_DEFAULT from x2go.defaults import BACKENDS_TERMINALSESSION, BACKEND_TERMINALSESSION_DEFAULT from x2go.defaults import BACKENDS_SERVERSESSIONINFO, BACKEND_SERVERSESSIONINFO_DEFAULT from x2go.defaults import BACKENDS_SERVERSESSIONLIST, BACKEND_SERVERSESSIONLIST_DEFAULT from x2go.defaults import BACKENDS_PROXY, BACKEND_PROXY_DEFAULT from x2go.defaults import BACKENDS_SESSIONPROFILES, BACKEND_SESSIONPROFILES_DEFAULT from x2go.defaults import BACKENDS_CLIENTSETTINGS, BACKEND_CLIENTSETTINGS_DEFAULT from x2go.defaults import BACKENDS_CLIENTPRINTING, BACKEND_CLIENTPRINTING_DEFAULT from pyhoca.wxgui import __VERSION__ as _version from pyhoca.wxgui import messages from pyhoca.wxgui import PyHocaGUI if _X2GOCLIENT_OS == 'Windows': from pyhoca.wxgui.basepath import nxproxy_binary os.environ.update({'NXPROXY_BINARY': nxproxy_binary, }) __author__ = "Mike Gabriel, Dick Kniep" __version__ = _version # version information VERSION=_version VERSION_TEXT=""" %s[%s] - an X2Go GUI client written in Python ---------------------------------------------------------------------- developed by Mike Gabriel sponsored by Dick Kniep (2010-2013) VERSION: %s """ % (PROG_NAME, PROG_PID, VERSION) def check_running(): if _X2GOCLIENT_OS in ('Linux', 'Mac'): p = subprocess.Popen(['ps', '-U', _CURRENT_LOCAL_USER, '-u', _CURRENT_LOCAL_USER], stdout=subprocess.PIPE) psA_out = p.communicate() if psA_out[0].count(PROG_NAME) <= 1: return False else: processes = psA_out[0].strip().strip('\n').strip().split('\n') sep = re.compile('[\s]+') processes_of_myself = [ sep.split(row) for row in processes if PROG_NAME in row and not str(PROG_PID) in row ] print print 'FIXME: We found at least one other PyHoca-GUI instance for this user,' print 'but cannot (yet) tell if it/they is/are running on the same $DISPLAY' print 'or some other $DISPLAY. PyHoca-GUI only allows one instance per $DISPLAY.' print print 'These are the other instances of PyHoca-GUI found for this user:' for line in processes_of_myself: print " ".join(line) # FIXME: add $DISPLAY check here, only return False if no PyHoca-GUI instance is running on this $DISPLAY # return False return True elif _X2GOCLIENT_OS == 'Windows': import wmi w = wmi.WMI() _p_names = [] for process in w.Win32_Process(): _p_names.append(process.Name) return len([ _p_name for _p_name in _p_names if _p_name == PROG_NAME]) > 1 def version(): # print version text and exit sys.stderr.write ("%s\n" % VERSION_TEXT) sys.exit(0) # sometimes we have to fail... def runtime_error(m, parser=None, exitcode=-1): """\ STILL UNDOCUMENTED """ if parser is not None: parser.print_usage() sys.stderr.write ("%s: error: %s\n" % (PROG_NAME, m)) sys.exit(exitcode) if _X2GOCLIENT_OS == 'Windows': _x = _X2GoClientXConfig() _known_xservers = _x.known_xservers _installed_xservers = _x.installed_xservers if _X2GOCLIENT_OS == 'Windows': _config_backends = ('FILE', 'WINREG') elif _X2GOCLIENT_OS == 'Linux': _config_backends = ('FILE', 'GCONF') else: _config_backends = ('FILE') for _profiles_backend_default in _config_backends: if BACKENDS_SESSIONPROFILES[_profiles_backend_default] == BACKEND_SESSIONPROFILES_DEFAULT: break for _settings_backend_default in _config_backends: if BACKENDS_CLIENTSETTINGS[_settings_backend_default] == BACKEND_CLIENTSETTINGS_DEFAULT: break for _printing_backend_default in _config_backends: if BACKENDS_CLIENTPRINTING[_printing_backend_default] == BACKEND_CLIENTPRINTING_DEFAULT: break # debug options... debug_options = [ {'args':['-d','--debug'], 'default': False, 'action': 'store_true', 'help': 'enable application debugging code', }, {'args':['--quiet'], 'default': False, 'action': 'store_true', 'help': 'disable any kind of log output', }, {'args':['--libdebug'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, {'args':['--libdebug-sftpxfer'], 'default': False, 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, {'args':['-V', '--version'], 'default': False, 'action': 'store_true', 'help': 'print version number and exit', }, ] x2go_gui_options = [ {'args':['-P','--session-profile'], 'default': None, 'metavar': '', 'help': 'directly connect to a session profile', }, {'args':['--remember-username'], 'default': False, 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, {'args':['--non-interactive'], 'default': False, 'action': 'store_true', 'help': 'run the session manager in non-interactive mode, this option sets the following options to true: --restricted-trayicon, --single_session_profile, --start-on-connect, --resume-all-on-connect, --exit-on-disconnect, --disconnect-on-suspend and --disconnect-on-terminate', }, {'args':['--auto-connect'], 'default': False, 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, {'args':['--show-profile-metatypes'], 'default': False, 'action': 'store_true', 'help': 'show descriptive meta information on session profiles in menus (NOTE: this makes menus appear a bit more sluggish, use it mostly for debugging)', }, {'args':['--single-session-profile'], 'default': False, 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, {'args':['--tray-icon'], 'default': None, 'metavar': '', 'help': 'define an alternative system tray icon file (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, {'args':['--tray-icon-connecting'], 'default': None, 'metavar': '', 'help': 'define an alternative system tray icon file while connecting to a server (PNG files only, leave out file extension here, size 22x22 on Linux, 16x16 on Windows)', }, {'args':['--restricted-trayicon'], 'default': False, 'action': 'store_true', 'help': 'restricts session manager\'s main icon functionality to information window and application exit; on left-click only a minimal session menu is shown', }, {'args':['--add-to-known-hosts'], 'default': False, 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, {'args':['--start-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. start a session directly after authentication if no session is currently running/suspended', }, {'args':['--exit-on-disconnect'], 'default': False, 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': False, 'action': 'store_true', 'help': 'This is now the hard-coded default. On connect auto-resume the newest suspended session', }, {'args':['--resume-oldest-on-connect'], 'default': False, 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, {'args':['--resume-all-on-connect'], 'default': False, 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, {'args':['--disconnect-on-suspend'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, {'args':['--disconnect-on-terminate'], 'default': False, 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, {'args':['--splash-image'], 'default': None, 'metavar': '', 'help': 'define an alternative splash image that gets shown on application startup (PNG files only, full path or filename as found in /img)', }, {'args':['--about-image'], 'default': None, 'metavar': '', 'help': 'define an alternative image for the application\'s ,,About\'\' window (PNG files only, full path or filename as found in /img)', }, {'args':['--disable-splash'], 'default': False, 'action': 'store_true', 'help': 'disable the applications splash screen', }, {'args':['--disable-options'], 'default': False, 'action': 'store_true', 'help': 'disable the client options configuration window', }, {'args':['--disable-printingprefs'], 'default': False, 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, {'args':['--disable-profilemanager'], 'default': False, 'action': 'store_true', 'help': 'disable the session profile manager window', }, {'args':['--disable-notifications'], 'default': False, 'action': 'store_true', 'help': 'disable all applet notifications', }, {'args':['--display'], 'default': None, 'metavar': ':', 'help': 'set the DISPLAY environment variable to :', }, {'args':['--logon-window-position'], 'default': None, 'metavar': 'x', 'help': 'give a custom position for the logon window, use negative values to position relative to right/bottom border', }, {'args':['--published-applications-no-submenus'], 'default': 10, 'metavar': '', 'help': 'the number of published applications that will be rendered without submenus', }, ] if _X2GOCLIENT_OS == 'Windows': x2go_gui_options.append( {'args':['--lang'], 'default': None, 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, ) backend_options = [ {'args':['--backend-controlsession'], 'default': None, 'metavar': '', 'choices': BACKENDS_CONTROLSESSION.keys(), 'help': 'force usage of a certain CONTROLSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, {'args':['--backend-terminalsession'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain TERMINALSESSION_BACKEND (do not use this unless you know exactly what you are doing)', }, {'args':['--backend-serversessioninfo'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONINFO_BACKEND (do not use this unless you know exactly what you are doing)', }, {'args':['--backend-serversessionlist'], 'default': None, 'metavar': '', 'choices': BACKENDS_TERMINALSESSION.keys(), 'help': 'force usage of a certain SERVERSESSIONLIST_BACKEND (do not use this unless you know exactly what you are doing)', }, {'args':['--backend-proxy'], 'default': None, 'metavar': '', 'choices': BACKENDS_PROXY.keys(), 'help': 'force usage of a certain PROXY_BACKEND (do not use this unless you know exactly what you are doing)', }, {'args':['--backend-sessionprofiles'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing session profiles, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _profiles_backend_default), }, {'args':['--backend-clientsettings'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client settings configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _settings_backend_default), }, {'args':['--backend-clientprinting'], 'default': None, 'metavar': '', 'choices': _config_backends, 'help': 'use given backend for accessing the client printing configuration, available backends on your system: %s (default: %s)' % (', '.join(_config_backends), _printing_backend_default), }, ] if _X2GOCLIENT_OS == 'Windows': contrib_options = [ {'args':['--start-xserver'], 'default': False, 'action': 'store_true', 'help': 'start the XServer before starting the session manager application, detect best XServer automatically, if more than one XServer is installed on your system', }, {'args':['-X', '--preferred-xserver'], 'default': None, 'metavar': '', 'choices': _known_xservers, 'help': 'start either of the currently supported XServers: %s -- make sure your preferred XServer is installed on your system' % _known_xservers, }, {'args':['--start-pulseaudio'], 'default': False, 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, ] portable_options = [ {'args':['--client-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location where to find plain text config files (default: /.x2goclient). This option will set ,,--backend-profiles FILE\'\', ,,--backend-clientsettings FILE\'\' and ,,--backend-clientprinting FILE\'\'', }, {'args':['--sessions-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location for session runtime files'}, {'args':['--ssh-rootdir'], 'default': None, 'metavar': '', 'help': 'define an alternative location for SSH files', }, ] def parseargs(): global DEBUG global print_action_args p = argparse.ArgumentParser(description='Graphical X2Go client implemented in (wx)Python.',\ formatter_class=argparse.RawDescriptionHelpFormatter, \ add_help=True, argument_default=None) p_debugopts = p.add_argument_group('Debug options') p_guiopts = p.add_argument_group('%s options' % PROG_NAME) p_portableopts = p.add_argument_group('Portable application support') p_backendopts = p.add_argument_group('Python X2Go backend options (for experts only)') if _X2GOCLIENT_OS == 'Windows': p_contribopts = p.add_argument_group('XServer options (MS Windows only)') p_portableopts = p.add_argument_group('File locations for portable setups (MS Windows only)') _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_contribopts, contrib_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) else: _option_groups = ((p_guiopts, x2go_gui_options), (p_debugopts, debug_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) for (p_group, opts) in _option_groups: required = False for opt in opts: args = opt['args'] del opt['args'] p_group.add_argument(*args, **opt) a = p.parse_args() logger = _X2GoLogger(tag=PROG_NAME) liblogger = _X2GoLogger() if a.debug: logger.set_loglevel_debug() if a.libdebug: liblogger.set_loglevel_debug() if a.quiet: logger.set_loglevel_quiet() liblogger.set_loglevel_quiet() if a.libdebug_sftpxfer: liblogger.enable_debug_sftpxfer() if a.version: version() if a.single_session_profile and a.session_profile is None: runtime_error('The --single-session-profile option requires naming of a specific session profile!', parser=p) if a.non_interactive: if a.session_profile is None: runtime_error('In non-interactive mode you have to use the --session-profile option (or -P) to specify a certain session profile name!', parser=p) a.restricted_trayicon = True a.auto_connect = True a.start_on_connect = True a.resume_all_on_connect = True a.exit_on_disconnect = True a.disconnect_on_suspend = True a.disconnect_on_terminate = True a.single_session_profile = True if a.non_interactive and (a.resume_newest_on_connect or a.resume_oldest_on_connect): # allow override... a.resume_all_on_connect = False if _X2GOCLIENT_OS == 'Windows' and a.preferred_xserver: if a.preferred_xserver not in _installed_xservers: runtime_error('Xserver ,,%s\'\' is not installed on your Windows system' % a.preferred_xserver, parser=p) a.start_xserver = a.preferred_xserver if _X2GOCLIENT_OS == 'Windows' and a.start_xserver and a.display: runtime_error('You can tell %s to handle XServer startup and then specify a DISPLAY environment variable!' % PROG_NAME, parser=p) if a.display: os.environ.update({'DISPLAY': a.display}) else: if _X2GOCLIENT_OS == 'Windows' and not a.start_xserver: os.environ.update({'DISPLAY': 'localhost:0'}) if a.client_rootdir: a.backend_sessionprofiles='FILE' a.backend_clientsettings='FILE' a.backend_clientprinting='FILE' return a, logger, liblogger def main(): args, logger, liblogger = parseargs() if _X2GOCLIENT_OS == 'Windows': if args.lang: lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=[args.lang], ) else: lang = gettext.translation('PyHoca-GUI', localedir=locale_basepath, languages=['en'], ) lang.install(unicode=True) else: gettext.install('PyHoca-GUI', localedir=locale_basepath, unicode=True) if check_running(): sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (PROG_NAME, _CURRENT_LOCAL_USER)) m = messages.PyHoca_MessageWindow_Ok(wx.App(), shortmsg='ALREADY_RUNNING', title=u'%s (%s)...' % (PROG_NAME, VERSION), icon='pyhoca-trayicon') m.ShowModal() version() try: thisPyHocaGUI = PyHocaGUI(args, logger, liblogger, appname=PROG_NAME, version=VERSION) thisPyHocaGUI.MainLoop() except KeyboardInterrupt: if thisPyHocaGUI is not None: thisPyHocaGUI.WakeUpIdle() thisPyHocaGUI.ExitMainLoop() except SystemExit: if thisPyHocaGUI is not None: thisPyHocaGUI.WakeUpIdle() thisPyHocaGUI.ExitMainLoop() if __name__ == '__main__': main() pyhoca-gui-0.4.0.8/pyhoca/__init__.py0000644000000000000000000000157012207147477014226 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. pyhoca-gui-0.4.0.8/pyhoca/wxgui/about.py0000644000000000000000000001044112207147477014741 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. modules ={} import os try: import wxversion wxversion.select('2.9') except: pass try: import wxversion wxversion.select('2.8') except: pass # Python X2Go import x2go # wxPython import wx # PyHoca-GUI modules import basepath class PyHocaGUI_AboutFrame(wx.Frame): """\ wxWidget displaying an ,,About'' window for this application. """ def __init__(self, _PyHocaGUI, caller=None, about_image=None, icon_name='pyhoca-winicon.png', about_what=None, ): """\ About window (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param about_image: full image path for background image of About window @type about_image: C{str} @param icon_name: icon name for window icon @type icon_name: C{str} @param about_what: about what is this about window? @type about_what: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger fallback_about_image = 'pyhoca-about-logo.png' if about_image is None: about_image = fallback_about_image if os.path.basename(about_image) == about_image: about_image = os.path.join(basepath.images_basepath, about_image) if not (os.path.isfile(about_image) or os.path.islink(about_image)): about_image = os.path.join(basepath.images_basepath, fallback_about_image) if about_what is None: about_what = self._PyHocaGUI.appname if x2go.X2GOCLIENT_OS == 'Windows': wx.Frame.__init__(self, None, -1, _(u'About %s ...') % about_what, size=(403,340)) else: wx.Frame.__init__(self, None, -1, _(u'About %s ...') % about_what, size=(400,298)) self.Bind(wx.EVT_CLOSE, self.OnHide) panel = wx.Panel(self, -1, pos=(0,0), size=(0,0), ) panel.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown) panel.SetFocus() about_wximage = wx.Image(about_image, wx.BITMAP_TYPE_PNG, ) about_wximage.Rescale(400, int(float(400)/about_wximage.Width*about_wximage.Height)) about_wxbitmap = about_wximage.ConvertToBitmap() _logo_bitmap = wx.StaticBitmap(self, wx.ID_ANY, about_wxbitmap, (0, 0)) self.bitmap = _logo_bitmap if "wxMSW" in wx.PlatformInfo: icon_size = '16x16' elif "wxGTK" in wx.PlatformInfo: icon_size = '22x22' elif "wxMAC" in wx.PlatformInfo: icon_size = '128x128' icon_file = os.path.normpath('%s/PyHoca/%s/%s.png' % (basepath.icons_basepath, icon_size, icon_name)) if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): icon_file = os.path.normpath('%s/PyHoca/%s/%s.png' % (basepath.icons_basepath, icon_size, 'pyhoca-winicon')) img = wx.Image(icon_file) icon = wx.IconFromBitmap(img.ConvertToBitmap()) self.icon = self.SetIcon(icon) self.CenterOnScreen() def OnHide(self, evt): """\ Hide the About window (never close it as it is the main window of the application. """ self.Show(False) def OnKeyDown(self, evt): """\ Handle keyboard requests, so that pressing ESC can hide the About window. """ keycode = evt.GetKeyCode() if keycode == wx.WXK_ESCAPE: self.Show(False) evt.Skip() pyhoca-gui-0.4.0.8/pyhoca/wxgui/basepath.py0000644000000000000000000000471112207147477015421 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. import os from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': _base_location = os.path.abspath(os.path.curdir) _icons_location = os.path.join(_base_location, 'icons') _images_location = os.path.join(_base_location, 'img') if _X2GOCLIENT_OS != 'Windows': _locale_location = os.path.join(_base_location, 'locale') else: _locale_location = os.path.join(_base_location, 'build', 'mo') _nxproxy_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'nxproxy-mswin', 'nxproxy.exe') _pulseaudio_location = os.path.join(_base_location, '..', 'pyhoca-contrib', 'mswin', 'pulseaudio-mswin', 'pulseaudio-1.1', 'pulseaudio.exe') else: if _X2GOCLIENT_OS == 'Windows': _base_location = os.path.abspath(os.path.curdir) _icons_location = os.path.join(_base_location, 'icons') _images_location = os.path.join(_base_location, 'img') _locale_location = os.path.join(_base_location, 'mo') _nxproxy_location = os.path.join(_base_location, 'nxproxy', 'nxproxy.exe') _pulseaudio_location = os.path.join(_base_location, 'pulseaudio', 'pulseaudio.exe') else: _icons_location = '/usr/share/icons' _images_location = '/usr/share/pyhoca/img' _locale_location = '/usr/share/locale' icons_basepath = _icons_location images_basepath = _images_location if _X2GOCLIENT_OS == 'Windows': nxproxy_binary = _nxproxy_location pulseaudio_binary = _pulseaudio_location locale_basepath = _locale_location pyhoca-gui-0.4.0.8/pyhoca/wxgui/frontend.py0000644000000000000000000024770312207147477015463 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. modules ={} try: import wxversion wxversion.select('2.9') #print 'USING wxPython 2.9' except: pass try: import wxversion wxversion.select('2.8') #print 'USING wxPython 2.8' except: pass import os # Python X2Go import x2go import gevent import gevent.monkey gevent.monkey.patch_all() import wx import copy import threading import locale # PyHoca-GUI modules import about import logon import taskbar import profilemanager import printingprefs import notify import basepath import messages import splash import sessiontitle import listdesktops import serverinfo wx.SetDefaultPyEncoding("utf-8") wx.InitAllImageHandlers() #def SetExitHandler(func): # """\ # An exit handler function for MS Windows / Unix. Currently unused. # # @param func: function that shall get registered with win32api as exit handler. # @type func: C{func} # # """ # if os.name == 'nt' : # try : # import win32api # result = win32api.SetConsoleCtrlHandler( func, True ) # if result == 0: # print '\nCould not SetConsoleCtrlHandler (error %r)\n' % win32api # else : # print '\nSetConsoleCtrlHandler SUCCESS\n' # # except ImportError : # #version = '.'.join( map( str, sys.version_info[ :2] ) ) # raise Exception( 'PyWin32 (win32api) is not installed.' ) # # else : # import signal # signal.signal( signal.SIGTERM, func ) # signal.signal( signal.SIGINT, func ) class PyHocaGUI(wx.App, x2go.X2GoClient): """\ The main application instance. L{PyHocaGUI} provides a system tray icon (like the GNOME network manager applet) that provides a multi-session / multi-connection X2Go client. L{PyHocaGUI} has been developed with the focus of easy customization by SaaS providers. Product branding is a wanted feature. The customizable elements are: - application name - system tray icon (idle icon, while-connecting icon) - splash screen - window that shows the ,,About'' dialog With L{PyHocaGUI} you can also restrict several functionalities: For example, it is possible to disable the multi-session support completely and use L{PyHocaGUI} only or one session in published applications mode. This turns L{PyHocaGUI} into a pseudo-startmenu that blends in X2Go server-side application into one's desktop shell. L{PyHocaGUI}'s main challenge is to combine two different event handlers: wxPython and gevent. """ def __init__(self, args, logger, liblogger, appname='PyHoca-GUI', vendorname='Open Source Software Foundation', version=None,): """\ Initialize the application (constructor). The main control data structure if the C{args} object that gets passed on to L{PyHocaGUI}'s constructor. @param args: a class with properties representing the command-line options that are available to L{PyHocaGUI} instances. @type args: C{argparse.ArgumentParser} (or similar) @param logger: you can pass an L{X2GoLogger} object to the L{PyHocaGUI} constructor for logging application events @type logger: Python X2Go C{X2GoLogger} instance @param liblogger: you can pass an L{X2GoLogger} object to the L{PyHocaGUI} constructor for logging application events, this object is forwarded to the C{X2GoClient}. class in Python X2Go. @type liblogger: Python X2Go C{X2GoLogger} instance @param appname: name of the application instance @type appname: C{str} @param vendorname: name of the company distributing this application @type vendorname: C{str} @param version: version of the application @type version: C{str} """ if appname == 'pyhoca-gui': # capitalize the application's name appname = 'PyHoca-GUI' self.appname = appname self.vendorname = vendorname self.version = version self._exiting = False self.args = args if logger is None: self._pyhoca_logger = x2go.X2GoLogger(tag=self.appname) else: self._pyhoca_logger = copy.deepcopy(logger) self._pyhoca_logger.tag = self.appname if liblogger is None: self._pyhoca_liblogger = x2go.X2GoLogger() else: self._pyhoca_liblogger = copy.deepcopy(liblogger) if x2go.defaults.X2GOCLIENT_OS == 'Windows': if self.args.lang is not None: self.lang = self.args.lang else: self.lang = 'en' else: self.lang = locale.getdefaultlocale()[0] self._pyhoca_logger('%s\'s user interface language is: %s.' % (self.appname, self.lang), loglevel=x2go.loglevel_DEBUG) _x2goclient_kwargs = { 'use_listsessions_cache': True, 'auto_update_listsessions_cache': True, 'auto_update_listmounts_cache': True, 'auto_update_sessionregistry': True, 'auto_register_sessions': True, 'no_auto_reg_pubapp_sessions': True, 'logger': self._pyhoca_liblogger, } if self.args.backend_controlsession is not None: _x2goclient_kwargs['control_backend'] = self.args.backend_controlsession if self.args.backend_terminalsession is not None: _x2goclient_kwargs['terminal_backend'] = self.args.backend_terminalsession if self.args.backend_serversessioninfo is not None: _x2goclient_kwargs['info_backend'] = self.args.backend_serversessioninfo if self.args.backend_serversessionlist is not None: _x2goclient_kwargs['list_backend'] = self.args.backend_serversessionlist if self.args.backend_proxy is not None: _x2goclient_kwargs['proxy_backend'] = self.args.backend_proxy if self.args.backend_sessionprofiles is not None: _x2goclient_kwargs['profiles_backend'] = self.args.backend_sessionprofiles if self.args.backend_clientsettings is not None: _x2goclient_kwargs['settings_backend'] = self.args.backend_clientsettings if self.args.backend_clientprinting is not None: _x2goclient_kwargs['printing_backend'] = self.args.backend_clientprinting if self.args.client_rootdir is not None: _x2goclient_kwargs['client_rootdir'] = self.args.client_rootdir if self.args.sessions_rootdir is not None: _x2goclient_kwargs['sessions_rootdir'] = self.args.sessions_rootdir if self.args.ssh_rootdir is not None: _x2goclient_kwargs['ssh_rootdir'] = self.args.ssh_rootdir if x2go.X2GOCLIENT_OS == 'Windows': _x2goclient_kwargs['start_xserver'] = self.args.start_xserver _x2goclient_kwargs['start_pulseaudio'] = self.args.start_pulseaudio if x2go.X2GOCLIENT_OS == 'Windows' and self.args.start_pulseaudio and os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': _x2goclient_kwargs['pulseaudio_installdir'] = os.path.dirname(basepath.pulseaudio_binary) try: if self.args.logon_window_position: self.logon_window_position_x = int(self.args.logon_window_position.split('x')[0]) self.logon_window_position_y = int(self.args.logon_window_position.split('x')[1]) else: raise except: self.logon_window_position_x = self.logon_window_position_y = None x2go.X2GoClient.__init__(self, **_x2goclient_kwargs) wx.App.__init__(self, redirect=False, clearSigInt=False) #SetExitHandler(self._exit_handler) if not self.args.disable_splash: splash.PyHocaGUI_SplashScreen(splash_image=self.args.splash_image) self.Bind(wx.EVT_IDLE, self.OnIdle) def OnInit(self): """\ Gets called once the application (wx.App) gets initialized. @return: always C{True} @rtype: C{bool} """ wx.BeginBusyCursor() self.SetAppName(self.appname) self.SetVendorName(self.vendorname) self.startGUI() try: wx.EndBusyCursor() except: pass return True def OnIdle(self, evt): """\ Integration of gevent/libevent and wxPython. Whenever wxPython seems to be idle, inject a gevent.sleep(). @return: always C{True} @rtype: C{bool} """ try: gevent.sleep(.04) except KeyboardInterrupt: self._pyhoca_logger('Received Ctrl-C keyboard interrupt... Wait till %s has exited cleanly.' % self.appname, loglevel=x2go.loglevel_NOTICE) self.WakeUpIdle() self.ExitMainLoop() except SystemExit: self._pyhoca_logger('Received SIGTERM signal... Wait till %s has exited cleanly.' % self.appname, loglevel=x2go.loglevel_NOTICE) self.WakeUpIdle() self.ExitMainLoop() evt.RequestMore() return True def startGUI(self): """\ Startup method for L{PyHocaGUI}. """ # cmd line options self.add_to_known_hosts = self.args.add_to_known_hosts self.auto_connect = self.args.auto_connect self.start_on_connect = True self.resume_newest_on_connect = True self.resume_oldest_on_connect = self.args.resume_oldest_on_connect self.resume_all_on_connect = self.args.resume_all_on_connect self.exit_on_disconnect = self.args.exit_on_disconnect self.disconnect_on_suspend = self.args.disconnect_on_suspend self.disconnect_on_terminate = self.args.disconnect_on_terminate self.show_profile_metatypes = self.args.show_profile_metatypes self.restricted_trayicon = self.args.restricted_trayicon self.tray_icon = self.args.tray_icon self.tray_icon_connecting = self.args.tray_icon_connecting self.disable_notifications = self.args.disable_notifications self.remember_username = self.args.remember_username self._pyhoca_logger('PyHoca GUI is starting up', loglevel=x2go.log.loglevel_INFO, ) if self.args.tray_icon: self.about = about.PyHocaGUI_AboutFrame(self, about_image=self.args.about_image, icon_name=self.args.tray_icon) else: self.about = about.PyHocaGUI_AboutFrame(self, about_image=self.args.about_image) self.about.Show(False) self.about_pythonx2go = about.PyHocaGUI_AboutFrame(self, about_image='pythonx2go-about-logo.png', about_what="Python X2Go") self.about_pythonx2go.Show(False) self.taskbar = taskbar.PyHocaGUI_TaskBarIcon(self.about) self.taskbar.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, lambda _Show: self.about.Show(True)) self.taskbar.Bind(wx.EVT_TASKBAR_LEFT_DOWN, self.taskbar.CreateSessionManagerPopupMenu) if x2go.X2GOCLIENT_OS in ('Linux', 'Mac'): self.notifier = notify.libnotify_NotifierPopup(self) if x2go.X2GOCLIENT_OS in ('Windows'): self.notifier = notify.showballoon_NotifierPopup(self.about) self._sub_windows = [] self._logon_windows = {} self._hide_notifications_map = {} self._eventid_profilenames_map = {} self._eventid_exportprofiles_map = {} self._eventid_sessionnames_map = {} self._eventid_applications_map = {} self._eventid_shared_folders_map = {} self._eventid_unshared_folders_map = {} self._eventid_pubapp_execmap = {} self._temp_launching_pubapp_profiles = [] self._temp_launching_pubapp_locks = {} self._temp_disabled_profile_names = [] self._temp_disabled_session_names = {} self._remember_shared_folders = {} self.profilemanager_disabled = self.args.disable_profilemanager self.printingprefs_disabled = self.args.disable_printingprefs ### ### disable functionality for release versions ### if os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1': self.options_disabled = self.args.disable_options else: self._pyhoca_logger('the current release of %s does not support client configuration' % self.appname, loglevel=x2go.log.loglevel_WARN) self.options_disabled = True if self.args.session_profile: for profile_name in self.args.session_profile.split(','): self.start_on_connect = True self.resume_newest_on_connect = True if not self.args.single_session_profile: self.auto_connect = True self._pyhoca_logger('opening default session profile %s' % profile_name, loglevel=x2go.log.loglevel_NOTICE) self._X2GoClient__register_session(profile_name=profile_name, auto_connect=self.auto_connect) if self.auto_connect: gevent.spawn(self._auto_connect) def _auto_connect(self): """\ Register all available session profiles on application start. The auto-registration of all session profiles will trigger the auto-connect feature implemented in C{X2GoClient} of Python X2Go. """ # wait for splash to appear if not self.args.disable_splash: gevent.sleep(1) if not self.args.session_profile: self._X2GoClient__register_all_session_profiles() def session_auto_connect(self, session_uuid, **kwargs): """\ Override C{X2GoClient.session_auto_connect()} to always divert authentication to L{OnSessionAuthenticate}. @param session_uuid: session UUID @type session_uuid: C{str} """ # override X2GoClient method if self.auto_connect and self.get_session(session_uuid).get_session_profile_option('auto_connect'): self.HOOK_profile_auto_connect(self.get_session_profile_name(session_uuid)) def HOOK_profile_auto_connect(self, profile_name, **kwargs): """\ Override C{X2GoClient.HOOK_profile_auto_connect()} to always divert authentication to L{OnSessionAuthenticate}. @param profile_name: session profile name @type profile_name: C{str} """ session_uuids = self.client_registered_sessions_of_profile_name(profile_name=profile_name) if session_uuids: session_uuid = session_uuids[0] _dummy_id = wx.NewId() self._eventid_profilenames_map[_dummy_id] = profile_name evt = wx.CommandEvent() evt.SetId(_dummy_id) self.OnSessionAuthenticate(evt, session_uuid=session_uuid) def session_auto_start_or_resume(self, session_uuid, newest=True, oldest=False, all_suspended=False, **kwargs): """\ Override C{X2GoClient.session_auto_start_or_resume()} to differentiate between the application options C{resume_newest_on_connect}, C{resume_oldest_on_connect} and C{resume_all_on_connect}. @param profile_name: session profile name @type profile_name: C{str} """ if not self.get_session(session_uuid).published_applications: if self.resume_oldest_on_connect: self._X2GoClient__session_auto_start_or_resume(session_uuid, newest=False, oldest=True, start=self.start_on_connect, **kwargs) if self.resume_all_on_connect: self._X2GoClient__session_auto_start_or_resume(session_uuid, newest=False, all_suspended=True, start=self.start_on_connect, **kwargs) elif self.resume_newest_on_connect: self._X2GoClient__session_auto_start_or_resume(session_uuid, newest=True, start=self.start_on_connect, **kwargs) def _exit_handler(self, *args): """\ L{PyHocaGUI}'s exit handler method. Currently unused. """ self.WakeUpIdle() self.ExitMainLoop() # wx.App's OnExit method def OnExit(self): """\ Cleanly exit the application. - suspend all sessions - disconnect all connected session profiles - close all associated windows """ self._exiting = True # close open password dialogs (or other remaining windows) for _win in self._sub_windows: _win.Close() for session_obj in [ _s for _s in self._X2GoClient__client_running_sessions(return_objects=True) if _s.is_associated() ]: profile_name = session_obj.get_profile_name() if not self._hide_notifications_map.has_key(profile_name): self._hide_notifications_map[profile_name] = [] self._hide_notifications_map[profile_name].append(session_obj.get_session_name()) try: session_obj.suspend() except: pass x2go.x2go_cleanup() self.about.Close() self.taskbar.Close() # the taskbar's OnExit method... def OnTaskbarExit(self, evt): """\ Gets called if the user chooses to exit the application via the system tray icon in the taskbar. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('exit application', loglevel=x2go.log.loglevel_INFO, ) if self.args.single_session_profile: if not x2go.defaults.X2GOCLIENT_OS == 'Windows': if self.client_running_sessions_of_profile_name(self.args.session_profile): self.notifier.send(self.appname, _(u'Suspending sessions and exiting application...'), icon='application-exit', timeout=10000) else: if self.is_profile_connected(profile_name=self.args.session_profile): self.notifier.send(self.appname, _(u'Disconnecting %s and exiting application...') % str(self.args.session_profile), icon='application-exit', timeout=10000) else: self.notifier.send(self.appname, _(u'Exiting application...'), icon='application-exit', timeout=10000) self._eventid_profilenames_map[evt.GetId()] = self.args.session_profile self.WakeUpIdle() self.ExitMainLoop() def _init_pubapp_session(self, session_uuid=None, profile_name=None): """\ Initialize a single session in published applications mode for a given profile. NOTE: L{PyHocaGUI} by design only supports _one_ published applications session per connected profile. @param session_uuid: session UUID @type session_uuid: C{str} @param profile_name: session profile name @type profile_name: C{str} """ if profile_name is None and session_uuid: profile_name = self._X2GoClient__get_session_profile_name(session_uuid) if not self._temp_launching_pubapp_locks.has_key(profile_name): self._temp_launching_pubapp_locks[profile_name] = threading.Lock() if not self._X2GoClient__client_connected_sessions_of_profile_name(profile_name): return None if session_uuid is None and profile_name: session_uuid = self._X2GoClient__client_connected_sessions_of_profile_name(profile_name, return_objects=False)[0] connected_session = self._X2GoClient__get_session(session_uuid) if connected_session.has_server_feature('X2GO_PUBLISHED_APPLICATIONS') and self.get_profile_config(profile_name)['published']: if len(self.client_pubapp_sessions_of_profile_name(profile_name=profile_name)): return False self._temp_launching_pubapp_locks[profile_name].acquire() if profile_name not in self._temp_launching_pubapp_profiles: self._temp_launching_pubapp_profiles.append(profile_name) pubapp_session_started = False pubapp_session_resumed = False ### PyHoca-GUI does not support more than one session in published applications mode... # suspend any running session that is in published applications mode (unless we are already associated with it) session_list = self._X2GoClient__list_sessions(session_uuid=session_uuid, profile_name=profile_name) if session_list: pubapp_sessions_running = [ _sn for _sn in session_list.keys() if session_list[_sn].is_running() and session_list[_sn].is_published_applications_provider() ] for session_name in pubapp_sessions_running: self.suspend_session(session_uuid=connected_session(), session_name=session_name) # resume first available session in published applications mode... (from PyHoca-GUI's perspective there should only # be one) if pubapp_sessions_running: gevent.sleep(1) session_list = self._X2GoClient__list_sessions(session_uuid=session_uuid, profile_name=profile_name, refresh_cache=True) if session_list: pubapp_sessions_suspended = [ _sn for _sn in session_list.keys() if session_list[_sn].is_suspended() and session_list[_sn].is_published_applications_provider() ] for session_name in pubapp_sessions_suspended: if not pubapp_session_resumed: # resume one single session in published applications mode immediately, if available pubapp_session = self._X2GoClient__register_session(profile_name=profile_name, published_applications=True, cmd='PUBLISHED', session_type='published', session_name=session_name, published_applications_no_submenus=self.args.published_applications_no_submenus, return_object=True ) pubapp_session_resumed = pubapp_session.resume() elif session_list[session_name].is_published_applications_provider() and pubapp_session_resumed: # if there are more then one published applications mode sessions (in suspended state), terminate them now... connected_session.terminate(session_name=session_name) if not pubapp_session_resumed: pubapp_session = self._X2GoClient__register_session(profile_name=profile_name, published_applications=True, cmd='PUBLISHED', session_type='published', published_applications_no_submenus=self.args.published_applications_no_submenus, return_object=True ) pubapp_session_started = pubapp_session.start() if profile_name in self._temp_launching_pubapp_profiles: self._temp_launching_pubapp_profiles.remove(profile_name) self._temp_launching_pubapp_locks[profile_name].release() return pubapp_session_started | pubapp_session_resumed elif not connected_session.has_server_feature('X2GO_PUBLISHED_APPLICATIONS') and self.get_profile_config(profile_name)['published']: self.notifier.send(_(u'%s - server warning') % profile_name, _(u'The X2Go Server does not publish an application menu.'), icon='session_warning', timeout=10000) return None def _post_authenticate(self, evt, session_uuid): """\ Tasks that have to be done directly after authentication of a session profile. @param evt: event @type evt: C{obj} @param session_uuid: session UUID @type session_uuid: C{str} """ try: profile_name = self.get_session(session_uuid).get_profile_name() self._hide_notifications_map[profile_name] = [] gevent.spawn(self._init_pubapp_session, session_uuid) except x2go.X2GoSessionRegistryException: # there might have been a disconnect event inbetween... pass def _do_authenticate(self, evt, session_uuid): """\ Perform authentication for a given session. @param evt: event @type evt: C{obj} @param session_uuid: session UUID @type session_uuid: C{str} """ connect_failed = False profile_name = self.get_session(session_uuid).get_profile_name() try: _can_session_auto_connect = self._X2GoClient__session_can_auto_connect(session_uuid) _can_sshproxy_auto_connect = self._X2GoClient__session_can_sshproxy_auto_connect(session_uuid) _session_uses_sshproxy = self._X2GoClient__session_uses_sshproxy(session_uuid) _session_reuses_sshproxy_authinfo = self._X2GoClient__session_reuses_sshproxy_authinfo(session_uuid) if _can_session_auto_connect: self._X2GoClient__connect_session(session_uuid, add_to_known_hosts=self.add_to_known_hosts) if not self._X2GoClient__server_valid_x2gouser(session_uuid): self.notifier.send(_(u'%s - connect failure') % profile_name, _(u'User is not allowed to start X2Go sessions!'), icon='session_warning', timeout=10000) self.OnServerDisconnect(evt) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass else: self.notifier.send(_(u'%s - connect') % profile_name, _(u'SSH key authentication has been successful.'), icon='auth_success', timeout=4000) self._X2GoClient__list_sessions(session_uuid, refresh_cache=True, update_sessionregistry=True) self._post_authenticate(evt, session_uuid) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass else: _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=((not _can_sshproxy_auto_connect) and _session_uses_sshproxy and (not _session_reuses_sshproxy_authinfo))) self._logon_windows[profile_name] = _logon_window except x2go.AuthenticationException: self._pyhoca_logger('SSH key authentication to server failed, trying next auth-mechanism', loglevel=x2go.log.loglevel_INFO, ) _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, ) self._logon_windows[profile_name] = _logon_window except x2go.X2GoSSHProxyAuthenticationException: self._pyhoca_logger('SSH key authentication for SSH proxy failed, trying next auth-mechanism', loglevel=x2go.log.loglevel_INFO, ) if _session_reuses_sshproxy_authinfo: _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=False, ) else: _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=True, ) self._logon_windows[profile_name] = _logon_window except x2go.SSHException, e: if str(e).startswith('Host key for server ') and str(e).endswith(' does not match!'): errmsg = _('Host key verification failed. The X2Go server may have been compromised.\n\nIt is also possible that the host key has just been changed.\n\nHowever, for security reasons the connection will not be established!!!') else: errmsg = str(e) self.notifier.send(_(u'%s - SSH error') % profile_name, u'%s!' % errmsg, icon='auth_error', timeout=10000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except x2go.X2GoHostKeyException, e: self.notifier.send(_(u'%s - host key error') % profile_name, _(u'The remote server\'s host key is invalid or has not been accepted by the user') + '!', icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except x2go.X2GoSSHProxyHostKeyException, e: self.notifier.send(_(u'%s - host key error') % profile_name, _(u'The SSH proxy\'s host key is invalid or has not been accepted by the user') + '!', icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True #except gevent.dns.DNSError, e: # self.notifier.send(_(u'%s - DNS error') % profile_name, e.strerror, icon='auth_error', timeout=4000) # try: # self._temp_disabled_profile_names.remove(profile_name) # except ValueError: # pass # connect_failed = True except gevent.socket.error, e: self.notifier.send(_(u'%s - socket error') % profile_name, e.strerror, icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except EOFError, e: self.notifier.send(_(u'%s - EOF error') % profile_name, _(u'Authentication protocol communication incomplete! Try again...'), icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except x2go.X2GoSSHProxyException, e: self.notifier.send(_(u'%s - auth key error') % profile_name, u'%s' % str(e), icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except x2go.X2GoRemoteHomeException, e: self.notifier.send(_(u'%s - missing home directory') % profile_name, _(u"The remote user's home directory does not exist."), icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except x2go.X2GoSessionException, e: self.notifier.send(_(u'%s - auth error') % profile_name, u'%s' % str(e), icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True except: self.notifier.send('%s - unknown error' % profile_name, _(u'An unknown error occurred during authentication!'), icon='auth_error', timeout=4000) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True if self.args.debug or self.args.libdebug or (os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1'): raise if connect_failed and self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() self._remember_shared_folders[profile_name] = self.get_profile_config(profile_name, 'restoreexports') self.taskbar.SetIconIdle() def OnSessionAuthenticate(self, evt, session_uuid=None): """\ Gets called if the user requests connecting to a session profile. @param evt: event @type evt: C{obj} @param session_uuid: session UUID @type session_uuid: C{str} """ profile_name = self._eventid_profilenames_map[evt.GetId()] if self.session_profiles.get_profile_config(profile_name)['directrdp']: m = messages.PyHoca_MessageWindow_Ok(self, title=_(u'%s: DirectRDP not supported yet') % self.appname, msg=_(u"We apologize for the inconvenience...\n\nSession profiles of type ,,DirectRDP'' are not\nsupported by %s (%s), yet!!\n\nDirectRDP support will be available in %s (>= 1.0.0.0).") % (self.appname, self.version, self.appname), icon='warning', profile_name=profile_name) m.ShowModal() return self.taskbar.SetIconConnecting(profile_name) if session_uuid is None: session_uuid = self._X2GoClient__register_session(profile_name=profile_name) if session_uuid: self._temp_disabled_profile_names.append(profile_name) gevent.spawn(self._do_authenticate, evt, session_uuid) elif self.args.session_profile: self.notifier.send(profile_name, _(u'Unknown session profile, configure before using it...'), icon='profile_warning', timeout=10000) if not self.is_session_profile(profile_name): profilemanager.PyHocaGUI_ProfileManager(self, 'ADD_EXPLICITLY', profile_name=profile_name) def OnSessionStart(self, evt): """\ Gets called if the user requests to start a new X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuid = self._X2GoClient__register_session(profile_name=profile_name, published_applications=False) if self._X2GoClient__server_is_alive(session_uuid): gevent.spawn(self._X2GoClient__start_session, session_uuid) self._X2GoClient__list_sessions(session_uuid, refresh_cache=True) def OnShadowSessionStart(self, evt): """\ Gets called if the user requests to start a new X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] server_version = self.get_server_versions(profile_name, 'x2goserver') if not self.has_server_feature(profile_name, 'X2GO_LIST_SHADOWSESSIONS'): m = messages.PyHoca_MessageWindow_Ok(self, title=_(u'Desktop Sharing with %s not supported by server') % self.appname, msg=_(u"We apologize for the inconvenience...\n\nSession profiles of type ,,SHADOW'' are not\nsupported by X2Go Server (v%s)!!!\n\nDesktop Sharing with %s requires\nX2Go Server 4.1.0.0 and above.") % (server_version, self.appname), icon='warning', profile_name=profile_name) m.ShowModal() return listbox = listdesktops.PyHocaGUI_DialogBoxListDesktops(self, profile_name) listbox.ShowModal() if listbox.connect: desktop = listbox.GetSelectedDesktop() if desktop: session_uuid = self._X2GoClient__register_session(profile_name=profile_name, published_applications=False) if self._X2GoClient__server_is_alive(session_uuid): gevent.spawn(self._X2GoClient__share_desktop_session, session_uuid, desktop=desktop, share_mode=listbox.share_mode, check_desktop_list=True) listbox.Close() def OnPubAppSessionStart(self, evt): """\ Gets called if the user requests to start a new X2Go session in published applications mode. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] gevent.spawn(self._init_pubapp_session, profile_name=profile_name) def OnPubAppRefreshMenu(self, evt): """\ Gets called if the user requests a reload of the published applications menu tree from the X2Go server. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] gevent.spawn(self.profile_get_published_applications, profile_name=profile_name, refresh=True, max_no_submenus=self.args.published_applications_no_submenus) def OnPubAppExecution(self, evt): """\ Gets called for sessions in published applications mode if the user requests the startup of a published application. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] _session_name = self._eventid_sessionnames_map[evt.GetId()] try: _exec = self._eventid_pubapp_execmap[profile_name][evt.GetId()] _s = self.get_session_of_session_name(_session_name, return_object=True) if _s is not None and _s.is_alive(): try: _s._X2GoSession__exec_published_application(exec_name=_exec, timeout=40) except x2go.x2go_exceptions.X2GoControlSessionException: self.notifier.send(_(u'%s - session warning') % profile_name, _(u'Execution of command ,,%s\'\' failed.') % _exec, icon='session_warning', timeout=10000) except KeyError: pass def OnApplicationStart(self, evt): """\ Gets called if the user requests the start up of a single application session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] _application = self._eventid_applications_map[evt.GetId()] session_uuid = self._X2GoClient__register_session(profile_name=profile_name, cmd=_application, session_type="application") if self._X2GoClient__server_is_alive(session_uuid): gevent.spawn(self._X2GoClient__start_session, session_uuid) self._X2GoClient__list_sessions(session_uuid, refresh_cache=True) def _disable_session_name(self, profile_name, session_name): """\ Mark a session name for a given session profile as disabled. Disabled sessions are greyed out in the application's menu tree. @param profile_name: session profile name @type profile_name: C{str} @param session_uuid: session UUID @type session_uuid: C{str} """ if profile_name not in self._temp_disabled_session_names.keys(): self._temp_disabled_session_names[profile_name] = [] self._temp_disabled_session_names[profile_name].append(session_name) def _enable_session_name(self, profile_name, session_name): """\ Mark a session name for a given session profile as enabled. Disabled sessions are greyed out in the application's menu tree. @param profile_name: session profile name @type profile_name: C{str} @param session_uuid: session UUID @type session_uuid: C{str} """ try: self._temp_disabled_session_names[profile_name].remove(session_name) except (KeyError, ValueError): pass def is_session_name_enabled(self, profile_name, session_name): """\ Test if the GUI elements for a given session name and profile name are enabled. @param profile_name: session profile name @type profile_name: C{str} @param session_uuid: session UUID @type session_uuid: C{str} """ return not self.is_session_name_disabled(profile_name, session_name) def is_session_name_disabled(self, profile_name, session_name): """\ Test if the GUI elements for a given session name and profile name are disabled. @param profile_name: session profile name @type profile_name: C{str} @param session_uuid: session UUID @type session_uuid: C{str} """ try: return session_name in self._temp_disabled_session_names[profile_name] except KeyError: return False def OnSessionResume(self, evt): """\ Gets called if the user requests to resume an available X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuid = self._X2GoClient__client_registered_sessions_of_profile_name(profile_name)[0] session_name = self._eventid_sessionnames_map[evt.GetId()] self._disable_session_name(profile_name, session_name) if self._X2GoClient__server_is_alive(session_uuid): gevent.spawn(self._X2GoClient__resume_session, session_name=session_name, match_profile_name=profile_name) self._X2GoClient__list_sessions(session_uuid, refresh_cache=True) self._eventid_sessionnames_map = {} def OnSessionSuspend(self, evt): """\ Gets called if the user requests to suspend an associated or available X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuid = self._X2GoClient__client_registered_sessions_of_profile_name(profile_name)[0] session_name = self._eventid_sessionnames_map[evt.GetId()] self._disable_session_name(profile_name, session_name) gevent.spawn(self._X2GoClient__suspend_session, session_uuid, session_name=session_name, match_profile_name=profile_name) self._eventid_sessionnames_map = {} if self.disconnect_on_suspend and self.get_session(session_uuid).has_terminal_session(): self.OnServerDisconnect(evt) def OnSessionTerminate(self, evt): """\ Gets called if the user requests to terminate an associated or available X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuid = self._X2GoClient__client_registered_sessions_of_profile_name(profile_name)[0] session_name = self._eventid_sessionnames_map[evt.GetId()] self._disable_session_name(profile_name, session_name) gevent.spawn(self._X2GoClient__terminate_session, session_uuid, session_name=session_name, match_profile_name=profile_name) self._eventid_sessionnames_map = {} if self.disconnect_on_terminate and self.get_session(session_uuid).has_terminal_session(): self.OnServerDisconnect(evt) def OnCleanSessions(self, evt): """\ Gets called if the user requests to terminate all available X2Go session for the selected session profile. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuid = self._X2GoClient__client_registered_sessions_of_profile_name(profile_name)[0] session_list = self._X2GoClient__list_sessions(session_uuid) if self._X2GoClient__server_is_alive(session_uuid): if session_list: _notify_text = _(u'Cleaning X2Go sessions...') if not self._hide_notifications_map.has_key(profile_name): self._hide_notifications_map[profile_name] = [] session_names = session_list.keys() session_names = [ _sn for _sn in session_names if not session_list[_sn].is_published_applications_provider() ] for session_name in session_names: _notify_text += '\n%s' % session_name self._hide_notifications_map[profile_name].append(session_name) self._disable_session_name(profile_name, session_name) self.notifier.send(profile_name, _notify_text, icon='session_cleanall', timeout=10000) gevent.spawn(self._X2GoClient__clean_sessions, session_uuid, published_applications=False) def OnViewServerInformation(self, evt): """\ Gets called if the user disconnects from a selected session profile (i.e. X2Go server). @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] serverinfobox = serverinfo.PyHocaGUI_DialogBoxServerInfo(self, profile_name) serverinfobox.ShowModal() def OnServerDisconnect(self, evt): """\ Gets called if the user disconnects from a selected session profile (i.e. X2Go server). @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_uuids = self._X2GoClient__client_registered_sessions_of_profile_name(profile_name) if session_uuids: # disconnect all sessions of profile if self._X2GoClient__server_is_alive(session_uuids[0]) and not self.args.single_session_profile: self._hide_notifications_map[profile_name] = self._X2GoClient__client_running_sessions_of_profile_name(profile_name, return_session_names=True) gevent.spawn(self._X2GoClient__disconnect_profile, profile_name) if self.exit_on_disconnect: self._pyhoca_logger('Exiting %s because %s got disconnected.' % (self.appname, profile_name), loglevel=x2go.loglevel_NOTICE) self.WakeUpIdle() self.ExitMainLoop() else: self.notifier.send(_(u'%s - disconnect') % profile_name, _(u'X2Go Profile is now disconnected.'), icon='auth_disconnect', timeout=4000) try: del self._temp_disabled_session_names[profile_name] except KeyError: pass try: del self._remember_shared_folders[profile_name] except KeyError: pass def OnProfileAdd(self, evt): """\ Gets called if the user chooses to add a new session profile. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('adding new X2Go session profile', loglevel=x2go.log.loglevel_INFO, ) profilemanager.PyHocaGUI_ProfileManager(self, 'ADD', profile_name=_(u'New Session Profile')) def OnProfileEdit(self, evt): """\ Gets called if the user chooses to edit an existing session profile. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._temp_disabled_profile_names.append(profile_name) self._pyhoca_logger('editing session profile %s' % profile_name, loglevel=x2go.log.loglevel_INFO, ) if self.args.single_session_profile: _edit_action = "EDIT_EXPLICITLY" else: _edit_action = "EDIT" profilemanager.PyHocaGUI_ProfileManager(self, _edit_action, profile_name=profile_name) def OnProfileCopy(self, evt): """\ Gets called if the user chooses to add a new session profile by using an existing session profile as template. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._pyhoca_logger('using session profile %s as template for new profile' % profile_name, loglevel=x2go.log.loglevel_INFO, ) profilemanager.PyHocaGUI_ProfileManager(self, 'COPY', profile_name=profile_name) def OnProfileEditWhileConnected(self, evt): """\ Gets called if the user chooses to edit an existing session profile while the session profile is connected. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._temp_disabled_profile_names.append(profile_name) self._pyhoca_logger('editing session profile %s' % profile_name, loglevel=x2go.log.loglevel_INFO, ) profilemanager.PyHocaGUI_ProfileManager(self, 'EDIT_CONNECTED', profile_name=profile_name) def OnProfileDelete(self, evt): """\ Gets called if the user chooses to delete an existing session profile. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._temp_disabled_profile_names.append(profile_name) m = messages.PyHoca_MessageWindow_NoYes(self, shortmsg='REALLY_DELETE_PROFILE', title=_(u'Really Delete Session Profile ,,%s\'\'?') % profile_name, icon='question', profile_name=profile_name) m.ShowModal() if m.Yes(): self._pyhoca_logger('deleting session profile %s' % profile_name, loglevel=x2go.log.loglevel_INFO, ) try: self.session_profiles.delete_profile(profile_name) self.notifier.send(title=_(u'%s - profile deleted') % profile_name, text=_(u'The session profile has been deleted.'), icon='profile_delete') except: pass self._temp_disabled_profile_names.remove(profile_name) def OnProfileImport(self, evt):# """\ Gets called if the user requests a session profile (group) import. @param evt: event @type evt: C{obj} """ dlg = wx.FileDialog( self.about, message=_(u"import session profile(s)"), wildcard="*.x2go", style=wx.FD_OPEN) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: _import_file = dlg.GetPath() try: imported_session_profiles = x2go.X2GoSessionProfiles(config_files=[_import_file]) except: m = messages.PyHoca_MessageWindow_Ok(self, title=_(u'%s: Import of session profile(s) failed') % self.appname, msg=_(u"The selected session profile(s) could not be imported from \nfile »%s«.\n\nAre you sure the session profiles file has the correct format?") % os.path.normpath(_import_file), icon='error') m.ShowModal() return failed_profiles = [] for profile_name in imported_session_profiles.profile_names: this_profile = imported_session_profiles.get_profile_config(profile_name) # clean up session profile options that are unknown to Python X2Go for key in copy.deepcopy(this_profile).keys(): if key not in x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS: del this_profile[key] try: self.session_profiles.add_profile(**this_profile) except x2go.x2go_exceptions.X2GoProfileException, e: self._pyhoca_logger('Importing session profile %s failed. Reason: %s' % (profile_name, str(e)), loglevel=x2go.loglevel_ERROR) failed_profiles.append(profile_name) imported_profiles = imported_session_profiles.profile_names imported_profiles.sort() failed_profiles.sort() self.session_profiles.write_user_config = True if not self.session_profiles.write(): m = messages.PyHoca_MessageWindow_Ok(self, title=_(u'%s: Write failure after import') % self.appname, msg=_(u"The session profiles configuration could not be written to file after import\n\nCheck for common problems (disk full, insufficient access, etc.)."), icon='error', profile_name=profile_name) m.ShowModal() elif len(failed_profiles) == len(imported_profiles): _notify_text = _(u'None of the session profiles could be imported...') + '\n' for failed_profile in failed_profiles: _notify_text += '\n %s' % failed_profile _notify_text += '\n\n' + _(u'For details, start %s from the command line and retry the import.') % self.appname self.notifier.send(u'Session Profile Import (Failure)', _notify_text, icon='profile_error', timeout=10000) elif 0 < len(failed_profiles) < len(imported_profiles): _notify_text = _(u'Only these session profiles could be imported...') + '\n' for profile_name in [ pn for pn in imported_profiles if pn not in failed_profiles ]: _notify_text += '\n %s' % profile_name _notify_text += '\n\n' + _(u'Whereas these session profiles failed to import...') + '\n' for failed_profile in failed_profiles: _notify_text += '\n %s' % failed_profile _notify_text += '\n\n' + _(u'For details, start %s from the command line and retry the import.') % self.appname self.notifier.send(u'Session Profile Import (Warning)', _notify_text, icon='profile_warning', timeout=10000) elif 1 < len(imported_profiles): _notify_text = _(u'New session profiles have been imported...') + '\n' for profile_name in imported_profiles: _notify_text += '\n %s' % profile_name self.notifier.send(u'Session Profile Import (Success)', _notify_text, icon='profile_add', timeout=10000) elif 1 == len(imported_profiles): _notify_text = _(u'New session profile has been imported...') + '\n' for profile_name in imported_profiles: _notify_text += '\n %s' % profile_name self.notifier.send(u'Session Profile Import (Success)', _notify_text, icon='profile_add', timeout=10000) def OnProfileExport(self, evt): """\ Gets called if the user requests a session profile (group) export. @param evt: event @type evt: C{obj} """ try: profile_name = self._eventid_profilenames_map[evt.GetId()] except KeyError: profile_name = None try: profile_group = self._eventid_exportprofiles_map[evt.GetId()] except KeyError: profile_group = None if profile_group: # This returns a Python list of files that were selected. filtered_profile_names = [ pn for pn in self._X2GoClient__get_profiles().profile_names if pn.startswith(unicode(profile_group)) ] dlg = wx.FileDialog( self.about, message=_(u"%s - export session profiles") % profile_group, defaultFile="%s.x2go" % profile_group.replace("/", "::"), wildcard="*.x2go", style=wx.FD_SAVE) if profile_name: dlg = wx.FileDialog( self.about, message=_(u"%s - export session profile") % profile_name, defaultFile="%s.x2go" % profile_name, wildcard="*.x2go", style=wx.FD_SAVE) filtered_profile_names = [profile_name] # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: _export_file = dlg.GetPath() if not _export_file.endswith(".x2go"): _export_file += ".x2go" if os.path.exists(_export_file): m = messages.PyHoca_MessageWindow_NoYes(self, title=_(u'%s: Export file already exists') % self.appname, msg=_(u"The file »%s« already exists in this folder.\n\nDo you want to replace it?") % os.path.basename(_export_file), icon='warning', profile_name=profile_name) m.ShowModal() if not m.Yes(): return else: os.remove(_export_file) exported_session_profiles = x2go.X2GoSessionProfiles(config_files=[_export_file]) for profile_name in filtered_profile_names: this_profile = self._X2GoClient__get_profile_config(profile_name) # clean up session profile options that are unknown to Python X2Go for key in copy.deepcopy(this_profile).keys(): if key not in x2go.defaults.X2GO_SESSIONPROFILE_DEFAULTS: del this_profile[key] exported_session_profiles.add_profile(**this_profile) exported_session_profiles.write_user_config = True if exported_session_profiles.write(): if profile_group: self.notifier.send(_(u'%s - profiles exported') % profile_group, _(u'Successfully exported session profile group »%s« to file »%s«.') % (profile_group, os.path.basename(_export_file)), icon='success', timeout=10000) elif profile_name: self.notifier.send(_(u'%s - profile exported') % profile_name, _(u'Successfully exported single session profile »%s« to file »%s«.') % (profile_name, os.path.basename(_export_file)), icon='success', timeout=10000) else: self._pyhoca_logger('Exporting session profile(s) to file %s failed.' % _export_file, loglevel=x2go.loglevel_ERROR) m = messages.PyHoca_MessageWindow_Ok(self, title=_(u'%s: Exporting session profile(s) failed') % self.appname, msg=_(u"The selected session profile(s) could not be exported to the \nfile »%s«.\n\nCheck for common problems (disk full, insufficient access, etc.).") % os.path.normpath(_export_file), icon='error', profile_name=profile_name) m.ShowModal() def OnShareCustomLocalFolder(self, evt): """\ Gets called if the user chooses to share a non-configured local folder with the running X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._pyhoca_logger('Evoking file dialog for ,,Share Local Folder\'\' menu item action', loglevel=x2go.log.loglevel_NOTICE, ) shared_folder = os.path.expanduser('~') if not os.path.exists(shared_folder): shared_folder = os.getcwd() dlg = wx.DirDialog( self.about, message=_(u"%s - share local folder with sessions of this profile") % profile_name, style=1, defaultPath=shared_folder) # Show the dialog and retrieve the user response. If it is the OK response, # process the data. if dlg.ShowModal() == wx.ID_OK: # This returns a Python list of files that were selected. self._X2GoClient__share_local_folder_with_session(profile_name=profile_name, folder_name=str(dlg.GetPath())) def OnRememberSharedFolders(self, evt): """\ Gets called if the user toggles the checkbox of the ,,Remember shared folders'' menu item. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._remember_shared_folders[profile_name] = not self._remember_shared_folders[profile_name] self.set_profile_config(profile_name, 'restoreexports', self._remember_shared_folders[profile_name]) def OnUnshareAllLocalFolders(self, evt): """\ Gets called if the user chooses to unshare all shared local folders from the running X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] self._X2GoClient__unshare_all_local_folders_from_profile(profile_name=profile_name) if self._X2GoClient__get_profile_config(profile_name, 'restoreexports'): self._X2GoClient__set_profile_config(profile_name, 'export', {}) def OnShareLocalFolder(self, evt): """\ Gets called if the user chooses to share a previously configured local folder with the running X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] _share_folder = self._eventid_unshared_folders_map[evt.GetId()] self._X2GoClient__share_local_folder(profile_name=profile_name, local_path=_share_folder) def OnUnshareLocalFolder(self, evt): """\ Gets called if the user chooses to unshare a previously shared local folder from the running X2Go session. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] _unshare_folder = self._eventid_shared_folders_map[evt.GetId()] self._X2GoClient__unshare_local_folder_from_profile(profile_name=profile_name, local_path=_unshare_folder) def OnListSessions(self, evt): """\ Not implemented, yet. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('The ,,List Sessions\'\' information window is not implemented yet', loglevel=x2go.log.loglevel_WARN, ) def OnSessionRename(self, evt): """\ Gets called if the user requests to rename the title of a session window. @param evt: event @type evt: C{obj} """ profile_name = self._eventid_profilenames_map[evt.GetId()] session_name = self._eventid_sessionnames_map[evt.GetId()] sessiontitle.PyHocaGUI_DialogBoxSessionTitle(self, profile_name, session_name) def OnSessionFocus(self, evt): """\ Gets called if the user requests to raise a session window and bring it to focus. @param evt: event @type evt: C{obj} """ session_name = self._eventid_sessionnames_map[evt.GetId()] _s = self._X2GoClient__get_session_of_session_name(session_name, return_object=True) _s.raise_session_window() def OnAbout(self, evt): """\ Gets called if the user requests to see the application's ,,About'' window. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('Showing the ,,About...\'\' window', loglevel=x2go.log.loglevel_INFO, ) self.about.Show(True) def OnAboutPythonX2Go(self, evt): """\ Gets called if the user requests to see the Python X2Go module's ,,About'' window. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('Showing the ,,About Python X2Go...\'\' window', loglevel=x2go.log.loglevel_INFO) self.about_pythonx2go.Show(True) def OnOptions(self, evt): """\ Not implemented, yet. @param evt: event @type evt: C{obj} """ self._pyhoca_logger('The ,,Options\'\' configuration window is not implemented yet', loglevel=x2go.log.loglevel_WARN, ) def OnPrintingPreferences(self, evt): """\ Gets called if the user requests to view/modify the application's ,,Printing Preferences'' (window). @param evt: event @type evt: C{obj} """ self._pyhoca_logger('opening the printing preferences window', loglevel=x2go.log.loglevel_INFO, ) printingprefs.PyHocaGUI_PrintingPreferences(self) def OnClose(self, evt): """\ Introduce the clean closure of the application. @param evt: event @type evt: C{obj} """ self.OnExit(evt) ## ## Python X2Go (X2Go Client) interactive HOOK's... ## def HOOK_check_host_dialog(self, profile_name='UNKNOWN', host='UNKNOWN', port=22, fingerprint='no fingerprint', fingerprint_type='RSA', **kwargs): """\ Provide a GUI-based host key check for unknown remote X2Go(=SSH) servers. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param host: SSH server name to validate @type host: C{str} @param port: SSH server port to validate @type port: C{int} @param fingerprint: the server's fingerprint @type fingerprint: C{str} @param fingerprint_type: finger print type (like RSA, DSA, ...) @type fingerprint_type: C{str} @return: if host validity is verified, this hook method should return C{True} @rtype: C{bool} """ _message = _(u'The authenticity of host [%s]:%s can\'t be established.\n%s key fingerprint is ,,%s\'\'.\n\nAre you sure you want to continue connecting?') % (host, port, fingerprint_type, fingerprint) if self._logon_windows.has_key(profile_name): _parent = self._logon_windows[profile_name] else: # use a dummy parent... _parent = None m = messages.PyHoca_MessageWindow_NoYes(self, parent=_parent, msg=_message, title=_(u'%s: Confirm Host Authorization') % profile_name, icon='profile_warning') if _parent: m.ShowModal() else: m.Show() while m in self._sub_windows: gevent.sleep(.04) retval = m.Yes() m.Destroy() return retval # this hook gets called from Python X2Go classes if a print job is coming in and the print action is ,,DIALOG''... def HOOK_open_print_dialog(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Open an interactive print preferences dialog for an incoming print job. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ _print_action = None _pp_dialog = printingprefs.PyHocaGUI_PrintingPreferences(self, mode='print', profile_name=profile_name, session_name=session_name) while _pp_dialog in self._sub_windows: _print_action = _pp_dialog.get_print_action() gevent.sleep(.2) return _print_action ## ## Python X2Go (X2Go Client) notification HOOK's... ## # this hook gets called from Python X2Go classes if profile_name's control session has died... def HOOK_on_control_session_death(self, profile_name='UNKNOWN', **kwargs): """\ Notify about connection failures. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} """ if not self._exiting: self.notifier.send(_(u'%s - channel error') % profile_name, _(u'Lost connection to server %s unexpectedly! Try to re-authenticate to the server...') % profile_name, icon='session_warning', timeout=10000) try: del self._temp_disabled_session_names[profile_name] except KeyError: pass if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_session_startup_failed(self, profile_name='UNKNOWN', **kwargs): """\ Notify about session startup failures. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} """ self.notifier.send(_(u'%s - session failure') % profile_name, _(u'The session startup failed.'), icon='session_error', timeout=10000) if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_list_desktops_timeout(self, profile_name='UNKNOWN', **kwargs): """\ Notify about x2golistdesktops timeout events. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} """ self.notifier.send(_(u'%s - timeout') % profile_name, _(u'The server took long to provide a list of sharable desktops.\nThis can happen from time to time, please try again'), icon='session_warning', timeout=10000) def HOOK_no_such_desktop(self, profile_name='UNKNOWN', desktop='UNKNOWN', **kwargs): """\ Notify that a before-seen sharable desktop is not available for sharing (anymore). @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param desktop: the desktop identifier that was attemted to be shared @type desktop: C{str} """ self.notifier.send(_(u'%s - desktop sharing failed') % profile_name, _(u'The desktop %s is not available for sharing (anymore).') % desktop, icon='session_warning', timeout=10000) if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_no_such_command(self, cmd, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about commands that are not available on the remote server. @param cmd: the command that failed @type cmd: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ if session_name == 'UNKNOWN': self.notifier.send(_(u'%s - session failure') % profile_name, _(u'The command ,,%s\'\' is not available on X2Go server.') % cmd, icon='session_error', timeout=10000) else: self.notifier.send(_(u'%s - session failure') % profile_name, _(u'The command ,,%s\'\' is not available on X2Go server\n%s.') % (cmd, session_name), icon='session_error', timeout=10000) if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_rforward_request_denied(self, profile_name='UNKNOWN', session_name='UNKNOWN', server_port=0, **kwargs): """\ Notify about reverse port forwarding requests that get denied. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} @param server_port: remote server port (starting point of reverse forwarding tunnel) @type server_port: C{str} """ self.notifier.send(_(u'%s - session warning') % profile_name, _(u'Reverse TCP port forwarding request for session %s to server port %s has been denied.') % (session_name, server_port), icon='session_warning', timeout=10000) if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_forwarding_tunnel_setup_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN', chain_host='UNKNOWN', chain_port=0, **kwargs): """\ Notify about port forwarding tunnel setup failures. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} @param chain_host: hostname of chain host (forwarding tunnel end point) @type chain_host: C{str} @param chain_port: port of chain host (forwarding tunnel end point) @type chain_port: C{str} """ self.notifier.send(_(u'%s - session failure') % profile_name, _(u'Forwarding tunnel request to [%s]:%s for session %s was denied by remote X2Go/SSH server. Session startup failed.') % (chain_host, chain_port, session_name), icon='session_error', timeout=10000) if not self._hide_notifications_map.has_key(profile_name): self._hide_notifications_map[profile_name] = [] self._hide_notifications_map[profile_name].append(session_name) try: self._temp_disabled_session_names[profile_name].remove(session_name) except KeyError: pass except ValueError: pass if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_pulseaudio_not_supported_in_RDPsession(self, **kwargs): """\ Notify that pulseaudio is not available in RDP sessions. """ self.notifier.send(_(u'%s - audio warning') % self.appname, _(u'The X2Go PulseAudio system is not available within Remote Desktop sessions.'), icon='audio_error', timeout=10000) def HOOK_pulseaudio_server_startup_failed(self, **kwargs): """\ Notify about pulseaudio daemon startup failures. """ self.notifier.send(_(u'%s - audio error') % self.appname, _(u'The X2Go PulseAudio system could not be started.'), icon='audio_error', timeout=10000) def HOOK_pulseaudio_server_died(self, **kwargs): """\ Notify about sudden pulseaudio crashes. """ self.notifier.send(_(u'%s - audio error') % self.appname, _(u'The X2Go PulseAudio system has died unexpectedly.'), icon='audio_error', timeout=10000) def HOOK_on_sound_tunnel_failed(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about failures while setting up the audio tunnel for a session. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self.notifier.send(_(u'%s - audio problem') % profile_name, _(u'The audio connection could not be set up for this session.\n%s') % session_name, icon='session_warning', timeout=5000) def HOOK_printing_not_available(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify that client-side printing is not available for a session. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self.notifier.send(_(u'%s - client-side printing not available') % profile_name, _(u'The server denies client-side printing from within this session.\n%s') % session_name, icon='session_warning', timeout=5000) def HOOK_mimebox_not_available(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify that the MIME box feature is not available for a session. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self.notifier.send(_(u'%s - MIME box not available') % profile_name, _(u'The server does not support the X2Go MIME box.\n%s') % session_name, icon='session_warning', timeout=5000) def HOOK_foldersharing_not_available(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify that client-side folder sharing is not available for a session. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self.notifier.send(_(u'%s - client-side folders not sharable') % profile_name, _(u'The server denies client-side folder sharing with this session.\n%s') % session_name, icon='session_warning', timeout=5000) def HOOK_sshfs_not_available(self, profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify that SSHFS support is not available on a connected X2Go server. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self.notifier.send(_(u'%s - client resources not sharable') % profile_name, _(u'Client-side folders and printers cannot be shared with this session.\n%s') % session_name, icon='session_warning', timeout=5000) def HOOK_printaction_error(self, filename, profile_name='UNKNOWN', session_name='UNKNOWN', err_msg='GENERIC_ERROR', printer=None, **kwargs): """\ Notify about a problem while processing a pring job. @param filename: file name of the print job that failed @type filename: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} @param err_msg: if available, an appropriate error message @type err_msg: C{str} @param printer: if available, the printer name the print job failed on @type printer: C{str} """ if printer: self.notifier.send(_(u'%s - print error') % profile_name, _(u'%s\n...caused on printer %s by session\n%s') % (err_msg, printer, session_name), icon='session_error', timeout=5000) else: self.notifier.send(_(u'%s - print error') % profile_name, _(u'%s\n...caused by session\n%s') % (err_msg, session_name), icon='session_error', timeout=5000) def HOOK_on_session_has_started_by_me(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has been started by this instance of L{PyHocaGUI}. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) self.notifier.send(_(u'%s - start') % profile_name, _(u'New X2Go session starting up...\n%s') % session_name, icon='session_start', timeout=5000) def HOOK_on_session_has_started_by_other(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has been started by another X2Go client application. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) self.notifier.send(_(u'%s - start') % profile_name, _(u'Another client started X2Go session\n%s') % session_name, icon='session_start', timeout=5000) def HOOK_on_session_has_resumed_by_me(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has been resumed by this instance of L{PyHocaGUI}. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) self.notifier.send(_(u'%s - resume') % profile_name, _(u'Resuming X2Go session...\n%s') % session_name, icon='session_resume', timeout=5000) def HOOK_on_session_has_resumed_by_other(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has been resumed by another X2Go client application. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) self.notifier.send(_(u'%s - resume') % profile_name, _(u'Another client resumed X2Go session\n%s') % session_name, icon='session_resume', timeout=5000) def HOOK_on_found_session_running_after_connect(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about already running sessions that have been directly after the client-server connection had been established.. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) gevent.spawn_later(5, self.notifier.send, _(u'%s - running') % profile_name, _(u'Found already running session\n%s') % session_name, icon='session_resume', timeout=5000) def HOOK_on_session_has_been_suspended(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has been suspended. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) if self._hide_notifications_map.has_key(profile_name) and session_name in self._hide_notifications_map[profile_name]: self._hide_notifications_map[profile_name].remove(session_name) if not self._hide_notifications_map[profile_name]: del self._hide_notifications_map[profile_name] else: self.notifier.send(_(u'%s - suspend') % profile_name, _(u'X2Go Session has been suspended\n%s') % session_name, icon='session_suspend', timeout=5000) if self.disconnect_on_suspend and session_name in self.client_associated_sessions(return_session_names=True): _dummy_id = wx.NewId() self._eventid_profilenames_map[_dummy_id] = profile_name evt = wx.IdleEvent() evt.SetId(_dummy_id) self.OnServerDisconnect(evt) def HOOK_on_session_has_terminated(self, session_uuid='UNKNOWN', profile_name='UNKNOWN', session_name='UNKNOWN', **kwargs): """\ Notify about a session that has (been) terminated. @param session_uuid: unique session identifier of the calling session @type session_uuid: C{str} @param profile_name: profile name of session that called this hook method @type profile_name: C{str} @param session_name: X2Go session name @type session_name: C{str} """ self._enable_session_name(profile_name, session_name) # avoid notification if X2Go Client.clean_sessions has been used to terminate sessions if self._hide_notifications_map.has_key(profile_name) and session_name in self._hide_notifications_map[profile_name]: self._hide_notifications_map[profile_name].remove(session_name) if not self._hide_notifications_map[profile_name]: del self._hide_notifications_map[profile_name] else: self.notifier.send(_(u'%s - terminate') % profile_name, _(u'X2Go Session has terminated\n%s') % session_name, icon='session_terminate', timeout=5000) if self.disconnect_on_terminate and session_name in self.client_associated_sessions(return_session_names=True): _dummy_id = wx.NewId() self._eventid_profilenames_map[_dummy_id] = profile_name evt = wx.IdleEvent() evt.SetId(_dummy_id) self.OnServerDisconnect(evt) pyhoca-gui-0.4.0.8/pyhoca/wxgui/__init__.py0000644000000000000000000000165012207147477015370 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. __VERSION__ = '0.4.0.8' from frontend import * pyhoca-gui-0.4.0.8/pyhoca/wxgui/listdesktops.py0000644000000000000000000002206112207147477016360 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. modules ={} try: import wxversion wxversion.select('2.9') except: pass try: import wxversion wxversion.select('2.8') except: pass # Python X2Go import x2go # gevent import gevent import gevent.monkey gevent.monkey.patch_all() import wx import os import wx.lib.mixins.listctrl as listmix # PyHoca-GUI modules # ... NONE ... if os.environ.has_key('DESKTOP_SESSION'): WINDOW_MANAGER = os.environ['DESKTOP_SESSION'] else: WINDOW_MANAGER = 'generic' class PyHocaGUI_DialogBoxListDesktops(wx.Dialog): """\ Dialog box for selection from a list of sharable desktops. """ def __init__(self, _PyHocaGUI, profile_name): """\ Desktop list and selection dialog box (constructor). @param _PyHocaGUI: the master/parent object of the application @type _PyHocaGUI: C{obj} @param profile_name: session profile name @type profile_name: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('desktop list selection box started', loglevel=x2go.loglevel_INFO, ) self.connect = False self.cancel = False self.current_profile_name = profile_name self.list_index = 0 self.listed_desktops = {} wx.Dialog.__init__(self, None, id=-1, title=profile_name, style=wx.DEFAULT_FRAME_STYLE, ) self._PyHocaGUI._sub_windows.append(self) self.SetTitle(_(u'Share Desktop Session - %s') % profile_name) self.titleLbl = wx.StaticText(self, wx.ID_ANY, _(u'Select one of the available desktop sessions on this server')+':', size=(-1, -1)) self.desktopList = wx.ListCtrl(self, size=(420,140), style=wx.LC_REPORT|wx.BORDER_SUNKEN|wx.LC_SINGLE_SEL) self.desktopList.InsertColumn(0, 'Display') self.desktopList.InsertColumn(1, 'User') self.shareMode0 = wx.RadioButton(self, -1, _(u"View session only"), style=wx.RB_GROUP) self.shareMode1 = wx.RadioButton(self, -1, _(u"Gain full access")) self.share_mode = 0 ID_REFRESH = wx.NewId() self.okBtn = wx.Button(self, wx.ID_OK, _(u'Share Desktop'), ) self.okBtn.SetDefault() self.okBtn.Enable(False) self.refreshBtn = wx.Button(self, ID_REFRESH, _(u'Refresh list'), ) self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnListClick, self.desktopList) self.Bind(wx.EVT_BUTTON, self.OnOk, self.okBtn) self.Bind(wx.EVT_BUTTON, self.OnRefreshDesktopList, self.refreshBtn) self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelBtn) titleSizer = wx.BoxSizer(wx.HORIZONTAL) listSizer = wx.BoxSizer(wx.HORIZONTAL) modeSizer = wx.BoxSizer(wx.HORIZONTAL) btnSizer = wx.BoxSizer(wx.HORIZONTAL) mainSizer = wx.BoxSizer(wx.VERTICAL) titleSizer.Add(self.titleLbl, 0, wx.ALL, 5) listSizer.Add(self.desktopList, 0, wx.ALL|wx.EXPAND, 5) modeSizer.Add(self.shareMode0, 0, wx.ALL, 5) modeSizer.Add(self.shareMode1, 0, wx.ALL, 5) btnSizer.Add(self.okBtn, 0, wx.ALL, 5) btnSizer.Add(self.refreshBtn, 0, wx.ALL, 5) btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) mainSizer.Add(titleSizer, 0, wx.ALL, 5) mainSizer.Add(listSizer, 0, wx.ALL|wx.EXPAND, 5) mainSizer.Add(modeSizer, 0, wx.ALL, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) self.SetSizerAndFit(mainSizer) self.Layout() maxX, maxY = wx.GetDisplaySize() # we will use the logon window position for this session re-titling windows, as well if self._PyHocaGUI.logon_window_position_x and self._PyHocaGUI.logon_window_position_y: # allow positioning of logon window via command line option if self._PyHocaGUI.logon_window_position_x < 0: move_x = maxX - (self.GetSize().GetWidth() + self._PyHocaGUI.logon_window_position_x) else: move_x = self._PyHocaGUI.logon_window_position_x if self._PyHocaGUI.logon_window_position_y < 0: move_y = maxX - (self.GetSize().GetHeight() + self._PyHocaGUI.logon_window_position_y) else: move_y = self._PyHocaGUI.logon_window_position_y elif (x2go.X2GOCLIENT_OS == 'Linux') and (WINDOW_MANAGER in ('gnome', 'gnome-fallback', 'awesome', 'mate', 'ubuntu', 'ubuntu-2d', 'openbox-gnome', )): # automatically place logon Window for GNOME, awesome move_x = maxX - (self.GetSize().GetWidth() + 20) move_y = 35 else: # automatically place logon Window for KDE4, LXDE, etc. move_x = maxX - (self.GetSize().GetWidth() + 20) move_y = maxY - (self.GetSize().GetHeight() + 70) self.Move((move_x, move_y)) self._refreshDesktopList() def ShowModal(self, **kwargs): self._PyHocaGUI._sub_windows.append(self) wx.Dialog.ShowModal(self, **kwargs) def add_item(self, display, user): self.listed_desktops.update({ self.list_index: '%s@%s' % (user, display) }) self.desktopList.InsertStringItem(self.list_index, display) self.desktopList.SetStringItem(self.list_index, 1, user) self.list_index += 1 def _refreshDesktopList(self): self.desktopList.DeleteAllItems() self.listed_desktops = {} self.list_index = 0 desktops = self._PyHocaGUI._X2GoClient__list_desktops(profile_name=self.current_profile_name, exclude_session_types=['R', 'S', 'P']) for desktop in desktops: if len(desktop.split('@')) >= 2: display = desktop.split('@')[0] user = desktop.split('@')[1] self.add_item(user, display) def OnListClick(self, evt): """\ Enable the Connect button only if a list item got clicked. @param evt: event @type evt: C{obj} """ self.okBtn.Enable(True) def OnRefreshDesktopList(self, evt): """\ Gets called if the Refresh button gets pressed. @param evt: event @type evt: C{obj} """ self._refreshDesktopList() def OnOk(self, evt): """\ Continue here, if the user clicks the Ok button in the dialog box. @param evt: event @type evt: C{obj} """ self.Hide() self.connect = True self.share_mode = self.shareMode1.GetValue() and 1 or 0 def GetResult(self): """\ Retrieve the result of the selection in the list box. """ return self.desktopList.GetValue() def OnCancel(self, evt): """\ Continue here, if the user clicks the Cancel button in the dialog box. @param evt: event @type evt: C{obj} """ self.Hide() self.cancel = True def Hide(self): """\ When hiding the list desktops box, remove it from the list of open windows in the main application instance. """ try: self._PyHocaGUI._sub_windows.remove(self) except (AttributeError, ValueError): pass self.Show(False) def Close(self): """\ Do some PyHocaGUI specific cleanup if this window gets destroyed. """ try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: pass try: self._PyHocaGUI._temp_disabled_profile_names.remove(self.current_profile_name) except ValueError: pass wx.Dialog.Close(self) wx.Dialog.Destroy(self) def GetSelectedItems(self): """\ Gets the selected items for the list control. Selection is returned as a list of selected indices, low to high. """ selection = [] idx = self.desktopList.GetFirstSelected() selection.append(idx) while len(selection) != self.desktopList.GetSelectedItemCount(): idx = self.desktopList.GetNextSelected(idx) selection.append(idx) return selection def GetSelectedDesktop(self): idx = self.GetSelectedItems()[0] return self.listed_desktops[idx] pyhoca-gui-0.4.0.8/pyhoca/wxgui/logon.py0000644000000000000000000005355312207147477014760 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. modules ={} try: import wxversion wxversion.select('2.9') except: pass try: import wxversion wxversion.select('2.8') except: pass # Python X2Go import x2go # gevent import gevent import gevent.monkey gevent.monkey.patch_all() import wx import os # PyHoca-GUI modules # ... NONE ... if os.environ.has_key('DESKTOP_SESSION'): WINDOW_MANAGER = os.environ['DESKTOP_SESSION'] else: WINDOW_MANAGER = 'generic' class PyHocaGUI_DialogBoxPassword(wx.Dialog): """\ Logon window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, profile_name, caller=None, sshproxy_auth=False): """\ Logon window (constructor) @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param profile_name: name of session profile that defines the server we authenticate against @type profile_name: C{str} @param caller: unused @type caller: C{None} @param sshproxy_auth: use (dual) SSH proxy authentication @type sshproxy_auth: C{bool} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, ) self.sshproxy_auth = sshproxy_auth self.current_profile_name = profile_name self.current_profile_config = self._PyHocaGUI.session_profiles.get_profile_config(profile_name) wx.Dialog.__init__(self, None, id=-1, title=profile_name, style=wx.DEFAULT_FRAME_STYLE, ) self._PyHocaGUI._sub_windows.append(self) if self.sshproxy_auth: self.sshproxy_started = False self.sshproxy_password = None self.SetTitle(_(u'%s (via %s)') % (profile_name, self.current_profile_config['sshproxyhost'])) self.password = None self.userLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) self.userTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) self.passwordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) self.passwordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.passwordTxt.SetFocus() self.loginBtn = wx.Button(self, wx.ID_OK, _(u'Authenticate'), ) self.loginBtn.SetDefault() _tab_order = [] # widgets if self.sshproxy_auth: self.sshProxyUserLbl = wx.StaticText(self, wx.ID_ANY, _(u'Username')+':', size=(-1, -1)) self.sshProxyUserTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(120, -1)) self.sshProxyPasswordLbl = wx.StaticText(self, wx.ID_ANY, _(u'Password')+':', size=(-1, -1)) self.sshProxyPasswordTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.sshProxyPasswordTxt.SetFocus() self.sshProxyLoginBtn = wx.Button(self, wx.ID_OK, ' '+_(u'Start SSH tunnel')+' ') self.sshProxyLoginBtn.SetDefault() _tab_order.extend([self.sshProxyUserTxt, self.sshProxyPasswordTxt, self.sshProxyLoginBtn, ]) headerWidth = max(self.userLbl.GetSize().GetWidth(), self.passwordLbl.GetSize().GetWidth()) + 150 sshProxyHeaderWidth = max(self.sshProxyUserLbl.GetSize().GetWidth(), self.sshProxyPasswordLbl.GetSize().GetWidth()) + 150 self.headerLbl = wx.StaticText(self, wx.ID_ANY, _(u'Session login')+':', size=(headerWidth, -1)) self.sshProxyHeaderLbl = wx.StaticText(self, wx.ID_ANY, _(u'SSH proxy server login')+':', size=(sshProxyHeaderWidth, -1)) self.headerLbl.SetFont(wx.Font(-1, wx.DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD, 0, "")) self.sshProxyHeaderLbl.SetFont(wx.Font(-1, wx.DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD, 0, "")) self.headerLbl.Enable(False) self.userLbl.Enable(False) self.userTxt.Enable(False) self.passwordLbl.Enable(False) self.passwordTxt.Enable(False) self.loginBtn.Enable(False) self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) _tab_order.extend([self.userTxt, self.passwordTxt, self.loginBtn, self.cancelBtn, ]) if self.sshproxy_auth: self.Bind(wx.EVT_BUTTON, self.OnLogin, self.sshProxyLoginBtn) self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.sshProxyUserTxt) self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.sshProxyPasswordTxt) self.Bind(wx.EVT_BUTTON, self.OnLogin, self.loginBtn) self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.userTxt) self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.passwordTxt) self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelBtn) btnSizer = wx.BoxSizer(wx.HORIZONTAL) if not self.sshproxy_auth: credSizer = wx.GridBagSizer(hgap=2, vgap=2) mainSizer = wx.BoxSizer(wx.VERTICAL) # sizer / layout if self.sshproxy_auth: credSizer = wx.GridBagSizer(hgap=4, vgap=2) credSizer.Add(self.sshProxyHeaderLbl, pos=(0,0), span=(1,2), flag=wx.ALL|wx.EXPAND, border=5) credSizer.Add(self.headerLbl, pos=(0,2), span=(1,2), flag=wx.ALL|wx.EXPAND, border=5) credSizer.Add(self.sshProxyUserLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.sshProxyUserTxt, pos=(1,1), flag=wx.ALL, border=5) credSizer.Add(self.userLbl, pos=(1,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.userTxt, pos=(1,3), flag=wx.ALL, border=5) else: credSizer.Add(self.userLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.userTxt, pos=(0,1), flag=wx.ALL, border=5) if self.sshproxy_auth: credSizer.Add(self.sshProxyPasswordLbl, pos=(2,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.sshProxyPasswordTxt, pos=(2,1), flag=wx.ALL, border=5) credSizer.Add(self.passwordLbl, pos=(2,2), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passwordTxt, pos=(2,3), flag=wx.ALL, border=5) else: credSizer.Add(self.passwordLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passwordTxt, pos=(1,1), flag=wx.ALL, border=5) if self.sshproxy_auth: btnSizer.Add(self.sshProxyLoginBtn, 0, wx.ALL, 5) btnSizer.Add(self.loginBtn, 0, wx.ALL, 5) btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) mainSizer.Add(credSizer, 0, wx.ALL, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) if self.current_profile_config.has_key('user'): self.userTxt.SetValue(self.current_profile_config['user']) else: self.userTxt.SetValue(self._PyHocaGUI.args.username) if self.sshproxy_auth: if self.current_profile_config.has_key('sshproxyuser'): if self.current_profile_config.has_key('sshproxysameuser') and not self.current_profile_config['sshproxysameuser']: self.sshProxyUserTxt.SetValue(self.current_profile_config['sshproxyuser']) if self.current_profile_config.has_key('user'): if self.current_profile_config.has_key('sshproxysameuser') and self.current_profile_config['sshproxysameuser']: self.sshProxyUserTxt.SetValue(self.current_profile_config['user']) # Logged in variable self.loggedIn = False self.SetSizerAndFit(mainSizer) self.Layout() for i in xrange(len(_tab_order) - 1): _tab_order[i+1].MoveAfterInTabOrder(_tab_order[i]) maxX, maxY = wx.GetDisplaySize() if self._PyHocaGUI.logon_window_position_x and self._PyHocaGUI.logon_window_position_y: # allow positioning of logon window via command line option if self._PyHocaGUI.logon_window_position_x < 0: move_x = maxX - (self.GetSize().GetWidth() + self._PyHocaGUI.logon_window_position_x) else: move_x = self._PyHocaGUI.logon_window_position_x if self._PyHocaGUI.logon_window_position_y < 0: move_y = maxX - (self.GetSize().GetHeight() + self._PyHocaGUI.logon_window_position_y) else: move_y = self._PyHocaGUI.logon_window_position_y elif (x2go.X2GOCLIENT_OS == 'Linux') and (WINDOW_MANAGER in ('gnome', 'gnome-fallback', 'awesome', 'mate', 'ubuntu', 'ubuntu-2d', 'openbox-gnome', )): # automatically place logon Window for GNOME, awesome move_x = maxX - (self.GetSize().GetWidth() + 20) move_y = 35 else: # automatically place logon Window for KDE4, LXDE, etc. move_x = maxX - (self.GetSize().GetWidth() + 20) move_y = maxY - (self.GetSize().GetHeight() + 70) self.Move((move_x, move_y)) self.Show() def OnLogin(self, evt): """\ If the user clicks ,,Ok'' in the logon window. @param evt: event @type evt: C{obj} """ username = self.userTxt.GetValue() password = self.passwordTxt.GetValue() connect_failed = False if self.sshproxy_auth: sshproxy_user = self.sshProxyUserTxt.GetValue() sshproxy_password = self.sshProxyPasswordTxt.GetValue() if len(sshproxy_user) == 0: return if len(sshproxy_password) == 0: return # in case of a host key validity check, we will disable all widgets in the window self.sshProxyHeaderLbl.Enable(False) self.sshProxyUserLbl.Enable(False) self.sshProxyUserTxt.Enable(False) self.sshProxyPasswordLbl.Enable(False) self.sshProxyPasswordTxt.Enable(False) self.sshProxyLoginBtn.Enable(False) self.cancelBtn.Enable(False) elif self.current_profile_config['sshproxysamepass']: sshproxy_user = None sshproxy_password = self.passwordTxt.GetValue() else: sshproxy_user = sshproxy_password = None if (not self.sshproxy_auth) or self.sshproxy_started: if len(username) == 0: return if len(password) == 0: return if self.sshproxy_auth and (not self.sshproxy_started): force_password_auth=False sshproxy_force_password_auth = True else: force_password_auth=True sshproxy_force_password_auth = True wx.BeginBusyCursor() session_uuid = self._PyHocaGUI._X2GoClient__client_registered_sessions_of_profile_name(self.current_profile_name)[0] try: self._PyHocaGUI._X2GoClient__connect_session(session_uuid, username=username, password=password, force_password_auth=force_password_auth, add_to_known_hosts=self._PyHocaGUI.add_to_known_hosts, sshproxy_user=sshproxy_user, sshproxy_password=sshproxy_password, sshproxy_force_password_auth=sshproxy_force_password_auth, ) if not self._PyHocaGUI._X2GoClient__server_valid_x2gouser(session_uuid): self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'User is not allowed to start X2Go sessions!'), icon='auth_error') self._PyHocaGUI.OnServerDisconnect(evt) else: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect') % self.current_profile_name, text=_(u'Authentication has been successful.'), icon='auth_success') if self._PyHocaGUI.remember_username: _sp = self._PyHocaGUI.session_profiles if username: _sp.update_value(_sp.to_profile_id(self.current_profile_name), 'user', username) if sshproxy_user: _sp.update_value(_sp.to_profile_id(self.current_profile_name), 'sshproxyuser', sshproxy_user) _sp.write_user_config = True _sp.write() except x2go.AuthenticationException: if self.sshproxy_auth and (not self.sshproxy_started): try: wx.EndBusyCursor() except: pass self.sshproxy_started = True self.headerLbl.Enable(True) self.userLbl.Enable(True) self.userTxt.Enable(True) self.passwordLbl.Enable(True) self.passwordTxt.Enable(True) self.passwordTxt.SetFocus() self.loginBtn.Enable(True) self.loginBtn.SetDefault() self.cancelBtn.Enable(True) self.sshProxyHeaderLbl.Enable(False) self.sshProxyUserLbl.Enable(False) self.sshProxyUserTxt.Enable(False) self.sshProxyPasswordLbl.Enable(False) self.sshProxyPasswordTxt.Enable(False) self.sshProxyLoginBtn.Enable(False) self.sshProxyLoginBtn.SetLabel(_(u'SSH tunnel started')) return else: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'Authentication failed!'), icon='auth_failed') connect_failed = True except x2go.X2GoSSHProxyAuthenticationException: try: wx.EndBusyCursor() except: pass self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - SSH proxy') % self.current_profile_name, text=_(u'Authentication to the SSH proxy server failed!'), icon='auth_failed') if not self.current_profile_config['sshproxysamepass']: self._PyHocaGUI.notifier.send(self.current_profile_name, context='AUTH_%s' % self.current_profile_name, timeout=4000) if self.sshproxy_auth: self.sshProxyPasswordTxt.SetValue('') self.sshProxyHeaderLbl.Enable(True) self.sshProxyUserLbl.Enable(True) self.sshProxyUserTxt.Enable(True) self.sshProxyPasswordLbl.Enable(True) self.sshProxyPasswordTxt.Enable(True) self.sshProxyLoginBtn.Enable(True) self.cancelBtn.Enable(True) return else: connect_failed = True #except gevent.dns.DNSError, e: # self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, # title=_(u'%s - DNS error') % self.current_profile_name, # text=e.strerror + '!', # icon='auth_error') # connect_failed = True except gevent.socket.error, e: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - socket error') % self.current_profile_name, text=e.strerror + '!', icon='auth_error') connect_failed = True except x2go.X2GoHostKeyException, e: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - host key error') % self.current_profile_name, text=_(u'The remote server\'s host key is invalid or has not been accepted by the user') + '!', icon='auth_error', timeout=4000) connect_failed = True except x2go.X2GoRemoteHomeException, e: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - missing home directory') % self.current_profile_name, text=_("The remote user's home directory does not exist."), icon='auth_error', timeout=4000) connect_failed = True except x2go.X2GoSSHProxyException, e: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - key error') % self.current_profile_name, text='%s!' % str(e), icon='auth_error', timeout=4000) connect_failed = True except x2go.X2GoSessionException, e: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - auth error') % self.current_profile_name, text='%s!' % str(e), icon='auth_error', timeout=4000) connect_failed = True except x2go.SSHException, e: if str(e).startswith('Host key for server ') and str(e).endswith(' does not match!'): errmsg = _('Host key verification failed. The X2Go server may have been compromised.\n\nIt is also possible that the host key has just been changed.\n\nHowever, for security reasons the connection will not be established!!!') else: errmsg = str(e) self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - SSH error') % self.current_profile_name, text='%s' % errmsg, icon='auth_error', timeout=10000) connect_failed = True except: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - unknown error') % self.current_profile_name, text=_(u'An unknown error occured during authentication!'), icon='auth_error') connect_failed = True if self._PyHocaGUI.args.debug or self._PyHocaGUI.args.libdebug or (os.environ.has_key('PYHOCAGUI_DEVELOPMENT') and os.environ['PYHOCAGUI_DEVELOPMENT'] == '1'): raise self._PyHocaGUI.notifier.send(self.current_profile_name, context='AUTH_%s' % self.current_profile_name, timeout=4000) wx.SetCursor(wx.StockCursor(wx.CURSOR_ARROW)) # Windows's GUI is more picky then Linux's GTK GUI about EndBusyCursor if cursor is not busy... try: wx.EndBusyCursor() except: pass if connect_failed and self._PyHocaGUI.exit_on_disconnect: self._PyHocaGUI.WakeUpIdle() self._PyHocaGUI.ExitMainLoop() if self._PyHocaGUI._X2GoClient__is_session_connected(session_uuid): self._PyHocaGUI._post_authenticate(evt, session_uuid) self.sshproxy_started = False try: del self._PyHocaGUI._logon_windows[self.current_profile_name] except KeyError: pass self.Close() self.Destroy() def OnCancel(self, evt): """ If the user clicks ,,Cancel'' in the logon window. @param evt: event @type evt: C{obj} """ self.Close() self.Destroy() def Destroy(self): """ Tidy up some stuff in the main application instance when the logon window gets destroyed. """ try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: pass try: self._PyHocaGUI._temp_disabled_profile_names.remove(self.current_profile_name) except ValueError: pass wx.Dialog.Destroy(self) pyhoca-gui-0.4.0.8/pyhoca/wxgui/menus_taskbar.py0000644000000000000000000016131412207147477016473 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. try: import wxversion wxversion.select('2.9') except: pass try: import wxversion wxversion.select('2.8') except: pass import os.path import wx import re import StringIO import base64 import x2go.defaults import x2go.x2go_exceptions import basepath _icons_location = basepath.icons_basepath class PyHocaGUI_Menu_TaskbarManageProfile(wx.Menu): """\ Individual profile management submenu: copy, use as template or delete session profile. """ def __init__(self, _PyHocaGUI, caller=None, profile_name=None): """\ Individual profile management submenu (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_EDITPROFILE = wx.NewId() ID_COPYPROFILE = wx.NewId() ID_EXPORTPROFILE = wx.NewId() ID_DELETEPROFILE = wx.NewId() # preparing profile_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILE] = \ self._PyHocaGUI._eventid_profilenames_map[ID_COPYPROFILE] = \ self._PyHocaGUI._eventid_profilenames_map[ID_EXPORTPROFILE] = \ self._PyHocaGUI._eventid_profilenames_map[ID_DELETEPROFILE] = profile_name self.Append(text=_(u"Edit Profile"), id=ID_EDITPROFILE) if not self._PyHocaGUI.args.single_session_profile: self.AppendSeparator() self.Append(text=_(u"Use as Template for New Profile"), id=ID_COPYPROFILE) self.AppendSeparator() self.Append(text=_(u"Export Profile"), id=ID_EXPORTPROFILE) self.Append(text=_(u"Delete Profile"), id=ID_DELETEPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEdit, id=ID_EDITPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileCopy, id=ID_COPYPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=ID_EXPORTPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileDelete, id=ID_DELETEPROFILE) class PyHocaGUI_Menu_TaskbarOptionsManager(wx.Menu): """\ Right-click menu of the L{PyHocaGUI} systray icon. """ def __init__(self, _PyHocaGUI, caller=None): """\ Client and profile management menu of L{PyHocaGUI} (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_ABOUT = wx.NewId() ID_ABOUT_PYTHONX2GO = wx.NewId() self.Append(id=ID_ABOUT, text=_(u"About %s (%s)...") % (self._PyHocaGUI.appname, self._PyHocaGUI.version)) self.Append(id=ID_ABOUT_PYTHONX2GO, text=_(u"About %s (%s)...") % ("Python X2Go", x2go.__VERSION__)) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnAbout, id=ID_ABOUT) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnAboutPythonX2Go, id=ID_ABOUT_PYTHONX2GO) if not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() if not self._PyHocaGUI.args.single_session_profile: ID_PROFILEMANAGER = wx.NewId() _maintain_profiles_item = self.AppendMenu(id=ID_PROFILEMANAGER, text=_(u"Profile Manager"), submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, caller=self, filter_profiles=[], disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True) + self._PyHocaGUI._temp_disabled_profile_names, submenu=PyHocaGUI_Menu_TaskbarManageProfile, group_menus=True, ) ) if self._PyHocaGUI.profilemanager_disabled: _maintain_profiles_item.Enable(False) else: ID_SINGLEPROFILEMANAGER = wx.NewId() _maintain_profile_item = self.AppendMenu(id=ID_SINGLEPROFILEMANAGER, text=_(u'Manage Session Profile'), submenu=PyHocaGUI_Menu_TaskbarManageProfile(self._PyHocaGUI, caller=self, profile_name=self._PyHocaGUI.args.session_profile), ) if self._PyHocaGUI.args.session_profile in self._PyHocaGUI.client_connected_profiles(return_profile_names=True): _maintain_profile_item.Enable(False) self.AppendSeparator() ID_PRINTINGPREFS = wx.NewId() _printingprefs_item = self.Append(id=ID_PRINTINGPREFS, text=_(u"Printing Preferences")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPrintingPreferences, id=ID_PRINTINGPREFS) if self._PyHocaGUI.printingprefs_disabled: _printingprefs_item.Enable(False) ID_OPTIONS = wx.NewId() _options_item = self.Append(id=ID_OPTIONS, text=_(u"Client Options")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnOptions, id=ID_OPTIONS) if self._PyHocaGUI.options_disabled: _options_item.Enable(False) self.AppendSeparator() ID_EXIT = wx.NewId() self.Append(id=ID_EXIT, text=_("E&xit")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT) class PyHocaGUI_Menu_TaskbarSessionActions(wx.Menu): """\ Session action submenu for individual sessions: start, resume, suspend, terminate etc. sessions. """ def __init__(self, _PyHocaGUI, caller=None, profile_name=None, session_name=None, session_info=None, status=None): """\ Session action submenu (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} @param session_name: X2Go session name this submenu is for @type session_name: C{str} @param session_info: session info object (C{X2GoServerSessionInfo*} from Python X2Go) @type session_info: C{obj} @param status: status of this session (R for running, S for suspended) @type status: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_RAISESESSION = wx.NewId() ID_RENAMESESSION = wx.NewId() ID_TRANSFERSESSION = wx.NewId() ID_TRANSFERSESSION_DISABLED = wx.NewId() ID_RESUMESESSION = wx.NewId() ID_RESUMESESSION_DISABLED = wx.NewId() ID_REFRESHMENU = wx.NewId() ID_SUSPENDSESSION = wx.NewId() ID_TERMINATESESSION = wx.NewId() # preparing profile_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_profilenames_map[ID_RAISESESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_RENAMESESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_TRANSFERSESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_RESUMESESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_REFRESHMENU] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SUSPENDSESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_TERMINATESESSION] = profile_name # preparing session_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_sessionnames_map[ID_RAISESESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_RENAMESESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_TRANSFERSESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_RESUMESESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_REFRESHMENU] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_SUSPENDSESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_TERMINATESESSION] = session_name _s = self._PyHocaGUI.get_session_of_session_name(session_name, return_object=True, match_profile_name=profile_name) _session_status = status if session_info is not None: _session_status = session_info.get_status() elif _s.get_session_info() is not None: _session_status = _s.get_session_info().get_status() if _s is not None and \ _s.get_session_type() in ('D', 'S') and \ _session_status == 'R' and \ not _s.is_published_applications_provider(): self.Append(text=_("Window title") + ": " + _s.get_session_title(), id=wx.NewId()) self.AppendSeparator() if _session_status == 'S': if _s is not None and _s.is_color_depth_ok(): _rs = self.Append(text=_("Resume Session"), id=ID_RESUMESESSION) else: _rs = self.Append(text=_(u"Resume Session (not possible)"), id=ID_RESUMESESSION_DISABLED) _rs.Enable(False) if session_info is not None and session_info.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name)['published']: _rs.Enable(False) elif _session_status == 'R': if not session_name in self._PyHocaGUI.client_associated_sessions_of_profile_name(profile_name, return_session_names=True): if _s is not None and _s.is_color_depth_ok(): self.Append(text=_(u"Transfer Session"), id=ID_TRANSFERSESSION) else: _ts = self.Append(text=_(u"Transfer Session (not possible)"), id=ID_TRANSFERSESSION_DISABLED) _ts.Enable(False) if not _s.is_shadow_session(): if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): _ss = self.Append(text=_(u"Suspend Session (and disconnect/exit)"), id=ID_SUSPENDSESSION) elif self._PyHocaGUI.disconnect_on_suspend and _s.has_terminal_session(): _ss = self.Append(text=_(u"Suspend Session (and disconnect)"), id=ID_SUSPENDSESSION) else: _ss = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION) if _s.is_published_applications_provider() and not self._PyHocaGUI.get_profile_config(profile_name)['published']: _ss.Enable(False) if not _s.is_shadow_session(): if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): self.Append(text=_(u"Terminate Session (and disconnect/exit)"), id=ID_SUSPENDSESSION) elif self._PyHocaGUI.disconnect_on_terminate and _s.has_terminal_session(): self.Append(text=_(u"Terminate Session (and disconnect)"), id=ID_TERMINATESESSION) else: self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION) else: if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect and _s.has_terminal_session(): self.Append(text=_(u"End Desktop Sharing (and disconnect/exit)"), id=ID_SUSPENDSESSION) elif self._PyHocaGUI.disconnect_on_terminate and _s.has_terminal_session(): self.Append(text=_(u"End Desktop Sharing (and disconnect)"), id=ID_TERMINATESESSION) else: self.Append(text=_(u"End Desktop Sharing"), id=ID_TERMINATESESSION) if _s is not None and _s.is_published_applications_provider() and self._PyHocaGUI.get_profile_config(profile_name)['published']: self.AppendSeparator() self.Append(text=_(u"Refresh menu tree"), id=ID_REFRESHMENU) if _s is not None and \ _s.get_session_type() in ('D', 'S') and \ not _s.is_published_applications_provider() and \ _session_status == 'R' and \ _s in self._PyHocaGUI.client_associated_sessions_of_profile_name(profile_name, return_objects=True): self.AppendSeparator() self.Append(text=_("Rename Session Window"), id=ID_RENAMESESSION) self.Append(text=_("Show Session Window"), id=ID_RAISESESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionFocus, id=ID_RAISESESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionRename, id=ID_RENAMESESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionResume, id=ID_RESUMESESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionResume, id=ID_TRANSFERSESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppRefreshMenu, id=ID_REFRESHMENU) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionSuspend, id=ID_SUSPENDSESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionTerminate, id=ID_TERMINATESESSION) class PyHocaGUI_Menu_TaskbarProfileSharedFolders(wx.Menu): """\ Submenu that manages folder sharing per connected session profile. """ def __init__(self, _PyHocaGUI, caller=None, profile_name=None): """\ Folder sharing submenu (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_SHARECUSTOMLOCALFOLDER = wx.NewId() ID_UNSHAREALLLOCALFOLDERS = wx.NewId() ID_REMEMBERSHAREDFOLDERS = wx.NewId() # preparing profile_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_profilenames_map[ID_SHARECUSTOMLOCALFOLDER] = \ self._PyHocaGUI._eventid_profilenames_map[ID_UNSHAREALLLOCALFOLDERS] = \ self._PyHocaGUI._eventid_profilenames_map[ID_REMEMBERSHAREDFOLDERS] = profile_name self.Append(id=ID_SHARECUSTOMLOCALFOLDER, text=_(u"&Share custom local folder")) self.AppendSeparator() self._PyHocaGUI._eventid_unshared_folders_map={} _exported_folders = self._PyHocaGUI.get_profile_config(profile_name, 'export') _shared_folders = self._PyHocaGUI._X2GoClient__profile_get_shared_folders(profile_name=profile_name, check_list_mounts=True) or [] _sharable_folders = _exported_folders.keys() _unshared_folders = [ f for f in _sharable_folders if f and f not in _shared_folders ] if _unshared_folders: self.Append(id=wx.NewId(), text=_(u'Share:')) for _unshared_folder in _unshared_folders: ID_THISFOLDER = wx.NewId() self.Append(id=ID_THISFOLDER, text=" %s" % _unshared_folder) self._PyHocaGUI._eventid_profilenames_map[ID_THISFOLDER] = profile_name self._PyHocaGUI._eventid_unshared_folders_map[ID_THISFOLDER] = _unshared_folder self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShareLocalFolder, id=ID_THISFOLDER) if _shared_folders: self.Append(id=wx.NewId(), text=_(u'Unshare:')) for _shared_folder in _shared_folders: ID_THISFOLDER = wx.NewId() self.Append(id=ID_THISFOLDER, text=" %s" % _shared_folder) self._PyHocaGUI._eventid_profilenames_map[ID_THISFOLDER] = profile_name self._PyHocaGUI._eventid_shared_folders_map[ID_THISFOLDER] = _shared_folder self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnUnshareLocalFolder, id=ID_THISFOLDER) _unshare_folders = self.Append(id=ID_UNSHAREALLLOCALFOLDERS, text=_(u"Unshare &all local folders")) if not _shared_folders: _unshare_folders.Enable(False) self.AppendSeparator() _remember_shared_folders_item = self.AppendCheckItem(id=ID_REMEMBERSHAREDFOLDERS, text=_(u"Restore shares in next session")) if not self._PyHocaGUI._remember_shared_folders.has_key(profile_name): self._PyHocaGUI._remember_shared_folders[profile_name] = self._PyHocaGUI.get_profile_config(profile_name, 'restoreexports') _remember_shared_folders_item.Check(self._PyHocaGUI._remember_shared_folders[profile_name]) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShareCustomLocalFolder, id=ID_SHARECUSTOMLOCALFOLDER) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnRememberSharedFolders, id=ID_REMEMBERSHAREDFOLDERS) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnUnshareAllLocalFolders, id=ID_UNSHAREALLLOCALFOLDERS) class PyHocaGUI_Menu_LaunchSingleApplication(wx.Menu): """\ Submenu that triggers single application launches. """ def __init__(self, _PyHocaGUI, caller=None, profile_name=None): """\ Single application launching submenu (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) current_profile_config = self._PyHocaGUI.get_profile_config(profile_name) _available_applications = { 'WWWBROWSER': _(u'Internet Browser'), 'MAILCLIENT': _(u'Email Client'), 'OFFICE': _(u'Office'), 'TERMINAL': _(u'Terminal'), } for application in current_profile_config['applications']: _app_id = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[_app_id] = profile_name self._PyHocaGUI._eventid_applications_map[_app_id] = application self.Append(id=_app_id, text=_available_applications[application]) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnApplicationStart, id=_app_id) def _generate_Menu_PublishedApplications(_PyHocaGUI, caller=None, profile_name=None, session_name=None): """\ Generate wxPython based menu tree for X2Go published applications. @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} @param session_name: X2Go session name this submenu is for @type session_name: C{str} @return: dictionary based menu tree containing wx.Menu objects for menu rendering. @rtype: C{dict} """ _lang = _PyHocaGUI.lang _pubapp_session = _PyHocaGUI.get_session_of_session_name(session_name, return_object=True, match_profile_name=profile_name) try: menu_map = _pubapp_session.get_published_applications(lang=_lang, max_no_submenus=_PyHocaGUI.args.published_applications_no_submenus) except AttributeError: menu_map = None if not menu_map or not menu_map.has_key(_lang): menu_map = { _lang: {} } if x2go.defaults.X2GOCLIENT_OS == 'Windows': _icon_size = "16x16" else: _icon_size = "22x22" _category_name_translator = { 'Multimedia': (_(u'Multimedia'), os.path.normpath('%s/PyHoca/%s/applications-multimedia.png' % (_icons_location, _icon_size), ), ), 'Development': (_(u'Development'), os.path.normpath('%s/PyHoca/%s/applications-development.png' % (_icons_location, _icon_size), ), ), 'Education': (_(u'Education'), os.path.normpath('%s/PyHoca/%s/applications-education.png' % (_icons_location, _icon_size), ), ), 'Games': (_(u'Games'), os.path.normpath('%s/PyHoca/%s/applications-games.png' % (_icons_location, _icon_size), ), ), 'Graphics': (_(u'Graphics'), os.path.normpath('%s/PyHoca/%s/applications-graphics.png' % (_icons_location, _icon_size), ), ), 'Internet': (_(u'Internet'), os.path.normpath('%s/PyHoca/%s/applications-internet.png' % (_icons_location, _icon_size), ), ), 'Office': (_(u'Office Applications'), os.path.normpath('%s/PyHoca/%s/applications-office.png' % (_icons_location, _icon_size), ), ), 'System': (_(u'System'), os.path.normpath('%s/PyHoca/%s/applications-system.png' % (_icons_location, _icon_size), ), ), 'Utilities': (_(u'Utilities'), os.path.normpath('%s/PyHoca/%s/applications-utilities.png' % (_icons_location, _icon_size), ), ), 'Other Applications': (_(u'Other Applications'), os.path.normpath('%s/PyHoca/%s/applications-other.png' % (_icons_location, _icon_size), ), ), 'TOP': ('TOP', os.path.normpath('%s/PyHoca/%s/x2go-logo-grey.png' % (_icons_location, _icon_size), ), ), } _PyHocaGUI._eventid_pubapp_execmap[profile_name] = {} _wx_menu_map = {} if menu_map[_lang].keys(): for cat in menu_map[_lang].keys(): _wx_menu_map[_category_name_translator[cat][0]] = (wx.Menu(), _category_name_translator[cat][1]) for _item in menu_map[_lang][cat]: _pubapp_id = wx.NewId() _PyHocaGUI._eventid_profilenames_map[_pubapp_id] = profile_name _PyHocaGUI._eventid_sessionnames_map[_pubapp_id] = session_name _PyHocaGUI._eventid_pubapp_execmap[profile_name][_pubapp_id] = _item['exec'] _menu_item = wx.MenuItem(_wx_menu_map[_category_name_translator[cat][0]][0], id=_pubapp_id, text=_item['name'], help=_item['comment']) if not _item['icon']: _menu_item.SetBitmap(wx.Bitmap(os.path.normpath('%s/PyHoca/%s/x2go-logo-grey.png' % (_icons_location, _icon_size)))) else: _menu_entry_icon_decoded = base64.b64decode(_item['icon']) if not re.match('^<\?(xml|XML).*version=.*encoding=.*standalone=.*\?>.*', _menu_entry_icon_decoded.split('\n')[0]): _icon_image = wx.ImageFromStream(StringIO.StringIO(_menu_entry_icon_decoded)) if x2go.defaults.X2GOCLIENT_OS == 'Windows': _icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(16,16)) else: _icon_bitmap = wx.BitmapFromImage(_icon_image.Scale(22,22)) _menu_item.SetBitmap(_icon_bitmap) _wx_menu_map[_category_name_translator[cat][0]][0].AppendItem(_menu_item) _PyHocaGUI.Bind(wx.EVT_MENU, _PyHocaGUI.OnPubAppExecution, id=_pubapp_id) return _wx_menu_map class PyHocaGUI_Menu_TaskbarSessionProfile(wx.Menu): """\ Submenu for a connected session profile. """ def __init__(self, _PyHocaGUI, caller=None, profile_name=None): """\ Session profile submenu (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param profile_name: session profile name this submenu is for @type profile_name: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_CONNECT=wx.NewId() ID_PUBAPPSESSIONSTART=wx.NewId() ID_SESSIONSTART=wx.NewId() ID_SHADOWSESSIONSTART=wx.NewId() ID_LAUNCHAPPLICATION = wx.NewId() ID_CLEANSESSIONS = wx.NewId() ID_EDITPROFILEWHILECONNECTED = wx.NewId() ID_SHARELOCALFOLDER = wx.NewId() ID_UNSHAREFOLDERS = wx.NewId() _foldersharing_disabled = False if self._PyHocaGUI.args.single_session_profile and not self._PyHocaGUI.is_session_profile(profile_name): connect = self.Append(id=ID_CONNECT, text=_(u'Connect %s') % profile_name) connect.Enable(False) else: current_profile_config = self._PyHocaGUI.get_profile_config(profile_name) if profile_name in self._PyHocaGUI._temp_disabled_profile_names: _connecting_info = self.Append(wx.NewId(), text=_(u'Currently connecting...')) _connecting_info.Enable(False) elif self._PyHocaGUI.args.single_session_profile and \ not self._PyHocaGUI.is_profile_connected(profile_name=profile_name): self._PyHocaGUI._eventid_profilenames_map[ID_CONNECT] = profile_name self.Append(id=ID_CONNECT, text=_(u'Connect %s') % profile_name) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionAuthenticate, id=ID_CONNECT) else: self._PyHocaGUI._eventid_profilenames_map[ID_SESSIONSTART] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SHADOWSESSIONSTART] = profile_name if current_profile_config['command'] in x2go.defaults.X2GO_DESKTOPSESSIONS: self.Append(id=ID_SESSIONSTART, text='%s (%s)' % (_(u"Start &new Desktop Session"), current_profile_config['command'])) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) elif current_profile_config['command'] == 'SHADOW': start_shadow_session = self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShadowSessionStart, id=ID_SHADOWSESSIONSTART) elif current_profile_config['command'] == '' and current_profile_config['published']: _pub_app_start_item = None if profile_name in self._PyHocaGUI._temp_launching_pubapp_profiles: _pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieving Application Menu...")) _pub_app_start_item.Enable(False) elif not (self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.disconnect_on_terminate): self._PyHocaGUI._eventid_profilenames_map[ID_PUBAPPSESSIONSTART] = profile_name _pub_app_start_item = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieve Application Menu")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppSessionStart, id=ID_PUBAPPSESSIONSTART) elif current_profile_config['command'] == 'RDP': self.Append(id=ID_SESSIONSTART, text=_(u"Start &new RDP Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) else: self.Append(id=ID_SESSIONSTART, text=_(u"Start &new Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) if current_profile_config['command'] == '' and current_profile_config['published']: _pubapp_sessions = [ _pas for _pas in self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True) if _pas.is_running() ] if _pubapp_sessions: _pubapp_session = _pubapp_sessions[0] if _pub_app_start_item is not None: _pub_app_start_item.Enable(False) _foldersharing_disabled = _session_name_disabled = self._PyHocaGUI.is_session_name_disabled(profile_name, _pubapp_session.get_session_name()) _category_map = _generate_Menu_PublishedApplications(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pubapp_session.get_session_name()) _category_names = _category_map.keys() _category_names.sort() if (not self._PyHocaGUI.restricted_trayicon and not (self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.disconnect_on_terminate)) or (profile_name in self._PyHocaGUI._temp_launching_pubapp_profiles and _category_names): self.AppendSeparator() for cat_name in [ _cn for _cn in _category_names if _cn != 'TOP' ]: _submenu = self.AppendMenu(id=wx.NewId(), text=cat_name, submenu=_category_map[cat_name][0]) _submenu.SetBitmap(wx.Bitmap(_category_map[cat_name][1])) if _session_name_disabled: _submenu.Enable(False) if 'TOP' in _category_names: for _menu_item in _category_map['TOP'][0].GetMenuItems(): _item = self.AppendItem(item=_menu_item) if _session_name_disabled: _item.Enable(False) if _category_names: self.AppendSeparator() ID_RESUMESESSION = wx.NewId() ID_REFRESHMENU = wx.NewId() ID_SUSPENDSESSION = wx.NewId() ID_TERMINATESESSION = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[ID_RESUMESESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_REFRESHMENU] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SUSPENDSESSION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_TERMINATESESSION] = profile_name self._PyHocaGUI._eventid_sessionnames_map[ID_RESUMESESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_REFRESHMENU] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_SUSPENDSESSION] = \ self._PyHocaGUI._eventid_sessionnames_map[ID_TERMINATESESSION] = _pubapp_session.get_session_name() if _pubapp_session.is_running(): _refresh_menu_item = self.Append(text=_(u"Refresh menu tree"), id=ID_REFRESHMENU) self.AppendSeparator() if self._PyHocaGUI.disconnect_on_suspend and self._PyHocaGUI.exit_on_disconnect and _pubapp_session.has_terminal_session(): _suspend_item = self.Append(text=_(u"Suspend Session (and disconnect/exit)"), id=ID_SUSPENDSESSION) elif self._PyHocaGUI.disconnect_on_suspend and _pubapp_session.has_terminal_session(): _suspend_item = self.Append(text=_(u"Suspend Session (and disconnect)"), id=ID_SUSPENDSESSION) else: _suspend_item = self.Append(text=_(u"Suspend Session"), id=ID_SUSPENDSESSION) if _session_name_disabled: _refresh_menu_item.Enable(False) _suspend_item.Enable(False) elif _pubapp_session.is_suspended(): _resume_item = self.Append(text=_(u"Resume Session"), id=ID_RESUMESESSION) if _session_name_disabled: _resume_item.Enable(False) if self._PyHocaGUI.disconnect_on_terminate and self._PyHocaGUI.exit_on_disconnect and _pubapp_session.has_terminal_session(): _terminate_item = self.Append(text=_(u"Terminate Session (and disconnect/exit)"), id=ID_TERMINATESESSION) elif self._PyHocaGUI.disconnect_on_terminate and _pubapp_session.has_terminal_session(): _terminate_item = self.Append(text=_(u"Terminate Session (and disconnect)"), id=ID_TERMINATESESSION) else: _terminate_item = self.Append(text=_(u"Terminate Session"), id=ID_TERMINATESESSION) if _session_name_disabled: _terminate_item.Enable(False) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionResume, id=ID_RESUMESESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppRefreshMenu, id=ID_REFRESHMENU) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionSuspend, id=ID_SUSPENDSESSION) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionTerminate, id=ID_TERMINATESESSION) else: # preparing profile_name information for the main PyHocaGUI instance self._PyHocaGUI._eventid_profilenames_map[ID_LAUNCHAPPLICATION] = \ self._PyHocaGUI._eventid_profilenames_map[ID_CLEANSESSIONS] = profile_name if current_profile_config['applications'] and current_profile_config['command'] in x2go.defaults.X2GO_DESKTOPSESSIONS.keys() and not current_profile_config['published']: self.AppendSeparator() self.AppendMenu(id=ID_LAUNCHAPPLICATION, text=_(u"Launch Single Application"), submenu=PyHocaGUI_Menu_LaunchSingleApplication(self._PyHocaGUI, caller=self, profile_name=profile_name) ) if current_profile_config['command'] != 'SHADOW' and not self._PyHocaGUI.restricted_trayicon: self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShadowSessionStart, id=ID_SHADOWSESSIONSTART) if current_profile_config['published']: if not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() _pubapp_session = None _pubapp_sessions = [ _pas for _pas in self._PyHocaGUI.client_pubapp_sessions_of_profile_name(profile_name, return_objects=True) if _pas.is_running() ] if _pubapp_sessions: _pubapp_session = _pubapp_sessions[0] if _pubapp_session and _pubapp_session.is_running(): _session_name_disabled = self._PyHocaGUI.is_session_name_disabled(profile_name, _pubapp_session.get_session_name()) _category_map = _generate_Menu_PublishedApplications(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pubapp_session.get_session_name()) _category_names = _category_map.keys() _category_names.sort() for cat_name in [ _cn for _cn in _category_names if _cn != 'TOP' ]: _submenu = self.AppendMenu(id=wx.NewId(), text=cat_name, submenu=_category_map[cat_name][0]) _submenu.SetBitmap(wx.Bitmap(_category_map[cat_name][1])) if _session_name_disabled: _submenu.Enable(False) if 'TOP' in _category_names: for _menu_item in _category_map['TOP'][0].GetMenuItems(): _item = self.AppendItem(item=_menu_item) if _session_name_disabled: _item.Enable(False) self.AppendSeparator() _marker = '' _status = None if _pubapp_session.is_master_session(): _marker = '(*)' if _pubapp_session.is_running(): _status = 'R' elif _pubapp_session.is_suspended(): _status = 'S' if _status: _submenu = self.AppendMenu(id=wx.NewId(), text=_(u'Manage Application Menu')+' %s' % _marker, submenu=PyHocaGUI_Menu_TaskbarSessionActions(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=_pubapp_session.get_session_name(), status=_status, ) ) if _session_name_disabled: _submenu.Enable(False) else: self._PyHocaGUI._eventid_profilenames_map[ID_PUBAPPSESSIONSTART] = profile_name if profile_name in self._PyHocaGUI._temp_launching_pubapp_profiles: _ram = self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieving Application Menu...")) _ram.Enable(False) else: self.Append(id=ID_PUBAPPSESSIONSTART, text=_(u"Retrieve Application Menu")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnPubAppSessionStart, id=ID_PUBAPPSESSIONSTART) _query_session_uuid = self._PyHocaGUI.client_connected_sessions_of_profile_name(profile_name, return_objects=False)[0] _session_list = self._PyHocaGUI.list_sessions(_query_session_uuid) _session_list_names = [] if _session_list: # newest sessions at the top if current_profile_config['published']: _session_list_names = [ _s_name for _s_name in _session_list.keys() if not _session_list[_s_name].is_published_applications_provider() ] else: _session_list_names = _session_list.keys() _session_list_names.reverse() if _session_list_names: _session_list_matching_profile = [] for session_name in _session_list_names: session = self._PyHocaGUI.get_session_of_session_name(session_name, return_object=True, match_profile_name=profile_name) if not session: continue else: _session_list_matching_profile.append(session) if _session_list_matching_profile: self.AppendSeparator() for session in _session_list_matching_profile: session_name = session.get_session_name() _s_id = wx.NewId() if _session_list[session_name].get_status() == 'R': state = _(u'Running') elif _session_list[session_name].get_status() == 'S': state = _(u'Suspended') _marker = '' if session and session.is_master_session(): _marker = '(*)' if session: session_submenu = self.AppendMenu(id=_s_id, text=u'%s: »%s« %s' % (state, session_name, _marker), submenu=PyHocaGUI_Menu_TaskbarSessionActions(self._PyHocaGUI, caller=self, profile_name=profile_name, session_name=session_name, session_info=_session_list[session_name], ) ) if self._PyHocaGUI._temp_disabled_session_names.has_key(profile_name) and session_name in self._PyHocaGUI._temp_disabled_session_names[profile_name]: session_submenu.Enable(False) # redefine list of session names to decide if the clean all session menu item is not be shown _session_list_names = [ _s.get_session_name() for _s in _session_list_matching_profile if not _session_list[_s.get_session_name()].is_published_applications_provider() ] if _session_list_names: self.Append(id=ID_CLEANSESSIONS, text=_(u"&Clean all sessions")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnCleanSessions, id=ID_CLEANSESSIONS) if not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"Customize &profile")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEditWhileConnected, id=ID_EDITPROFILEWHILECONNECTED) self._PyHocaGUI._eventid_profilenames_map[ID_EDITPROFILEWHILECONNECTED] = \ self._PyHocaGUI._eventid_profilenames_map[ID_SHARELOCALFOLDER] = \ self._PyHocaGUI._eventid_profilenames_map[ID_UNSHAREFOLDERS] = profile_name if current_profile_config['useexports'] and \ self._PyHocaGUI._X2GoClient__profile_is_folder_sharing_available(profile_name=profile_name) and \ self._PyHocaGUI.get_master_session(profile_name) is not None and \ self._PyHocaGUI.is_session_name_enabled(profile_name, self._PyHocaGUI.get_master_session(profile_name).get_session_name()): if self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() _shared_folders = self.AppendMenu(id=ID_SHARELOCALFOLDER, text=_(u"Shared &folders"), submenu=PyHocaGUI_Menu_TaskbarProfileSharedFolders(self._PyHocaGUI, caller=self, profile_name=profile_name) ) if not self._PyHocaGUI.get_master_session(profile_name=profile_name) or _foldersharing_disabled: _shared_folders.Enable(False) if profile_name in self._PyHocaGUI.client_connected_profiles(return_profile_names=True) and not self._PyHocaGUI.restricted_trayicon: self.AppendSeparator() ID_SERVERINFO = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[ID_SERVERINFO] = profile_name self.Append(id=ID_SERVERINFO, text=_(u"Server Information")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnViewServerInformation, id=ID_SERVERINFO) if profile_name in self._PyHocaGUI.client_connected_profiles(return_profile_names=True) and not self._PyHocaGUI.exit_on_disconnect: self.AppendSeparator() ID_DISCONNECT = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[ID_DISCONNECT] = profile_name self.Append(id=ID_DISCONNECT, text=_(u"&Disconnect from Server")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnServerDisconnect, id=ID_DISCONNECT) if self._PyHocaGUI.args.single_session_profile: ID_EXIT = wx.NewId() if self._PyHocaGUI.client_running_sessions_of_profile_name(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.exit_on_disconnect and not self._PyHocaGUI.disconnect_on_suspend: self.AppendSeparator() self.Append(id=ID_EXIT, text=_(u"Suspend Session and E&xit application")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT) elif self._PyHocaGUI.is_profile_connected(profile_name=self._PyHocaGUI.args.session_profile) and self._PyHocaGUI.exit_on_disconnect and not self._PyHocaGUI.disconnect_on_suspend: self.AppendSeparator() self.Append(id=ID_EXIT, text=_(u"Disconnect and E&xit application")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT) elif not self._PyHocaGUI.exit_on_disconnect and not (self._PyHocaGUI.disconnect_on_suspend or self._PyHocaGUI.disconnect_on_terminate): self.AppendSeparator() self.Append(id=ID_EXIT, text=_(u"E&xit")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT) class PyHocaGUI_Menu_TaskbarProfileNames(wx.Menu): """\ Render a (recursive) menu subtree that contains a cascaded menu tree of all session profile names. If session profile names contain '/' as a separator character then those session profile names will be rendered in a tree-like fashion. """ def __init__(self, _PyHocaGUI, caller=None, sub_profile_items=[], filter_profiles=[], disabled_profiles=[], bind_method=None, submenu=None, group_menus=True, group_name='', parent_group=''): """\ Session profile name (recursive) menu subtree @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} @param sub_profile_items: on recursion this argument contains those session profile names that will be rendered for this session profile subtree @type sub_profile_items: C{list} @param filter_profiles: allow filtering of profile names (hiding certain session profiles) @type filter_profiles: C{list} @param disabled_profiles: session profile names that get greyed out in the menu tree @type disabled_profiles: C{list} @param bind_method: if session profile names are menu items this argument names the Python method that menu items will bind to @type bind_method: C{method} @param submenu: if session profile names are submenus this argument names the wx.Menu class that handles the submenu rendering @type submenu: C{class} @param group_menus: group session profile names in submenus (i.e. switch on recursion mode) @type group_menus: C{bool} @param group_name: on recursion, this argument names the parent menu folder of the current submenu @type group_name: C{str} @param parent_group: on recursion, the parent group of C{group_name} @type parent_group: C{str} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) if type(caller) == PyHocaGUI_Menu_TaskbarOptionsManager: ID_ADDPROFILE = wx.NewId() self.Append(id=ID_ADDPROFILE, text=_(u"Add Profile")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileAdd, id=ID_ADDPROFILE) self.AppendSeparator() if sub_profile_items: _profile_names = sub_profile_items else: _profile_names = self._PyHocaGUI.session_profiles.profile_names _profile_names.sort() _profile_groups = [] if group_menus: _parent_group = group_name # grouping of session profile menus for profile_name in _profile_names: if len(profile_name.split('/')) >= 2: _group_name = profile_name.split('/')[0] if not _group_name in _profile_groups: _profile_groups.append(_group_name) _profile_groups.sort() for profile_group in _profile_groups: _sub_profile_items = [] for profile_name in [ p for p in _profile_names if p.startswith('%s/' % profile_group) ]: _sub_profile_name = "/".join(profile_name.split('/')[1:]) _sub_profile_items.append(_sub_profile_name) filter_profiles.append(profile_name) _this_id = wx.NewId() self.AppendMenu(text=profile_group, id=_this_id, submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, caller=self, sub_profile_items=_sub_profile_items, filter_profiles=[], disabled_profiles=disabled_profiles, submenu=submenu, bind_method=bind_method, group_name=profile_group, parent_group=_parent_group, group_menus=True) ) if filter_profiles: _profile_names = [ p for p in _profile_names if p not in filter_profiles ] for profile_name in _profile_names: if group_name: if parent_group: _real_profile_name = '%s/%s/%s' % (parent_group, group_name, profile_name) else: _real_profile_name = '%s/%s' % (group_name, profile_name) _show_profile_name = profile_name else: _real_profile_name = profile_name _show_profile_name = profile_name _this_id = wx.NewId() self._PyHocaGUI._eventid_profilenames_map[_this_id] = _real_profile_name _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (_show_profile_name, self._PyHocaGUI.get_profile_metatype(_real_profile_name)) or _show_profile_name if submenu is not None: _sub = self.AppendMenu(text=_menu_profile_name, id=_this_id, submenu=submenu(self._PyHocaGUI, caller=self, profile_name=_real_profile_name)) if disabled_profiles and _real_profile_name in disabled_profiles: _sub.Enable(False) else: _item = self.Append(text=_menu_profile_name, id=_this_id) if disabled_profiles and _real_profile_name in disabled_profiles: _item.Enable(False) if bind_method is not None: self._PyHocaGUI.Bind(wx.EVT_MENU, bind_method, id=_this_id) self._PyHocaGUI.Bind(wx.EVT_UPDATE_UI, self.OnUpdateUI, id=_this_id) if not group_name and (not _profile_groups and not _profile_names) and not filter_profiles: _dummy = self.Append(text=_(u'No session profiles defined'), id=wx.NewId()) _dummy.Enable(False) else: if bind_method is None: self.AppendSeparator() _export_id = wx.NewId() _export_group_name = "%s/%s" % (parent_group, group_name) _export_group_name = _export_group_name.strip("/") self._PyHocaGUI._eventid_exportprofiles_map[_export_id] = _export_group_name if not group_name: self.Append(text=_(u'Export all Profiles'), id=_export_id) else: self.Append(text=_(u'Export Profile Group'), id=_export_id) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=_export_id) if bind_method is None and not group_name: _import_id = wx.NewId() self.AppendSeparator() self.Append(text=_(u'Import Session Profiles'), id=_import_id) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileImport, id=_import_id) def OnUpdateUI(self, evt): profile_name = self._PyHocaGUI._eventid_profilenames_map[evt.GetId()] if profile_name in self._PyHocaGUI._temp_disabled_profile_names: self._pyhoca_logger('Updating UI, temporarily disabling session profile %s' % profile_name) self.Enable(id=evt.GetId(), enable=False) elif profile_name not in self._PyHocaGUI._temp_disabled_profile_names and profile_name not in self._PyHocaGUI.client_connected_sessions(return_profile_names=True): self._pyhoca_logger('Updating UI, re-enabling session profile %s' % profile_name) self.Enable(id=evt.GetId(), enable=True) class PyHocaGUI_Menu_TaskbarSessionManager(wx.Menu): """\ Right-click menu of the L{PyHocaGUI} systray icon. """ def __init__(self, _PyHocaGUI, caller=None): """\ Session management menu of L{PyHocaGUI} (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param caller: unused @type caller: C{None} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger wx.Menu.__init__(self) ID_AUTHENTICATE = wx.NewId() ID_EXIT = wx.NewId() _auth_menu_text = _(u'Connect Server') self.AppendMenu(id=ID_AUTHENTICATE, text=_auth_menu_text, submenu=PyHocaGUI_Menu_TaskbarProfileNames(self._PyHocaGUI, caller=self, filter_profiles=[], disabled_profiles=self._PyHocaGUI.client_connected_profiles(return_profile_names=True) + self._PyHocaGUI._temp_disabled_profile_names, bind_method=self._PyHocaGUI.OnSessionAuthenticate)) self.AppendSeparator() _profile_names = self._PyHocaGUI.session_profiles.profile_names _profile_names.sort() _connected_sessions = False for profile_name in _profile_names: if profile_name in self._PyHocaGUI._X2GoClient__client_connected_sessions(return_profile_names=True): _connected_sessions = True _this_id = wx.NewId() _menu_profile_name = self._PyHocaGUI.show_profile_metatypes and '%s (%s)' % (profile_name, self._PyHocaGUI.get_profile_metatype(profile_name)) or profile_name try: self.AppendMenu(text=_menu_profile_name, id=_this_id, submenu=PyHocaGUI_Menu_TaskbarSessionProfile(self._PyHocaGUI, caller=self, profile_name=profile_name)) except x2go.x2go_exceptions.X2GoSessionRegistryException: pass if _connected_sessions: self.AppendSeparator() self.Append(id=ID_EXIT, text=_(u"E&xit")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnTaskbarExit, id=ID_EXIT) pyhoca-gui-0.4.0.8/pyhoca/wxgui/messages.py0000644000000000000000000003177212207147477015450 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010 by Mike Gabriel # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # Contributors to the code of this programme: # Dick Kniep import wx import os # PyHoca-GUI modules import basepath # X2Go modules from x2go.defaults import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER _icons_location = basepath.icons_basepath class PyHoca_MessageWindow(wx.Dialog): """\ A simple message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon=None, buttontype='ok', profile_name=None, session_name=None): """\ L{PyHocaGUI} message window. @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param buttontype: button types can be: C{ok}, C{okcancel}, C{cancelok}, C{yesno}, and C{noyes} @type buttontype: C{str} @param profile_name: session profile name of the profile this message box refers to @type profile_name: C{str} @param session_name: X2Go session name of the session this message box refers to @type session_name: C{str} """ self._PyHocaGUI = _PyHocaGUI try: wx.EndBusyCursor() except: pass self._pyhoca_messages = { 'REALLY_DELETE_PROFILE': _(u'Are you really sure you want to\ndelete the session profile ,,%s\'\'?') % profile_name, 'ALREADY_RUNNING': _(u'PyHoca-GUI is already running for user ,,%s\'\'!\n\nOnly one instance of PyHoca-GUI can be started per\nuser. The PyHoca-GUI icon can be found in your desktops\'s\nnotification area/systray.') % _CURRENT_LOCAL_USER } if shortmsg is None: show_message = msg elif shortmsg in self._pyhoca_messages.keys(): show_message = self._pyhoca_messages[shortmsg] else: show_message = 'No message has been given...' self.show_message = show_message self.result = None try: if parent is None: parent = self._PyHocaGUI.about except AttributeError: pass wx.Dialog.__init__(self, parent, wx.ID_ANY, ) self.SetTitle('%s' % title) if icon: path_to_icon = os.path.normpath('%s/PyHoca/64x64/%s.png' % (_icons_location, icon)) self.icon = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(path_to_icon, wx.BITMAP_TYPE_ANY)) self.message = wx.StaticText(self, wx.ID_ANY, self.show_message, size=(-1, -1), style=wx.ALIGN_LEFT) btnSizer = wx.BoxSizer(wx.HORIZONTAL) msgSizer = wx.BoxSizer(wx.HORIZONTAL) mainSizer = wx.BoxSizer(wx.VERTICAL) if buttontype in ('yesno', 'noyes'): self.yesBtn = wx.Button(self, wx.ID_ANY, _(u'Yes'),) self.noBtn = wx.Button(self, wx.ID_ANY, _(u'No')) self.Bind(wx.EVT_BUTTON, self.OnTrue, self.yesBtn) self.Bind(wx.EVT_BUTTON, self.OnFalse, self.noBtn) btnSizer.Add(self.yesBtn, flag=wx.ALL, border=5) btnSizer.Add(self.noBtn, flag=wx.ALL, border=5) if buttontype == 'yesno': self.yesBtn.SetDefault() self.yesBtn.SetFocus() elif buttontype == 'noyes': self.noBtn.SetDefault() self.noBtn.SetFocus() if buttontype in ('ok', 'okcancel', 'cancelok'): self.okBtn = wx.Button(self, wx.ID_ANY, _(u'Ok'),) self.Bind(wx.EVT_BUTTON, self.OnTrue, self.okBtn) btnSizer.Add(self.okBtn, flag=wx.ALL, border=5) if buttontype in ('okcancel', 'cancelok'): self.cancelBtn = wx.Button(self, wx.ID_ANY, _(u'Cancel')) self.Bind(wx.EVT_BUTTON, self.OnFalse, self.cancelBtn) btnSizer.Add(self.cancelBtn, flag=wx.ALL, borde=5) if buttontype in ('ok', 'okcancel'): self.okBtn.SetDefault() self.okBtn.SetFocus() if buttontype == 'cancelok': self.cancelBtn.SetDefault() self.cancelBtn.SetFocus() if icon: msgSizer.Add(self.icon, flag=wx.RIGHT, border=15) msgSizer.Add(self.message, flag=wx.ALL, border=0) mainSizer.Add(msgSizer, flag=wx.ALL, border=10) mainSizer.Add(btnSizer, flag=wx.ALL|wx.ALIGN_RIGHT, border=5) self.SetSizerAndFit(mainSizer) self.Layout() maxX, maxY = wx.GetDisplaySize() self.Move((maxX/2 - self.GetSize().GetWidth()/2, maxY/2 - self.GetSize().GetHeight()/2)) try: self._PyHocaGUI._sub_windows.append(self) except AttributeError: pass def OnTrue(self, evt): """\ Gets called if the user clicks on ,,Yes'' or ,,Ok''. @param evt: event @type evt: C{obj} """ self.result = True self.Hide() def OnFalse(self, evt): """\ Gets called if the user clicks on ,,No'' or ,,Cancel''. @param evt: event @type evt: C{obj} """ self.result = False self.Hide() def Ok(self): """\ Evaluate the result what the user chose in the message window. @return: C{True}, if ,,Ok'' had been chosen @rtype: C{bool} """ return self.Yes() def Cancel(self): """\ Evaluate the result what the user chose in the message window. @return: C{True}, if ,,Cancel'' had been chosen @rtype: C{bool} """ return not self.No() def Yes(self): """\ Evaluate the result what the user chose in the message window. @return: C{True}, if ,,Yes'' had been chosen @rtype: C{bool} """ return self.result def No(self): """\ Evaluate the result what the user chose in the message window. @return: C{True}, if ,,No'' had been chosen @rtype: C{bool} """ return not self.Yes() def Hide(self): """\ When hiding the message box, remove it from the list of open windows in the main application instance. """ try: self._PyHocaGUI._sub_windows.remove(self) except AttributeError: pass self.Show(False) class PyHoca_MessageWindow_Ok(PyHoca_MessageWindow): """\ A simple ,,Ok'' message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon='session_warning', **kwargs): """\ @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param kwargs: any other optional argument (will be ignored) @type kwargs: C{dict} """ PyHoca_MessageWindow.__init__(self, _PyHocaGUI, parent=parent, title=title, shortmsg=shortmsg, msg=msg, icon=icon, buttontype='ok', **kwargs) class PyHoca_MessageWindow_OkCancel(PyHoca_MessageWindow): """\ A simple ,,Ok+Cancel'' (default: Ok) message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon='session_warning', **kwargs): """\ @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param kwargs: any other optional argument (will be ignored) @type kwargs: C{dict} """ PyHoca_MessageWindow.__init__(self, _PyHocaGUI, parent=parent, title=title, shortmsg=shortmsg, msg=msg, icon=icon, buttontype='okcancel', **kwargs) class PyHoca_MessageWindow_CancelOk(PyHoca_MessageWindow): """\ A simple ,,Ok+Cancel'' (default: Cancel) message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon='session_warning', **kwargs): """\ @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param kwargs: any other optional argument (will be ignored) @type kwargs: C{dict} """ PyHoca_MessageWindow.__init__(self, _PyHocaGUI, parent=parent, title=title, shortmsg=shortmsg, msg=msg, icon=icon, buttontype='cancelok', **kwargs) class PyHoca_MessageWindow_YesNo(PyHoca_MessageWindow): """\ A simple ,,Yes+No'' (default: Yes) message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon='session_warning', **kwargs): """\ @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param kwargs: any other optional argument (will be ignored) @type kwargs: C{dict} """ PyHoca_MessageWindow.__init__(self, _PyHocaGUI, parent=parent, title=title, shortmsg=shortmsg, msg=msg, icon=icon, buttontype='yesno', **kwargs) class PyHoca_MessageWindow_NoYes(PyHoca_MessageWindow): """\ A simple ,,Yes+No'' (default: No) message window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, parent=None, title=None, shortmsg=None, msg=None, icon='session_warning', **kwargs): """\ @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} @param parent: the parent (calling) object @type parent: C{obj} @param title: window title @type title: C{str} @param shortmsg: a short string that refers to a pre-defined message (hard-coded in this class) @type shortmsg: C{str} @param msg: the message to be shown in this message box (alternative to C{shortmsg}) @type msg: C{str} @param icon: icon name for an icon to be shown left of the text in this message box @type icon: C{str} @param kwargs: any other optional argument (will be ignored) @type kwargs: C{dict} """ PyHoca_MessageWindow.__init__(self, _PyHocaGUI, parent=parent, title=title, shortmsg=shortmsg, msg=msg, icon=icon, buttontype='noyes', **kwargs) pyhoca-gui-0.4.0.8/pyhoca/wxgui/notify.py0000644000000000000000000003651312207147477015147 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. import wx from x2go import X2GOCLIENT_OS from x2go import log if X2GOCLIENT_OS in ('Linux', 'Mac'): import pynotify import exceptions import basepath from taskbar import MakeIcon import x2go.utils as utils _icons_location = basepath.icons_basepath class NotSupportedException(exceptions.StandardError): pass class PyHocaNotificationException(exceptions.StandardError): pass class libnotify_NotifierPopup(object): """\ L{PyHocaGUI} notification utilizing C{libnotify}, used on Linux/Unix OS. """ title = {} text = {} icon = {} timeout = {} def __init__(self, _PyHocaGUI): """\ Notifier popup (constructor). @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger if not pynotify.init("PyHocaGUI"): raise NotSupportedException def prepare(self, context, title=None, text=None, icon=None, timeout=None): """\ Prepare a notification that gets sent to C{libnotify} later (by the L{send()} method). Use C{context} as a unique identifier. When sending the notification later, C{context} will unequivocally map to the notification content that shall get sent. @param context: a unique identifier for this notification preparation @type context: C{str} @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} """ if title is not None: self.title[context] = title if text is not None: self.text[context] = text if icon is not None: self.icon[context] = icon if timeout is not None: self.timeout[context] = timeout def send(self, title=None, text=None, context=None, icon=None, timeout=8000): """\ Send notifications directly (or use a prepared notification). @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param context: an identifier that refers to a prepared notification @type context: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} @raise PyHocaNotificationException: if notification failed """ if context is not None: try: title = self.title[context] del self.title[context] except KeyError: pass try: text = self.text[context] del self.text[context] except KeyError: pass try: icon = self.icon[context] del self.icon[context] except KeyError: pass try: timeout = self.timeout[context] del self.timeout[context] except KeyError: pass icon = 'file://%s/PyHoca/32x32/%s.png' % (_icons_location, icon) self._pyhoca_logger('[%s] %s' % (title.encode(utils.get_encoding()), text.encode(utils.get_encoding())), loglevel=log.loglevel_NOTICE) if not self._PyHocaGUI.disable_notifications: n = pynotify.Notification(title, text, icon) n.set_urgency(pynotify.URGENCY_NORMAL) n.set_timeout(timeout) if not n.show(): raise PyHocaNotificationException('could not notify user') def Close(self): """\ Provide a C{Close()} method which does nothing. """ pass def Destroy(self): """\ Provide a C{Destroy()} method which does nothing. """ pass class showballoon_NotifierPopup(object): """\ L{PyHocaGUI} notification utilizing C{wx.TaskBarIcon.ShowBalloon()}, used on Windows OS. """ title = {} text = {} icon = {} timeout = {} def __init__(self, _about): """\ Notifier popup (constructor). @param _about: main application window @type _about: C{obj} """ self._PyHocaGUI = _about._PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger def prepare(self, context, title=None, text=None, icon=None, timeout=None): """\ Prepare a notification that gets sent to C{libnotify} later (by the L{send()} method). Use C{context} as a unique identifier. When sending the notification later, C{context} will unequivocally map to the notification content that shall get sent. @param context: a unique identifier for this notification preparation @type context: C{str} @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} """ if title is not None: self.title[context] = title if text is not None: self.text[context] = text if icon is not None: self.icon[context] = icon if timeout is not None: self.timeout[context] = timeout def send(self, title=None, text=None, context=None, icon=None, timeout=8000): """\ Send notifications directly (or use a prepared notification). @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param context: an identifier that refers to a prepared notification @type context: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} """ if context is not None: try: title = self.title[context] del self.title[context] except KeyError: pass try: text = self.text[context] del self.text[context] except KeyError: pass try: icon = self.icon[context] del self.icon[context] except KeyError: pass try: timeout = self.timeout[context] del self.timeout[context] except KeyError: pass # libnotify timeouts are given in millisecs, on Windows we use seconds... timeout = timeout / 1000 _icon_map_wx = { 'audio_error': wx.ICON_ERROR, 'auth_success': wx.ICON_INFORMATION, 'auth_failed': wx.ICON_WARNING, 'auth_error': wx.ICON_ERROR, 'auth_disconnect': wx.ICON_INFORMATION, 'profile_add': wx.ICON_INFORMATION, 'profile_delete': wx.ICON_INFORMATION, 'profile_edit': wx.ICON_INFORMATION, 'profile_save': wx.ICON_INFORMATION, 'profile_error': wx.ICON_ERROR, 'session_cleanall': wx.ICON_INFORMATION, 'session_error': wx.ICON_ERROR, 'session_pause': wx.ICON_INFORMATION, 'session_printing': wx.ICON_INFORMATION, 'session_resume': wx.ICON_INFORMATION, 'session_start': wx.ICON_INFORMATION, 'session_terminate': wx.ICON_INFORMATION, 'session_warning': wx.ICON_WARNING, } if icon in _icon_map_wx.keys(): icon = _icon_map_wx[icon] else: icon = wx.ICON_INFORMATION try: if not self._PyHocaGUI.disable_notifications: # you will need wxPython >= 2.9 for this self._PyHocaGUI.taskbar.ShowBalloon( title, text, timeout*1000, icon, ) except: pass # on Windows some error messages are already encoded, some are not, depending from which module they come try: _title = title.encode(utils.get_encoding()) except: _title = title try: _text = text.encode(utils.get_encoding()) except: _text = text try: self._pyhoca_logger('['+_title+'] '+_text, loglevel=log.loglevel_NOTICE) except UnicodeDecodeError: self._pyhoca_logger('Unicode error occurred while rendering a log message...', loglevel=log.loglevel_WARN) def Close(self): """\ Provide a C{Close()} method which does nothing. """ pass def Destroy(self): """\ Provide a C{Destroy()} method which does nothing. """ pass class notificationmessage_NotifierPopup(object): """\ L{PyHocaGUI} notification utilizing C{wx.NotificationMessage()}, used on Windows OS. Note: C{wx.NotificationMessage()} has only been added to wxPython in version 2.9.x. """ title = {} text = {} icon = {} timeout = {} def __init__(self, _about): """\ Notifier popup (constructor). @param _about: main application window @type _about: C{obj} """ self._PyHocaGUI = _about._PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger def prepare(self, context, title=None, text=None, icon=None, timeout=None): """\ Prepare a notification that gets sent to C{libnotify} later (by the L{send()} method). Use C{context} as a unique identifier. When sending the notification later, C{context} will unequivocally map to the notification content that shall get sent. @param context: a unique identifier for this notification preparation @type context: C{str} @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} """ if title is not None: self.title[context] = title if text is not None: self.text[context] = text if icon is not None: self.icon[context] = icon if timeout is not None: self.timeout[context] = timeout def send(self, title=None, text=None, context=None, icon=None, timeout=8000): """\ Send notifications directly (or use a prepared notification). @param title: notification title @type title: C{str} @param text: notification text @type text: C{str} @param context: an identifier that refers to a prepared notification @type context: C{str} @param icon: icon name for an icon that appears with the notification @type icon: C{str} @param timeout: let notification disappear after C{} milliseconds @type timeout: C{int} """ if context is not None: try: title = self.title[context] del self.title[context] except KeyError: pass try: text = self.text[context] del self.text[context] except KeyError: pass try: icon = self.icon[context] del self.icon[context] except KeyError: pass try: timeout = self.timeout[context] del self.timeout[context] except KeyError: pass # libnotify timeouts are given in millisecs, on Windows we use seconds... timeout = timeout / 1000 _icon_map_wx = { 'audio_error': wx.ICON_ERROR, 'auth_success': wx.ICON_INFORMATION, 'auth_failed': wx.ICON_WARNING, 'auth_error': wx.ICON_ERROR, 'auth_disconnect': wx.ICON_INFORMATION, 'profile_add': wx.ICON_INFORMATION, 'profile_delete': wx.ICON_INFORMATION, 'profile_edit': wx.ICON_INFORMATION, 'profile_save': wx.ICON_INFORMATION, 'profile_error': wx.ICON_ERROR, 'session_cleanall': wx.ICON_INFORMATION, 'session_error': wx.ICON_ERROR, 'session_pause': wx.ICON_INFORMATION, 'session_printing': wx.ICON_INFORMATION, 'session_resume': wx.ICON_INFORMATION, 'session_start': wx.ICON_INFORMATION, 'session_terminate': wx.ICON_INFORMATION, 'session_warning': wx.ICON_WARNING, } if icon in _icon_map_wx.keys(): icon = _icon_map_wx[icon] else: icon = wx.ICON_INFORMATION try: if not self._PyHocaGUI.disable_notifications: # you will need wxPython >= 2.9 for this _notification_msg = wx.NotificationMessage() _notification_msg.SetTitle(title) _notification_msg.SetMessage(text) _notification_msg.SetParent(self._PyHocaGUI.about) _notification_msg.SetFlags(icon) _notification_msg.Show(timeout=timeout) except: # if we are running wxPython 2.8, we ignore missing # wx.NotificationMessage class pass # on Windows some error messages are already encoded, some are not, depending from which module they come try: _title = title.encode(utils.get_encoding()) except: _title = title try: _text = text.encode(utils.get_encoding()) except: _text = text try: self._pyhoca_logger('['+_title+'] '+_text, loglevel=log.loglevel_NOTICE) except UnicodeDecodeError: self._pyhoca_logger('Unicode error occurred while rendering a log message...', loglevel=log.loglevel_WARN) def Close(self): """\ Provide a C{Close()} method which does nothing. """ pass def Destroy(self): """\ Provide a C{Destroy()} method which does nothing. """ pass pyhoca-gui-0.4.0.8/pyhoca/wxgui/printingprefs.py0000644000000000000000000004757012207147477016536 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2013 by Mike Gabriel # Copyright (C) 2010-2013 by Dick Kniep # # PyHoca GUI is free software; you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # PyHoca GUI is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program; if not, write to the # Free Software Foundation, Inc., # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. import os import re import wx import x2go.log as log import x2go.utils as utils from x2go import X2GOCLIENT_OS as _X2GOCLIENT_OS from x2go import CURRENT_LOCAL_USER as _CURRENT_LOCAL_USER from x2go import LOCAL_HOME as _LOCAL_HOME if _X2GOCLIENT_OS != "Windows": import cups else: import win32print import basepath _icons_location = basepath.icons_basepath class PyHocaGUI_PrintingPreferences(wx.Dialog): """\ The print preferences dialog box allowing the configuration and re-configuration of the processing of incoming / client-side print jobs. """ def __init__(self, _PyHocaGUI, profile_name=None, session_name=None, mode='edit'): """\ Printing preferences dialog box (constructor). @param _PyHocaGUI: the master/parent object of the application @type _PyHocaGUI: C{obj} @param profile_name: session profile name @type profile_name: C{str} @param session_name: the X2Go session name of the Window that we intend to modify the name of @type session_name C{str} @param sesion_name: is this instance launched on an incoming pring job? Or are wie in editor mode. """ self._PyHocaGUI = _PyHocaGUI self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self.mode = mode self._pyhoca_logger('opening client printing configuration dialog, mode: ,,%s\'\'' % self.mode, loglevel=log.loglevel_INFO) if self.mode == 'edit': _title = _(u'%s - Printing Preferences') % self._PyHocaGUI.appname else: _title = _(u'%s - Incoming Print Job from %s (%s)') % (self._PyHocaGUI.appname, profile_name, session_name) wx.Dialog.__init__(self, None, -1, title=_title, style=wx.DEFAULT_DIALOG_STYLE, ) self._PyHocaGUI._sub_windows.append(self) self._availablePrintActions = { 'DIALOG': _(u'Open this dialog window'), 'PDFVIEW': _(u'Open with PDF viewer'), 'PDFSAVE': _(u'Save to a local folder'), 'PRINT': _(u'Print to a local printer'), 'PRINTCMD': _(u'Run custom print command'), } if self.mode != 'edit': self._availablePrintActions['DIALOG'] = _(u'