pyhoca-gui-0.5.0.4/bbfreeze_cleanup.sh0000755000000000000000000000013712461156543014453 0ustar #!/bin/bash rm dist/ -Rfv find * | egrep ".*\.pyc$" | while read file; do rm -v "$file"; done pyhoca-gui-0.5.0.4/build/mo/bg/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000000104412461156543016650 0ustar $,89Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2014-10-20 12:52+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.5.0.4/build/mo/da/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010265312461156543016654 0ustar   !!(!4!!"83"l"{" ""%"""##)#8#I#\#o##"#%#'# $$%$A$^$n$$ $$$$ $%%%%:%P% g% s%%%%5%% & & &+& :&G&Z&#r&.&#& & ')'F'f''''''' ((7(R(!l(( ( ( (%((( ))) ").)@)/S)0)&)&) **B*W* l*y*#*>*(*5+.R+R+ +++#+",=,)[,,',,,, --G/- w-- - --- - ---+.4. L.X.g.|...&....//x3/ / //+/:$0;_00<00 0 0 09 1D1Y1$m1)1#11122 /2 :2F2AU2u2 3 .393O3`3f3o3t3I45*5 I5W5 o5B|5555556 66686?6N6 k6 x6?66S6717I7 `7j7p777 777"77(t8*8881899#9790:9k9+99999 :::#:(: .:;:T:]:r:z:!:,::: : ; ;%;?; G;T;f;|;;;;;;<U#<y<<+<3<5<0=G=Z=_=s==;== ==>>0>H>X>R`>> >>>> ?!?1? J?X?s?????????@#@A@'R@:z@"@B@CA_A oA%A%A A.ABB%B"7B'ZBHB0B1BK.C5zC=CC6rD3D6DJEL_E0EEkFBFC7G1{GpG"H%AHgHHI$IDIbIgI5III)IJ.J"7JZJ.zJJ'JJ/K)1K[KlK+qKK K K KKKKL2BMuM N N N$N*N!O 7OCOWO"lOO O OOO OOP P&PAP[P dPoPPBQ"&S+IS7uSSS.ST&T 7T CT*QT|TTT TT TTUU)U"9U'\U'U UUUUV(VHVhVyVVVVVVV W#W =W KWWWlWW1WW W WW X XX*X&EX5lX*X!X XY(,Y'UY.}Y'Y!YY Z"Z!AZcZ*Z Z Z Z Z)Z[ [.[7[@[H[W[j[,[2[([( \5\=\;D\\ \\\D\1$]2V]1]N] ^ ^^'7^_^^*^^&^_'_@_U_m_A|_ __ _ ___ ` ``+6`+b` ```!`*`a8a/Ga waa a9aa Mb$Wb%|b0b?bAcUcI\ccc c c?cd1d/Id3yd)dddde -e8eHeI]ee-f LfWfpfffffogBh+Ghshh h?hhhii %i0i9iHiLi dioiii iEijL jZjqjj jjjjj jjjjk.k.kk!k/lOlRlbltl4wll(llmm-mDmLmTmXm]memxmmmmm)m-m&n,n ?nKn ]n@hn nnnn n&no.oMokoo[o(op$$p4Ip6~ppppppqC(qlq sqqqqqqqZqDr Trbrsr r rrrrrs1s 6sDsKs_snsrsss ss$sAt'QtJytGt u*u.Ju%yu u-uuuu&u*vRJv2v*vJv+Fw:rww;8x8txAxExO5y+yyIz>zA{.Q{v{#{#|?||}}$1}V} [}4|}}%}-}$~A~'P~x~>~~&~2--`9     $ڀ>ҁh $%0J{ %҃# 0=T Wbz~΄ք܄#=i-^_6E]:vH;"f.u_wm|[jqCN\K,|t1oU= I#G!TK3zGaQ$&5e%h-<b?{ZdpM7LyRt VX8\2AF+P)i,R&rsbOLc0kANB1l5/w<mB'sgaD@  $n )x(ku~>8jS;V4WY:]9P! H0* y ZD47E'F3YnXdU"M ({9JW}goC`cq` vl./z2OS*fr~T[h+6@e>}JI%^? p Qx%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&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 (*.*)|*Allow copy'n'pasteAn 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 session broker failed.Authentication to session broker has been successful.Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionBroker URLCancelChange 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. %sClipboardCloseCompressionConnect %sConnect MethodConnect ServerConnect toConnectionConnection Link SpeedConnection to %s failed. Retry?Convert 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 serverDesktop sharing was denied by the other user or both of you have insufficient privileges to share one another's desktop.DevelopmentDisconnect and E&xit applicationDisconnect from session brokerDisconnecting %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. Subsystem %sstartup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostHost key verification failed. The SSH proxy 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!!!Host 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)LogonLost 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 X2Go session will lack SFTP client support. Check your server setup. Avoid echoing ~/.*shrc files on server!!! Not starting new session...New 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 commandPassphrasePasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioRDP 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 key file (for SSH proxy) could not be unlocked!SSH key file (for X2Go server) could not be unlocked!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 broker is not connectedSession 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 initialization failed.The 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...Unlock SSH keyUnlock SSH private key (%s)...Unlock auto-discovered SSH private key...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 &profileView ProfileView 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...While connecting to profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?While initializing a session for profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?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)Yesautomaticallybetween client and serveresdfrom client to server onlyfrom server to client onlyimport session profile(s)manuallynot at allsettings derived from {appname} is already running for user ,,{username}''! Only one instance of {appname} can be started per user. The {appname} icon can be found in your desktop's notification area/systray.Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2014-10-20 12:52+0200 PO-Revision-Date: 2014-06-29 14:28+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 Verbindungen zu entferntem X2Go Server aufbauen%s Verbinde mit ,,%s''%s Verbinden mit X2Go Server...%s Verbindungsaufbau zu X2Go Server ,,%s'' läuft%s (SSH Proxy)%s (X2Go Server)%s (via %s)%s - EOF-Fehler%s - Eingehender Druckauftrag von %s (%s)%s - MIME box nicht verfügbar%s - Druckeinstellungen%s - SFTP-Client Fehler%s - SSH-Fehler%s - SSH Proxy%s - Audiofehler%s - Audioproblem%s - Warnung Audiosystem%s - Anmeldefehler%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 - Desktopsharing fehlgeschlagen%s - trennen%s - Sitzungsprofil exportieren%s - Sitzungsprofile exportieren%s - fehlgeschlagen%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 - erfolgreich%s - anhalten%s - beenden%s - Zeitüberschreitung%s - unbekannter Fehler%s Profilmanager - %s%s Profilmanager - %s (verbunden)%s Profilmanager - %s (verbunden, unveränderlich)%s Profilmanager - %s (unveränderlich)%s Profilmanager - neues Sitzungsprofil%s: Echtheit des Servers bestätigen%s: Die Verbindung wurde verweigert%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 Import%s: Verbindung fehlgeschlagenAlle 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 (*.*)|*Kopieren und Einfügen erlaubenEin 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...Die Anmeldung am Sitzungsbroker ist fehlgeschlagen.Anmeldung am Sitzungsbroker war erfolgreich.Anmeldung am SSH Proxy Server ist fehlgeschlagenTastaturkonfiguration dieses Computers automatisch erkennen und in der Sitzung verwendenBroker-URLAbbrechenSitzungsfenster 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. %sZwischenablageSchließenKomprimierungMit %s verbindenVerbindungsartSerververbindung aufbauenVerbinde mitVerbindungVerbindungsgeschwindigkeitVerbindung mit %s ist fehlgeschlagen. Nochmal versuchen?Zeichenkodierung 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ütztDesktopsharing wurde vom anderen Benutzer abgelehnt oder Sie haben beide unzureichende Rechte, um Desktop Sharing zu benutzen.EntwicklungVerbindung Trennen und Anwendung schließenSitzung mit Broker beendenTrenne %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. Der Start des Subsystems %s schlug fehl.Bereits aktive Sitzung gefunden %sVollbildGNOME Desktop (GNOME)Vollzugriff erhaltenSpieleGrafikHostnameÜberprüfung des Hostkeys fehlgeschlagen. Der SSH-Proxy 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!!!Ü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)AnmeldungDie 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... %sDer neuen X2Go-Sitzung fehlt SFTP-Client Unterstützung. Bitte prüfen Sie Ihr Server-Setup. Vermeiden Sie Textausgabe in ~/.*shrc Dateien auf dem Server!!! Sitzung wird nicht gestartet...Neues 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-AnzeigePassphraseKennwortPfadPortDruckenAktion für aktuellen DruckauftragAuf lokalem Drucker druckenDruckenDruckeinstellungenProfilProfilmanagerEin Sitzungsprofil mit dem Namen %s existiert bereits!!!Der Profilname fehlt, Profil so nicht verwendbar!!!ProxyServer-publizierte AnwendungenPulse AudioRDP 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.SSH-Schlüsseldatei (für SSH-Proxy) konnte nicht entsperrt werden!SSH-Schlüssel (für X2Go Server) konnte nicht entsperrt werden!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 - %sSitzungsfensterSitzungsbroker ist nicht verbundenSitzungsloginDPI-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.Die Initialisierung der Sitzung ist fehlgeschlagen.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...SSH-Schlüssel entsperrenPrivaten SSH-Schlüssel (%s) entsperren...Automatisch erkannten SSH-Schlüssel entsperren...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!BenutzernameDienstprogramme&Profil ansehenProfil ansehenSitzung 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...Während des Verbindungsaufbaus für Profil '%s' ist die Verbindung mit %s fehlgeschlagen. Es besteht die Möglichkeit, die Sitzung trotzdem zu initialisieren. Möchten Sie fortfahren?Während der Sitzungsinitialisierung für Profil '%s' ist die Verbindung mit %s fehlgeschlagen. Es besteht die Möglichkeit, die Sitzung trotzdem zu initialisieren. Möchten Sie fortfahren?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)Jaautomatischzwischen Client und Serveresdnur vom Client zum Servernur vom Server zum ClientSitzungsprofil(e) importierenmanuellüberhaupt nichtEinstellungen übernommen von{appname} ist bereits gestartet für Benutzer/in ,,{username}''! Nur eine Instanz von {appname} kann pro Benutzer/in gestartet werden. Das {appname} Icon befindet sich auf Ihrem Desktop in der Benachrichtigungsleiste.pyhoca-gui-0.5.0.4/build/mo/en/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010126412461156543016667 0ustar   !!(!4!!"83"l"{" ""%"""##)#8#I#\#o##"#%#'# $$%$A$^$n$$ $$$$ $%%%%:%P% g% s%%%%5%% & & &+& :&G&Z&#r&.&#& & ')'F'f''''''' ((7(R(!l(( ( ( (%((( ))) ").)@)/S)0)&)&) **B*W* l*y*#*>*(*5+.R+R+ +++#+",=,)[,,',,,, --G/- w-- - --- - ---+.4. L.X.g.|...&....//x3/ / //+/:$0;_00<00 0 0 09 1D1Y1$m1)1#11122 /2 :2F2AU2u2 3 .393O3`3f3o3t3I45*5 I5W5 o5B|5555556 66686?6N6 k6 x6?66S6717I7 `7j7p777 777"77(t8*8881899#9790:9k9+99999 :::#:(: .:;:T:]:r:z:!:,::: : ; ;%;?; G;T;f;|;;;;;;<U#<y<<+<3<5<0=G=Z=_=s==;== ==>>0>H>X>R`>> >>>> ?!?1? J?X?s?????????@#@A@'R@:z@"@B@CA_A oA%A%A A.ABB%B"7B'ZBHB0B1BK.C5zC=CC6rD3D6DJEL_E0EEkFBFC7G1{GpG"H%AHgHHI$IDIbIgI5III)IJ.J"7JZJ.zJJ'JJ/K)1K[KlK+qKK K K KKKKL2BMuM N N N$N*N!O 7OCOWO"lOO O OOO OOP P&PAP[P dPoPPBQS( S4IS~SS8SSS TT%+TQTmTTTTTTTTU"U%9U'_U UUUUUUV +V8VLV wVVVVVV V VWW-W5BWxW W W WW WWW#W.X#IX mXXXXX' Y'1YYYxYYYYY!YZ,Z/Z8Z%>ZdZiZ {ZZZ ZZZ/Z0Z&%[&L[ s[[B[[ [[#\>%\(d\5\.\R\ E]P]W]#o]]])]]'^6^R^l^{^^G^ ^^ ^ ___ -_ 8_C_Y_+y__ ____ ``&.`U`^`e`/t`x` a )aJa+ia:a;a b<bQb Wb db nb9{bbb$b)c#-cQchcwcc c ccAcud ~d dddddddef*f ff fBf0g9gJgfgjgsg|gggggg g g?g4hS:hhhh hhhii iii"1iTi(i*j9j8jS;V4WY:]9P! H0* y ZD47E'F3YnXdU"M ({9JW}goC`cq` vl./z2OS*fr~T[h+6@e>}JI%^? p Qx%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&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 (*.*)|*Allow copy'n'pasteAn 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 session broker failed.Authentication to session broker has been successful.Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionBroker URLCancelChange 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. %sClipboardCloseCompressionConnect %sConnect MethodConnect ServerConnect toConnectionConnection Link SpeedConnection to %s failed. Retry?Convert 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 serverDesktop sharing was denied by the other user or both of you have insufficient privileges to share one another's desktop.DevelopmentDisconnect and E&xit applicationDisconnect from session brokerDisconnecting %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. Subsystem %sstartup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostHost key verification failed. The SSH proxy 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!!!Host 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)LogonLost 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 X2Go session will lack SFTP client support. Check your server setup. Avoid echoing ~/.*shrc files on server!!! Not starting new session...New 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 commandPassphrasePasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioRDP 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 key file (for SSH proxy) could not be unlocked!SSH key file (for X2Go server) could not be unlocked!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 broker is not connectedSession 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 initialization failed.The 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...Unlock SSH keyUnlock SSH private key (%s)...Unlock auto-discovered SSH private key...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 &profileView ProfileView 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...While connecting to profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?While initializing a session for profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?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)Yesautomaticallybetween client and serveresdfrom client to server onlyfrom server to client onlyimport session profile(s)manuallynot at allsettings derived from {appname} is already running for user ,,{username}''! Only one instance of {appname} can be started per user. The {appname} icon can be found in your desktop's notification area/systray.pyhoca-gui-0.5.0.4/build/mo/es/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010547512461156543016704 0ustar   !!(!4!!"83"l"{" ""%"""##)#8#I#\#o##"#%#'# $$%$A$^$n$$ $$$$ $%%%%:%P% g% s%%%%5%% & & &+& :&G&Z&#r&.&#& & ')'F'f''''''' ((7(R(!l(( ( ( (%((( ))) ").)@)/S)0)&)&) **B*W* l*y*#*>*(*5+.R+R+ +++#+",=,)[,,',,,, --G/- w-- - --- - ---+.4. L.X.g.|...&....//x3/ / //+/:$0;_00<00 0 0 09 1D1Y1$m1)1#11122 /2 :2F2AU2u2 3 .393O3`3f3o3t3I45*5 I5W5 o5B|5555556 66686?6N6 k6 x6?66S6717I7 `7j7p777 777"77(t8*8881899#9790:9k9+99999 :::#:(: .:;:T:]:r:z:!:,::: : ; ;%;?; G;T;f;|;;;;;;<U#<y<<+<3<5<0=G=Z=_=s==;== ==>>0>H>X>R`>> >>>> ?!?1? J?X?s?????????@#@A@'R@:z@"@B@CA_A oA%A%A A.ABB%B"7B'ZBHB0B1BK.C5zC=CC6rD3D6DJEL_E0EEkFBFC7G1{GpG"H%AHgHHI$IDIbIgI5III)IJ.J"7JZJ.zJJ'JJ/K)1K[KlK+qKK K K KKKKL2BMuM N N N$N*N!O 7OCOWO"lOO O OOO OOP P&PAP[P dPoPPBQ!S5;S4qSSS.STT $T1T4@T)uTTTTTTU'-UUUuU<U<UJVQV`V%{V%VVV!V W!&WHW_W}WWWWWWXX.XLXeX?XX X XXYY-YDY&_Y3Y(Y$Y+Z"4Z"WZ(zZ?Z:Z+[J[ d[[&[[0['\ =\ I\ S\*`\\\\\\\ \\O\OL]*](] ]]%^*^ =^.H^w^[^5^?%_De_g_`!`*`)J`"t``6``*`'aCa^asaafa bb b %b1bFb _b jbtb'b1b bb c#c Ccdcc=ccc c>c>d d-dd2eDDePeeWe;f Bf Pf[fImfff.f4g"Tgwgggg gggbhysh$hi$i:iRi Yicihi`jSk"Xk{kkk<kk k l)l/l5l=lOlSlklplll lRlmg$mm$mm mm mnn #n.n5n"Mnpn.%o'To|o&o8ooo oo;o3p,Rpppppp p qqqq'q FqPqkqrq$q3qqq q r r$"r GrRrcr"r r/rrr s*s#Hshls,st6 tG@tKt*ttuu!6uXuCquu uuuuv;vVvX^vvvvv( w6wHw Wwxw$ww ww w w x&x$-xRxmxxx.x<x= yE^y:yy!y'z3;z oz7zzzzz!z'zI{.i{9{W{4*|J_|{|;&}7b}9}B}O~5g~~'RO0^ %7] "("Kns<΂(0 .>m#|(-Ƀ!4N=i@:? Q \ hsJ<Mׇ_s%("؈ ""#E#i щ""4 R^f#=i-^_6E]:vH;"f.u_wm|[jqCN\K,|t1oU= I#G!TK3zGaQ$&5e%h-<b?{ZdpM7LyRt VX8\2AF+P)i,R&rsbOLc0kANB1l5/w<mB'sgaD@  $n )x(ku~>8jS;V4WY:]9P! H0* y ZD47E'F3YnXdU"M ({9JW}goC`cq` vl./z2OS*fr~T[h+6@e>}JI%^? p Qx%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&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.About %s (%s)...About %s ...ActionAddAdd ProfileAllow copy'n'pasteAn 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 session broker failed.Authentication to session broker has been successful.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. %sClipboardCloseCompressionConnect %sConnect MethodConnect ServerConnect toConnectionConnection Link SpeedConnection to %s failed. Retry?Convert 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 serverDesktop sharing was denied by the other user or both of you have insufficient privileges to share one another's desktop.DevelopmentDisconnect and E&xit applicationDisconnect from session brokerDisconnecting %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 ProfileEducationEnable 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. Subsystem %sstartup failed.Found already running session %sFullscreenGain full accessGamesGraphicsHostHost key verification failed. The SSH proxy 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!!!Host 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!!!Image qualityImport Session ProfilesInput/OutputIntegrate remote application(s) into local desktop (rootless mode)InternetKeyKey fileKeyboardKeyboard modelLaunch Single ApplicationLayoutLayout variantLink QualityLocal PathLogin automatically after %s has started (needs --auto-connect)LogonLost connection to server %s unexpectedly! Try to re-authenticate to the server...Manage Application MenuManage Session ProfileMaximizedMediaMenu of published applicationsMethodMultimediaNameNew Session ProfileNew X2Go session starting up... %sNew X2Go session will lack SFTP client support. Check your server setup. Avoid echoing ~/.*shrc files on server!!! Not starting new session...New session profile has been imported...New session profiles have been imported...NoNo session profiles definedNone of the session profiles could be imported...OKOffice 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 commandPassphrasePasswordPathPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyRDP 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 key file (for SSH proxy) could not be unlocked!SSH key file (for X2Go server) could not be unlocked!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 broker is not connectedSession loginSet display DPISet session window titleShare DesktopShare Desktop Session - %sShare:Shared &foldersSharingShow Session WindowSoundStart &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...SystemTerminate 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 initialization failed.The 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)TypeUnknown session profile, configure before using it...Unlock SSH keyUnlock SSH private key (%s)...Unlock auto-discovered SSH private key...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 &profileView ProfileView session onlyWe 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...While connecting to profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?While initializing a session for profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?Window IconWindow titleX2Go Profile is now disconnected.X2Go ServerX2Go Server Add-onsX2Go Server FeaturesX2Go Session has been suspended %sX2Go Session has terminated %sXDMCP serverYesautomaticallybetween client and serverfrom client to server onlyfrom server to client onlyimport session profile(s)manuallynot at allsettings derived from {appname} is already running for user ,,{username}''! Only one instance of {appname} can be started per user. The {appname} icon can be found in your desktop's notification area/systray.Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2014-10-20 12:52+0200 PO-Revision-Date: 2014-08-19 17:00+0200 Last-Translator: Robert Parts Language-Team: Estonia Language: et MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1); X-Language: et_EE %s ...põjustatud sessioonist %s%s ...põhjustas printeris %s sessioonis %s%s klient ühendamaks Sind X2Go serveriga%s ühendab Sind ,,%s"%s ühendab Sind X2Go...%s ühendame Sind X2Go serveriga ,,%s"%s (SSH proxy)%s (X2Go Server)%s (kasutades %s)%s - EOF -viga%s - Sissetulev printimistöö %s (%s)%s - MIME postkast ei ole kättesaadav%s - Printeri seaded%s: - SFTP -viga%s - SSH viga%s - SSH proxy%s - heli viga%s - audio probleem%s - helihoiatus%s - autentimisviga%s: kanali viga%s kliendi ressursid ei ole jagatavad%s - kliendi kataloogid ei ole jagatavad%s - kliendipoolne printimine ei ole võimalik%s - ühendus%s - ühendus ebaõnnestus%s - töölaua jagamine ebaõnnestus%s - töölaua jagamine ebaõnnestus%s - ühenduse lõpetamine%s -ekspordib sessiooniprofiili%s -ekspordib sessiooniprofiile %s - ebaõnnestunud%s - host võtme viga%s - võtme viga%s - puudub kodukataloog%s - muudetud%s - printimisviga%s - profiil on lisatudProfiil %s on kustutatud%s - profiil on eksporditud%s: -profiilid on eksporditud%s - jätkamine%s - töötab%s - hoiatus serverilt%s - sessioon ebaõnnestus%s - sessiooni hoiatusjaga oma lokaalset kataloogi %s profiili sessioonidega%s - socket'i viga%s - alustab%s - õnnestunud%s - peata%s - Lõpeta%s - timeout%s - tundmatu viga%s Profiilihaldur - %s%s Profiilihaldur - %s (ühendatud)%s Profiilihaldur - %s (ühendatud, muudetamatu)%s Profiilihaldur - %s (muudetamatu)%s Profiilihaldur - uus profiil%s: Kinnita serveri õiguseid%s: Ühendusest keeldumise viga%s: DirectRDP ei ole veel toetatud%s: Ekspordifail on juba olemas%s: Profiili(de) eksport ebaõnnestus%s: sessiooni profiilide import ebaõnnestus%s: Importimisejärgne salvestusviga%s: ühenduse viga&Lõpeta kõik sessioonid&Lõpeta ühendus serveriga&Jaga oma lokaalset kataloogi- ei ole installeritud ühtegi printerit -- printimissüsteem ei ole saadaval -Uus sessiooni profiil on lisatud.Info %s (%s) kohta...Inf %s ...TegevusLisaLisa profiilLuba kopeeri ja asetaAutentimise käigus tekkis tundmatu viga!Autentimise käigus tekkis tundmatu viga!Teine klient alustas uuesti X2Go sessiooni %sTeine klient käivitas X2Go sessiooni %sAplikatsioonLisaKas tõesti soovite kustutada profiili ,,%s''?Arts (ei ole toetatud)AutentimineAutentimine ebaõnnestus!Sisenemine oli edukas.Autentimine on pooliki! Ürita uuesti...Autentimine ebaõnnestus.Brokeri autoriseerimine õnnestus.Autentimine SSH proxy serveriga ebaõnnestus!Leia ja kasuta automaatselt kliendipoolse klaviatuuri seadeidLoobuVaheta sessiooni pealdisProfiili muudatused on salvestatud.Vali PDF salvestamise kohtVali PDFvaaturVali sessiooniaegne jagatav kataloogVali SSH avalik võtiVali ikoon sellele sessiooni profiililePuhastame X2Go sessioonid...Kliendi seadedKliendipoolne printimineKliendi kooditabelKliendipoolsed kataloogid ja printerid ei ole jagatavad selles sessioonis. %ClipboardSulePakkimineÜhenda %sÜhendusmeetodÜhenda serverÜhenduÜhendusÜhenduse kiirusÜhendus %s ebaõnnestus. Kas kordame?Konerteeri kasutades kliendi ja serveri kooditabeleidÜhendamine...Anna suurusMuuMäära printeri käskKasuta sessiooniakna pealdisenaAnna helikanalMuuda &profiiliVaikimisi toiming sissetulevatele printimistöödeleVaikimisiKustutaKustuta profiilTöölaua jagamine %s'ga ei ole serveri poolt toetatudTöölaua jagamine keelati teise kasutaja pooltvõi teil kummalgi ei ole piisavalt õigusi jagada teineteise töölauda.Arendus&Katkesta ühendus ja suleLõpeta ühendus Katkestan %s ja sulen programmi...Otsi SSH võti või kasuta SSH agenti X2Go autentimiseksOtsi SSH võti või kasuta SSH agenti proxy autentimiseksDispleiMääramata (kasuta serveripoolseid vahendeid klaviatuuri konfigureerimiseks)VäljuMuuda profiiliKoolitusLuba SSH autentimisagendi ühenduse suunamineLuba heliLõpeta töölaua jagamineLõpeta töölaua jagamine (ja lõpeta ühendus)Lõpeta töölaua jagamine (ja lõpeta ühendus/välju),,%s" käivitamine ebaõnnestus.Sulen programmi...Ekspordi profiilEkspordi profiilide gruppEkspordi kõik profiilidLaiendidFaili importKataloogi ExportSaad täpsemad andmed kui käivitad %s ja üritad uuesti importida.Tunnel request'i edasisuunamine [%s]:%s sessiooni %s jaoks on keelatud X2Go/SSH serveris. Alamsüsteemi % käivitusebaõnnestus.Leidus juba töötav sessioon %sTäisekraanKõik õigusedMängudGraafikaHostVõtme verifitseerimine ebaõnnestus. SSH server võib olla ohustatud Ka on võimalik, et võti on vahetatud. Sellegipoolest, turvalisuse kaalutlustelühendust ei loodud!!!Võtme verifitseerimine ebaõnnestus. X2Go server võib olla ohustatud. Võib ka olla et võti on muudetud. Sellegipoolest, turvalisuse kaalutlustel ühendust ei loodud!!!Pildi kvaliteetImpordi sessiooni profiilidSisend/VäljundIntegreeri kaugaplikatsioon(id) lokaalsele töölauale (rootless mode)InternetVõtiVõtmefailKlaviatuurKlaviatuuri mudelKäivita programmPaigutusPaigutuse variantLingi kvaliteetLokaalne KataloogLogi automaatselt sisse kui %s on käivitunud (vajab võtit --auto-connect)Logi sisseÜhendus serveriga %s katkes! Ürita uuesti sisse logida...Halda programmide menüüdHalda Sessiooni profiiliMaksimeeriMeediaAplikatsioonide menüüMeetodMultimeediaNimiUus sessiooni profiilUus X2Go -sessioon käivitub... %sAvatud X2Go sessioonis ei ole kasutusel SFTP. Kontrolli oma serveri seadeid. Väldi ~/.*shrc -faile serveril!!! Uut sessiooni ei avata...Uus sessiooniprofiil on imporditud...Uued sessiooniprofiilid on imporditud...EiSessiooni profiile ei oleEi õnnestunud ühegi sessiooniprofiili import...OKRakendusedOkÕnnestus ainult nende sessiooniprofiilide import...Ava programmi valimise dialoogAva vaikimisi programmigaAva see dialoogiakenAva PDF viewr'igaMuud aplikatsioonidPDF-vaaturi käskSalasõnaSalasõnaKataloogPrindiPrintimistoimingPrindi lokaalsele printerilePrintiminePrintimise seadedProfiilProfiilihaldurSellise nimega %s profiil on juba olemas!!!Profiili nimi puudub, profiil pole kasutuskõlbulik!!!ProxyRDP sättedRDP serverKas tõesti soovite kustutada profiili ,,%s''?VärskendaVärskenda nimekirjaVärskenda menüüNimeta sessiooni aken ringiAlgseadistaTaasta jagamised järgmistel sessioonidelJätka sessiooniJätka sessiooni (ei ole võimalik)Jätkame X2Go sessiooni... %sotsi aplikatsioonide menüüOtsin aplikatsioonide menüüd...Reverse TCP -pordi edasisuunamine sessioonist %s serveri porti %s on keelatud.Käivita printimiskäskTöötabSSH võtmega autentimine õnnestus.SSH võtmefaili (SSH proxy jaoks) ei saa.vabastada!SSH võtmefaili (X2Go serveri jaoks) ei saa.vabastada!SSH proxy serverisse sisenemineSSH tunnel käivitussalvestaSalvesta PDF kataloogiSalvesta sissetulev fail nimega...Salvesta lokaalsele kettaleVali üks saadaolevatest sessioonidestServerServeri põhiServeri laiendusedServeri infoServeri andmed . %sServer SSH proxy tagaServeri kooditabelSessioonSessiooni profiil: %s Loettelu X2Go serveri komponentidest, lisandid ja nende versiooninumbrid...Sessiooni KäivitamineSessiooni PealdisSessiooni Pealdis - %sSessiooni akenSessioonihaldur ei ole ühendatudSessiooni lsisenemineAnna displei punktitihedus (punkti tollile)Anna sessiooniakna pealdisJaga töölaudaJaga töölauda Sessiooniga - %sJaga:Jagatud &kataloogidJagamineNäita sessiooni akentHeliAlusta &uut sessiooniAlusta &uut RDP sessiooni&Alusta uut sessiooniAlusta sessiooniKäivita SSH tunnelAlusta automaatselt sessiooni pärast sisselogimistSalvesta SSH hosti võti X2Go sessiooni profiili (andes sellele unikaalse ID)Salvesta jagamisnimekiri (share list) sessiooni lõpetamiselSessiooniprofiilide rühm »%s« on eksporditud faili »%s«.Profiil »%s« on salvestatud faili »%s«.Peata sessioonPeata sessioon (ja lõpeta ühendus)Peata sessioon (ja lõpeta ühendus/välju)&Lõpeta sessioon ja sulePeataPeatan sessioonid ja sulen programmi ...SüsteemLõpeta SessioonLõpeta sessioon (ja lõpeta ühendus/välju)Lõpeta sessioon (ja lõpeta ühendus/välju)SSH proxy võti on vigane või seda ei aktsepteeritaX2Go PulseAudio -teenus ei käivitunud.X2Go PulseAudio -teenus lõpetas töötamise.X3Go PulseAudio - süsteem ei ole kasutusel Remote Desktop -sessioonides.X2Go server einäita aplikatsioonide menüüd.Audio -ühendust ei saadud toimima selles sessioonis. %sEi suuda kontrollida serveri [%s]:%s autentsust. % võtme kontroll on ,,%s''. Kas oled kindel et tahad ühenduse avamist jätkata?Käsk ,,%s'' ei ole kasutuses X2Go -serveril %s.Käsk ,,%s'' ei ole kasutuses X2Go -serveril.Töölaud %s ei ole (enam) kättesaadav jagamiseks.Fail »%s« on juba kataloogis olemas. Kas kirjutame selle üle?Kaugserveri host võti on vigane või seda ei aktsepteeritaKauserveris puudubkasutaja kodukataloog.Valitud sessiooniprofiilide eksport faili »%s« ebaõnnestus. Kontrolli neid tavalispõhjuseid (ketas täis, kirjutuskaitse jne.).Valitud sessiooniprofiilide import failist »%s« ebaõnnestus. Kas oled kindel, et nende struktuur on õige?Server keelab kliendipoolse kataloogide jagamiseselles sessioonis. %sServer keelab kliendipoolse printimise selles sessioonis. %sServer ei toeta X2Go MIME -postkasti kasutamist. %sServer ei saanud mõistliku aja jooksul saadetud jagatavate töölaudade listi. See viga võib olla juhuslik, palun proovi uuestiSessiooni initsialiseerimine ebaõnnestus.Sessiooni profiil on kustutatud.Ei õnnestu salvestada imporditud sessiooniprofiile Kontrolli tavalisemaid vigu (ketas täis; kirjutuskaitstud kataloog jms).Sessiooni avamine ebaõnnestus.Kanna sessioon üleKanna sessioon üle (ei ole võimalik)TüüpTundmatu sessiooni profiil anna selle parameetrid...Vabasta SSH võtiVabasta SSH privaatvõti (5s)...Vabasta autoavastatud SSH privaatvõti ...&Lõpeta kõigi lokaalsete kataloogide jagamineLõpeta jagamine:Kasuta vaikimisi sessiooniakna pealdistKasuta templiiti uue profiili jaoksMäära klaviatuuri seadedKasuta vaikimise helikanalitKasuta faili 'MIME box' lokaalsete failide impordilKasuta 'local file sharing'Kasuta sama autentimist X2Go ja proxy jaoksKasuta sama kasutajanime X2Go ja proxy jaoksKasuta seda printeritKasutajakasutajal ei ole luba käivitada X2Go sessioone!KasutajanimiUtiliidid&Vaata profiiliVaata profiiliAinult vaatamineVabandame... ,,DirectRDP'' ei ole veel toetatud %s (%s) poolt!! DirectRDP -tugi tuleb versiooni %s (>= 1.0.0.0).Vabandame... ,,SHADOW'' ei ole veel toetatud %s (%s) poolt!! Töölauai jagamine %s'ga tuleb versiooni %s (>= 4.1.0.0).Nende sessiooniprofiilide importimine ebaõnnestus...ühendumisel profiilile %s ühendus %le ebaõnnestus. Võid üritada uuesti Kas soovid jätkata?Sessiooni initsialiseerimisel profiilile %s ühendus %le ebaõnnestus. Võid üritada uuesti Kas soovid jätkata?Akna ikoonAkna pealdisX2Go -profiili ühendus on nüüd lõpetatud.X2Go -palvelinX2Go serveri lisadX2Go serveri omadusedX2Go -Sessioon on peatatud %sX2Go -Sessioon on lõppenud %sXDMCP serverJahautomaatseltkliendi ja serveri vahelainult kliendist serverisseainult serverist klientiImpordi sessiooni profiilidkäsitsikeelatudseaded on tuletatud (samad kui) {appname} on juba käivitatud kasutajale ,,{username}''! Ainult üks {appname} võib olla käivitatud ühe kasutaja kohta.{appname} ikoon leidub töölaua toiminguriba teadete alal.pyhoca-gui-0.5.0.4/build/mo/fi/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010301412461156543016656 0ustar  p!q!(!4!!"8#"\"k" |""%"""" ##(#9#L#_#o#"#%#'# #$$1$N$^$z$ $$$$ $$%%*%@% W% c%p%%%5%% % & && *&7&J&#b&.&#& &&'6'V''u''''''('(B(!\(~( ( ( (%((( ()) ))0)/C)0s)&)&) ))B*G* \*i*#*>*(*5 +.B+Rq+ +++#+,-,)K,u,',,,,,-G- g-q- w- --- - ---+-$. <.H.W.l...&..../.x#/ / //+/:0;O00<00 0 0 09041I1$]1)1#1111 2 2 *262AE2 2 222222234*4 44 4B495B5S5o5s5|5555555 5 5?5=6SC6666 666 77 7!7&7":7]7(7*8B8E81a88888088+919I9^9q9 99999 999999!:,&:S:Y: p: |: :%:: :::::;*;H;d;~;U;; <+<3@<5t<<<<<<=;=Z= a=m======R=-> =>K>^>m> >>> >>> ??#?+???R?X?s????'?:?"/@BR@C@@ @% A%0A VA.`AAAA"A'AHA0EB1vBKB5B=*ChC6C3#D6WDJDLD0&EWEEBnFCF1Fp'G"G%GGqHHHHHH5H5IDI)cIII"II.I#J':JbJ/{J)JJJ+JK K *K 8KEKWK[KL2LLM &N 2N$?N*dN!N NNN"N O (O 4OAOUO YOgOOOOOO OOPP}R,R"R R S&!SHSWS kSwS1S/SS!T*T:TITZTmTTT4T6T2U PU\U#{U#UUUUV)VDVWV rVVVVVVV WW9WSWGhWWW WW WWX(X"@X-cX%X X XX3Y#LY+pY&Y#YYYZ(ZDZ*dZ!Z Z Z ZZZZ [["[*[;[#T[/x[5[7[0\G\P\+X\\\\\<\-](>]2g]Y]]^^/^'O^$w^$^^(^ _'_A_R_k_F_ ___ _ __`` `0`1P` ` ` `%````*a :aDaKa9[a\aa#b%b/DbAtbTb cNcccic{cc7ccc-d22d%edd ddd dddV e$be eeee eeef{g5g gg gHg+h4h;hPhVhghvhhh hh!h hhX i diUniiii j!j 'j HjUj ]jhjmj$jj Vk"wkk&k/kkkkl.lDlalllll lllmmm&!mHmQmcmlm#m4mmm m n n*nJn]nmnnn)nnn)n&o>oM\o,o o-o5p7Ep#}pppppp9qQqZqxqqqqqqeq]rrrrr.rrrr ss;sSsXs ksus sssss"st:&t4at#t=t4t-u$=u(bu%u u1u uuv#v*9vUdv)v*vNw/^w:ww8Tx5x)x7xO%y'uyy(zNzE{7F{i~{{|"||||"|}%}=B}}#}(})} ~~%7~A]~~G~68U 8  -CG9ہc#66$mۃ $3LS!c%΄ #=i,^^5E]9vG:"f.u_wl|[ ipCN[K+{s0nT< H"G!SJ3zF`Q#&5e%g-;b>{ZdpM6LyRt UW8~\1@F+P)h,Q%qraNKc/jAMA1l4/v<mB'sgaD? $m(w'kt}=7jR;V3WX:\8O  H0) x YC47D&E2YnXcU!L (z9IV}foB_bq` uk-.y2OS*er~TZh*6@d>|JI$]? o Px%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&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 (*.*)|*Allow copy'n'pasteAn 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 session broker failed.Authentication to session broker has been successful.Authentication to the SSH proxy server failed!Automatically detect and use client-side keyboard configuration inside the sessionBroker URLCancelChange 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. %sClipboardCloseCompressionConnect %sConnect MethodConnect ServerConnect toConnectionConnection Link SpeedConnection to %s failed. Retry?Convert 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 serverDesktop sharing was denied by the other user or both of you have insufficient privileges to share one another's desktop.DevelopmentDisconnect and E&xit applicationDisconnect from session brokerDisconnecting %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. Subsystem %sstartup failed.Found already running session %sFullscreenGNOME Desktop (GNOME)Gain full accessGamesGraphicsHostHost key verification failed. The SSH proxy 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!!!Host 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)LogonLost 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 X2Go session will lack SFTP client support. Check your server setup. Avoid echoing ~/.*shrc files on server!!! Not starting new session...New 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 commandPassphrasePasswordPathPortPrintPrint actionPrint to a local printerPrintingPrinting PreferencesProfileProfile ManagerProfile name %s already exists!!!Profile name is missing, profile unusable!!!ProxyPublished ApplicationsPulse AudioRDP 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 key file (for SSH proxy) could not be unlocked!SSH key file (for X2Go server) could not be unlocked!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 broker is not connectedSession 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 initialization failed.The 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...Unlock SSH keyUnlock SSH private key (%s)...Unlock auto-discovered SSH private key...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 &profileView ProfileView 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...While connecting to profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?While initializing a session for profile '%s' the connection to %s has failed. It is possible to attempt session initialization anyway. Do you want to continue?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)Yesautomaticallybetween client and serveresdfrom client to server onlyfrom server to client onlyimport session profile(s)manuallynot at allsettings derived from {appname} is already running for user ,,{username}''! Only one instance of {appname} can be started per user. The {appname} icon can be found in your desktop's notification area/systray.Project-Id-Version: PyHoca-GUI VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2014-10-20 12:52+0200 PO-Revision-Date: 2014-10-12 14:00+0100 Last-Translator: Klaus Ade Johnstad 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 Plural-Forms: nplurals=2; plural=(n != 1); X-Language: nb_NO X-Source-Language: C %s ...oppstod fra sesjon %s%s ...oppstod på skriver %s fra sesjon %s%s Klient for å koble deg til en ekstern X2Go server%s Kobler deg til ,,%s''%s Kobler deg til X2Go...%s Holder på med å koble deg til X2Go serveren ,,%s''%s - ssh mellomtjener%s (X2Go Server)%s (via %s)%s - EOF feil%s - Innkommende utskriftsjobb fra %s (%s)%s - MIME boks ikke tilgjengelig%s - Utskriftsinnstillinger%s - feil med SFTP-klient%s - SSH feil%s - ssh mellomtjener%s - feil med lyden%s - problem med lyden%s - advarsel om lyd%s - autentiseringens feil%s - feil med kanalen%s - klientressurser er ikke mulig å dele%s - klientside mapper er ikke mulig å dele%s - klient-side utskrift er ikke tilgjengelig%s - koble til%s - tilkoblingsfeil%s - skrivebordsdelingen feilet%s - skrivebordsdelingen feilet%s - koble fra%s - eksporter sesjonsprofil%s - eksporter sesjonsprofiler%s - tilkoblingsfeil%s - vertsnø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 - vellykket%s - koble fra%s - avslutt%s - tidsavbrudd%s - ukjent feil%s Profil håndterer - %s%s Profilhåndterer - %s (tilkoblet)%s Profilhåndterer - %s (tilkoblet, beskyttet)%s Profilhåndterer - %s (beskyttet)%s Profilhåndterer - ny profil%s: Verifiser vert autorisasjonen%s - tilkoblings feil avvist%s: Direkte RDP er ikke støttet enda%s: Eksportfilen eksisterer allerede%s: Eksporteringen av sesjonsprofil(er) feilet%s: Import av sesjonsprofil(er) feilet%s: Skrivefeil etter import%s - tilkoblingsfeil&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 (*.*)|*Tillat klipp og limEn ukjent feil oppstod under autentiseringen!En ukjent feil oppstod under autentiseringen! En annen klient gjenopptok X2Go sesjon %sEn annen klient startet X2Go sesjon %sApplikasjonBrukEr du helt sikker på at du ønsker å slette valgt sesjonsprofil "%s"?Arts (ikke støttet)AutentiserAutentiseringen feilet!Autentiseringen var vellykket.Autentiseringens protokoll kommunikasjon er ufullstendig! Forsøk igjen.Autentiseringenen til broker feilet.Autentiseringen til broker var vellykket.Autentiseringenen til SSH mellomtjeneren feilet!Automatisk oppdag og benytt klientside konfigurasjon for tastaturet inne i sesjonenBroker URLAvbrytEndre 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 sesjonsprofilenCinnamon Skrivebord (CINNAMON)Rensker opp i X2Go sesjoner...Klient alternativerKlientside utskriftKlientens tegnkodeKlientside mapper og skrivere kan ikke bli delt med denne sesjonen. %sUtklippsbordLukkKompresjonKoble til %sTilkoblingsmetodeKoble til serverKoble tilTilkoblingTilkoblingens forbindelseshastighetTilkobling til %s feilet. Forsøk pånytt?Konverter 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 serverenDeling av Skriverbord ble avvist av den andre brukeren, eller ingen av dere har nødvendige rettigheter til å dele hverandres Skrivebord.UtviklingKoble fra sesjonen og &Avslutt applikasjonenKoble fra brokerKobler fra %s og avslutter applikasjonen...Oppdag SSH nøkler, eller bruk SSH agent for X2Go autentiseringOppdag SSH nøkler, eller bruk SSH agent for mellomtjener autentiseringSkjermIkke angi (benytt server-side verktøy for å konfigurere tastaturet)&AvsluttRediger profilOpplæringEpostklientAktiver 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 eksporterFor detaljer, start %s fra kommandolinjen og gjenta importen.Tunnel videresendingsforespørsel til [%s]:%s for sesjon %s ble avvist av den eksterne X2Go/SSH serveren. Oppstart av %sundersystemet feilet.Fant allerede kjørende sesjon %sFullskjermGNOME skrivebord (GNOME)Få full tilgangSpillGrafikkVertVerifikasjon av vertsnøkkel feilet. SSH mellomtjener kan ha blitt kompromittert. Det er også mulig at vertsnøkkelen bare har blitt endret. Uansett, av hensyn til sikkerheten vil ikke tilkoblingen bli opprettet!Verifikasjon av vertsnøkkel feilet. X2Go serveren kan ha blitt kompromittert. Det er også mulig at vertsnøkkelen bare har blitt endret. Uansett, av hensyn til sikkerheten vil ikke tilkoblingen bli opprettet!ISDNIkonfiler(*.png)|*.png|Alle filer (*.*)|*BildekvalitetImportere sesjonsprofilerInndata/UtdataIntegrer eksterne applikasjon(er) inn i det lokale skrivebordet (rotløs modus)InternettNettleserK skrivebordsmiljø (KDE)NøkkelNøkkelfilTastaturTastaturmodellLANStart enkeltapplikasjonUtformingUtformingsvariantLettvekts X skrivebord (LXDE)KoblingskvalitetLokal stiLogg inn automatisk etter at %s har startet (trenger --auto-connect)LoginMistet uventet forbindelsen til server %s ! Forsøk å autentisiere deg på nytt til serveren...MATE Skrivebord (MATE)Administrer applkasjonsmenyenHåndter sesjonsprofilMaksimertMediaMeny med publiserte applikasjonerMetodeModemMultimediaNavnNy sesjonsprofilNy X2Go sesjon starter opp... %sNy X2Gosesjon vil mangle støtte for SFTPklient Sjekk oppsettet på din server Unngå å kopierer inn ~/.*shrc filer på serveren! Starter ikke ny sesjon... En ny sesjonsprofil har blitt importert...Nye sesjonsprofiler har blitt importert...NeiIngen sesjonsprofiler er definertIngen av sesjonsprofilene kunne bli importert...GreitKontorKontorapplikasjonerGreitKun disse sesjonsprofilene har blitt importert...Åpne applikasjonsvelgerdialogÅpne filen med systemets foretrukne applikasjonÅpne dette dialogvinduetÅpne med PDF leserenAndre applikasjonerPDF leser kommandoPassordfrasePassordStiPortSkriv utSkrivut handlingSkriv ut til en lokal skriverUtskriftUtksriftsinnstillingerProfilProfilhåndtererProfilnavnet %s eksisterer allerede!Profilnavnet mangler, profilen er ubrukelig!MellomtjenerPubliserte applikasjonerPulseaudioRDP alternativerRDP serverVirkelig slette sesjonsprofilen "%s"?OppfriskOppfrisk listenOppfrisk menytreetOmdøp sesjonsvinduetTilbakestillGjenopprett 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.SSH nøkkelfil (for SSH mellomtjener) kunne ikke bli låst opp!SSH nøkkelfil (for X2Go-server) kunne ikke bli låst opp!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 serverenServerServerkjerneServerutvidelserServerinformasjonServerinformasjon - %sServer bak SSH mellomtjenerenServerens tegnkodeSesjonSesjonsprofil: %s Liste over X2Go Server komponenter, tillegg og deres versjoner...Sesjon oppstartSesjonstittelSesjonstittel - %sSesjonsvinduSesjonbroker er ikke tilkobletSesjons innloggingSett skjermens DPIAngi sesjons vindustittelDel skrivebordDel skrivebordssesjon - %sDel skrivebordssesjon (skygge)Del:Delte &mapperDelingVis sesjonsvinduEnkeltapplikasjonLydStart &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 sesjonsavslutningEksporten 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 koble fra/Avslutt) 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 vertsnø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.).Valgt sesjonsprofil(er) kunne ikke bli importert fra filen "%s". Er du sikker at sesjonsprofil filen har det riktige formatet?Serveren nekter klientside 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.Oppstart av sesjonen feilet.Sesjonsprofilen har blitt slettet.Sesjonsprofilens konfigurasjon kunne ikke bli skrevet til fil etter import Sjekk for vanlige feil (full disk, manglende tilgang, o.l.).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...Lås opp SSH nøkkelLås opp den private SSH nøkkelen (%s)...Lås opp den automatisk oppdagete private SSH nøkkelStopp deling på a&lle lokale mapperStopp deling:Benytt standardsesjons 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 mellomtjenerBruk samme brukernavn for X2Go og mellomtjenerBenytt denne skriverenBrukerBrukeren har ikke tillatelse til å starte X2Go sesjoner!BrukernavnVerktøyVis &profilenVis ProfileBare 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.Mens disse sesjonsprofilen feilet under importeringen...Mens forbindelse til profilen '%s* ble forsøkt startet, så feilet forbindelsen til %s. Det er mulig å forsøke å starte sesjonen allikevel. Vil du fortsette?Mens en sesjon til profilen '%s* ble forsøkt startet, så feilet forbindelsen til %s. Det er mulig å forsøke å starte sesjonen allikevel. Vil du fortsette?VindusikonVindustittelWindows Terminal Server (Direkte RDP)Windows Terminal Server (RDP via X2Go-proxy)X2Go profilen er nå frakoblet.X2Go ServerX2Go ServertilleggX2Go ServerfunksjonerX2Go sesjonen har blitt frakoblet %sX2Go sesjonen har blitt avsluttet %sXDMCP spørringXDMCP serverXFCE skrivebord (XFCE)Jaautomatiskmellom klient og serveresdkun fra klient til serverkun fra server til klientImport sesjonsprofil(er)manueltikke i det hele tattinnstillinger arvet fra{appname} kjører allerede for bruker ,,{username}''! Kun en instans av {appname} kan bli startet per bruker. {appname} ikonet kan bli funnet i ditt skrivebords systemkurv område.pyhoca-gui-0.5.0.4/build/mo/nl/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010402512461156543016674 0ustar   !!(!4!!"83"l"{" ""%"""##)#8#I#\#o##"#%#'# $$%$A$^$n$$ $$$$ $%%%%:%P% g% s%%%%5%% & & &+& :&G&Z&#r&.&#& & ')'F'f''''''' ((7(R(!l(( ( ( (%((( ))) ").)@)/S)0)&)&) **B*W* l*y*#*>*(*5+.R+R+ +++#+",=,)[,,',,,, --G/- w-- - --- - ---+.4. L.X.g.|...&....//x3/ / //+/:$0;_00<00 0 0 09 1D1Y1$m1)1#11122 /2 :2F2AU2u2 3 .393O3`3f3o3t3I45*5 I5W5 o5B|5555556 66686?6N6 k6 x6?66S6717I7 `7j7p777 777"77(t8*8881899#9790:9k9+99999 :::#:(: .:;:T:]:r:z:!:,::: : ; ;%;?; G;T;f;|;;;;;;<U#<y<<+<3<5<0=G=Z=_=s==;== ==>>0>H>X>R`>> >>>> ?!?1? J?X?s?????????@#@A@'R@:z@"@B@CA_A oA%A%A A.ABB%B"7B'ZBHB0B1BK.C5zC=CC6rD3D6DJEL_E0EEkFBFC7G1{GpG"H%AHgHHI$IDIbIgI5III)IJ.J"7JZJ.zJJ'JJ/K)1K[KlK+qKK K K KKKKL2BMuM N N N$N*N!O 7OCOWO"lOO O OOO OOP P&PAP[P dPoPPBQ R. S;:SvSS-SSS S T'T 9TZTpT TTTTTTT.U*@U*kUUUUUUV2V RV_VwV!VVVVVVW8W GWSWlW}W0WW W W WW XX0X%IX6oX+X$X)X!Y)@Y%jY-Y-YY Z"Z c?EccIc ccccKd [d|d7dAd%e;eWefee ee e]ef ffff g ggghi4#iXigi i@iiiiij jj'j+jEjLj[jyj jIj jkjYkmkkk k"kkk kkk& l3l%l-m6m":m8]mmmmm<m%m/nJncnynn n nnn n nn nnoo/o-Lozoo o o o o o o opp-pKp \p}pp#p[p4qRq$Yq5~q7qqrrr!/rQr<mrr rrrrrs#sP*s {s ssss sss t)tCtathtyttttttttu&#u<JuAuDu>vMv*]v3v(vv=v,w4w=w-Pw7~wQw4x2=xNpx.x@x/y<y:z,Bz@ozNz6z6{{Ur|G|,}=}&}!}~"~~ ~$;@H^ 2#2'C+k;Ӏ(<9=v Ɂ(Ӂ #2IM9̃ f s#+'Ѕ .K h t ߆  $2L#=i-^_6E]:vH;"f.u_wm|[jqCN\K,|t1oU= I#G!TK3zGaQ$&5e%h-<b?{ZdpM7LyRt VX8\2AF+P)i,R&rsbOLc0kANB1l5/w<mB'sgaD@  $n )x(ku~>8jS;V4WY:]9P! H0* y ZD47E'F3YnXdU"M ({9JW}goC`cq` vl./z2OS*fr~T[h+6@e>}JI%^? p Qx%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&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.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 AudioRDP 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: 2014-10-20 12:52+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: DirectRDP пока не поддерживается%s: Файл уже существует%s - экспорт профиля сессии не удался%s: Импорт профиля сессии не удался%s: Ошибка записи после импортирования&Очистить все сессии&Отсоединить от сервераЭ&кспорт произвольного каталога- принтеры не установлены -- система печати недоступна -<Выбор действия печати>Новый профиль сессии добавлен.ADSLО %s (%s)...О %s ...ДействиеДобавитьДобавить профильВсе файлы (*.*)|*Неизвестная ошибка при авторизации!Неизвестная ошибка при авторизации!Другой клиент восстанавливает сессию X2Go %sДругой клиент запускает сессию X2Go %sПриложениеПрименитьУдалить профиль ,,%s''?Arts (не поддерживается)АвторизоватьОшибка авторизации!Авторизация успешна.Ошибка авторизации! Попробуйте еще раз...Ошибка авторизации на прокси сервере SSH!Автоматически определять конфигурацию клиента и использовать её для сессииОтменаИзменить заголовок сессии наИзменения в профиле сохранены.Выберите путь сохранения PDFВыберите программу просмотра PDFВыбрать экспортируемый каталогВыбрать публичный ключ SSHВыбрать пиктограммуCinnamon Desktop (CINNAMON)Очищаем сессии X2Go...Опции клиентаПечать на стороне клиентаНа стороне клиентаКаталоги и принтеры на стороне клиента не могут быть экспортированы внутри этой сессии. %sЗакрытьСжатиеСоединение %sМетод подключенияСоединить с серверомСоединениеСкорость соединенияКодировка имен файловСоединение ...Другой размерКоманда пользователяКоманда печатиПроизвольный заголовок окна сессииДругой звуковой портИзменить &профильДействие по умолчанию для поступающих заданий печатиПо умолчаниюУдалитьУдалить профильРазделение десктопа с %s не поддерживается серверомРазработка&Разъединить и покинуть программуРазъединяем %s и покидаем программу...Автоматически определять SSH ключи или использовать SSH агент для аутентификацииАвтоматически определять SSH ключи или использовать SSH агент для аутентификации на прокси сервереДисплейНе устанавливать (конфигурация на стороне сервера)Вы&ходРедактировать профильОбразованиеПочтовый клиентРазрешить ретрансляцию соединений агента SSHАктивировать звукЗавершить сессиюЗавершить сессию (и разъединить)Завершить сессию (и разъединить/выйти)Невозможно выполнить команду ,,%s''.Покидаем программу...Экспорт профиляЭкспортировать группу профилейЭкспортировать все профилиРасширенияИмпорт файловЭкспорт каталоговЧтобы узнать больше, запустите %s из командной строки и попробуйте ещё раз.Найдена уже запущенная сессия %sПолноэкранный режимGNOME Desktop (GNOME)Открыть полный доступИгрыГрафикаХостПроверка ключа удалённого хоста не удалась. Возможно, сервер X2Go компрометирован. Также может быть что ключ просто был сменён. Тем не менее, по соображениям безопасности соединение не будет установлено!!!ISDNГрафические файлы (*.png)|*.png|Все файлы (*.*)|*Качество изображенияИмпортировать профили сессииВвод/ВыводИнтегрировать удаленное приложение в локальный десктопИнтернетВеб-броузерK Desktop Environment (KDE)КлючФайл ключаКлавиатураМодельLANЗапустить приложениеРаскладкаВариант раскладкиLightweight X Desktop (LXDE)Качество соединенияЛокальный путьАвтоматический вход после запуска %s (требуется опция --auto-connect)Соединение с сервером %s утрачено. Попытайтесь соединиться еще раз...MATE Desktop (MATE)Управление меню приложенийУправление профилем сессииМаксимальный размерМедиаМеню удаленных приложенийМетодМодемМультимедиаИмяНовый профильНовая сессия X2Go запускается... %sНовый профиль сессии был импортирован...Новые профили сессии были импортированы...НетПрофили не определеныНе удалось импортировать ни один из профилей сессии...ОКОфисОфисные приложенияОКТолько эти профили сессии удалось импортировать...Открыть диалог выбора приложенияОткрыть файл с приложением по умолчаниюОткрывать этот диалогОткрыть с программой просмотра PDFДругие программыПрограмма просмотра PDFПарольПутьПортПечатьДействие печатиПечататьПечатьУстановки печатиПрофильProfile ManagerПрофиль с именем %s уже существует!!!Имя профиля не установлено!!!ПроксиУдаленные приложенияPulse AudioОпции 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« уже существует в этом каталоге. Переписать?Удаленный серверный ключ недействителен и не был принят пользователемДомашний каталог удаленного пользователя не существует.Выделенные профили сессий не удалось экспортировать в файл »%s«. Проверьте дисковое пространство и права доступа.Выделенные профили сессии не удалось импортировать из файла »%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.5.0.4/build/mo/sv/LC_MESSAGES/PyHoca-GUI.mo0000644000000000000000000010136512461156543016717 0ustar   !!(!4!!"83"l"{" ""%"""##)#8#I#\#o##"#%#'# $$%$A$^$n$$ $$$$ $%%%%:%P% g% s%%%%5%% & & &+& :&G&Z&#r&.&#& & ')'F'f''''''' ((7(R(!l(( ( ( (%((( ))) ").)@)/S)0)&)&) **B*W* l*y*#*>*(*5+.R+R+ +++#+",=,)[,,',,,, --G/- w-- - --- - ---+.4. L.X.g.|...&....//x3/ / //+/:$0;_00<00 0 0 09 1D1Y1$m1)1#11122 /2 :2F2AU2u2 3 .393O3`3f3o3t3I45*5 I5W5 o5B|5555556 66686?6N6 k6 x6?66S6717I7 `7j7p777 777"77(t8*8881899#9790:9k9+99999 :::#:(: .:;:T:]:r:z:!:,::: : ; ;%;?; G;T;f;|;;;;;;<U#<y<<+<3<5<0=G=Z=_=s==;== ==>>0>H>X>R`>> >>>> ?!?1? J?X?s?????????@#@A@'R@:z@"@B@CA_A oA%A%A A.ABB%B"7B'ZBHB0B1BK.C5zC=CC6rD3D6DJEL_E0EEkFBFC7G1{GpG"H%AHgHHI$IDIbIgI5III)IJ.J"7JZJ.zJJ'JJ/K)1K[KlK+qKK K K KKKKL2BMuM N N N$N*N!O 7OCOWO"lOO O OOO OOP P&PAP[P dPoPPBQS,!S2NSSSSSS S T+ T9TTTnT TT TTTT T#T!U-8U fUrU#U#UUUV'V9VVVeV |VVVVVVV WW,WFW=[WW W W W W WWW"X"2X"UXxX XXXX- Y-9YgYYYYYY$Z'ZGZJZPZ$SZxZ }Z Z Z ZZZZ-Z-[,B[(o[ [ [=[[ [ \&\+>\2j\.\*\Q\#I]m]t]!]]]#]^'^F^b^{^"^^E^__ _ "_,_=_ P_ \_g_/|_-___``#.`R`d`-t``` `,`m` [aiaa,aDaDbZbNabbb b bEb'c:c,Tc4c)ccc dd 7d Dd NdW\dede 3e>eTejeoeve}eZf3g*8g cgpg g9gg ggh h hh2h6hIh\hdh hhFh hMh>iRiki i i"iii iiii j$j'jj%j)%kOkRkYk`k/ckk(kkkll1l @lJlSlXlaltl lllll&lmm (m4m Cm3Nm mmmm m*mn!n 6nWnonJnnn&n3#o5WoooooooC pNp UpapppppppYp #q 1q>qQq"bqqqqqqr r&r5r=r Sr_rdrrrrr+r:s5=s?ss9ss)t$0t$Utzt*ttttttIt!8jS;V4WY:]9P! H0* y ZD47E'F3YnXdU"M ({9JW}goC`cq` vl./z2OS*fr~T[h+6@e>}JI%^? p Qx%s ...caused by session %s%s ...caused on printer %s by session %s%s Client for connecting you to a remote X2Go server%s Connecting you to ,,%s''%s Connecting you to X2Go...%s Currently connecting you to remote X2Go server ,,%s''%s (SSH proxy)%s (X2Go Server)%s (via %s)%s - EOF error%s - Incoming Print Job from %s (%s)%s - MIME box not available%s - Printing Preferences%s - SFTP client error%s - SSH error%s - SSH proxy%s - audio error%s - audio problem%s - audio warning%s - auth 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 - desktop sharing failure%s - disconnect%s - export session profile%s - export session profiles%s - failure%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 - success%s - suspend%s - terminate%s - timeout%s - unknown error%s Profile Manager - %s%s Profile Manager - %s (connected)%s Profile Manager - %s (connected, immutable)%s Profile Manager - %s (immutable)%s Profile Manager - new profile%s: Confirm Host Authorization%s: Connection refused error%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%s: connection failure&Clean all sessions&Disconnect from Server&Share custom local folder- no printers installed -- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "" pyhoca-gui-0.5.0.4/po/da.po0000644000000000000000000015542212461156543012173 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: 2014-10-20 12:52+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/brokerlogon.py:54 msgid "Logon" msgstr "Login" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "Broker URL" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Brugernavn" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Kodeord" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Autentificér" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Annullér" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - succes" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "Autentificering til session broker var successful." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - mislykkedes" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Autentificering mod SSH proxy server mislykkedes." #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s: Forbindelse afvist fejl" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Forbindelse til %s mislykkedes. Prøv igen?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Start SSH tunnel" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Session login" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "SSH proxy server login" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - forbindelses fejl" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "Bruger har ikke rettigheder til at starte X2Go sessioner!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - forbind" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Autentificering lykkedes." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "SSH tunnel startet" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "Autentificering mislykkedes!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH proxy" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "Autentificering til SSH proxy server mislykkedes!" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - socket fejl" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - vært nøgle fejl" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "Fjern serverens værts nøgle er ugyldig eller blev ikke accepteret af brugeren" #: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - mangler hjem mappe" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "Fjern brugerens hjem mappe eksisterer ikke." #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - nøgle fejl" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - auth fejl" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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 "" "Værts nøgle verifikationen fejlede. X2Go server er muligvis kompromitteret.\n" "\n" "Det er også muligt at værts nøgle er blevet ændret.\n" "\n" "Men af sikkerhedsmæssige årsager vil forbindelsen ikke blive oprettet!!!" #: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - SSH fejl" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - ukendt fejl" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "En ukendt fejl opstod under autentificering!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s - (SSH proxy)" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go Server)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Lås op for SSH privat nøgle (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Lås op for auto-opdaget SSH privat nøgle..." #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Kodeord" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Lås op for SSH nøgle" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH nøgle fil (for X2Go server) kunne ikke låses op!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH nøgle fil (for SSH proxy) kunne ikke låses op!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Forbinder dig til ,,%s''" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Forbinder dig til fjernt X2Go server ,,%s''" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Forbinder dig til X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "Klient til at forbinde dig til et fjernt X2Go server" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Skrivebord (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Skrivebord (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE Skrivebord (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K Skrivebord miljø (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Letvægts X Skrivebord (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Skrivebord (KDE3-lignende)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Skrivebord Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Skrivebord (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Udgivet Programmer" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Enkelt Program" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Del skrivebord session (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP Forespørgsel" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP igennem X2Go-proxy)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direkt RDP)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Bruger defineret kommando" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Internet Browser" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "Email Klient" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Kontor software" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "mellem klient og server" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "kun fra server til klient" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "kun fra klient til server" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "ingen" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Åben fil med systemet's standardprogram" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Åben programvælger" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Gem indkommende fil som ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "indstillinger brugt fra" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Session Titel" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Session Vindue" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Session Startup" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Forbindelses hastighed" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Komprimering" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Skærm" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Clipboard" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Tastatur" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Lyd" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Udskrive" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Mappe Eksporteringer" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "Fil Importering" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Navn" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Indstil session vinduet's titel" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Brug standard titel til session vinduet" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Bruger defineret titel til session vinduet" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Vinduets Ikon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Start session automatisk efter login" #: ../pyhoca/wxgui/profilemanager.py:258 #, 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:259 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Program" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "XDMCP server" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "RDP server" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "RDP indstillinger" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrér fjern programmer med lokal skrivebord (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Menu med udgivet programmer" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "Bruger" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Vært" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Nøgle" #: ../pyhoca/wxgui/profilemanager.py:288 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:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Aktiver viderføring af SSH autentificering agents forbindelser" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Gem SSH værts nøgler under (enestående) X2Go session profil ID" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "Server behind SSH proxy" msgstr "Server bag SSH proxy" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "Brug samme brugernavn til X2Go og proxy vært" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "Brug samme autentificering til X2Go og proxy vært" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "Nøgle fil" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Opdag SSH nøgler eller brug SSH agent til proxy authentificering" #: ../pyhoca/wxgui/profilemanager.py:307 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Metode" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Billed kvalitet" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Fuldskærm" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maksimeret" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Bruger defineret størrelse" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Indstil skærm DPI" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Tillad kopier og indsæt" #: ../pyhoca/wxgui/profilemanager.py:332 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:333 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Automatisk register og brug klient side tastetur indstillinger inden i " "session" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use custom keyboard settings as provided below" msgstr "Brug bruger defineret tastatur indstillinger som vist nedenfor" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Tastatur model" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Opsætning" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Opsætnings variant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Aktiver lyd understøttelse" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "Arts (ikke understøttet)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Brug standard lyd port" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Bruger defineret lyd port" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Klient Side udskrivning" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Brug lokal mappe deling" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "Gem delt liste ved lukning af sessionen" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "Sti" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Tilføj" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Local Sti" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Forbindelses Metode" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Slet" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Konverter mellem klient og server kodninger" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Klient kodning" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Server kodning" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Brug fil MIME box til lokal fil import" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Udvidelser" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Handling" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Standarder" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Gem" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Nulstille" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Anvend" #: ../pyhoca/wxgui/profilemanager.py:453 ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automatisk" #: ../pyhoca/wxgui/profilemanager.py:455 ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manuelt" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Profil Håndtering - ny profil" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Profil Håndtering - %s (forbundet)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Profil Håndtering - %s (forbundet, uforanderlige)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Profil Håndtering - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Profil Håndtering - %s (uforanderlige)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Profil" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Session" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Forbindelse" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Forbindelses Kvalitet" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Medie" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Deling" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Ikon Filer (*.png)|*.png|Alle filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Vælg et ikon til denne session profil" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "Alle filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Vælg offentlig SSH nøgle" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Vælg en mappe som skal deles i en session" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Profil Håndtering" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "Profil navn mangles, profilen er ubrugelig!!!" #: ../pyhoca/wxgui/profilemanager.py:2447 ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profil navnet %s eksisterer i forvejen!!!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - profil er tilføjet" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "En ny session profil er blevet tilføjet." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - modificeret" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Ændringerne i profilen er blevet gemt." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Del Skrivebords session - %s" #: ../pyhoca/wxgui/listdesktops.py:68 msgid "Select one of the available desktop sessions on this server" msgstr "Vælg en af de tilgængelige skrivebords sessioner på denne server" #: ../pyhoca/wxgui/listdesktops.py:74 msgid "View session only" msgstr "Vis kun session" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Modtag fuld adgang" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Del Skrivebord" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Genopfrisk liste" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Rediger Profil" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "Vis Profil" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Brug som Skabelon til Ny Profil" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Eksporter Profil" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Slet Profil" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "Om %s (%s)..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Håndter Session Profil" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Afbryd forbindelse til session broker" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Printer Indstillinger" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Klient Indstillinger" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "E&xit" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Vindues titel" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Fortsæt Session" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Fortsæt Session (ikke muligt)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Overfør Session" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Overfør Session (ikke muligt)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspendér Session (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Suspendér Session (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Suspendér Session" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Afslut Session (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Afslut Session (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Afslut Session" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Stop Skrivebords Deling (og afbryd forbindelse/luk)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "Stop Skrivebords Deling (og afbryd forbindelse)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "Stop Skrivebords Deling" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Genopfrisk menu" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Omdøb Session Vinduet" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Vis Session Vinduet" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "&Del bruger defineret lokal mappe" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Del:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "Afbryd Deling:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Afbryd deling af &alle lokale mapper" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Genopret delte mapper i næste session" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Multimedie" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Udvikling" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Undervisning" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Spil" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Grafik" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Kontor Programmer" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Værktøjer" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Andre Programmer" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Forbind til" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Forbind %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Forbinder..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "Start &ny Skrivebords Session" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Start Skrivebords Deling Session" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Henter Program Menuer..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Hent Program Menuer" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Start &ny RDP Session" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Start &ny Session" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Start en enkelt Program" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Håndter Program Menuer" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Kører" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "Suspenderet" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Rens alle sessioner" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "Tilpas &profil" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "Vis &profil" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Delte &mapper" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Server Information" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Afbryd forbindelse fra Server" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Suspendér Session og L&uk programmet" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Afbryd forbindese og L&uk programmet" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Tilføj Profil" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "Session broker er ikke forbundet" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "Ingen session profil er defineret" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Eksporter alle Profiler" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Eksporter Profil Gruppe" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Importer Session Profiler" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Forbind Server" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "Om %s..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Suspenderer sessioner og lukker programmet..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Afbryder forbindelsen %s og lukker programmet..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Lukker programmet..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - server advarsel" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "X2Go serveren udgiver ikke en program menu." #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "SSH nøgle autentificering lykkedes." #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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. SSH proxy server er muligvis " "kompromitteret.\n" "\n" "Det er også muligt at værts nøgle filen er blevet ændret.\n" "\n" "Men af sikkerhedsmæssige årsager vil forbindelsen ikke blive oprettet!!!" #: ../pyhoca/wxgui/frontend.py:736 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "SSH proxy'ens værts nøgle er ugyldig eller er ikke blevet accepteret af " "brugeren" #: ../pyhoca/wxgui/frontend.py:757 #, python-format msgid "%s - EOF error" msgstr "%s - EOF fejl" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Autentifikations protokol kommunikationen er ukomplet! Prøv igen..." #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "Der opstod en ukendt fejl under autentificeringen!" #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirektRDP er ikke undersøttet endnu" #: ../pyhoca/wxgui/frontend.py:808 #, 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" "Session profiler 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:823 msgid "Unknown session profile, configure before using it..." msgstr "Ukendt session profil, konfigurér den inden brug..." #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Skrivebords Deling med %s er ikke understøttet af server" #: ../pyhoca/wxgui/frontend.py:885 #, 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" "Skrivebords Deling 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:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - session advarsel" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Eksekvering af kommandoen ,,%s'' fejlede." #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Renser X2Go sessioner..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - afbryd forbindelse" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profilen er nu afbrudt." #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "Ny Session Profil" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Er du sikker på at du vil fjerne denne Session's profil ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "%s - profil slettet" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "Session profilen er blevet slettet." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "Importer session profil(er)" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s:Import af Session profil(er) fejlede" #: ../pyhoca/wxgui/frontend.py:1238 #, 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 session profil(er) kunne ikke importers fra\n" "filen »%s«.\n" "\n" " Er du sikker på session's profil fil er i det korrekte format?" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Skrive fejl efter importering" #: ../pyhoca/wxgui/frontend.py:1267 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 "" "Session's profil konfiguration kunne ikke blive skrevet til filen efter " "importering\n" "\n" "Check for almindelige problemer (Fuld disk, utilstrækkelig rettigheder, " "osv.)." #: ../pyhoca/wxgui/frontend.py:1272 msgid "None of the session profiles could be imported..." msgstr "Ingen af session profilerne kunne importeres..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "For detaljer, start %s fra kommando linjen og forsøg igen med at import." #: ../pyhoca/wxgui/frontend.py:1279 msgid "Only these session profiles could be imported..." msgstr "Kun disse session profiler kunne blive importeret..." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Hvoraf disse session profiler fejlede i at blive importeret..." #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "Nye session's profiler er blevet importeret..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "Nye session's profiler er blevet importeret..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - eksporter session profiler" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - eksporter session profilen" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "5s: Eksportings filen eksister allerede" #: ../pyhoca/wxgui/frontend.py:1340 #, 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:1361 #, python-format msgid "%s - profiles exported" msgstr "%s - profiler eksporteret" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Fuldført exportering af session profilens gruppe »%s« til filen »%s«." #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "%s - profile exported" msgstr "%s - profilen eksporteret" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Fuldført exportering af enkelt session profil »%s« til filen »%s«." #: ../pyhoca/wxgui/frontend.py:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Eksportering af session profil(er) fejlede" #: ../pyhoca/wxgui/frontend.py:1368 #, 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 session profil(er) kunne ikke eksporteres til\n" "filen »%s«.\n" "\n" "Check for almindelige problemer (Fuld disk, utilstrækkelig rettigheder, " "osv.)." #: ../pyhoca/wxgui/frontend.py:1387 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - del lokal mappe med sessioner i denne profil" #: ../pyhoca/wxgui/frontend.py:1553 #, 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 "" "Ægteheden af vært [%s]:%s kan ikke blive oprettet.\n" "%s nøgle fingerprint er ,,%s''.\n" "\n" "Er du sikker på du vil fortsætte med at forbinde?" #: ../pyhoca/wxgui/frontend.py:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Bekræft Værts Autorisering" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s - kanal fejl" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "Tabt forbindelsen til server %s!\n" "\n" "Prøv at gen-autentificere til serveren..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s - SFTP klient fej" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "Ny X2Go Session vil mangle SFTP klient support.\n" "\n" "undlad at ekko ~/.*shrc filer på serveren!!!\n" "\n" "Starter ikke den nye session..." #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - session fejlede" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "Sessionen's opstart fejlede." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "Sessionen's initialisering fejlede." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - skrivebords deling fejlede" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "Skrivebords deling var afvist af en anden bruger eller\n" "i har begge ikke rettigheder nok til at kunne dele hinandens skrivebord." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1681 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 skrivebord.\n" "Dette kan ske engang imellem, prøv venligst igen" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - skrivebords deling fejlede" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Skrivebordet %s er ikke tilgængeligt til deling (ikke længere)." #: ../pyhoca/wxgui/frontend.py:1711 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Kommandoen ,,%s'' er ikke tilgængeligt på X2Go server." #: ../pyhoca/wxgui/frontend.py:1713 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Kommandoen ,,%s'' er ikke tilgængeligt på X2Go server\n" "%s." #: ../pyhoca/wxgui/frontend.py:1730 #, 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 server port %s " "er blev afvist." #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." msgstr "" "Forwarding tunnel forespørgsler til [%s]:%s for session %s er blevet afvist " "af X2Go/SSH fjern serveren. Delsystem %sopstart fejlede." #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - lyd advarsel" #: ../pyhoca/wxgui/frontend.py:1775 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:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - lyd fejl" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "X2Go PulseAudio systemet kunne ikke blive startet." #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "X2Go PulseAudio systemet døde uforventet." #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - lyd problem" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Lyd forbindelsen kunne ikke oprettes for denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "%s - client-side printing not available" msgstr "%s - klient-udskrift ikke tilgængeligt" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Serveren nægter klient-side udskrift inden fra denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box ikke tilgængelig" #: ../pyhoca/wxgui/frontend.py:1825 #, 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:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - klient-sidet mapper er ikke delbar" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Serveren nægter klient-sidet mappe deling i denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s - klient ressourcer ikke delbar" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Klient-sidet mapper og printer kan ikke deles i denne session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - printer fejl" #: ../pyhoca/wxgui/frontend.py:1868 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "... skete på printer %s pga. session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...skyldtes af denne session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - start" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Ny X2Go session starter...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "En anden klient startede X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - fortsæt" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Genoptager X2Go session...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "En anden klient genoptog X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "%s - kører" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Fandt igangværende session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - suspender" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go session er blevet suspenderet\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - afslut" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go session er blevet afsluttet\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s - forbindelses fejl" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Imens opstartning af session for profilen '%s' har forbindelsen til %s " "fejlet\n" "\n" "det er muligt at forsøge start af sessionen alligevel. Vil du \n" "gerne fortsætte?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Imens forbindelsen til profilen '%s' har forbindelsen til %s fejlet\n" "\n" "det er muligt at forsøge opstart af session alligevel. Vil du\n" "gerne fortsætte?" #: ../pyhoca/wxgui/messages.py:70 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Er du sikker på at du vil \n" "slette session profilen ,,%s''?" #: ../pyhoca/wxgui/messages.py:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "{appname} kører i forvejen for bruger ,,%s''!\n" "\n" "Der kan kun startes én instans af {appname} per\n" "bruger. {appname} ikonet kan findes i dit skrivebord's\n" "notifikations område/systray." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Ja" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "Nej" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Udskriver Preferencer" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Indkommende Udskrifts Job fra %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Åben dette dialog vindue" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Åben med PDF fremviser" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Gem til lokal mappe" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Udskriv til en lokal printer" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Kør bruger defineret udskrifts kommando" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Aktion für aktuellen Druckauftrag" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Aktion für eingehende Druckaufträge" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "Anwendung für PDF-Anzeige" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "PDF in Ordner speichern" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Hier drucken" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Benutzerdef. Druckkommando" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Drucken" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- es sind keine Drucker installiert -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- das Drucksystem ist nicht bereit -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "Applikation für PDF-Anzeige auswählen" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "Speicherort für eingehende Druckaufträge (PDFs) auswählen" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Sitzungstitel - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Sitzungsfenster umbenennen in" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "Ok" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Server-Informationen - %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, 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:68 msgid "Refresh" msgstr "Aktualisieren" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Schließen" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "Server-Kern" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Server-Erweiterungen" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "X2Go Server Add-Ons" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "Besondere X2Go Server Merkmale" #~ msgid "PyHoca-GUI Profile Manager - %s" #~ msgstr "PyHoca-GUI Profilmanager - %s" #~ msgid "%s - auth key error" #~ msgstr "%s - ungültiger Benutzerschlüssel" #~ 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 "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 "%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.5.0.4/po/en.po0000644000000000000000000015706612461156543012217 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2015 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: 2014-10-20 12:52+0200\n" "PO-Revision-Date: 2014-06-29 14: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/brokerlogon.py:54 msgid "Logon" msgstr "Logon" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "Broker URL" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Username" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Password" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Authenticate" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Cancel" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - success" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "" "Authentication to session broker has been\n" "successful." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - failure" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Authentication to session broker failed." #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s: Connection refused error" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Connection to %s failed. Retry?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Start SSH tunnel" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Session login" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "SSH proxy server login" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - connect failure" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "User is not allowed to start X2Go sessions!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - connect" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Authentication has been successful." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "SSH tunnel started" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "Authentication failed!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH proxy" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "Authentication to the SSH proxy server failed!" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - socket error" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - host key error" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 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:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - missing home directory" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "The remote user's home directory does not exist." #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - key error" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - auth error" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - SSH error" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - unknown error" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "An unknown error occured during authentication!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s (SSH proxy)" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go Server)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Unlock SSH private key (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Unlock auto-discovered SSH private key..." #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Passphrase" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Unlock SSH key" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH key file (for X2Go server) could not be unlocked!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH key file (for SSH proxy) could not be unlocked!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Connecting you to ,,%s''" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Connecting you to X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "Client for connecting you to a remote X2Go server" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-like)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Published Applications" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Single Application" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Share desktop session (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP Query" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (X2Go-proxied RDP)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direct RDP)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Custom command" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Internet Browser" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "Email Client" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "between client and server" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "from server to client only" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "from client to server only" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "not at all" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Open file with system's default application" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Open application chooser dialog" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Save incoming file as ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "settings derived from " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Session Title" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Session Window" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Session Startup" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Connection Link Speed" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Compression" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Display" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Clipboard" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Keyboard" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Sound" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Printing" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Folder Exports" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "File Import" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Name" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Set session window title" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Use a default session window title" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Custom session window title" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Window Icon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Start session automatically after login" #: ../pyhoca/wxgui/profilemanager.py:258 #, 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:259 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Application" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "XDMCP server" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "RDP server" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "RDP options" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrate remote application(s) into local desktop (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Menu of published applications" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "User" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Key" #: ../pyhoca/wxgui/profilemanager.py:288 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:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Enable forwarding of SSH authentication agent connections" #: ../pyhoca/wxgui/profilemanager.py:291 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:292 msgid "Server behind SSH proxy" msgstr "Server behind SSH proxy" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "Use same username for X2Go and proxy host" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "Use same authentication for X2Go and proxy host" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "Key file" #: ../pyhoca/wxgui/profilemanager.py:304 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:307 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Method" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Image quality" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Fullscreen" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maximized" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Custom Size" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Set display DPI" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Allow copy'n'paste" #: ../pyhoca/wxgui/profilemanager.py:332 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:333 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:334 msgid "Use custom keyboard settings as provided below" msgstr "Use custom keyboard settings as provided below" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Keyboard model" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Layout" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Layout variant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Enable sound support" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "Arts (not supported)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Use default sound port" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Custom sound port" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Client Side printing" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Use local folder sharing" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "Store share list at end of session" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "Path" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Add" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Local Path" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Connect Method" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Delete" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Convert between client and server encodings" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Client encoding" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Server encoding" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Use file MIME box for local file import" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Extensions" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Action" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Defaults" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Save" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Reset" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Apply" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automatically" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manually" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Profile Manager - new profile" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Profile Manager - %s (connected)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Profile Manager - %s (connected, immutable)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Profile Manager - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Profile Manager - %s (immutable)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Profile" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Session" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Connection" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Link Quality" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Media" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Sharing" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "pc105/us" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "us" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "basic" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Icon Files (*.png)|*.png|All files (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Choose an icon for this session profile" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "All files (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Choose a public SSH key" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Choose a folder to share within a session" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Profile Manager" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "Profile name is missing, profile unusable!!!" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profile name %s already exists!!!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - profile added" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "A new session profile has been added." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - modified" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Changes to profile have been saved." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Share Desktop Session - %s" #: ../pyhoca/wxgui/listdesktops.py:68 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:74 msgid "View session only" msgstr "View session only" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Gain full access" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Share Desktop" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Refresh list" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Edit Profile" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "View Profile" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Use as Template for New Profile" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Export Profile" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Delete Profile" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "About %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Manage Session Profile" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Disconnect from session broker" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Printing Preferences" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Client Options" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "E&xit" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Window title" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Resume Session" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Resume Session (not possible)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Transfer Session" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Transfer Session (not possible)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspend Session (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Suspend Session (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Suspend Session" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Terminate Session (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Terminate Session (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Terminate Session" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "End Desktop Sharing (and disconnect/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "End Desktop Sharing (and disconnect)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "End Desktop Sharing" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Refresh menu tree" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Rename Session Window" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Show Session Window" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "&Share custom local folder" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Share:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "Unshare:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Unshare &all local folders" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Restore shares in next session" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Development" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Education" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Games" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Graphics" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Office Applications" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Utilities" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Other Applications" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Connect to" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Connect %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Currently connecting..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "Start &new Desktop Session" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Start Desktop Sharing Session" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Retrieving Application Menu..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Retrieve Application Menu" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Start &new RDP Session" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Start &new Session" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Launch Single Application" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Manage Application Menu" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Running" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "Suspended" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Clean all sessions" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "Customize &profile" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "View &profile" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Shared &folders" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Server Information" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Disconnect from Server" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Suspend Session and E&xit application" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Disconnect and E&xit application" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Add Profile" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "Session broker is not connected" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "No session profiles defined" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Export all Profiles" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Export Profile Group" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Import Session Profiles" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Connect Server" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "About %s ..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Suspending sessions and exiting application..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Disconnecting %s and exiting application..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Exiting Application..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - server warning" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "The X2Go Server does not publish an application menu." #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "SSH key authentication has been successful." #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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 SSH proxy 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/frontend.py:736 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:757 #, python-format msgid "%s - EOF error" msgstr "%s - EOF error" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Authentication protocol communication incomplete! Try again..." #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "An unknown error occurred during authentication!" #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP not supported yet" #: ../pyhoca/wxgui/frontend.py:808 #, 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:823 msgid "Unknown session profile, configure before using it..." msgstr "Unknown session profile, configure before using it..." #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Desktop Sharing with %s not supported by server" #: ../pyhoca/wxgui/frontend.py:885 #, 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:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - session warning" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Execution of command ,,%s'' failed." #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Cleaning X2Go sessions..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - disconnect" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "X2Go Profile is now disconnected." #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "New Session Profile" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Really Delete Session Profile ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "%s - profile deleted" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "The session profile has been deleted." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "import session profile(s)" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Import of session profile(s) failed" #: ../pyhoca/wxgui/frontend.py:1238 #, 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:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Write failure after import" #: ../pyhoca/wxgui/frontend.py:1267 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:1272 msgid "None of the session profiles could be imported..." msgstr "None of the session profiles could be imported..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, 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:1279 msgid "Only these session profiles could be imported..." msgstr "Only these session profiles could be imported..." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Whereas these session profiles failed to import..." #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "New session profiles have been imported..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "New session profile has been imported..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - export session profiles" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - export session profile" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "%s: Export file already exists" #: ../pyhoca/wxgui/frontend.py:1340 #, 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:1361 #, python-format msgid "%s - profiles exported" msgstr "%s - profiles exported" #: ../pyhoca/wxgui/frontend.py:1361 #, 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:1363 #, python-format msgid "%s - profile exported" msgstr "%s - profile exported" #: ../pyhoca/wxgui/frontend.py:1363 #, 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:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Exporting session profile(s) failed" #: ../pyhoca/wxgui/frontend.py:1368 #, 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:1387 #, 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:1553 #, 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:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Confirm Host Authorization" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s - channel error" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s - SFTP client error" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - session failure" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "The session startup failed." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "The session initialization failed." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - desktop sharing failure" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1681 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:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - desktop sharing failed" #: ../pyhoca/wxgui/frontend.py:1693 #, 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:1711 #, 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:1713 #, 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:1730 #, 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:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." msgstr "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - audio warning" #: ../pyhoca/wxgui/frontend.py:1775 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:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - audio error" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "The X2Go PulseAudio system could not be started." #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "The X2Go PulseAudio system has died unexpectedly." #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - audio problem" #: ../pyhoca/wxgui/frontend.py:1801 #, 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:1813 #, python-format msgid "%s - client-side printing not available" msgstr "%s - client-side printing not available" #: ../pyhoca/wxgui/frontend.py:1813 #, 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:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME box not available" #: ../pyhoca/wxgui/frontend.py:1825 #, 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:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - client-side folders not sharable" #: ../pyhoca/wxgui/frontend.py:1837 #, 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:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s - client resources not sharable" #: ../pyhoca/wxgui/frontend.py:1849 #, 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:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - print error" #: ../pyhoca/wxgui/frontend.py:1868 #, 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:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...caused by session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - start" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "New X2Go session starting up...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Another client started X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - resume" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Resuming X2Go session...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Another client resumed X2Go session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "%s - running" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Found already running session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - suspend" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go Session has been suspended\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - terminate" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go Session has terminated\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s: connect failure" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" #: ../pyhoca/wxgui/messages.py:70 #, 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:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Yes" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "No" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Printing Preferences" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Incoming Print Job from %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Open this dialog window" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Open with PDF viewer" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Save to a local folder" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Print to a local printer" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Run custom print command" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Print action" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Default action for incoming print jobs" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "PDF viewer command" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "Save PDFs to folder" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Use this printer" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Custom print command" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Print" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- no printers installed -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- print system is not available -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "Choose PDF viewer application" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "Choose PDF saving location" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Session Title - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Change session title to" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Server Information - %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, 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:68 msgid "Refresh" msgstr "Refresh" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Close" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "X2Go Server" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr " Server Core" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Server Extensions" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "X2Go Server Add-ons" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "X2Go Server Features" #~ msgid "PyHoca-GUI Profile Manager - %s" #~ msgstr "PyHoca-GUI Profile Manager - %s" #~ msgid "%s - auth key error" #~ msgstr "%s - auth key error" #~ 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 "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 "%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.5.0.4/po/es.po0000644000000000000000000016247312461156543012222 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2015 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, 2013, 2014. msgid "" msgstr "" "Project-Id-Version: PyHoca-GUI VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-10-20 12:52+0200\n" "PO-Revision-Date: 2014-10-09 09:37+0200\n" "Last-Translator: Ricardo Diaz \n" "Language-Team: Spanish <>\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: Lokalize 1.5\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Language: es_ES\n" "X-Source-Language: C\n" #: ../pyhoca/wxgui/brokerlogon.py:54 msgid "Logon" msgstr "Inicio de sesión" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "URL del Broker" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Nombre de usuario" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Contraseña" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Autenticar" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Cancelar" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - éxito" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "La autenticación de la sesión en el broker ha sido realizada." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - fallo" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Fallo en al autenticaciónde la sesión en el broker." #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s - error de conexiónr rechazada" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Falló la conexión a %s. ¿Reintentar?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (vía %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Iniciar túnel SSH" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Inicio de sesión" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "Inicio de sesión en el servidor proxy SSH" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - fallo en la conexión" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "¡El usuario no tiene permisos para iniciar sesiones X2Go!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - conectado" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Inicio de sesión correcto." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "Iniciado tunel SSH" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "¡Error en el nombre de usuario o contraseña!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - proxy SSH" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 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:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - error de socket" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - error en la clave del equipo" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 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:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - carpeta home desconocida" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 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:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - error en la clave" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - error en la autenticación" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - error de SSH" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - error desconocido" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "" "¡Error desconocido al tratar de validar el nombre de usuario y la contraseña!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s (proxy SSH)" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (Servidor X2Go)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Desbloquear la clave privada SSH (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Desbloquear clave privada SSH auto-encontrada..." #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Frase de contraseña" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Desbloquear clave SSH" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "" "¡El archivo de clave SSH (para el servidor X2Go) no pudo ser desbloqueado!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "¡El archivo de clave SSH (para el proxy SSH) no pudo ser desbloqueado!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Conectando a \"%s\"" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Conectando con el servidor remoto X2Go \"%s\"" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Conectando a X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "Cliente para conexiones remotas a servidores X2Go" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (similar a KDE3)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Aplicaciones publicadas" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Aplicación" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Compartir escritorio (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP Query" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP sobre X2Go)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (RDP Directo)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Comando personalizado" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Navegador web" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "Cliente de Correo" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "entre cliente y servidor" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "sólo desde al servidor al cliente" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "sólo desde el cliente al servidor" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "ninguno" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Abrir archivo con la aplicación por defecto" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Abrir selector de aplicaciones" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Guardar archivo recibido como ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "configuraciones recuperadas de " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Título de la Sesión" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Ventana de Sesión" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Inicio de Sesión" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Servidor" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Velocidad de conexión" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Compresión" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Pantalla" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Portapapeles" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Teclado" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Sonido" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Impresora" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Carpeta de Exportaciones" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "Importar Archivo" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Nombre" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Establecer título de la sesión" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Usar título de sesión por defecto" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Título de sesión personalizado" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Icono de la ventana" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Iniciar sesión automáticamente tras el login" #: ../pyhoca/wxgui/profilemanager.py:258 #, 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:259 msgid "Type" msgstr "Tipo" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Aplicación" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "Servidor XDMCP" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "Servidor RDP" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "Opciones RDP" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrar aplicaciones en el escritorio local (modo rootless)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Menú de aplicaciones publicadas" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "Usuario" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Host" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Puerto" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Clave" #: ../pyhoca/wxgui/profilemanager.py:288 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:290 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:291 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:292 msgid "Server behind SSH proxy" msgstr "Servidor detrás del proxy SSH" #: ../pyhoca/wxgui/profilemanager.py:295 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:296 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:297 msgid "Key file" msgstr "Clave" #: ../pyhoca/wxgui/profilemanager.py:304 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:307 msgid "Modem" msgstr "Módem" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Método" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Calidad de imagen" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Pantalla Completa" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maximizada" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Tamaño Personalizado" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Establecer DPI" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Permitir copiar y pegar" #: ../pyhoca/wxgui/profilemanager.py:332 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:333 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:334 msgid "Use custom keyboard settings as provided below" msgstr "Ussar configuración de teclado personalizada" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Modelo de teclado" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Capa" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Variante de la capa" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Activar soporte de sonido" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "Arts (sin soporte)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Usar puerto de sonido por defecto" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Puerto de sonido personalizado" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Impresión local" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Compartir carpetas locales" #: ../pyhoca/wxgui/profilemanager.py:364 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:365 msgid "Path" msgstr "Ruta" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Añadir" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Ruta Local" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Método de Conexión" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Eliminar" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Convertir codificaciones entre cliente y servidor" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Codificación del cliente" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Codificación del Servidor" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Usar tipo de archivo MIME para la importación local" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Extensiones" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Acción" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Valores por defecto" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Guardar" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Reiniciar" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Aplicar" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automáticamente" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manualmente" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Gestor de Perfiles - nuevo perfil" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Gestor de Perfiles - %s (conectado)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Gestor de Perfiles - %s (conectado, sin cambios)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Gestor de Perfiles - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Gestor de Perfiles - %s (sin cambios)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Perfil" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Sesión" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Conexión" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Calidad del enlace" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "Entrada/Salida" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Medios" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Compartir" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Iconos (*.png)|*.png|Todos (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Elige un icono para este perfil de sesión" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "Todos (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Elige una clave pública SSH" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Elige la carpeta que quieres compartir en la conexión" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Gestor de Perfiles" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "¡¡¡Nombre de pefil no encontrado o no válido!!!" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "El perfil de usuario %s ya existe!!!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - perfil añadido" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "Se ha añadido un nuevo perfil de sesión." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - modificado" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Se han guardado los cambios en el perfil." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Compartir sesión de escritorio - %s" #: ../pyhoca/wxgui/listdesktops.py:68 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:74 msgid "View session only" msgstr "Ver sólo la sesión" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Obtener acceso completo" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Compartir Escritorio" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Actualizar lista" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Editar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "Ver Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Usar como Plantilla para Nuevos Perfiles" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Exportar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Borrar Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "Acerca de %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Gestionar Perfil de Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Desconectar del broker" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Preferencias de impresión" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Opciones del Cliente" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "S&alir" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Título de la ventana" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Retomar Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Retomar Sesión (no disponible)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Transferir Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Transferir Sesión (no disponible)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Suspender Sesión (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Suspender Sesión (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Suspender Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Finalizar Sesión (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Finalizar Sesión (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Finalizar Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Finalizar Compartir Escritorio (y desconectar/salir)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "Finalizar Compartir Escritorio (y desconectar)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "Finalizó Compartir Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Actualizar árbol de menús" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Renombrar la Ventana de la Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Mostrar la Ventana de la Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "Compartir carpeta per&sonalizada local" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Compartir:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "No compartido:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Dejar de compartir tod&as las carpetas locales" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Restaurar comparticiones en la próxima sesión" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Desarrollo" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Educación" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Juegos" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Gráficos" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Ofimática" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "Sistema" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Utilidades" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Otras Aplicaciones" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Conectar a" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Conectar %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Conectando..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "Iniciar &nueva Sesión de Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Iniciar Compartir Escritorio" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Recuperando Menú de Aplicación..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Recibido Menú de Aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Iniciar &nueva Sesión RDP" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Iniciar &nueva Sesión" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Ejecutar la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Gestionar el Menú de la Aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Activa" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "Suspendida" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Limpiar el registro de sesiones" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "Configurar &perfil" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "Ver &perfil" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Compartir &carpetas" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Información del Servidor" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Desconectar del servidor" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Suspender Sesión y Salir (e&xit) de la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Desconectar y Salir (e&xit) de la aplicación" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Añadir Perfil" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "El broker de sesiones no está conectado" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "No se han definido perfiles de sesión" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Exportar todos los Perfiles" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Exportar Perfil de Grupo" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Importar perfiles de sesión" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Conectar con el Servidor" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "Acerca de %s ..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Suspendiendo sesiones y saliendo de las aplicaciones..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Desconectando %s y saliendo de las aplicaciones..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Saliendo de la aplicación..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - advertencia del servidor" #: ../pyhoca/wxgui/frontend.py:594 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:645 msgid "SSH key authentication has been successful." msgstr "Se ha iniciado sesión con éxito usando la clave SSH." #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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 proxy SSH 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/frontend.py:736 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:757 #, python-format msgid "%s - EOF error" msgstr "%s - error EOF" #: ../pyhoca/wxgui/frontend.py:757 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:778 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:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s; Sin soporte DirectRDP todavía" #: ../pyhoca/wxgui/frontend.py:808 #, 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:823 msgid "Unknown session profile, configure before using it..." msgstr "Perfil de sesión desconocido, configúralo antes de usar..." #: ../pyhoca/wxgui/frontend.py:884 #, 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:885 #, 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:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - advertencia de la sesión" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Fallo al ejecutar el comando \"%s\"." #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Limpiando sesiones X2Go..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - desconectado" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "Se ha desconectado el Perfil X2Go." #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "Nuevo Perfil de Sesión" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Eliminar el Perfil de Sesión \"%s''?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "%s - perfil eliminado" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "Se ha eliminado el perfil de sesión." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "importar perfil/es de sesión" #: ../pyhoca/wxgui/frontend.py:1237 #, 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:1238 #, 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:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Fallo de escritura tras la importación" #: ../pyhoca/wxgui/frontend.py:1267 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:1272 msgid "None of the session profiles could be imported..." msgstr "Ninguno de los perfiles de sesión pudo ser importado..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, 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:1279 msgid "Only these session profiles could be imported..." msgstr "Sólo estos perfiles de sesión pudieron ser importados...." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Falló la importación de los siguientes perfiles de sesión" #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "Se han importado perfiles de sesión..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "Un nuevo perfil de sesión ha sido añadido..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - exportar perfiles de sesión" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - exportar perfil de sesión" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "%s: El archivo de exportación ya existe" #: ../pyhoca/wxgui/frontend.py:1340 #, 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:1361 #, python-format msgid "%s - profiles exported" msgstr "%s - perfiles exportados" #: ../pyhoca/wxgui/frontend.py:1361 #, 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:1363 #, python-format msgid "%s - profile exported" msgstr "%s - perfil exportado" #: ../pyhoca/wxgui/frontend.py:1363 #, 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:1367 #, 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:1368 #, 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:1387 #, 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:1553 #, 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:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Se confirma la autorización del equipo" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s - error en el canal" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "¡La conexión con el servidor %s ha finalizado inesperadamente!\n" "\n" "Intenta iniciar sesión nuevamente..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s - error del cliente SFTP" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "La nueva sesión X2Go no tendrá soporte SFTP.\n" "Comprueba la configuración del servidor.\n" "\n" "¡Evita hacer echo a los archivos ~/.*shrc en el servidor! \n" "Iniciando la nueva sesión..." #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - fallo en la sesión" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "El inicio de sesión ha fallado." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "El inicio de sesión ha fallado." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - fallo al compartir el escritorio" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "El otro usuario ha denegado compartir el escritorio o bien\n" "ninguno de los usuarios tiene privilegios para compartir su escritorio." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - tiempo de espera agotado" #: ../pyhoca/wxgui/frontend.py:1681 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:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - fallo al compartir el escritorio" #: ../pyhoca/wxgui/frontend.py:1693 #, 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:1711 #, 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:1713 #, 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:1730 #, 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:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup 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 subsistema %s" #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - advertencia en el sistema de audio" #: ../pyhoca/wxgui/frontend.py:1775 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:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - error en el audio" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "El sistema X2Go PulseAudio no puede iniciarse." #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "El sistema X2Go PulseAudio ha finalizado inesperadamente." #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - problema en el audio" #: ../pyhoca/wxgui/frontend.py:1801 #, 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:1813 #, 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:1813 #, 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:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - No está disponible el contexto MIME" #: ../pyhoca/wxgui/frontend.py:1825 #, 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:1837 #, 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:1837 #, 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:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s - el recurso del cliente no está marcado como compartido" #: ../pyhoca/wxgui/frontend.py:1849 #, 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:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - error de impresión" #: ../pyhoca/wxgui/frontend.py:1868 #, 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:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...provocado por la sesión\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - inicio" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Iniciando nueva sesión X2Go...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Otro cliente ha iniciado sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - retornar a la sesión" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Retornando sesión X2Go...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, 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:1945 #, python-format msgid "%s - running" msgstr "%s - en ejecución" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "La sesión ya está en ejecución\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - suspender" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "Se ha suspendido la Sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - finalizar" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "Se ha finalizado la sesión X2Go\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s: fallo en la conexión" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Ha habido un error mientras se iniciaba la sesión para el perfil '%s' Es " "posible intentar el inicio de sesión otra vez. ¿Continuar?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Ha habido un error mientras se iniciaba la conexión para el perfil '%s' Es " "posible intentar el inicio de sesión otra vez. ¿Continuar?" #: ../pyhoca/wxgui/messages.py:70 #, 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:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "¡{apname} ya está siendo usado para el usuario \"{username}\"!\n" "\n" "Sólo se permite una instancia de {apname} por usuario.\n" "El icono de {apname} se encuentra en el area de notificación." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Sí" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "No" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Preferencias de Impresión" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Recibiendo trabajo de impresión desde %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Abrir esta ventana de diálogo" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Abrir con el visor PDF" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Guardar en carpeta local" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Imprimir en la impresora local" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Ejecutar comando de impresión personalizado" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Printimistoiming" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Vaikimisi toiming sissetulevatele printimistöödele" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "PDF-vaaturi käsk" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "Salvesta PDF kataloogi" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Kasuta seda printerit" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Määra printeri käsk" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Prindi" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- ei ole installeritud ühtegi printerit -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- printimissüsteem ei ole saadaval -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "Vali PDFvaatur" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "Vali PDF salvestamise koht" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Sessiooni Pealdis - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Vaheta sessiooni pealdis" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Serveri andmed . %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Sessiooni profiil: %s\n" "\n" "Loettelu X2Go serveri komponentidest, lisandid ja nende versiooninumbrid..." #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "Värskenda" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Sule" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "X2Go -palvelin" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "Serveri põhi" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Serveri laiendused" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "X2Go serveri lisad" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "X2Go serveri omadused" pyhoca-gui-0.5.0.4/po/fi.po0000644000000000000000000015375312461156543012212 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2015 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: 2014-10-29 12:52+0200\n" "PO-Revision-Date: 2014-10-30 12:02+0200\n" "Last-Translator: martti pitkanen \n" "Language-Team: X2Go i18n \n" "Language: fi\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-SourceCharset: utf-8\n" "X-Generator: Poedit 1.5.4\n" #: ../pyhoca/wxgui/brokerlogon.py:54 msgid "Logon" msgstr "Kirjaudu " #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "Istuntohallinnan web-osoite" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Käyttäjätunnus" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Salasana" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Kirjaudu" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Peruuta" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - onnistui" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "" "Kirjautuminen istuntohallintaa\n" "onnistui." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - epäonnistui" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Kirjautuminen istuntohallintaan epäonnistui." #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s: Kirjautuminen epäonnistui" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Connection to %s failed. Retry?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Avaa SSH -tunneli" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Istuntoon kirjautuminen" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "SSH proxy-palvelimeen kirjautuminen" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - yhteydenotto epäonnistui" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "Käyttjällä ei ole X2Go -istunnon käynnistysoikeutta!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - yhteys" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Kirjautuminen onnistui." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "SSH -tunneli avautui" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "Kirjautuminen epäonnistui!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH proxy" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "Kirjautuminen SSH proxy -palvelimeen epäonnistui!" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - socket-virhe" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - avaimen käyttövirhe" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "Palvelimen tunnistusavain on epäkelpo tai käyttäjä ei ole sitä hyväksynyt" #: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - kotihakemisto puuttuu" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "Etäkäyttäjän kotihakemisto puuttuu." #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - avaimen virhe" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - kirjautumisvirhe" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - SSH -virhe" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - tuntematon virhe" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "An unknown error occured during authentication!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s (SSH proxy)" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go -palvelin)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Hyväksy SSH salainen avain (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Hyväksy havaittu salainen SSH -avain..." #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Tunnuslause" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Hyväksy SSH -avain" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH -avain (X2Go -palvelimen käyttämä) ei avautunut!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH -avaintiedosto (SSH -proxya varten) ei avautunut!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Yhdistää palvelimeen ,,%s''" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Yhdistää X2Go -palvelimeen ,,%s''" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Yhdistää X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "X2Go -palvelimen asiakasohjelma" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon -työpöytä (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME -työpöytä (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE -työpöytä (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K -työpöytä (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X -työpöytä (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X -työpöytä (KDE3-like)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X -työpöytä (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE -työpöytä (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Julkaistut sovellukset" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Yksi sovellus" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Jaettu istunto (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP -kysely" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (X2Go-proxyn välittämä RDP)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Suora RDP)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Oma komento" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Selain" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "Sähköpostiohjelma" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Pääte" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "työaseman ja palveimen välillä" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "palvelimesta ainoastaan päätteeseen" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "vain päätteestä palvelimeen" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "ei ollenkaan" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Avaa tiedosto oletusohjelmalla" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Avaan ohjelman valintaikkuna" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Talleta tiedosto nimellä ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "Asetukset kopioitu täältä " #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Istunnont nimi" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Istunto" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Istunnon käynnistys" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Palvelin" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Yhteyden nopeus" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Pakkaus" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Näyttö" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Leikepöytä" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Näppäimistö" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Ääni" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Tulostus" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Kansioiden jako" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "Tiedoston haku" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Nimi" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Istuntonäytön nimi" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Käytä instunnon oletusnimeä" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Muokattu istunnon nimi" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Istunnon ikoni" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Käynnistä istunto automaattisesti kirjautumisen jälkeen" #: ../pyhoca/wxgui/profilemanager.py:258 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" "Kirjaudu automaattisesti sen jälkeen kun %s on käynnistynyt (tarvitaan --" "auto-connect)" #: ../pyhoca/wxgui/profilemanager.py:259 msgid "Type" msgstr "Tyyppi" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Sovellus" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "XDMCP palvelin" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "RDP palvelin" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "RDP valinnat" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integroi pilvisovellus/sovellukset omaan työpöytääsi (rootless mode)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Julkaistujen sovellusten valikko" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "Käyttäjä" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Kone" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Portti" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Avain" #: ../pyhoca/wxgui/profilemanager.py:288 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Etsi SSH -avaimet tai käytä SSH -agenttia X2Go -autentikointiin" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Mahdollista SSH -agentin kautta tehtävä autentikointi" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Talleta SSH -avaimet (omaan) X2Go -istuntoprofiiliin" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "Server behind SSH proxy" msgstr "Palvelin on SSH -proxyn takana" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "Käytä samaa käyttjätunnusta X2Go-ta ja proxya varten" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "Käytä samaa autentikointia X2Go -ta ja proxya varten" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "Avaimen tiedosto" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" "Hae SSH -avaimet tai käytä SSH -agenttia proxyn kautta tapahtuvaa " "autentikointiin" #: ../pyhoca/wxgui/profilemanager.py:307 msgid "Modem" msgstr "Modeemi" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Menetetelmä" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Kuvalaatu" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Kokoruutu" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maksimoitu" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Muokattu koko" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Aset näytön DPI" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Mahdolista leikkaa liimaa -toiminto" #: ../pyhoca/wxgui/profilemanager.py:332 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Älä muuta asetuksia (käytä palvelimen työkaluja näppäimistöasetuksiin)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Tunnista automaattisesti ja käytä päätteen näppäimistöasetuksia istunnon " "sisällä" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use custom keyboard settings as provided below" msgstr "Käytä muokattuja näppäimistöasetuksia kuten kuvattu alhaalla" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Näppäimistön malli" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Sijoittelu" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Sijoittelun alalaji" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Mahdollista äänitoiminto" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "Taide (ei tuettu)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Käytä oletus-ääniporttia" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Muokattu ääniportti" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Päätelaitteen tulostus" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Jaa päätteen hakemistot" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "Talleta jakolista istunnona lopuksi" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "Polku" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Lisää" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Paikallishakemisto" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Yhteystapa" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Poista" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Muunna koodaus päätteen ja palvelimen välillä" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Päätteen koodaustapa" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Palvelimen koodaustapa" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Käytä tiedostojen MIME boxia paikkallisten tiedostojen sisäänlukuun" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Laajennukset" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Toiminto" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Oletukset" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Tallenna" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Palauta alkuarvot" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Käytä" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automaattisesti" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manuaalisesti" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Profile Manager - new profile" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Profile Manager - %s (kytketty)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Profile Manager - %s (kytketty,muuttumato)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Profile Manager - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Profile Manager - %s (muuttumaton)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Profiili" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Istunto" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Yhteys" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Linjan laatu" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "Input/Output" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Media" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Jakaminen" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Ikonitiedostot (*.png)|*.png|Kaikki tiedostot (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Valitse kuvake tälle istuntoprofiilille" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "Kaikki tiedostot (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Valitse julkinen SHH -avain" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Valitse kansio jonka jaat istunnossa" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Profiilin hallinnointi" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "Profiilin nimi puuttuu, profiili käyttökelvoton!!!" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profiilin nimi %s jo käytössä!!!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - profiili lisätty" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "Uusi istuntoprofiili lisätty." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - muokattu" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Profiilin muutokset talletettu." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Jaa istunnon työpöytä - %s" #: ../pyhoca/wxgui/listdesktops.py:68 msgid "Select one of the available desktop sessions on this server" msgstr "Valitse jokin tämän palvelimen työpöytä -istunnoista" #: ../pyhoca/wxgui/listdesktops.py:74 msgid "View session only" msgstr "Vain istunnon katselu" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Ota täydet käyttöoikeudet" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Jaa työpöytä" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Päivitä lista" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Muokkaa profiilia" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "Katsele profiilia" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Käytä mallipohjaa uuteen profiiliin" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Vie profiili" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Poista profiili" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "Tietoja %s (%s)..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Hallinnoin istunnon profiilia" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Poistu istuntovälittäjästä" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Tulostinasetukset" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Pääteasetukset" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "E&xit" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Ikkunan otsikko" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Palaa istuntoon" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Palaa istuntoon (ei onnistu)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Siirrä istunto" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Siirrä istunto (ei onnistu)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Vaienna istunto (ja katkase yhteys/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Vaienna istunto (ja katkaise yhteys)" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Vaienna istunto" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Lopeta instunto ( ja katkaisu yhteys/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Lopeta istunto (ja katkaise yhteys)" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Lopeta istunto" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Lopeta työpöydän jako (ja katkaise yhteys/exit)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "Lopeta työpäydän jako (ja katkaise yhteys)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "Lopeta työpöydän jako" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Päivitä valikko" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Vaida istunnon nimi" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Näytä istunnon ikkuna" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "&Jaa oma paikallishakemisto" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Jaa:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "Lopeta jako:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Lopeta &kaikkien paikalliskansioiden jako" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Palauta kansiojaot seuraavassa istunnossa" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Ohjelmakehitys" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Koulutus" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Pelit" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Grafiikka" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Toimistosovellukset" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "Järjestelmä" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Apuohjelmat" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Muut sovellukset" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Yhdistä" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Yhdistä %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Yhdistää..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "&Aloita uusi työpöydän jako" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Käynnistä uusi työpöydän jako" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Hakee sovelluksen valikkoa..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Hae sovellusten valikko" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Aloista &uusi RDP -istunto" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Aloita uusi &istunto" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Käynnistä yksi sovellus" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Hallinnoi sovellusvalikkoa" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Suorittaa" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "&Pysäytetty" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Poista kaikki istunnot" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "Muokkaa profiilia" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "Katso profiilia" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Jaetut &hakemistot" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Palvelimen tiedot" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Katkaise palvelinyhteys" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Pysäytä istunto ja &lopeta sovellus" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Katkaise yhteys ja lopeta &sovellus" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Lisää profiili" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "Istuntojen välitystoiminto ei ole käynnissä" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "Istunnon profiilea ei ole määritelty" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Siirrä kaikki profiilit" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Siirrä profiiliryhmä" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Hae istuntoprofiilit" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Yhdistä palvelimeen" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "Tietoja %s..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Pysäyttää istuntoja ja lopettaa sovelluksen..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Katkaisee yhteyden %s ja lopettaa sovellusta..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Lopettaa sovellusta..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - palvelimelta varoitus" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "X2Go -palvelin ei luovuta sovelluksen valikkoa." #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "Sisäänkirjautuminen SSH -avaimella onnistui" #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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 "" "Palvelimen avaimen tarkistus epäonnisui. SSH -välityspalvelin on ehkä " "murrettu.\n" "\n" "On myös mahdollista että palveimen avain on äskettäin vaihdettu.\n" "\n" "Kuitenkin, varmuuden vuoksi yhteyttä ei avattu!!!" #: ../pyhoca/wxgui/frontend.py:736 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "SSH -välityspalvelimen avain on virheellien tai käyttäjä ei ole sitä " "hyväksynyt" #: ../pyhoca/wxgui/frontend.py:757 #, python-format msgid "%s - EOF error" msgstr "%s - EOF -virhe" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Kirjautumistoiminto jäi puutteeliseksi! Yritä uudelleen..." #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "Sisäänkirjautumisessa tapahtui tunnistamaton virhe!" #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP -protocolla ei ole vielä käytössä" #: ../pyhoca/wxgui/frontend.py:808 #, 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 "" "Pahoittelemme...\n" "\n" "Istunnot tyyppiä ,,DirectRDP'' eivät ole\n" "vielä käytössä järjestelmässä %s (%s)!!\n" "\n" "DirectRDP -tuki tulee järjestelmään %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:823 msgid "Unknown session profile, configure before using it..." msgstr "Tuntematon istuntoprofiile, määritä se ennen käyttöä..." #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Työpöydän jako järjestelmässä %s ei ole käytössä" #: ../pyhoca/wxgui/frontend.py:885 #, 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 "" "Pahoittelemme...\n" "\n" "Istuntototyyppi ,,SHADOW'' ei ole\n" "käytössä X2Go palvelimessa (v%s)!!!\n" "\n" "Työpöydän jako järjestelmässä %s vaatii version\n" "X2Go Server 4.1.0.0 tai uudemman." #: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - istuntovaroitus" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Komennon ,,%s'' suoritus epäonnistui" #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Poistaa X2Go -istunnot..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - yhteyden katkaisu" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "X2Go -profiilin yhteys on katkaistu." #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "Uusi istuntoprofiili" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Haluatko todella poistaa profiilin ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "profiile %s poistettu" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "Istuntoprofiili poistettu." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "hae istuntoprofiili(t)" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Istuntoprofiilin haku epäonnistui" #: ../pyhoca/wxgui/frontend.py:1238 #, 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 "" "Valittuja istuntoprofiileja ei voitu noutaa tiedostosta\n" "tiedostosta »%s«.\n" "\n" "Oletko varma että istuntoprofiilit ovat oikeaa rakennetta?" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Tallennussvirhe noudon jälkeen" #: ../pyhoca/wxgui/frontend.py:1267 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 "" "Istuntoprofiileja ei voitu tallentaa tiedostoon noudon jälkeen\n" "\n" "Tarkistä yĺeisimmät virheet (levy täysi, puuttuva kirjotusoikeuss, jne.)." #: ../pyhoca/wxgui/frontend.py:1272 msgid "None of the session profiles could be imported..." msgstr "Yhtäkään istuntoprofiilia ei voitu noutaa..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "Saat tarkemmat tiedot käynnistämällä %s komentorivillä ja koeta noutaa " "uudelleen." #: ../pyhoca/wxgui/frontend.py:1279 msgid "Only these session profiles could be imported..." msgstr "Vain nämä istuntoprofiilit voitiin noutaa..." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Toisaalta näiden istuntoprofiilien nouto epäonnistui..." #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "Uudet istuntoprofiilit noudettu..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "Uusi istuntoprofiili noudettu..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - lähetä istuntoprofiilit" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - lähetä istuntoprofiili" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "%s: Vienti -tiedosto on jo olemassa" #: ../pyhoca/wxgui/frontend.py:1340 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Tiedosto »%s« on jo kansiossa.\n" "\n" "Haluatko korvata sen?" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "%s - profiles exported" msgstr "%s: - profilit lähetetty" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Istuntoprofiilien ryhmä »%s« lähetetty tiedostoon »%s«." #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "%s - profile exported" msgstr "%s - profiili lähetetty" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Istuntoprofiili »%s« lähetetty tiedostoon »%s«." #: ../pyhoca/wxgui/frontend.py:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Istuntoprofiilien lähetys epäonnistui" #: ../pyhoca/wxgui/frontend.py:1368 #, 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 "" "Valittuja istuntoprofiileja ei voitu lähettää \n" "tiedostoon »%s«.\n" "\n" "Tarkista yleisimmät syyt (levy täysi, ei kirjoitusoikeutta, jne.)." #: ../pyhoca/wxgui/frontend.py:1387 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - jaa paikallinen hakemisto tämän profiilin mukaisilla istunnoilla" #: ../pyhoca/wxgui/frontend.py:1553 #, 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 "" "Palvelimen [%s]:%s luotettavuutta ei voida varmistaa.\n" "%s avaimen tiiviste on ,,%s''.\n" "\n" "Oletko varma että haluat jatkaa yhteyden avaamista?" #: ../pyhoca/wxgui/frontend.py:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Vahvista palvelimen oikeudet" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s: virhe siirtokanavassa" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "Yhteys palvelimeen %s katkesi odottamatta!\n" "\n" "Yritä kirjautua palvelimeen uudelleen..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s: - SFTP -asiakasohjelman virhe" # Tarkista kaiutus #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "Avatussa X2Go istunnossa ei ole käytössä SFTP -tukea.\n" "Tarkista palvelimesi asetukset.\n" "\n" "Vältä kaiuttamasta ~/.*shrc -tiedostoja palvelimessa!!!\n" "\n" "Uusi istunto ei avaudu..." #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - istunta epäonnistui" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "Istunnon avaus epäonnistui." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "Istunnon aloitus epäonnistui." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - työpöydän jako epäonnistui" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "Palvelin esti työpöydän jaon tai\n" "tai teiltä molemmilta puuttuu työpöydän jako-oikeus." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - aikakatkaistu" #: ../pyhoca/wxgui/frontend.py:1681 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Palvelin listasi hitaasti jaettavista työpöydistä.\n" "Tämä voi tapahtua satunnaisesti, yritä uudelleen" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - työpöydän jako epäonnistui" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Työpöytää %s ei voida jakaa (enää)." #: ../pyhoca/wxgui/frontend.py:1711 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Komento ,,%s'' ei ole käytössä X2Go -palvelimessa." #: ../pyhoca/wxgui/frontend.py:1713 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Komento ,,%s'' ei ole käytössä X2Go -palvelimessa\n" "%s." #: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "TCP -portin edelleenohjaus istunnolle %s palvelimen porttiin %s on kielletty." #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - äänivaroitus" #: ../pyhoca/wxgui/frontend.py:1775 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "X3Go PulseAudia -järjestelmä ei ole käytössä Remote Desktop -istunnoissa." #: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - äänivirhe" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "X2Go PulseAudio -palvelu ei käynnistynyt" #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "X2G PulseAudia -palvelu sammui odottamatta" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - audio-ongelma" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Audio -yhteyttä ei saatu toimimaan tässä istunnossa.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "%s - client-side printing not available" msgstr "%s - tulostus ei ole käytössä päätelaitteessa" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Palvelin estää tulostuksen päätelaitteessa tässä istunnossa.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME postilaatikko ei ole käytettävissä" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "Palvelin ei tue X2Go MIME -postilaatikon käyttöä.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - päätelaitteen hakemistot eivät ole jaettavissa" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Palvelin estää päätelaitteen hakemistojen jakamisen tässä istunnossa.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s päätelaitteen resurssit eivät ole jaettavissa" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Päätteen kansioita ja tulostimia ei voi jakaa tässä istunnossa.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - tulostinvirhe" #: ../pyhoca/wxgui/frontend.py:1868 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...aiheutti tulostimessa %s istunnosta\n" "%s" #: ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...aiheutui istunnosta\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - käynnistys" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Uusi X2Go -istunto käynnistyy...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "Toinen päätelaite käynnisti X2Go -istunnon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - uudelleenkäynnistys" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "X2Go -istunto käynnistyy uudelleen...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "Toinen päätelaite aloitti uudelleen X2Go -istunnon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "%s - käynnissä" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Löytyi käynnissä oleva istunto\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - pysäytetty" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go -Istunto pysäytetty\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - lopetus" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go -Istunto on lopetettu\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s: yhteysvirhe" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Kun istunnon yhteyttää avattiin profiilille '%s' yhteys\n" "palvelimeen %s epäonnistui.\n" "\n" "Voit kuitenkin yrittäää uudelleen. Haluatko\n" "jatkaa?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Kun yhteyttä luotiin profiililla '%s' yhteys\n" "palvelimeen %s epäonnistui.\n" "\n" "Voit kuitenkin yrittää istunnon avausta. Haluatko\n" "jatkaa?" #: ../pyhoca/wxgui/messages.py:70 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Haluatko varmasti\n" "poistaa profiilin ,,%s''?" #: ../pyhoca/wxgui/messages.py:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "{appname} on jo käynnistetty käyttäjälle ,,{username}''!\n" "\n" "Vain yksi istunto sovelluksesta {appname} voidaan käynnistää yhtä\n" "käyttäjää kohti. Kuvake sovellukselle {appname} löytyy työpäydän\n" "ilmoitukset laatikosta/palkista." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Kyllä" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "Ei" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "Ok" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Tulostuksen määritykset" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Tulestettavaa tulossa tehtävästä %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Avaa tämä keskusteluikkuna" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Avaa PDF -katseluohjelmalla" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Tallenna johonkin kansioon" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Tulosta päätelaitteen kirjoittimella" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Suorita erikseen määritelty tulostukomento" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "" pyhoca-gui-0.5.0.4/po/nb_NO.po0000644000000000000000000015756312461156543012612 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2015 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: 2014-10-20 12:52+0200\n" "PO-Revision-Date: 2014-10-12 14:00+0100\n" "Last-Translator: Klaus Ade Johnstad \n" "Language-Team: X2Go i18n \n" "Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Bokmal\n" "X-Poedit-Country: Norway\n" "X-Poedit-SourceCharset: utf-8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Language: nb_NO\n" "X-Source-Language: C\n" #: ../pyhoca/wxgui/brokerlogon.py:54 msgid "Logon" msgstr "Login" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "Broker URL" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Brukernavn" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Passord" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Autentiser" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Avbryt" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - vellykket" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "Autentiseringen til broker var vellykket." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - tilkoblingsfeil" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Autentiseringenen til broker feilet." #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s - tilkoblings feil avvist" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Tilkobling til %s feilet. Forsøk pånytt?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Start SSH tunnel" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Sesjons innlogging" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "logg inn via en SSH mellomtjener" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - tilkoblingsfeil" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "Brukeren har ikke tillatelse til å starte X2Go sesjoner!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - koble til" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Autentiseringen var vellykket." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "SSH tunnel har startet" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "Autentiseringen feilet!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - ssh mellomtjener" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "Autentiseringenen til SSH mellomtjeneren feilet!" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - sokkel feil" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - vertsnøkkel feil" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" "Den eksterne serverens vertsnøkkel er ugyldig, eller ikke blitt akseptert av " "brukeren" #: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - mangler hjemmekatalog" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "Brukerens hjemmekatalog på den eksterne serveren finnes ikke." #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - nøkkel feil" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - autentiseringens feil" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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 "" "Verifikasjon av vertsnøkkel feilet. X2Go serveren kan ha blitt " "kompromittert.\n" "\n" "Det er også mulig at vertsnøkkelen bare har blitt endret.\n" "\n" "Uansett, av hensyn til sikkerheten vil ikke tilkoblingen bli opprettet!" #: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - SSH feil" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - ukjent feil" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "En ukjent feil oppstod under autentiseringen!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s - ssh mellomtjener" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go Server)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Lås opp den private SSH nøkkelen (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Lås opp den automatisk oppdagete private SSH nøkkel" #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Passordfrase" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Lås opp SSH nøkkel" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH nøkkelfil (for X2Go-server) kunne ikke bli låst opp!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH nøkkelfil (for SSH mellomtjener) kunne ikke bli låst opp!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Kobler deg til ,,%s''" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Holder på med å koble deg til X2Go serveren ,,%s''" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Kobler deg til X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "Klient for å koble deg til en ekstern X2Go server" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Skrivebord (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME skrivebord (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE Skrivebord (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K skrivebordsmiljø (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Lettvekts X skrivebord (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Skrivebord (KDE3-liknende)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X skrivebords skall (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE skrivebord (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Publiserte applikasjoner" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Enkeltapplikasjon" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Del skrivebordssesjon (skygge)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP spørring" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP via X2Go-proxy)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (Direkte RDP)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Selvvalgt kommando" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Nettleser" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "Epostklient" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Kontor" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "mellom klient og server" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "kun fra server til klient" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "kun fra klient til server" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "ikke i det hele tatt" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Åpne filen med systemets foretrukne applikasjon" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Åpne applikasjonsvelgerdialog" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Lagre innkommende fil som ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "innstillinger arvet fra" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Sesjonstittel" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Sesjonsvindu" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Sesjon oppstart" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Mellomtjener" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Tilkoblingens forbindelseshastighet" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Kompresjon" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Skjerm" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Utklippsbord" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Tastatur" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Lyd" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Utskrift" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Mappe eksporter" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "Fil import" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Navn" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Angi sesjons vindustittel" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Benytt standardsesjons vindustittel" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Tilpasset sesjon vindustittel" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Vindusikon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Start sesjonen automatisk etter innlogging" #: ../pyhoca/wxgui/profilemanager.py:258 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Logg inn automatisk etter at %s har startet (trenger --auto-connect)" #: ../pyhoca/wxgui/profilemanager.py:259 msgid "Type" msgstr "Type" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Applikasjon" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "XDMCP server" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "RDP server" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "RDP alternativer" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "" "Integrer eksterne applikasjon(er) inn i det lokale skrivebordet (rotløs " "modus)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Meny med publiserte applikasjoner" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "Bruker" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Vert" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Nøkkel" #: ../pyhoca/wxgui/profilemanager.py:288 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Oppdag SSH nøkler, eller bruk SSH agent for X2Go autentisering" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Aktiver videresending av SSH autentiseringen for agent tilkoblinger" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Lagre SSH vertsnøkler under en (unik) X2Go sesjonsprofil ID" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "Server behind SSH proxy" msgstr "Server bak SSH mellomtjeneren" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "Bruk samme brukernavn for X2Go og mellomtjener" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "Bruk samme autentisering for X2Go og mellomtjener" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "Nøkkelfil" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Oppdag SSH nøkler, eller bruk SSH agent for mellomtjener autentisering" #: ../pyhoca/wxgui/profilemanager.py:307 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Metode" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Bildekvalitet" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Fullskjerm" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maksimert" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Egentilpasset størrelse" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Sett skjermens DPI" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Tillat klipp og lim" #: ../pyhoca/wxgui/profilemanager.py:332 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "Ikke angi (benytt server-side verktøy for å konfigurere tastaturet)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Automatisk oppdag og benytt klientside konfigurasjon for tastaturet inne i " "sesjonen" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use custom keyboard settings as provided below" msgstr "Benytt tilpasset innstillinger for tastaturoppsett som gitt nedenfor" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Tastaturmodell" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Utforming" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Utformingsvariant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Aktiver lydstøtte" #: ../pyhoca/wxgui/profilemanager.py:345 msgid "Pulse Audio" msgstr "Pulseaudio" #. 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:349 msgid "Arts (not supported)" msgstr "Arts (ikke støttet)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Benytt standard lydport" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Selvvalgt lydport" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Klientside utskrift" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Benytt lokal mappedeling" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "Lagre listen over delte mapper ved sesjonsavslutning" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "Sti" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Legg til" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Lokal sti" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Tilkoblingsmetode" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Slett" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Konverter tegnkodingen mellom klient og server" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Klientens tegnkode" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Serverens tegnkode" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Benytt filens MIME boks for lokal fil import" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Utvidelser" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Handling" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Standard" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Lagre" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Tilbakestill" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Bruk" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automatisk" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manuelt" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Profilhåndterer - ny profil" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Profilhåndterer - %s (tilkoblet)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Profilhåndterer - %s (tilkoblet, beskyttet)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Profil håndterer - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Profilhåndterer - %s (beskyttet)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Profil" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Sesjon" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Tilkobling" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Koblingskvalitet" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "Inndata/Utdata" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Media" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Deling" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Ikonfiler(*.png)|*.png|Alle filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Velg et ikon for denne sesjonsprofilen" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "Alle filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Velg en offentlig SSH nøkkel" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Velg en mappe som skal deles i en sesjon" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Profilhåndterer" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "Profilnavnet mangler, profilen er ubrukelig!" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profilnavnet %s eksisterer allerede!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - profil lagt til" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "En ny sesjonsprofil har blitt lagt til." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - endret" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Endringer til profilen har blitt lagret." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Del skrivebordssesjon - %s" #: ../pyhoca/wxgui/listdesktops.py:68 msgid "Select one of the available desktop sessions on this server" msgstr "Velg en av de tilgjengelige skrivebordssesjonene på denne serveren" #: ../pyhoca/wxgui/listdesktops.py:74 msgid "View session only" msgstr "Bare vis sesjonen" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Få full tilgang" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Del skrivebord" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Oppfrisk listen" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Rediger profil" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "Vis Profile" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Benytt som mal for en ny profil" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Eksporter profil" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Slett profil" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "Om %s (%s) ..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Håndter sesjonsprofil" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Koble fra broker" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Utksriftsinnstillinger" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Klient alternativer" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "&Avslutt" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Vindustittel" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Gjenoppta sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Gjenoppta sesjon (ikke mulig)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Overfør sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Overfør sesjon (ikke mulig)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Koble fra sesjonen (og avslutte)" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Koble fra sesjonen" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Frakoble sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Avslutte sesjonen (og koble fra/Avslutt) " #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Avslutte sesjon (og koble fra)" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Avslutte sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Avslutt skrivebordsdeling (og koble fra/avslutte)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "Avslutt skrivebordsdeling (og koble fra)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "Avslutt skrivebordsdeling" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Oppfrisk menytreet" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Omdøp sesjonsvinduet" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Vis sesjonsvindu" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "&Del selvvalgt lokal mappe" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Del:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "Stopp deling:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Stopp deling på a&lle lokale mapper" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Gjenopprett delte mapper i neste sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Multimedia" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Utvikling" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Opplæring" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Spill" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Grafikk" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internett" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Kontorapplikasjoner" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Verktøy" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Andre applikasjoner" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Koble til" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Koble til %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Kobler til..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "Start &ny skrivebordssesjon" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Start sesjon for skrivebordsdeling" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Henter applikasjonsmenyen..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Hent applikasjonsmenyen" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Start &ny RDP sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Start &ny sesjon" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Start enkeltapplikasjon" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Administrer applkasjonsmenyen" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Aktiv" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "Frakoblet" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Rensk opp alle sesjoner" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "TIlpass &profil" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "Vis &profilen" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Delte &mapper" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Serverinformasjon" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Koble fra serveren" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Koble fra sesjonen og &Avslutt applikasjonen" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Koble fra sesjonen og &Avslutt applikasjonen" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Legg til profil" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "Sesjonbroker er ikke tilkoblet" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "Ingen sesjonsprofiler er definert" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Eksporter alle profiler" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Eksporter profilgruppe" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Importere sesjonsprofiler" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Koble til server" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "Om %s ..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Koble fra sesjonene og avslutt applikasjonen..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Kobler fra %s og avslutter applikasjonen..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Avslutter applikasjonen..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - server advarsel" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "X2Go serveren publiserer ikke en applikasjonsmeny" #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "SSH nøkkel autentisering var vellykket." #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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 "" "Verifikasjon av vertsnøkkel feilet. SSH mellomtjener kan ha blitt " "kompromittert.\n" "\n" "Det er også mulig at vertsnøkkelen bare har blitt endret.\n" "\n" "Uansett, av hensyn til sikkerheten vil ikke tilkoblingen bli opprettet!" #: ../pyhoca/wxgui/frontend.py:736 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "SSH mellomtjenerens vertsnøkkel er ugyldig, eller har ikke blitt akseptert " "av brukeren" #: ../pyhoca/wxgui/frontend.py:757 #, python-format msgid "%s - EOF error" msgstr "%s - EOF feil" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" "Autentiseringens protokoll kommunikasjon er ufullstendig! Forsøk igjen." #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "En ukjent feil oppstod under autentiseringen! " #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: Direkte RDP er ikke støttet enda" #: ../pyhoca/wxgui/frontend.py:808 #, 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 beklager for det inntrufne... \n" "\n" "Sesjonsprofiler av typen ,,DirectRDP'' er ikke\n" "støttet av %s (%s), enda!\n" "\n" "DirectRDP støtte vil være tilgjengelig i %s (>= 1.0.0.0)." #: ../pyhoca/wxgui/frontend.py:823 msgid "Unknown session profile, configure before using it..." msgstr "Ukjent sesjonsprofil, konfigurer den først..." #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Deling av skrivebord med %s er ikke støttet av serveren" #: ../pyhoca/wxgui/frontend.py:885 #, 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 beklager for det inntrufne... \n" "\n" "Sesjonsprofiler av typen ,,Skygge'' er ikke\n" "støttet av X2Go Server (%s), enda!\n" "\n" "Skrivebordsdeling med %s krever\n" "X2Go Server 4.1.0.0, eller nyere." #: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - advarsel om sesjon" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Utførelsen av kommandoen \"%s\" feilet." #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Rensker opp i X2Go sesjoner..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - koble fra" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "X2Go profilen er nå frakoblet." #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "Ny sesjonsprofil" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Virkelig slette sesjonsprofilen \"%s\"?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "%s - profilen er slettet" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "Sesjonsprofilen har blitt slettet." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "Import sesjonsprofil(er)" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Import av sesjonsprofil(er) feilet" #: ../pyhoca/wxgui/frontend.py:1238 #, 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 "" "Valgt sesjonsprofil(er) kunne ikke bli importert fra \n" "filen \"%s\".\n" "\n" "Er du sikker at sesjonsprofil filen har det riktige formatet?" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Skrivefeil etter import" #: ../pyhoca/wxgui/frontend.py:1267 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 "" "Sesjonsprofilens konfigurasjon kunne ikke bli skrevet til fil etter import \n" "\n" "Sjekk for vanlige feil (full disk, manglende tilgang, o.l.)." #: ../pyhoca/wxgui/frontend.py:1272 msgid "None of the session profiles could be imported..." msgstr "Ingen av sesjonsprofilene kunne bli importert..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "For detaljer, start %s fra kommandolinjen og gjenta importen." #: ../pyhoca/wxgui/frontend.py:1279 msgid "Only these session profiles could be imported..." msgstr "Kun disse sesjonsprofilene har blitt importert..." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Mens disse sesjonsprofilen feilet under importeringen..." #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "Nye sesjonsprofiler har blitt importert..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "En ny sesjonsprofil har blitt importert..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - eksporter sesjonsprofiler" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - eksporter sesjonsprofil" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "%s: Eksportfilen eksisterer allerede" #: ../pyhoca/wxgui/frontend.py:1340 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Filen \"%s\" eksisteren allerede i denne mappen.\n" "\n" "Vil du overskrive den?" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "%s - profiles exported" msgstr "%s - profilene ble eksportert" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" "Eksporten av sesjonsprofilgruppen \"%s\" til filen \"%s\" var vellykket." #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "%s - profile exported" msgstr "%s - profilen er eksportert" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Eksporten av sesjonsprofilen \"%s\" til filen \"%s\" var vellykket." #: ../pyhoca/wxgui/frontend.py:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Eksporteringen av sesjonsprofil(er) feilet" #: ../pyhoca/wxgui/frontend.py:1368 #, 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 "" "Valgt sesjonsprofil(er) kunne ikke bli eksportert til \n" "filen \"%s\".\n" "\n" "Sjekk for vanlige feil (full disk, manglende tilgang, o.l.)." #: ../pyhoca/wxgui/frontend.py:1387 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - del lokal mappe med sesjoner av denne profilen" #: ../pyhoca/wxgui/frontend.py:1553 #, 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 "" "Ektheten til [%s]:%s kan ikke bli verifisert.\n" "%s nøkkelens fingeravtrykkk er \"%s\".\n" "\n" "Er du sikker på at du vil fortsette tilkoblingen?" #: ../pyhoca/wxgui/frontend.py:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Verifiser vert autorisasjonen" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s - feil med kanalen" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "Mistet uventet forbindelsen til server %s !\n" "\n" "Forsøk å autentisiere deg på nytt til serveren..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s - feil med SFTP-klient" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "Ny X2Gosesjon vil mangle støtte for SFTPklient\n" "Sjekk oppsettet på din server\n" "\n" "Unngå å kopierer inn ~/.*shrc filer på serveren!\n" "\n" "Starter ikke ny sesjon... " #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - sesjonsfeil" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "Oppstart av sesjonen feilet." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "Oppstart av sesjonen feilet." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - skrivebordsdelingen feilet" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "Deling av Skriverbord ble avvist av den andre brukeren, eller\n" "ingen av dere har nødvendige rettigheter til å dele hverandres Skrivebord." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - tidsavbrudd" #: ../pyhoca/wxgui/frontend.py:1681 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 brukte for lang tid med å komme med listen over \n" "skrivebord som det er mulig å dele.\n" "Dette kan noen ganger skje, vennligst forsøk igjen." #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - skrivebordsdelingen feilet" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Skrivebordet %s er ikke tilgjengelig for deling (lenger)." #: ../pyhoca/wxgui/frontend.py:1711 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Kommandoen \"%s\" er ikke tilgjengelig på X2Go serveren." #: ../pyhoca/wxgui/frontend.py:1713 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Kommandoen \"%s\" er ikke tilgjengelig på X2Go server\n" "%s." #: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Revers TCP port videresendingsforespørselen for sesjon %s til server port %s " "har blitt avvist." #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." msgstr "" "Tunnel videresendingsforespørsel til [%s]:%s for sesjon %s ble avvist av den " "eksterne X2Go/SSH serveren. Oppstart av %sundersystemet feilet." #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - advarsel om lyd" #: ../pyhoca/wxgui/frontend.py:1775 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" "X2Go PulseAudio systemet er ikke tilgjengelig inne i Terminal server " "sesjoner (RDP)." #: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - feil med lyden" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "X2Go PulseAudio systemet kan ikke bli startet." #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "X2Go PulseAudio systemet har uventet stoppet." #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - problem med lyden" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Klarte ikke å sette opp lydforbindelsen for denne sesjonen.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "%s - client-side printing not available" msgstr "%s - klient-side utskrift er ikke tilgjengelig" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Serveren nekter klient-side utskrift innenfra denne sesjonen.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME boks ikke tilgjengelig" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "Serveren støtter ikke X2Go MIME boks.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - klientside mapper er ikke mulig å dele" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Serveren nekter klientside mapperdeling med denne sesjonen.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s - klientressurser er ikke mulig å dele" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Klientside mapper og skrivere kan ikke bli delt med denne sesjonen.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - feil ved utskrift" #: ../pyhoca/wxgui/frontend.py:1868 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "...oppstod på skriver %s fra sesjon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...oppstod fra sesjon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - start" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Ny X2Go sesjon starter opp...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "En annen klient startet X2Go sesjon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - gjenoppta" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Gjenopptar X2Go sesjon...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "En annen klient gjenopptok X2Go sesjon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "%s - aktiv" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Fant allerede kjørende sesjon\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - koble fra" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go sesjonen har blitt frakoblet\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - avslutt" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go sesjonen har blitt avsluttet\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s - tilkoblingsfeil" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Mens en sesjon til profilen '%s* ble forsøkt startet, så feilet \n" "forbindelsen til %s.\n" "\n" "Det er mulig å forsøke å starte sesjonen allikevel. Vil du fortsette?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "Mens forbindelse til profilen '%s* ble forsøkt startet, så feilet \n" "forbindelsen til %s.\n" "\n" "Det er mulig å forsøke å starte sesjonen allikevel. Vil du fortsette?" #: ../pyhoca/wxgui/messages.py:70 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Er du helt sikker på at du ønsker å\n" "slette valgt sesjonsprofil \"%s\"?" #: ../pyhoca/wxgui/messages.py:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "{appname} kjører allerede for bruker ,,{username}''!\n" "\n" "Kun en instans av {appname} kan bli startet per\n" "bruker. {appname} ikonet kan bli funnet i ditt\n" "skrivebords systemkurv område." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Ja" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "Nei" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "Greit" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Utskriftsinnstillinger" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Innkommende utskriftsjobb fra %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Åpne dette dialogvinduet" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Åpne med PDF leseren" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Lagre i en lokal mappe" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Skriv ut til en lokal skriver" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Kjør en selvvalgt kommando for utskrift" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Afdrukken" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Standaard actie voor inkomende afdruk taak" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "PDF viewer commando" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "PDFs opslaan in map" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Gebruik deze printer" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Aangepast print commando" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Afdrukken" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- geen printers geïnstalleerd -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- printer niet beschikbaar -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "Kies PDF viewer applicatie" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "Kies locatie voor PDF opslag" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Sessie titel - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Wijzig sessie titel naar" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "OK" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Server informatie - %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Sessie profiel: %s\n" "\n" "Lijst met X2Go server componenten, add-ons en hun versies..." #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "Verversen" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Afsluiten" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "X2Go server" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "Server kern" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Server uitbreidingen" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "X2Go server add-ons" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "X2go server kenmerken" #~ msgid "PyHoca-GUI Profile Manager - %s" #~ msgstr "PyHoca-GUI profiel beheerder - %s" #~ msgid "%s - auth key error" #~ msgstr "%s - Verbindingsfout met auth. sleutel" #~ msgid "Settings" #~ msgstr "Instellingen" #~ msgid "%s (%s)\n" #~ msgstr "%s (%s)\n" #~ msgid "Connect to another Desktop Session" #~ msgstr "Verbinden met een andere desktop sessie" #~ msgid "Start/Resume Session" #~ msgstr "Sessie starten/hervatten" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH proxy tunnel" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "SSH proxy configuratie is niet volledig! Opnieuw proberen..." #~ 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 "" #~ "Een ander sessie profiel (%s) gebruikt [%s]:%s al voor de verbinding met " #~ "een lokale SSH proxy.\n" #~ "Verander de SSH proxy instelling om dit probleem te verhelpen." #~ msgid "Remember shared folders" #~ msgstr "Herinner gedeelde mappen" #~ msgid "RSA/DSA private key" #~ msgstr "RSA/DSA prive sleutel" #~ msgid "Host[:Port]" #~ msgstr "Host[:poort]" #~ msgid "us" #~ msgstr "us" #~ msgid "pc105/us" #~ msgstr "altgr/intl" #~ msgid "Keyboard layout" #~ msgstr "Toetsenbord layout" #~ msgid "%s - DNS error" #~ msgstr "%s - DNS fout" #~ msgid "still loading" #~ msgstr "nog aan het laden" #~ msgid "" #~ "On slow connections, the loading of the application menu can take a " #~ "couple of seconds." #~ msgstr "" #~ "Bij een langzame verbinding kan het laden van het applicaties menu enige " #~ "seconden duren" #~ msgid "Disconnect and E&xit" #~ msgstr "Verbreek verbinding en e&xit" #~ msgid "Unknown Session Profile" #~ msgstr "Onbekend sessie profiel" #~ msgid "Retrieving Application menu..." #~ msgstr "Applicatie menu aan het ophalen..." #~ msgid "RDP settings" #~ msgstr "RDP instellingen" #~ msgid "Icon" #~ msgstr "Icoon" #~ msgid "%s - print job" #~ msgstr "%s - print opdracht" #~ msgid "" #~ "Opening print job dialog not implemented yet!!!\n" #~ "%s" #~ msgstr "" #~ "De dialoog print opdracht is nog niet geïmplementeerd!!!\n" #~ "%s" #~ msgid "Profile icon" #~ msgstr "Profiel icoon" #~ msgid "Arts" #~ msgstr "Arts" pyhoca-gui-0.5.0.4/po/POTFILES.in0000644000000000000000000000070412461156543013014 0ustar pyhoca/__init__.py pyhoca/wxgui/notify.py pyhoca/wxgui/brokerlogon.py pyhoca/wxgui/logon.py pyhoca/wxgui/passphrase.py pyhoca/wxgui/taskbar.py pyhoca/wxgui/__init__.py pyhoca/wxgui/profilemanager.py pyhoca/wxgui/listdesktops.py pyhoca/wxgui/menus_taskbar.py pyhoca/wxgui/about.py pyhoca/wxgui/basepath.py pyhoca/wxgui/frontend.py pyhoca/wxgui/messages.py pyhoca/wxgui/printingprefs.py pyhoca/wxgui/sessiontitle.py pyhoca/wxgui/serverinfo.py pyhoca-gui pyhoca-gui-0.5.0.4/po/PyHoca-GUI.pot0000644000000000000000000012174012461156543013574 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. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-01-12 15:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../pyhoca/wxgui/brokerlogon.py:54 msgid "Logon" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "" #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "" #: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "" #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "" #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "" #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "" #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:258 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:259 msgid "Type" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:288 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "Server behind SSH proxy" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:307 msgid "Modem" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:332 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use custom keyboard settings as provided below" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "" #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:68 msgid "Select one of the available desktop sessions on this server" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:74 msgid "View session only" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "" #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "" #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "" #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "" #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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/frontend.py:736 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" #: ../pyhoca/wxgui/frontend.py:757 #, python-format msgid "%s - EOF error" msgstr "" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "" #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "" #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "" #: ../pyhoca/wxgui/frontend.py:808 #, 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:823 msgid "Unknown session profile, configure before using it..." msgstr "" #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "" #: ../pyhoca/wxgui/frontend.py:885 #, 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:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "" #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "" #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1238 #, 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:1266 #, python-format msgid "%s: Write failure after import" msgstr "" #: ../pyhoca/wxgui/frontend.py:1267 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:1272 msgid "None of the session profiles could be imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" #: ../pyhoca/wxgui/frontend.py:1279 msgid "Only these session profiles could be imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "" #: ../pyhoca/wxgui/frontend.py:1340 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "%s - profiles exported" msgstr "" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "%s - profile exported" msgstr "" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "" #: ../pyhoca/wxgui/frontend.py:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1368 #, 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:1387 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "" #: ../pyhoca/wxgui/frontend.py:1553 #, 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:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "" #: ../pyhoca/wxgui/frontend.py:1681 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:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "" #: ../pyhoca/wxgui/frontend.py:1711 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "" #: ../pyhoca/wxgui/frontend.py:1713 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" #: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." msgstr "" #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "" #: ../pyhoca/wxgui/frontend.py:1775 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "" #: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "" #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "%s - client-side printing not available" msgstr "" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "%s - MIME box not available" msgstr "" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "%s - client resources not sharable" msgstr "" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "" #: ../pyhoca/wxgui/frontend.py:1868 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" #: ../pyhoca/wxgui/messages.py:70 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" #: ../pyhoca/wxgui/messages.py:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "<Выбор действия печати>" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Действие печати" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Действие по умолчанию для поступающих заданий печати" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "Программа просмотра PDF" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "Сохранять PDF" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Использовать этот принтер" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Команда печати" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Печать" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- принтеры не установлены -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- система печати недоступна -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "Выберите программу просмотра PDF" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "Выберите путь сохранения PDF" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Заголовок сессии - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Изменить заголовок сессии на" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "ОК" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Информация о сервере - %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Профиль сессии: %s\n" "\n" "Список компонентов сервера X2Go, дополнений и их версий..." #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "Обновить" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Закрыть" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "Сервер X2Go" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "Сервер" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Расширения сервера" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "Дополнения сервера X2Go" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "Опции сервера X2Go" #~ msgid "PyHoca-GUI Profile Manager - %s" #~ msgstr "PyHoca-GUI Profile Manager - %s" #~ msgid "%s - auth key error" #~ msgstr "%s - ошибка ключа" #~ msgid "Settings" #~ msgstr "Установки" #, fuzzy #~ msgid "%s (%s)\n" #~ msgstr "%s (через %s)" #, fuzzy #~ msgid "Connect to another Desktop Session" #~ msgstr "Запустить &новую сессию" #~ msgid "Start/Resume Session" #~ msgstr "Запуск/восстановление сессии" #~ msgid "SSH Proxy Tunnel" #~ msgstr "SSH прокси туннель" #~ msgid "The SSH proxy configuration is incomplete. Try again." #~ msgstr "Конфигурация SSH прокси не завершена. Попробуйте еще раз." #~ 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 "" #~ "Другой профиль (%s) использует [%s]:%s для привязки к локальному SSH " #~ "прокси.\n" #~ "Измените настройки SSH прокси." #~ msgid "RSA/DSA private key" #~ msgstr "личный ключ RSA/DSA" #~ msgid "Host[:Port]" #~ msgstr "Хост[:порт]" pyhoca-gui-0.5.0.4/po/sv.po0000644000000000000000000015602012461156543012232 0ustar # PyHoca-GUI / i18n. # Copyright (C) 2010-2015 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: 2014-10-20 12:52+0200\n" "PO-Revision-Date: 2014-07-09 15:00+0100\n" "Last-Translator: Daniel Lindgren \n" "Language-Team: X2Go i18n \n" "Language: sv\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-SourceCharset: utf-8\n" "X-Generator: Poedit 1.5.4\n" #: ../pyhoca/wxgui/brokerlogon.py:54 msgid "Logon" msgstr "Inloggning" #: ../pyhoca/wxgui/brokerlogon.py:57 msgid "Broker URL" msgstr "URL till sessionshanterare (broker)" #: ../pyhoca/wxgui/brokerlogon.py:60 ../pyhoca/wxgui/logon.py:87 #: ../pyhoca/wxgui/logon.py:99 msgid "Username" msgstr "Användarnamn" #: ../pyhoca/wxgui/brokerlogon.py:63 ../pyhoca/wxgui/logon.py:89 #: ../pyhoca/wxgui/logon.py:101 msgid "Password" msgstr "Lösenord" #: ../pyhoca/wxgui/brokerlogon.py:84 ../pyhoca/wxgui/logon.py:92 msgid "Authenticate" msgstr "Autentisera" #: ../pyhoca/wxgui/brokerlogon.py:86 ../pyhoca/wxgui/logon.py:124 #: ../pyhoca/wxgui/passphrase.py:93 ../pyhoca/wxgui/profilemanager.py:393 #: ../pyhoca/wxgui/listdesktops.py:83 ../pyhoca/wxgui/messages.py:133 #: ../pyhoca/wxgui/printingprefs.py:148 ../pyhoca/wxgui/sessiontitle.py:71 msgid "Cancel" msgstr "Avbryt" #: ../pyhoca/wxgui/brokerlogon.py:165 #, python-format msgid "%s - success" msgstr "%s - lyckades" #: ../pyhoca/wxgui/brokerlogon.py:165 msgid "" "Authentication to session broker has been\n" "successful." msgstr "Autentisering till sessionshanterare lyckades." #: ../pyhoca/wxgui/brokerlogon.py:167 #, python-format msgid "%s - failure" msgstr "%s - misslyckades" #: ../pyhoca/wxgui/brokerlogon.py:167 msgid "Authentication to session broker failed." msgstr "Autentisering till sessionshanterare misslyckades!" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "%s: Connection refused error" msgstr "%s: anslutning vägrades" #: ../pyhoca/wxgui/brokerlogon.py:171 #, python-format msgid "Connection to %s failed. Retry?" msgstr "Anslutning till %s misslyckades. Försök igen?" #: ../pyhoca/wxgui/logon.py:81 #, python-format msgid "%s (via %s)" msgstr "%s (via %s)" #: ../pyhoca/wxgui/logon.py:104 msgid "Start SSH tunnel" msgstr "Starta SSH-tunnel" #: ../pyhoca/wxgui/logon.py:112 msgid "Session login" msgstr "Sessionsinloggning" #: ../pyhoca/wxgui/logon.py:113 msgid "SSH proxy server login" msgstr "SSH proxyserverinloggning" #: ../pyhoca/wxgui/logon.py:296 ../pyhoca/wxgui/logon.py:349 #: ../pyhoca/wxgui/passphrase.py:216 ../pyhoca/wxgui/passphrase.py:223 #: ../pyhoca/wxgui/passphrase.py:230 ../pyhoca/wxgui/passphrase.py:237 #: ../pyhoca/wxgui/frontend.py:638 #, python-format msgid "%s - connect failure" msgstr "%s - anslutning misslyckades" #: ../pyhoca/wxgui/logon.py:297 ../pyhoca/wxgui/frontend.py:638 msgid "User is not allowed to start X2Go sessions!" msgstr "Användaren har inte rätt att starta X2Go-sessioner!" #: ../pyhoca/wxgui/logon.py:302 ../pyhoca/wxgui/passphrase.py:198 #: ../pyhoca/wxgui/frontend.py:645 #, python-format msgid "%s - connect" msgstr "%s - anslut" #: ../pyhoca/wxgui/logon.py:303 ../pyhoca/wxgui/passphrase.py:199 msgid "Authentication has been successful." msgstr "Autentisering lyckades." #: ../pyhoca/wxgui/logon.py:345 ../pyhoca/wxgui/logon.py:445 msgid "SSH tunnel started" msgstr "SSH-tunnel startad" #: ../pyhoca/wxgui/logon.py:350 ../pyhoca/wxgui/passphrase.py:231 msgid "Authentication failed!" msgstr "Autentisering misslyckades!" #: ../pyhoca/wxgui/logon.py:358 #, python-format msgid "%s - SSH proxy" msgstr "%s - SSH-proxy" #: ../pyhoca/wxgui/logon.py:359 ../pyhoca/wxgui/passphrase.py:238 msgid "Authentication to the SSH proxy server failed!" msgstr "Autentisering till SSH-proxy misslyckades!" #: ../pyhoca/wxgui/logon.py:386 ../pyhoca/wxgui/passphrase.py:244 #: ../pyhoca/wxgui/frontend.py:750 #, python-format msgid "%s - socket error" msgstr "%s - socketfel" #: ../pyhoca/wxgui/logon.py:393 ../pyhoca/wxgui/passphrase.py:251 #: ../pyhoca/wxgui/frontend.py:729 ../pyhoca/wxgui/frontend.py:736 #, python-format msgid "%s - host key error" msgstr "%s - fel på serverns nyckel" #: ../pyhoca/wxgui/logon.py:394 ../pyhoca/wxgui/passphrase.py:252 #: ../pyhoca/wxgui/frontend.py:729 msgid "" "The remote server's host key is invalid or has not been accepted by the user" msgstr "Serverns nyckel är felaktig eller har inte accepterats av användaren" #: ../pyhoca/wxgui/logon.py:401 ../pyhoca/wxgui/passphrase.py:259 #: ../pyhoca/wxgui/frontend.py:764 #, python-format msgid "%s - missing home directory" msgstr "%s - hemkatalog saknas" #: ../pyhoca/wxgui/logon.py:402 ../pyhoca/wxgui/passphrase.py:260 #: ../pyhoca/wxgui/frontend.py:764 msgid "The remote user's home directory does not exist." msgstr "Fjärranvändarens hemkatalog saknas." #: ../pyhoca/wxgui/logon.py:409 ../pyhoca/wxgui/passphrase.py:282 #, python-format msgid "%s - key error" msgstr "%s - nyckelfel" #: ../pyhoca/wxgui/logon.py:417 ../pyhoca/wxgui/passphrase.py:290 #: ../pyhoca/wxgui/frontend.py:771 #, python-format msgid "%s - auth error" msgstr "%s - autentiseringsfel" #: ../pyhoca/wxgui/logon.py:449 ../pyhoca/wxgui/passphrase.py:278 #: ../pyhoca/wxgui/passphrase.py:309 ../pyhoca/wxgui/frontend.py:699 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 "" "Verifiering av servernyckel misslyckades. X2Go-servern kan vara " "komprometterad.\n" "\n" "Det kan också bero på att servernyckeln har ändrats av administratören.\n" "\n" "Av säkerhetsskäl kommer anslutningen ej att genomföras!" #: ../pyhoca/wxgui/logon.py:454 ../pyhoca/wxgui/passphrase.py:314 #: ../pyhoca/wxgui/frontend.py:707 ../pyhoca/wxgui/frontend.py:727 #, python-format msgid "%s - SSH error" msgstr "%s - SSH-fel" #: ../pyhoca/wxgui/logon.py:464 ../pyhoca/wxgui/passphrase.py:322 #, python-format msgid "%s - unknown error" msgstr "%s - okänt fel" #: ../pyhoca/wxgui/logon.py:465 ../pyhoca/wxgui/passphrase.py:323 msgid "An unknown error occured during authentication!" msgstr "Ett okänt fel inträffade vid autentisering!" #: ../pyhoca/wxgui/passphrase.py:69 #, python-format msgid "%s (SSH proxy)" msgstr "%s (SSH-proxy)" #: ../pyhoca/wxgui/passphrase.py:71 #, python-format msgid "%s (X2Go Server)" msgstr "%s (X2Go Server)" #: ../pyhoca/wxgui/passphrase.py:81 #, python-format msgid "Unlock SSH private key (%s)..." msgstr "Lås upp privat SSH-nyckel (%s)..." #: ../pyhoca/wxgui/passphrase.py:83 msgid "Unlock auto-discovered SSH private key..." msgstr "Lås upp automatiskt hittad privat SSH-nyckel..." #: ../pyhoca/wxgui/passphrase.py:85 msgid "Passphrase" msgstr "Lösenordsfras" #: ../pyhoca/wxgui/passphrase.py:88 msgid "Unlock SSH key" msgstr "Lås upp SSH-nyckel" #: ../pyhoca/wxgui/passphrase.py:217 msgid "SSH key file (for X2Go server) could not be unlocked!" msgstr "SSH nyckelfil (för X2Go server) kunde ej låsas upp!" #: ../pyhoca/wxgui/passphrase.py:224 msgid "SSH key file (for SSH proxy) could not be unlocked!" msgstr "SSH nyckelfil (för SSH proxy) kunde ej låsas upp!" #: ../pyhoca/wxgui/taskbar.py:111 #, python-format msgid "" "%s\n" "Connecting you to ,,%s''" msgstr "" "%s\n" "Ansluter till \"%s\"" #: ../pyhoca/wxgui/taskbar.py:115 #, python-format msgid "" "%s\n" "Currently connecting you to remote X2Go server ,,%s''" msgstr "" "%s\n" "Anslutning till \"%s\" pågår" #: ../pyhoca/wxgui/taskbar.py:125 #, python-format msgid "" "%s\n" "Connecting you to X2Go..." msgstr "" "%s\n" "Ansluter dig till X2Go..." #: ../pyhoca/wxgui/taskbar.py:129 #, python-format msgid "" "%s\n" "Client for connecting you to a remote X2Go server" msgstr "" "%s\n" "Klient för att ansluta dig till en X2Go-server" #: ../pyhoca/wxgui/profilemanager.py:81 msgid "Cinnamon Desktop (CINNAMON)" msgstr "Cinnamon Desktop (CINNAMON)" #: ../pyhoca/wxgui/profilemanager.py:82 msgid "GNOME Desktop (GNOME)" msgstr "GNOME Desktop (GNOME)" #: ../pyhoca/wxgui/profilemanager.py:83 msgid "MATE Desktop (MATE)" msgstr "MATE Desktop (MATE)" #: ../pyhoca/wxgui/profilemanager.py:84 msgid "K Desktop Environment (KDE)" msgstr "K Desktop Environment (KDE)" #: ../pyhoca/wxgui/profilemanager.py:85 msgid "Lightweight X Desktop (LXDE)" msgstr "Lightweight X Desktop (LXDE)" #: ../pyhoca/wxgui/profilemanager.py:86 msgid "Trinity X Desktop (KDE3-like)" msgstr "Trinity X Desktop (KDE3-liknande)" #: ../pyhoca/wxgui/profilemanager.py:87 msgid "Unity X Desktop Shell (UNITY)" msgstr "Unity X Desktop Shell (UNITY)" #: ../pyhoca/wxgui/profilemanager.py:88 msgid "XFCE Desktop (XFCE)" msgstr "XFCE Desktop (XFCE)" #: ../pyhoca/wxgui/profilemanager.py:89 msgid "Published Applications" msgstr "Publicerade applikationer" #: ../pyhoca/wxgui/profilemanager.py:90 msgid "Single Application" msgstr "Applikation" #: ../pyhoca/wxgui/profilemanager.py:91 msgid "Share desktop session (SHADOW)" msgstr "Dela skrivbordssession (SHADOW)" #: ../pyhoca/wxgui/profilemanager.py:92 msgid "XDMCP Query" msgstr "XDMCP" #: ../pyhoca/wxgui/profilemanager.py:93 msgid "Windows Terminal Server (X2Go-proxied RDP)" msgstr "Windows Terminal Server (RDP-proxy)" #: ../pyhoca/wxgui/profilemanager.py:94 msgid "Windows Terminal Server (Direct RDP)" msgstr "Windows Terminal Server (RDP-proxy)" #: ../pyhoca/wxgui/profilemanager.py:95 ../pyhoca/wxgui/profilemanager.py:263 msgid "Custom command" msgstr "Anpassat kommando" #: ../pyhoca/wxgui/profilemanager.py:100 ../pyhoca/wxgui/menus_taskbar.py:413 msgid "Internet Browser" msgstr "Webbbläsare" #: ../pyhoca/wxgui/profilemanager.py:101 ../pyhoca/wxgui/menus_taskbar.py:414 msgid "Email Client" msgstr "E-postklient" #: ../pyhoca/wxgui/profilemanager.py:102 ../pyhoca/wxgui/menus_taskbar.py:415 msgid "Office" msgstr "Office" #: ../pyhoca/wxgui/profilemanager.py:103 ../pyhoca/wxgui/menus_taskbar.py:416 msgid "Terminal" msgstr "Terminal" #: ../pyhoca/wxgui/profilemanager.py:106 msgid "between client and server" msgstr "mellan klient och server" #: ../pyhoca/wxgui/profilemanager.py:107 msgid "from server to client only" msgstr "endast från server till klient" #: ../pyhoca/wxgui/profilemanager.py:108 msgid "from client to server only" msgstr "endast från klient till server" #: ../pyhoca/wxgui/profilemanager.py:109 msgid "not at all" msgstr "inte alls" #: ../pyhoca/wxgui/profilemanager.py:127 msgid "Open file with system's default application" msgstr "Öppna med systemets standardapplikation" #: ../pyhoca/wxgui/profilemanager.py:128 msgid "Open application chooser dialog" msgstr "Öppna applikationsväljare" #: ../pyhoca/wxgui/profilemanager.py:129 msgid "Save incoming file as ..." msgstr "Spara inkommande fil som ..." #: ../pyhoca/wxgui/profilemanager.py:157 msgid "settings derived from " msgstr "inställningar hämtade från" #. boxes for all tabs #: ../pyhoca/wxgui/profilemanager.py:205 msgid "Session Title" msgstr "Sessionsnamn" #: ../pyhoca/wxgui/profilemanager.py:206 msgid "Session Window" msgstr "Sessionsfönster" #: ../pyhoca/wxgui/profilemanager.py:207 msgid "Session Startup" msgstr "Sessionsstart" #: ../pyhoca/wxgui/profilemanager.py:208 msgid "Server" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:209 msgid "Proxy" msgstr "Proxy" #: ../pyhoca/wxgui/profilemanager.py:210 msgid "Connection Link Speed" msgstr "Anslutningshastighet" #: ../pyhoca/wxgui/profilemanager.py:211 msgid "Compression" msgstr "Komprimering" #: ../pyhoca/wxgui/profilemanager.py:212 msgid "Display" msgstr "Skärm" #: ../pyhoca/wxgui/profilemanager.py:213 msgid "Clipboard" msgstr "Urklipp" #: ../pyhoca/wxgui/profilemanager.py:214 msgid "Keyboard" msgstr "Tangentbord" #: ../pyhoca/wxgui/profilemanager.py:215 msgid "Sound" msgstr "Ljud" #: ../pyhoca/wxgui/profilemanager.py:216 msgid "Printing" msgstr "Utskrifter" #: ../pyhoca/wxgui/profilemanager.py:217 msgid "Folder Exports" msgstr "Delade mappar" #: ../pyhoca/wxgui/profilemanager.py:218 msgid "File Import" msgstr "Filimport" #. ## #. ## widgets for the PROFILE tab #. ## #: ../pyhoca/wxgui/profilemanager.py:223 msgid "Name" msgstr "Namn" #: ../pyhoca/wxgui/profilemanager.py:230 msgid "Set session window title" msgstr "Ange fönstertitel för session" #: ../pyhoca/wxgui/profilemanager.py:231 msgid "Use a default session window title" msgstr "Använd standard fönstertitel för session" #: ../pyhoca/wxgui/profilemanager.py:232 msgid "Custom session window title" msgstr "Anpassad fönstertitel för session" #: ../pyhoca/wxgui/profilemanager.py:251 msgid "Window Icon" msgstr "Fönsterikon" #. ## #. ## widgets for the SESSION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:257 msgid "Start session automatically after login" msgstr "Starta session automatiskt efter inloggning" #: ../pyhoca/wxgui/profilemanager.py:258 #, python-format msgid "Login automatically after %s has started (needs --auto-connect)" msgstr "Logga in automatiskt när %s har startat (--auto-connect måste anges)" #: ../pyhoca/wxgui/profilemanager.py:259 msgid "Type" msgstr "Typ" #: ../pyhoca/wxgui/profilemanager.py:261 msgid "Application" msgstr "Applikation" #: ../pyhoca/wxgui/profilemanager.py:265 msgid "XDMCP server" msgstr "XDMCP-server" #: ../pyhoca/wxgui/profilemanager.py:267 msgid "RDP server" msgstr "RDP-server" #: ../pyhoca/wxgui/profilemanager.py:269 msgid "RDP options" msgstr "RDP-alternativ" #: ../pyhoca/wxgui/profilemanager.py:271 msgid "Integrate remote application(s) into local desktop (rootless mode)" msgstr "Integrera fjärrapplikation i lokalt Skrivbord (rootless)" #: ../pyhoca/wxgui/profilemanager.py:272 msgid "Menu of published applications" msgstr "Meny med publicerade applikationer" #. ## #. ## widgets for the CONNECTION tab #. ## #: ../pyhoca/wxgui/profilemanager.py:279 ../pyhoca/wxgui/profilemanager.py:293 msgid "User" msgstr "Användare" #: ../pyhoca/wxgui/profilemanager.py:281 ../pyhoca/wxgui/profilemanager.py:300 msgid "Host" msgstr "Server" #: ../pyhoca/wxgui/profilemanager.py:283 ../pyhoca/wxgui/profilemanager.py:302 msgid "Port" msgstr "Port" #: ../pyhoca/wxgui/profilemanager.py:285 msgid "Key" msgstr "Nyckel" #: ../pyhoca/wxgui/profilemanager.py:288 msgid "Discover SSH keys or use SSH agent for X2Go authentication" msgstr "Upptäck SSH-nycklar eller använd SSH agent för X2Go autentisering" #: ../pyhoca/wxgui/profilemanager.py:290 msgid "Enable forwarding of SSH authentication agent connections" msgstr "Aktivera vidarebefordran av anslutningar för SSH autentiseringsagent" #: ../pyhoca/wxgui/profilemanager.py:291 msgid "Store SSH host keys under (unique) X2Go session profile ID" msgstr "Lagra SSH servernyckel under (unik) X2Go sessionsprofil-ID" #: ../pyhoca/wxgui/profilemanager.py:292 msgid "Server behind SSH proxy" msgstr "Server bakom SSH-proxy" #: ../pyhoca/wxgui/profilemanager.py:295 msgid "Use same username for X2Go and proxy host" msgstr "Använd samma användarnamn för X2Go och proxyserver" #: ../pyhoca/wxgui/profilemanager.py:296 msgid "Use same authentication for X2Go and proxy host" msgstr "Använd samma autentisering för X2Go och proxyserver" #: ../pyhoca/wxgui/profilemanager.py:297 msgid "Key file" msgstr "Nyckelfil" #: ../pyhoca/wxgui/profilemanager.py:304 msgid "Discover SSH keys or use SSH agent for proxy authentication" msgstr "Upptäck SSH-nycklar eller använd SSH agent för proxyautentisering" #: ../pyhoca/wxgui/profilemanager.py:307 msgid "Modem" msgstr "Modem" #: ../pyhoca/wxgui/profilemanager.py:308 msgid "ISDN" msgstr "ISDN" #: ../pyhoca/wxgui/profilemanager.py:309 msgid "ADSL" msgstr "ADSL" #: ../pyhoca/wxgui/profilemanager.py:310 msgid "WAN" msgstr "WAN" #: ../pyhoca/wxgui/profilemanager.py:311 msgid "LAN" msgstr "LAN" #: ../pyhoca/wxgui/profilemanager.py:313 msgid "Method" msgstr "Metod" #: ../pyhoca/wxgui/profilemanager.py:315 msgid "Image quality" msgstr "Bildkvalitet" #. ## #. ## wigdets for the IO tab #. ## #: ../pyhoca/wxgui/profilemanager.py:321 msgid "Fullscreen" msgstr "Fullskärm" #: ../pyhoca/wxgui/profilemanager.py:322 msgid "Maximized" msgstr "Maximerad" #: ../pyhoca/wxgui/profilemanager.py:323 msgid "Custom Size" msgstr "Anpassad storlek" #: ../pyhoca/wxgui/profilemanager.py:328 msgid "Set display DPI" msgstr "Ange skärmupplösning (DPI)" #: ../pyhoca/wxgui/profilemanager.py:330 msgid "Allow copy'n'paste" msgstr "Tillåt klippa-klistra" #: ../pyhoca/wxgui/profilemanager.py:332 msgid "Do not set (use server-side tools to configure the keyboard)" msgstr "" "Konfigurera inte (använd verktyg på server för att konfigurera tangentbord)" #: ../pyhoca/wxgui/profilemanager.py:333 msgid "" "Automatically detect and use client-side keyboard configuration inside the " "session" msgstr "" "Detektera automatiskt och använd klientinställningar för tangentbord i " "session" #: ../pyhoca/wxgui/profilemanager.py:334 msgid "Use custom keyboard settings as provided below" msgstr "Använd nedan angivna tangentbordsinställningar" #: ../pyhoca/wxgui/profilemanager.py:335 msgid "Keyboard model" msgstr "Tangentbordsmodell" #: ../pyhoca/wxgui/profilemanager.py:337 msgid "Layout" msgstr "Tangentbordslayout" #: ../pyhoca/wxgui/profilemanager.py:339 msgid "Layout variant" msgstr "Variant" #. ## #. ## wigdets for the MEDIA tab #. ## #: ../pyhoca/wxgui/profilemanager.py:344 msgid "Enable sound support" msgstr "Aktivera ljudstöd" #: ../pyhoca/wxgui/profilemanager.py:345 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:349 msgid "Arts (not supported)" msgstr "Arts (stöds ej)" #: ../pyhoca/wxgui/profilemanager.py:352 msgid "esd" msgstr "esd" #: ../pyhoca/wxgui/profilemanager.py:353 msgid "Use default sound port" msgstr "Använd standardport för ljud" #: ../pyhoca/wxgui/profilemanager.py:354 msgid "Custom sound port" msgstr "Anpassad ljudport" #: ../pyhoca/wxgui/profilemanager.py:357 msgid "Client Side printing" msgstr "Stöd för utskrifter via klienten" #. ## #. ## wigdets for the SHARING tab #. ## #: ../pyhoca/wxgui/profilemanager.py:363 msgid "Use local folder sharing" msgstr "Använd lokal mappdelning" #: ../pyhoca/wxgui/profilemanager.py:364 msgid "Store share list at end of session" msgstr "Spara lista med delade mappar när sessionen avslutas" #: ../pyhoca/wxgui/profilemanager.py:365 msgid "Path" msgstr "Sökväg" #: ../pyhoca/wxgui/profilemanager.py:368 ../pyhoca/wxgui/profilemanager.py:387 msgid "Add" msgstr "Lägg till" #: ../pyhoca/wxgui/profilemanager.py:370 msgid "Local Path" msgstr "Lokal sökväg" #: ../pyhoca/wxgui/profilemanager.py:371 msgid "Connect Method" msgstr "Anslutningsmetod" #: ../pyhoca/wxgui/profilemanager.py:372 msgid "Delete" msgstr "Radera" #: ../pyhoca/wxgui/profilemanager.py:374 msgid "Convert between client and server encodings" msgstr "Konvertera kodtabell mellan klient och server" #: ../pyhoca/wxgui/profilemanager.py:375 msgid "Client encoding" msgstr "Kodtabell klient" #: ../pyhoca/wxgui/profilemanager.py:377 msgid "Server encoding" msgstr "Kodtabell server" #: ../pyhoca/wxgui/profilemanager.py:380 msgid "Use file MIME box for local file import" msgstr "Använd MIME för lokal filimport" #: ../pyhoca/wxgui/profilemanager.py:381 msgid "Extensions" msgstr "Filändelser" #: ../pyhoca/wxgui/profilemanager.py:383 msgid "Action" msgstr "Hantering" #: ../pyhoca/wxgui/profilemanager.py:388 msgid "Defaults" msgstr "Standard" #: ../pyhoca/wxgui/profilemanager.py:390 msgid "Save" msgstr "Spara" #: ../pyhoca/wxgui/profilemanager.py:391 msgid "Reset" msgstr "Återställ" #: ../pyhoca/wxgui/profilemanager.py:392 ../pyhoca/wxgui/printingprefs.py:144 msgid "Apply" msgstr "Verkställ" #: ../pyhoca/wxgui/profilemanager.py:453 #: ../pyhoca/wxgui/profilemanager.py:1184 #: ../pyhoca/wxgui/profilemanager.py:2364 msgid "automatically" msgstr "automatisk" #: ../pyhoca/wxgui/profilemanager.py:455 #: ../pyhoca/wxgui/profilemanager.py:1186 msgid "manually" msgstr "manuellt" #: ../pyhoca/wxgui/profilemanager.py:464 #, python-format msgid "%s Profile Manager - new profile" msgstr "%s Profilhanterare - ny profil" #: ../pyhoca/wxgui/profilemanager.py:467 #, python-format msgid "%s Profile Manager - %s (connected)" msgstr "%s Profilhanterare - %s (ansluten)" #: ../pyhoca/wxgui/profilemanager.py:469 #, python-format msgid "%s Profile Manager - %s (connected, immutable)" msgstr "%s Profilhanterare - %s (ansluten)" #: ../pyhoca/wxgui/profilemanager.py:472 #, python-format msgid "%s Profile Manager - %s" msgstr "%s Profilhanterare - %s" #: ../pyhoca/wxgui/profilemanager.py:474 #, python-format msgid "%s Profile Manager - %s (immutable)" msgstr "%s Profilhanterare - %s (ansluten)" #: ../pyhoca/wxgui/profilemanager.py:851 msgid "Profile" msgstr "Profil" #: ../pyhoca/wxgui/profilemanager.py:852 msgid "Session" msgstr "Session" #: ../pyhoca/wxgui/profilemanager.py:853 msgid "Connection" msgstr "Anslutning" #: ../pyhoca/wxgui/profilemanager.py:854 msgid "Link Quality" msgstr "Länkkvalitet" #: ../pyhoca/wxgui/profilemanager.py:855 msgid "Input/Output" msgstr "In-/Utdata" #: ../pyhoca/wxgui/profilemanager.py:856 msgid "Media" msgstr "Ljud och bild" #: ../pyhoca/wxgui/profilemanager.py:857 msgid "Sharing" msgstr "Delning" #: ../pyhoca/wxgui/profilemanager.py:1044 msgid "" msgstr "pc105" #: ../pyhoca/wxgui/profilemanager.py:1045 msgid "" msgstr "se" #: ../pyhoca/wxgui/profilemanager.py:1046 msgid "" msgstr "se" #: ../pyhoca/wxgui/profilemanager.py:1504 msgid "Icon Files (*.png)|*.png|All files (*.*)|*" msgstr "Ikonfiler (*.png)|*.png|Alla filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1507 msgid "Choose an icon for this session profile" msgstr "Välj en ikon för denna sessionsprofil" #: ../pyhoca/wxgui/profilemanager.py:1956 msgid "All files (*.*)|*" msgstr "Alla filer (*.*)|*" #: ../pyhoca/wxgui/profilemanager.py:1958 #: ../pyhoca/wxgui/profilemanager.py:1982 msgid "Choose a public SSH key" msgstr "Välj en public SSH-nyckel" #: ../pyhoca/wxgui/profilemanager.py:2316 msgid "Choose a folder to share within a session" msgstr "Välj en mapp att dela i en session" #: ../pyhoca/wxgui/profilemanager.py:2444 #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 ../pyhoca/wxgui/menus_taskbar.py:122 msgid "Profile Manager" msgstr "Profilhanterare" #: ../pyhoca/wxgui/profilemanager.py:2444 msgid "Profile name is missing, profile unusable!!!" msgstr "Profilnamn saknas, profil oanvändbar!" #: ../pyhoca/wxgui/profilemanager.py:2447 #: ../pyhoca/wxgui/profilemanager.py:2450 #, python-format msgid "Profile name %s already exists!!!" msgstr "Profilen %s finns redan!" #: ../pyhoca/wxgui/profilemanager.py:2478 #, python-format msgid "%s - profile added" msgstr "%s - profil tillagd" #: ../pyhoca/wxgui/profilemanager.py:2479 msgid "A new session profile has been added." msgstr "En ny sessionsprofil har lagts till." #: ../pyhoca/wxgui/profilemanager.py:2483 #, python-format msgid "%s - modified" msgstr "%s - ändrad" #: ../pyhoca/wxgui/profilemanager.py:2484 msgid "Changes to profile have been saved." msgstr "Ändringar av profil har sparats." #: ../pyhoca/wxgui/listdesktops.py:66 #, python-format msgid "Share Desktop Session - %s" msgstr "Dela skrivbordssession - %s" #: ../pyhoca/wxgui/listdesktops.py:68 msgid "Select one of the available desktop sessions on this server" msgstr "Välj en av de tillgängliga skrivbordssessionerna på denna server" #: ../pyhoca/wxgui/listdesktops.py:74 msgid "View session only" msgstr "Endast visa session" #: ../pyhoca/wxgui/listdesktops.py:75 msgid "Gain full access" msgstr "Erhåll full åtkomst" #: ../pyhoca/wxgui/listdesktops.py:79 msgid "Share Desktop" msgstr "Dela skrivbord" #: ../pyhoca/wxgui/listdesktops.py:82 msgid "Refresh list" msgstr "Uppdatera lista" #: ../pyhoca/wxgui/menus_taskbar.py:65 msgid "Edit Profile" msgstr "Redigera profil" #: ../pyhoca/wxgui/menus_taskbar.py:67 msgid "View Profile" msgstr "Visa profil" #: ../pyhoca/wxgui/menus_taskbar.py:75 msgid "Use as Template for New Profile" msgstr "Använd som mall för ny profil" #: ../pyhoca/wxgui/menus_taskbar.py:79 msgid "Export Profile" msgstr "Exportera profil" #: ../pyhoca/wxgui/menus_taskbar.py:83 msgid "Delete Profile" msgstr "Radera profil" #: ../pyhoca/wxgui/menus_taskbar.py:109 ../pyhoca/wxgui/menus_taskbar.py:110 #, python-format msgid "About %s (%s)..." msgstr "Om %s (%s)..." #: ../pyhoca/wxgui/menus_taskbar.py:139 msgid "Manage Session Profile" msgstr "Hantera sessionsprofil" #: ../pyhoca/wxgui/menus_taskbar.py:148 msgid "Disconnect from session broker" msgstr "Koppla från sessionshanterare" #: ../pyhoca/wxgui/menus_taskbar.py:153 msgid "Printing Preferences" msgstr "Utskriftspreferenser" #: ../pyhoca/wxgui/menus_taskbar.py:161 msgid "Client Options" msgstr "Klientalternativ" #: ../pyhoca/wxgui/menus_taskbar.py:169 ../pyhoca/wxgui/menus_taskbar.py:849 #: ../pyhoca/wxgui/menus_taskbar.py:1070 msgid "E&xit" msgstr "&Avsluta" #: ../pyhoca/wxgui/menus_taskbar.py:241 msgid "Window title" msgstr "Fönstertitel" #: ../pyhoca/wxgui/menus_taskbar.py:247 ../pyhoca/wxgui/menus_taskbar.py:649 msgid "Resume Session" msgstr "Återanslut session" #: ../pyhoca/wxgui/menus_taskbar.py:249 msgid "Resume Session (not possible)" msgstr "Återanslut session (ej möjligt)" #: ../pyhoca/wxgui/menus_taskbar.py:260 msgid "Transfer Session" msgstr "Flytta session" #: ../pyhoca/wxgui/menus_taskbar.py:262 msgid "Transfer Session (not possible)" msgstr "Flytta session (ej möjligt)" #: ../pyhoca/wxgui/menus_taskbar.py:267 ../pyhoca/wxgui/menus_taskbar.py:640 msgid "Suspend Session (and disconnect/exit)" msgstr "Försätt session i vila och avsluta" #: ../pyhoca/wxgui/menus_taskbar.py:269 ../pyhoca/wxgui/menus_taskbar.py:642 msgid "Suspend Session (and disconnect)" msgstr "Försätt session i vila och koppla från" #: ../pyhoca/wxgui/menus_taskbar.py:271 ../pyhoca/wxgui/menus_taskbar.py:644 msgid "Suspend Session" msgstr "Försätt session i vila" #: ../pyhoca/wxgui/menus_taskbar.py:277 ../pyhoca/wxgui/menus_taskbar.py:653 msgid "Terminate Session (and disconnect/exit)" msgstr "Avsluta session" #: ../pyhoca/wxgui/menus_taskbar.py:279 ../pyhoca/wxgui/menus_taskbar.py:655 msgid "Terminate Session (and disconnect)" msgstr "Koppla från session" #: ../pyhoca/wxgui/menus_taskbar.py:281 ../pyhoca/wxgui/menus_taskbar.py:657 msgid "Terminate Session" msgstr "Avsluta session" #: ../pyhoca/wxgui/menus_taskbar.py:284 msgid "End Desktop Sharing (and disconnect/exit)" msgstr "Avsluta skrivbordsdelning (och koppla från/avsluta)" #: ../pyhoca/wxgui/menus_taskbar.py:286 msgid "End Desktop Sharing (and disconnect)" msgstr "Avsluta skrivbordsdelning (och koppla från)" #: ../pyhoca/wxgui/menus_taskbar.py:288 msgid "End Desktop Sharing" msgstr "Avsluta skrivbordsdelning" #: ../pyhoca/wxgui/menus_taskbar.py:292 ../pyhoca/wxgui/menus_taskbar.py:637 msgid "Refresh menu tree" msgstr "Uppdatera menyträd" #: ../pyhoca/wxgui/menus_taskbar.py:301 msgid "Rename Session Window" msgstr "Döp om sessionsfönster" #: ../pyhoca/wxgui/menus_taskbar.py:302 msgid "Show Session Window" msgstr "Visa sessionsfönster" #: ../pyhoca/wxgui/menus_taskbar.py:344 msgid "&Share custom local folder" msgstr "&Dela anpassad lokal mapp" #: ../pyhoca/wxgui/menus_taskbar.py:356 msgid "Share:" msgstr "Dela:" #: ../pyhoca/wxgui/menus_taskbar.py:366 msgid "Unshare:" msgstr "Avsluta delning:" #: ../pyhoca/wxgui/menus_taskbar.py:374 msgid "Unshare &all local folders" msgstr "Avsluta delning av lokala mappar" #: ../pyhoca/wxgui/menus_taskbar.py:380 msgid "Restore shares in next session" msgstr "Återställ delade mappar i nästa session" #: ../pyhoca/wxgui/menus_taskbar.py:461 msgid "Multimedia" msgstr "Ljud och bild" #: ../pyhoca/wxgui/menus_taskbar.py:462 msgid "Development" msgstr "Programmering" #: ../pyhoca/wxgui/menus_taskbar.py:463 msgid "Education" msgstr "Utbildning" #: ../pyhoca/wxgui/menus_taskbar.py:464 msgid "Games" msgstr "Spel" #: ../pyhoca/wxgui/menus_taskbar.py:465 msgid "Graphics" msgstr "Grafik" #: ../pyhoca/wxgui/menus_taskbar.py:466 msgid "Internet" msgstr "Internet" #: ../pyhoca/wxgui/menus_taskbar.py:467 msgid "Office Applications" msgstr "Kontor" #: ../pyhoca/wxgui/menus_taskbar.py:468 msgid "System" msgstr "System" #: ../pyhoca/wxgui/menus_taskbar.py:469 msgid "Utilities" msgstr "Verktyg" #: ../pyhoca/wxgui/menus_taskbar.py:470 msgid "Other Applications" msgstr "Övriga applikationer" #: ../pyhoca/wxgui/menus_taskbar.py:545 ../pyhoca/wxgui/menus_taskbar.py:1035 msgid "Connect to" msgstr "Anslut till" #: ../pyhoca/wxgui/menus_taskbar.py:550 ../pyhoca/wxgui/menus_taskbar.py:565 #, python-format msgid "Connect %s" msgstr "Anslut %s" #: ../pyhoca/wxgui/menus_taskbar.py:559 msgid "Currently connecting..." msgstr "Anslutning pågår..." #: ../pyhoca/wxgui/menus_taskbar.py:574 msgid "Start &new Desktop Session" msgstr "Starta &ny Skrivbordssession" #: ../pyhoca/wxgui/menus_taskbar.py:578 ../pyhoca/wxgui/menus_taskbar.py:678 msgid "Start Desktop Sharing Session" msgstr "Starta skrivbordsdelning" #: ../pyhoca/wxgui/menus_taskbar.py:584 ../pyhoca/wxgui/menus_taskbar.py:728 msgid "Retrieving Application Menu..." msgstr "Hämtar applikationsmeny..." #: ../pyhoca/wxgui/menus_taskbar.py:588 ../pyhoca/wxgui/menus_taskbar.py:731 msgid "Retrieve Application Menu" msgstr "Hämta applikationsmeny" #: ../pyhoca/wxgui/menus_taskbar.py:591 msgid "Start &new RDP Session" msgstr "Starta &ny RDP session" #: ../pyhoca/wxgui/menus_taskbar.py:594 msgid "Start &new Session" msgstr "Starta &ny session" #: ../pyhoca/wxgui/menus_taskbar.py:674 msgid "Launch Single Application" msgstr "Starta applikation" #: ../pyhoca/wxgui/menus_taskbar.py:715 msgid "Manage Application Menu" msgstr "Hantera applikationsmeny" #: ../pyhoca/wxgui/menus_taskbar.py:770 msgid "Running" msgstr "Aktiv" #: ../pyhoca/wxgui/menus_taskbar.py:772 msgid "Suspended" msgstr "Vilande" #: ../pyhoca/wxgui/menus_taskbar.py:791 msgid "&Clean all sessions" msgstr "&Rensa alla sessioner" #: ../pyhoca/wxgui/menus_taskbar.py:798 msgid "Customize &profile" msgstr "Anpassa &profil" #: ../pyhoca/wxgui/menus_taskbar.py:800 msgid "View &profile" msgstr "Visa &profil" #: ../pyhoca/wxgui/menus_taskbar.py:815 msgid "Shared &folders" msgstr "Delade &mappar" #: ../pyhoca/wxgui/menus_taskbar.py:827 msgid "Server Information" msgstr "Serverinformation" #: ../pyhoca/wxgui/menus_taskbar.py:834 msgid "&Disconnect from Server" msgstr "&Koppla från server" #: ../pyhoca/wxgui/menus_taskbar.py:841 msgid "Suspend Session and E&xit application" msgstr "Försätt session i vila och avsluta" #: ../pyhoca/wxgui/menus_taskbar.py:845 msgid "Disconnect and E&xit application" msgstr "Kopplar från och &avsluta" #: ../pyhoca/wxgui/menus_taskbar.py:899 msgid "Add Profile" msgstr "Lägg till profil" #: ../pyhoca/wxgui/menus_taskbar.py:976 msgid "Session broker is not connected" msgstr "Sessionshanterare är frånkopplad" #: ../pyhoca/wxgui/menus_taskbar.py:978 msgid "No session profiles defined" msgstr "Inga sessionsprofiler har definierats" #: ../pyhoca/wxgui/menus_taskbar.py:989 msgid "Export all Profiles" msgstr "Exportera alla profiler" #: ../pyhoca/wxgui/menus_taskbar.py:991 msgid "Export Profile Group" msgstr "Exportera profilgrupp" #: ../pyhoca/wxgui/menus_taskbar.py:997 msgid "Import Session Profiles" msgstr "Importera sessionsprofiler" #: ../pyhoca/wxgui/menus_taskbar.py:1040 msgid "Connect Server" msgstr "Anslut till server" #: ../pyhoca/wxgui/about.py:78 ../pyhoca/wxgui/about.py:80 #, python-format msgid "About %s ..." msgstr "Om %s ..." #: ../pyhoca/wxgui/frontend.py:489 msgid "Suspending sessions and exiting application..." msgstr "Försätter session i vila och avslutar..." #: ../pyhoca/wxgui/frontend.py:492 #, python-format msgid "Disconnecting %s and exiting application..." msgstr "Kopplar från %s och avslutar applikation..." #: ../pyhoca/wxgui/frontend.py:494 msgid "Exiting application..." msgstr "Avslutar applikation..." #: ../pyhoca/wxgui/frontend.py:594 #, python-format msgid "%s - server warning" msgstr "%s - servervarning" #: ../pyhoca/wxgui/frontend.py:594 msgid "The X2Go Server does not publish an application menu." msgstr "X2Go-servern publicerar inte en applikationsmeny." #: ../pyhoca/wxgui/frontend.py:645 msgid "SSH key authentication has been successful." msgstr "Autentisering med SSH-nyckel lyckades." #: ../pyhoca/wxgui/frontend.py:719 msgid "" "Host key verification failed. The SSH proxy 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 "" "Verifiering av servernyckel misslyckades. SSH-proxyservern kan vara " "komprometterad.\n" "\n" "Det kan också bero på att servernyckeln har ändrats av administratören.\n" "\n" "Av säkerhetsskäl kommer anslutningen ej att genomföras!" #: ../pyhoca/wxgui/frontend.py:736 msgid "" "The SSH proxy's host key is invalid or has not been accepted by the user" msgstr "" "SSH-proxyns nyckel är felaktig eller har inte accepterats av användaren" #: ../pyhoca/wxgui/frontend.py:757 #, python-format msgid "%s - EOF error" msgstr "%s - EOF fel" #: ../pyhoca/wxgui/frontend.py:757 msgid "Authentication protocol communication incomplete! Try again..." msgstr "Autentisering slutfördes ej! Prova igen..." #: ../pyhoca/wxgui/frontend.py:778 msgid "An unknown error occurred during authentication!" msgstr "Ett okänt fel inträffade vid autentisering!" #: ../pyhoca/wxgui/frontend.py:807 #, python-format msgid "%s: DirectRDP not supported yet" msgstr "%s: DirectRDP stöds inte ännu" #: ../pyhoca/wxgui/frontend.py:808 #, 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 ber om ursäkt...\n" "\n" "Sessionsprofiler av typen \"DirectRDP\" stöds inte\n" "av %s (%s)!\n" "\n" "Stöd för DirectRDP kommer i %s (>=1.0.0.0)" #: ../pyhoca/wxgui/frontend.py:823 msgid "Unknown session profile, configure before using it..." msgstr "Okänd sessionsprofil, konfigurera före användning..." #: ../pyhoca/wxgui/frontend.py:884 #, python-format msgid "Desktop Sharing with %s not supported by server" msgstr "Skrivbordsdelning med %s stöds ej av server" #: ../pyhoca/wxgui/frontend.py:885 #, 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 ber om ursäkt...\n" "\n" "Sessionsprofiler av typen \"SHADOW\" stöds inte\n" "av X2Go Server (v%s)!\n" "\n" "Stöd för skrivbordsdelning med %s kräver X2Go Server 4.1.0.0 eller högre." #: ../pyhoca/wxgui/frontend.py:943 ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "%s - session warning" msgstr "%s - sessionsvarning" #: ../pyhoca/wxgui/frontend.py:943 #, python-format msgid "Execution of command ,,%s'' failed." msgstr "Exekvering av kommando \"%s\" misslyckades." #: ../pyhoca/wxgui/frontend.py:1084 msgid "Cleaning X2Go sessions..." msgstr "Rensar X2Go-sessioner..." #: ../pyhoca/wxgui/frontend.py:1132 #, python-format msgid "%s - disconnect" msgstr "%s - koppla från" #: ../pyhoca/wxgui/frontend.py:1132 msgid "X2Go Profile is now disconnected." msgstr "X2Go-profil är nu frånkopplad" #: ../pyhoca/wxgui/frontend.py:1153 msgid "New Session Profile" msgstr "Ny sessionsprofil" #: ../pyhoca/wxgui/frontend.py:1208 #, python-format msgid "Really Delete Session Profile ,,%s''?" msgstr "Är du säker på att du vill radera profil ,,%s''?" #: ../pyhoca/wxgui/frontend.py:1213 #, python-format msgid "%s - profile deleted" msgstr "%s - profil raderad" #: ../pyhoca/wxgui/frontend.py:1213 msgid "The session profile has been deleted." msgstr "Profilen har raderats." #: ../pyhoca/wxgui/frontend.py:1225 msgid "import session profile(s)" msgstr "importera sessionsprofil(er)" #: ../pyhoca/wxgui/frontend.py:1237 #, python-format msgid "%s: Import of session profile(s) failed" msgstr "%s: Import av sessionsprofil(er) misslyckades" #: ../pyhoca/wxgui/frontend.py:1238 #, 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 "" "Vald(a) sessionsprofil(er) kunde ej importeras från\n" "filen »%s«.\n" "\n" "Är du säker på att filen har korrekt format?" #: ../pyhoca/wxgui/frontend.py:1266 #, python-format msgid "%s: Write failure after import" msgstr "%s: Skrivfel efter import" #: ../pyhoca/wxgui/frontend.py:1267 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 "" "Vald(a) sessionsprofil(er) kunde ej skrivas till fil efter import\n" "\n" "Kontrollera vanliga orsaker (slut diskutrymme, saknade skrivbehörigheter, " "etc.)." #: ../pyhoca/wxgui/frontend.py:1272 msgid "None of the session profiles could be imported..." msgstr "Inga sessionsprofiler kunde importeras..." #: ../pyhoca/wxgui/frontend.py:1275 ../pyhoca/wxgui/frontend.py:1285 #, python-format msgid "For details, start %s from the command line and retry the import." msgstr "" "För detaljerad information, starta %s från kommandoraden och försök " "importera igen." #: ../pyhoca/wxgui/frontend.py:1279 msgid "Only these session profiles could be imported..." msgstr "Bara dessa sessionsprofiler kunde importeras..." #: ../pyhoca/wxgui/frontend.py:1282 msgid "Whereas these session profiles failed to import..." msgstr "Följande sessionsprofiler kunde inte importeras..." #: ../pyhoca/wxgui/frontend.py:1288 msgid "New session profiles have been imported..." msgstr "Nya sessionsprofiler har importerats..." #: ../pyhoca/wxgui/frontend.py:1293 msgid "New session profile has been imported..." msgstr "Ny sessionsprofil har importerats..." #: ../pyhoca/wxgui/frontend.py:1322 #, python-format msgid "%s - export session profiles" msgstr "%s - exportera sessionsprofiler" #: ../pyhoca/wxgui/frontend.py:1327 #, python-format msgid "%s - export session profile" msgstr "%s - exportera sessionsprofil" #: ../pyhoca/wxgui/frontend.py:1339 #, python-format msgid "%s: Export file already exists" msgstr "%s: Exportfil finns redan" #: ../pyhoca/wxgui/frontend.py:1340 #, python-format msgid "" "The file »%s« already exists in this folder.\n" "\n" "Do you want to replace it?" msgstr "" "Filen »%s« finns redan i denna mapp.\n" "\n" "Vill du skriva över den?" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "%s - profiles exported" msgstr "%s - profiler har exporterats" #: ../pyhoca/wxgui/frontend.py:1361 #, python-format msgid "Successfully exported session profile group »%s« to file »%s«." msgstr "Export av sessionsprofilsgrupp »%s« till fil »%s« lyckades." #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "%s - profile exported" msgstr "%s - profil har exporterats" #: ../pyhoca/wxgui/frontend.py:1363 #, python-format msgid "Successfully exported single session profile »%s« to file »%s«." msgstr "Export av sessionsprofil »%s« till fil »%s« lyckades." #: ../pyhoca/wxgui/frontend.py:1367 #, python-format msgid "%s: Exporting session profile(s) failed" msgstr "%s: Export av sessionsprofile(r) misslyckades" #: ../pyhoca/wxgui/frontend.py:1368 #, 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 "" "Vald(a) sessionsprofile(r) kunde ej exporteras till\n" "filen »%s«.\n" "\n" "Kontrollera vanliga orsaker (slut diskutrymme, saknade skrivbehörigheter, " "etc.)." #: ../pyhoca/wxgui/frontend.py:1387 #, python-format msgid "%s - share local folder with sessions of this profile" msgstr "%s - dela lokal mapp med sessioner som använder denna profil" #: ../pyhoca/wxgui/frontend.py:1553 #, 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 "" "Okänd server [%s]:%s.\n" "Fingeravtryck för %s är ,,%s''.\n" "\n" "Litar du på denna nyckel?" #: ../pyhoca/wxgui/frontend.py:1561 #, python-format msgid "%s: Confirm Host Authorization" msgstr "%s: Bekräfta tillägg av server" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "%s - channel error" msgstr "%s - kanalfel" #: ../pyhoca/wxgui/frontend.py:1607 #, python-format msgid "" "Lost connection to server %s unexpectedly!\n" "\n" "Try to re-authenticate to the server..." msgstr "" "Anslutning till %s avslutades oväntat!\n" "\n" "Försök återansluta till server..." #: ../pyhoca/wxgui/frontend.py:1625 #, python-format msgid "%s - SFTP client error" msgstr "%s - SFTP klientfel" #: ../pyhoca/wxgui/frontend.py:1625 msgid "" "New X2Go session will lack SFTP client support.\n" "Check your server setup.\n" "\n" "Avoid echoing ~/.*shrc files on server!!!\n" "\n" "Not starting new session..." msgstr "" "Ny X2Go-session kommer att sakna SFTP klientsupport.\n" "Kontrollera serverinställningar.\n" "\n" "Undvik att eka ~/.*shrc filer på server!!!\n" "\n" "Startar ej ny session......" #: ../pyhoca/wxgui/frontend.py:1642 ../pyhoca/wxgui/frontend.py:1655 #: ../pyhoca/wxgui/frontend.py:1711 ../pyhoca/wxgui/frontend.py:1713 #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "%s - session failure" msgstr "%s - session misslyckades" #: ../pyhoca/wxgui/frontend.py:1642 msgid "The session startup failed." msgstr "Sessionsstart misslyckades." #: ../pyhoca/wxgui/frontend.py:1655 msgid "The session initialization failed." msgstr "Sessionsstart misslyckades." #: ../pyhoca/wxgui/frontend.py:1668 #, python-format msgid "%s - desktop sharing failure" msgstr "%s - skrivbordsdelning misslyckades" #: ../pyhoca/wxgui/frontend.py:1668 msgid "" "Desktop sharing was denied by the other user or\n" "both of you have insufficient privileges to share one another's desktop." msgstr "" "Skrivbordsdelning nekades av användaren eller\n" "så saknar ni båda rättigheter att dela varandras Skrivbord." #: ../pyhoca/wxgui/frontend.py:1681 #, python-format msgid "%s - timeout" msgstr "%s - timeout" #: ../pyhoca/wxgui/frontend.py:1681 msgid "" "The server took long to provide a list of sharable desktops.\n" "This can happen from time to time, please try again" msgstr "" "Det tog lång tid att hämta listan över delbara skrivbord från servern.\n" "Försök igen" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "%s - desktop sharing failed" msgstr "%s - skrivbordsdelning misslyckades" #: ../pyhoca/wxgui/frontend.py:1693 #, python-format msgid "The desktop %s is not available for sharing (anymore)." msgstr "Skrivbord %s är inte tillgängligt för delning." #: ../pyhoca/wxgui/frontend.py:1711 #, python-format msgid "The command ,,%s'' is not available on X2Go server." msgstr "Kommandot ,,%s'' finns inte på X2Go-server." #: ../pyhoca/wxgui/frontend.py:1713 #, python-format msgid "" "The command ,,%s'' is not available on X2Go server\n" "%s." msgstr "" "Kommandot ,,%s'' finns inte på X2Go-server\n" "%s." #: ../pyhoca/wxgui/frontend.py:1730 #, python-format msgid "" "Reverse TCP port forwarding request for session %s to server port %s has " "been denied." msgstr "" "Omvänd TCP port forwarding för session %s till serverport %s har nekats." #: ../pyhoca/wxgui/frontend.py:1756 #, python-format msgid "" "Forwarding tunnel request to [%s]:%s for session %s was denied by remote " "X2Go/SSH server. Subsystem %sstartup failed." msgstr "" "Begäran om tunnel till [%s]:%s för session %s nekades av X2Go/SSH-server. " "Start av %s misslyckades." #: ../pyhoca/wxgui/frontend.py:1775 #, python-format msgid "%s - audio warning" msgstr "%s - ljudvarning" #: ../pyhoca/wxgui/frontend.py:1775 msgid "" "The X2Go PulseAudio system is not available within Remote Desktop sessions." msgstr "X2Go PulseAudio är inte tillgängligt i Remote Desktop-sessioner." #: ../pyhoca/wxgui/frontend.py:1782 ../pyhoca/wxgui/frontend.py:1789 #, python-format msgid "%s - audio error" msgstr "%s - ljudfel" #: ../pyhoca/wxgui/frontend.py:1782 msgid "The X2Go PulseAudio system could not be started." msgstr "X2Go PulseAudio kunde ej startas." #: ../pyhoca/wxgui/frontend.py:1789 msgid "The X2Go PulseAudio system has died unexpectedly." msgstr "X2Go PulseAudio avslutades oväntat." #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "%s - audio problem" msgstr "%s - ljudproblem" #: ../pyhoca/wxgui/frontend.py:1801 #, python-format msgid "" "The audio connection could not be set up for this session.\n" "%s" msgstr "" "Anslutning för ljud kunde ej genomföras för denna session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "%s - client-side printing not available" msgstr "%s - klientdelade utskrifter ej tillgängliga" #: ../pyhoca/wxgui/frontend.py:1813 #, python-format msgid "" "The server denies client-side printing from within this session.\n" "%s" msgstr "" "Servern tillåter ej utskrifter via klient från denna session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "%s - MIME box not available" msgstr "%s - MIME ej tillgängligt" #: ../pyhoca/wxgui/frontend.py:1825 #, python-format msgid "" "The server does not support the X2Go MIME box.\n" "%s" msgstr "" "Servern stöder ej X2Go MIME.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "%s - client-side folders not sharable" msgstr "%s - klientmappar ej delningsbara" #: ../pyhoca/wxgui/frontend.py:1837 #, python-format msgid "" "The server denies client-side folder sharing with this session.\n" "%s" msgstr "" "Servern tillåter ej klientdelade mappar i denna session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "%s - client resources not sharable" msgstr "%s - klientresurser ej delningsbara" #: ../pyhoca/wxgui/frontend.py:1849 #, python-format msgid "" "Client-side folders and printers cannot be shared with this session.\n" "%s" msgstr "" "Klientdelade mappar och utskrifter kan ej delas med denna session.\n" "%s" #: ../pyhoca/wxgui/frontend.py:1868 ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "%s - print error" msgstr "%s - utskriftsfel" #: ../pyhoca/wxgui/frontend.py:1868 #, python-format msgid "" "%s\n" "...caused on printer %s by session\n" "%s" msgstr "" "%s\n" "... orsakat på skrivare %s av session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1870 #, python-format msgid "" "%s\n" "...caused by session\n" "%s" msgstr "" "%s\n" "...orsakat av session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1885 ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "%s - start" msgstr "%s - startar" #: ../pyhoca/wxgui/frontend.py:1885 #, python-format msgid "" "New X2Go session starting up...\n" "%s" msgstr "" "Ny X2Go-session startar ...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1900 #, python-format msgid "" "Another client started X2Go session\n" "%s" msgstr "" "En annan klient startade X2Go-session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1915 ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "%s - resume" msgstr "%s - återanslut" #: ../pyhoca/wxgui/frontend.py:1915 #, python-format msgid "" "Resuming X2Go session...\n" "%s" msgstr "" "Återansluter X2Go-session...\n" "%s" #: ../pyhoca/wxgui/frontend.py:1930 #, python-format msgid "" "Another client resumed X2Go session\n" "%s" msgstr "" "En annan klient återanslöt X2Go-session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "%s - running" msgstr "%s - aktiv" #: ../pyhoca/wxgui/frontend.py:1945 #, python-format msgid "" "Found already running session\n" "%s" msgstr "" "Hittade aktiv session\n" "%s" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "%s - suspend" msgstr "%s - vila" #: ../pyhoca/wxgui/frontend.py:1965 #, python-format msgid "" "X2Go Session has been suspended\n" "%s" msgstr "" "X2Go-session har försatts i vila\n" "%s" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "%s - terminate" msgstr "%s - avsluta" #: ../pyhoca/wxgui/frontend.py:1992 #, python-format msgid "" "X2Go Session has terminated\n" "%s" msgstr "" "X2Go-session har avslutats\n" "%s" #: ../pyhoca/wxgui/frontend.py:2016 ../pyhoca/wxgui/frontend.py:2022 #, python-format msgid "%s: connection failure" msgstr "%s: anslutning misslyckades" #: ../pyhoca/wxgui/frontend.py:2017 #, python-format msgid "" "While initializing a session for profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "När sessionen för profilen '%s' initierades så misslyckades\n" "anslutningen till %s.\n" "\n" "Det är möjligt att försöka initiera sessionen ändå.\n" "Vill du fortsätta?" #: ../pyhoca/wxgui/frontend.py:2023 #, python-format msgid "" "While connecting to profile '%s' the connection\n" "to %s has failed.\n" "\n" "It is possible to attempt session initialization anyway. Do you\n" "want to continue?" msgstr "" "När anslutningen för profilen '%s' initierades så misslyckades\n" "anslutningen till %s.\n" "\n" "Det är möjligt att försöka initiera sessionen ändå.\n" "Vill du fortsätta?" #: ../pyhoca/wxgui/messages.py:70 #, python-format msgid "" "Are you really sure you want to\n" "delete the session profile ,,%s''?" msgstr "" "Är du säker på att du vill\n" "radera sessionsprofilen ,,%s''?" #: ../pyhoca/wxgui/messages.py:71 #, python-brace-format msgid "" "{appname} is already running for user ,,{username}''!\n" "\n" "Only one instance of {appname} can be started per\n" "user. The {appname} icon can be found in your desktop's\n" "notification area/systray." msgstr "" "{appname} körs redan av användare ,,{username}''!\n" "\n" "Bara en instans av {appname} kan startas per\n" "användare. {appname}-ikonen finns i systemfältet." #: ../pyhoca/wxgui/messages.py:109 msgid "Yes" msgstr "Ja" #: ../pyhoca/wxgui/messages.py:110 msgid "No" msgstr "Nej" #: ../pyhoca/wxgui/messages.py:127 ../pyhoca/wxgui/printingprefs.py:143 msgid "Ok" msgstr "OK" #: ../pyhoca/wxgui/printingprefs.py:67 #, python-format msgid "%s - Printing Preferences" msgstr "%s - Utskriftspreferenser" #: ../pyhoca/wxgui/printingprefs.py:69 #, python-format msgid "%s - Incoming Print Job from %s (%s)" msgstr "%s - Inkommande utskriftsjobb från %s (%s)" #: ../pyhoca/wxgui/printingprefs.py:74 msgid "Open this dialog window" msgstr "Öppna denna dialog" #: ../pyhoca/wxgui/printingprefs.py:75 msgid "Open with PDF viewer" msgstr "Öppna med PDF-visare" #: ../pyhoca/wxgui/printingprefs.py:76 msgid "Save to a local folder" msgstr "Spara till lokal mapp" #: ../pyhoca/wxgui/printingprefs.py:77 msgid "Print to a local printer" msgstr "Utskrift till lokal skrivare" #: ../pyhoca/wxgui/printingprefs.py:78 msgid "Run custom print command" msgstr "Kör anpassat utskriftskommando" #: ../pyhoca/wxgui/printingprefs.py:81 msgid "" msgstr "" #: ../pyhoca/wxgui/printingprefs.py:115 msgid "Print action" msgstr "Yazdırma eylemi" #: ../pyhoca/wxgui/printingprefs.py:117 msgid "Default action for incoming print jobs" msgstr "Gelen yazdırma işleri için varsayılan eylem" #. widgets for print action PDFVIEW #: ../pyhoca/wxgui/printingprefs.py:121 msgid "PDF viewer command" msgstr "PDF görüntüleyici komutu" #. widgets for print action PDFSAVE #: ../pyhoca/wxgui/printingprefs.py:128 msgid "Save PDFs to folder" msgstr "PDF dosyalarının kaydedileceği klasör" #. widgets for print action PRINT #: ../pyhoca/wxgui/printingprefs.py:135 msgid "Use this printer" msgstr "Bu yazıcıyı kullan" #. widgets for print action PRINTCMD #: ../pyhoca/wxgui/printingprefs.py:139 msgid "Custom print command" msgstr "Özel yazdırma komutu" #: ../pyhoca/wxgui/printingprefs.py:146 msgid "Print" msgstr "Yazdır" #: ../pyhoca/wxgui/printingprefs.py:250 msgid "- no printers installed -" msgstr "- kurulu yazıcı yok -" #: ../pyhoca/wxgui/printingprefs.py:255 msgid "- print system is not available -" msgstr "- yazdırma sistemi kullanılabilir değil -" #: ../pyhoca/wxgui/printingprefs.py:409 msgid "Choose PDF viewer application" msgstr "PDF gösterme uygulamasını seçin" #: ../pyhoca/wxgui/printingprefs.py:432 msgid "Choose PDF saving location" msgstr "PDF kaydetme konumunu seçin" #: ../pyhoca/wxgui/sessiontitle.py:65 #, python-format msgid "Session Title - %s" msgstr "Oturum Başlığı - %s" #: ../pyhoca/wxgui/sessiontitle.py:67 msgid "Change session title to" msgstr "Oturum başlığını değiştir" #: ../pyhoca/wxgui/sessiontitle.py:69 msgid "OK" msgstr "Tamam" #: ../pyhoca/wxgui/serverinfo.py:61 #, python-format msgid "Server Information - %s" msgstr "Sunucu Bilgisi - %s" #: ../pyhoca/wxgui/serverinfo.py:63 #, python-format msgid "" "Session Profile: %s\n" "\n" "List of X2Go Server components, add-ons and their versions..." msgstr "" "Oturum Profili: %s\n" "\n" "X2Go Sunucu bileşenlerinin, eklentilerinin ve onların sürümlerinin listesi..." #: ../pyhoca/wxgui/serverinfo.py:68 msgid "Refresh" msgstr "Tazele" #: ../pyhoca/wxgui/serverinfo.py:69 msgid "Close" msgstr "Kapat" #: ../pyhoca/wxgui/serverinfo.py:138 msgid "X2Go Server" msgstr "X2Go Sunucusu" #: ../pyhoca/wxgui/serverinfo.py:139 msgid "Server Core" msgstr "Sunucu Çekirdeği" #: ../pyhoca/wxgui/serverinfo.py:147 msgid "Server Extensions" msgstr "Sunucu Eklentileri" #: ../pyhoca/wxgui/serverinfo.py:153 msgid "X2Go Server Add-ons" msgstr "X2Go Sunucu Eklentileri" #: ../pyhoca/wxgui/serverinfo.py:157 msgid "X2Go Server Features" msgstr "X2Go Sunucu Özellikleri" pyhoca-gui-0.5.0.4/pyhoca-gui0000755000000000000000000000301212461156543012607 0ustar #!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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(['3.0', '2.9', '2.8']) except: pass PROG_NAME = "PyHoca-GUI" try: from pyhoca.wxgui.mswin_logging import setup_mswinlog setup_mswinlog(PROG_NAME) except ImportError: pass from pyhoca.wxgui import __VERSION__ from pyhoca.wxgui.launcher import PyHocaGUI_Launcher __author__ = "Mike Gabriel, Dick Kniep" __version__ = __VERSION__ if __name__ == '__main__': app = PyHocaGUI_Launcher() app.setup_process() app.setup_progname(PROG_NAME) app.setup_devmode() args, logger, liblogger = app.parseargs() app.main(args=args, logger=logger, liblogger=liblogger) pyhoca-gui-0.5.0.4/pyhoca/__init__.py0000644000000000000000000000157012461156543014217 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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.5.0.4/pyhoca/wxgui/about.py0000644000000000000000000001120112461156543014725 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 # 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=None, 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-GUI_about-logo.png' if about_image is None: about_image = '{appname}_about-logo.png'.format(appname=_PyHocaGUI.appname) if not about_image.lower().endswith('.png'): about_image = '%s.png' % about_image about_image = os.path.expanduser(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): 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' if icon_name is None: icon_name = '{appname}_winicon.png'.format(appname=_PyHocaGUI.appname) icon_name = os.path.expanduser(icon_name) if not icon_name.lower().endswith('.png'): icon_name = '%s.png' % icon_name icon_file = icon_name if not (os.path.isfile(str(icon_file)) or os.path.islink(str(icon_file))): icon_folder = 'PyHoca' if os.path.isdir(os.path.join(basepath.icons_basepath, _PyHocaGUI.appname)): icon_folder = _PyHocaGUI.appname icon_file = '%s/%s/%s/%s' % (basepath.icons_basepath, icon_folder, icon_size, icon_name) 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.5.0.4/pyhoca/wxgui/basepath.py0000644000000000000000000000537412461156543015420 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 def reload_base_paths(): 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-5.0-rev18', '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' global icons_basepath global images_basepath icons_basepath = _icons_location images_basepath = _images_location if _X2GOCLIENT_OS == 'Windows': global nxproxy_binary nxproxy_binary = _nxproxy_location global pulseaudio_binary pulseaudio_binary = _pulseaudio_location global locale_basepath locale_basepath = _locale_location reload_base_paths() pyhoca-gui-0.5.0.4/pyhoca/wxgui/brokerlogon.py0000644000000000000000000002010612461156543016142 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 ={} # Python X2Go import x2go import wx import os import messages if os.environ.has_key('DESKTOP_SESSION'): WINDOW_MANAGER = os.environ['DESKTOP_SESSION'] else: WINDOW_MANAGER = 'generic' class PyHocaGUI_BrokerDialogBoxPassword(wx.Dialog): """\ Broker logon window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, caller=None): """\ Broker logon window (constructor) @param _PyHocaGUI: main application instance @type _PyHocaGUI: C{obj} """ self._PyHocaGUI = _PyHocaGUI self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, ) wx.Dialog.__init__(self, None, id=-1, title=self._PyHocaGUI.broker_name + ' ' + _(u'Logon'), style=wx.DEFAULT_FRAME_STYLE, ) self._PyHocaGUI._sub_windows.append(self) self.brokerLbl = wx.StaticText(self, wx.ID_ANY, _(u'Broker URL')+':', size=(-1, -1)) self.brokerTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER, size=(240, -1)) 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=(240, -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=(240, -1)) self.passwordTxt.SetFocus() if self._PyHocaGUI.session_profiles.get_broker_username(): self.userTxt.SetValue(self._PyHocaGUI.session_profiles.get_broker_username()) else: self.userTxt.SetFocus() if self._PyHocaGUI.session_profiles.get_broker_url(): if self._PyHocaGUI.session_profiles.get_broker_url().upper() in ('HTTP', 'SSH'): self.brokerTxt.SetFocus() if self._PyHocaGUI.session_profiles.get_broker_type() == 'http': self.brokerTxt.SetValue('http://[:]/json/') self.userTxt.SetValue('') elif self._PyHocaGUI.session_profiles.get_broker_type() == 'ssh': self.brokerTxt.SetValue('ssh://[:]/usr/bin/x2gobroker') self.userTxt.SetValue('') else: self.brokerTxt.SetValue(self._PyHocaGUI.session_profiles.get_broker_url()) self.loginBtn = wx.Button(self, wx.ID_OK, _(u'Authenticate'), ) self.loginBtn.SetDefault() self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) _tab_order = [self.userTxt, self.passwordTxt, self.loginBtn, self.cancelBtn, ] self.Bind(wx.EVT_BUTTON, self.OnLogin, self.loginBtn) self.Bind(wx.EVT_TEXT_ENTER, self.OnLogin, self.brokerTxt) 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) mainSizer = wx.BoxSizer(wx.VERTICAL) credSizer = wx.GridBagSizer(hgap=2, vgap=3) credSizer.Add(self.brokerLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.brokerTxt, pos=(0,1), flag=wx.ALL, border=5) credSizer.Add(self.userLbl, pos=(1,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.userTxt, pos=(1,1), flag=wx.ALL, border=5) credSizer.Add(self.passwordLbl, pos=(2,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passwordTxt, pos=(2,1), flag=wx.ALL, border=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) # 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} """ broker_url = self.brokerTxt.GetValue() username = self.userTxt.GetValue() password = self.passwordTxt.GetValue() self._PyHocaGUI.session_profiles.set_broker_url(broker_url) try: if self._PyHocaGUI.session_profiles.broker_simpleauth(username, password): self._PyHocaGUI.notifier.send(_(u"%s - success") % self._PyHocaGUI.broker_name, _(u"Authentication to session broker has been\nsuccessful."), icon='auth_success', timeout=10000) else: self._PyHocaGUI.notifier.send(_(u"%s - failure") % self._PyHocaGUI.broker_name, _(u"Authentication to session broker failed."), icon='auth_failed', timeout=10000) self.Close() self.Destroy() except x2go.x2go_exceptions.X2GoBrokerConnectionException: m = messages.PyHoca_MessageWindow_YesNo(self._PyHocaGUI, title=_(u'%s: Connection refused error') % self._PyHocaGUI.appname, msg=_(u'Connection to %s failed. Retry?') % self._PyHocaGUI.broker_name, icon='connect_error') m.ShowModal() if m.No(): 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. """ self._PyHocaGUI.gevent_sleep_when_idle = 0.25 try: self._PyHocaGUI._sub_windows.remove(self) except ValueError: pass wx.Dialog.Destroy(self) pyhoca-gui-0.5.0.4/pyhoca/wxgui/defaults.py0000644000000000000000000000632412461156543015434 0ustar #!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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. from x2go import X2GOCLIENT_OS from x2go import BACKENDS _profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] _settings_backend_default = BACKENDS['X2GoClientSettings']['default'] _printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] if X2GOCLIENT_OS == 'Windows': from x2go import X2GoClientXConfig _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') default_options = { # common 'debug': False, 'quiet': False, 'libdebug': False, 'libdebug_sftpxfer': False, 'version': False, # session related options 'session_profile': '', 'remember_username': False, 'non_interactive': False, 'auto_connect': False, 'show_profile_metatypes': False, 'single_session_profile': False, 'tray_icon': '', 'tray_icon_connecting': '', 'restricted_trayicon': False, 'add_to_known_hosts': False, 'start_on_connect': False, 'exit_on_disconnect': False, 'resume_newest_on_connect': False, 'resume_oldest_on_connect': False, 'resume_all_on_connect': False, 'disconnect_on_suspend': False, 'disconnect_on_terminate': False, 'display': '', # brokerage 'broker_url': '', 'broker_password': '', 'broker_name': 'X2Go Session Broker', 'broker_cacertfile': '', 'broker_autoconnect': False, # branding 'splash_image': '', 'about_image': '', 'disable_splash': False, 'disable_options': False, 'disable_printingprefs': False, 'disable_profilemanager': False, 'disable_notifications': False, 'logon_window_position': False, 'published_applications_no_submenus': 10, # backends 'backend_controlsession': '', 'backend_terminalsession': '', 'backend_serversessioninfo': '', 'backend_serversessionlist': '', 'backend_proxy': '', 'backend_sessionprofiles': '', 'backend_clientsettings': '', 'backend_clientprinting': '', # file locations 'client_rootdir': '', 'sessions_rootdir': '', 'ssh_rootdir': '', } if X2GOCLIENT_OS == 'Windows': default_options.update( { 'lang': 'en', 'start_xserver': False, 'preferred_xserver': '', 'start_pulseaudio': False, } ) pyhoca-gui-0.5.0.4/pyhoca/wxgui/frontend.py0000644000000000000000000027341112461156543015447 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 import re # Python X2Go import x2go import gevent import wx import types import copy import threading import locale # PyHoca-GUI modules import about import logon import brokerlogon import passphrase import taskbar import profilemanager import printingprefs import notify import basepath import messages import splash import sessiontitle import listdesktops import serverinfo wx.SetDefaultPyEncoding("utf-8") #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 self.gevent_sleep_when_idle = 0.25 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) self.broker_autoconnect = self.args.broker_autoconnect if self.args.broker_url: _x2goclient_kwargs['broker_url'] = self.args.broker_url if not re.match('^(http://|https://|ssh://).*', self.args.broker_url): self.broker_autoconnect = True else: if not re.match('(http|ssh)', self.args.broker_url.lower()): # fall back broker mode... -> HTTP (and trigger querying for the exact URL) _x2goclient_kwargs['broker_url'] = 'HTTP' self.with_brokerage = True else: self.with_brokerage = False if self.args.broker_password: _x2goclient_kwargs['broker_password'] = self.args.broker_password if self.args.broker_name: self.broker_name = self.args.broker_name if self.args.broker_cacertfile is not None: self.broker_cacertfile = os.path.expanduser(self.args.broker_cacertfile) if self.broker_cacertfile and os.path.exists(self.broker_cacertfile): os.environ['REQUESTS_CA_BUNDLE'] = self.broker_cacertfile 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(self, 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(self.gevent_sleep_when_idle) 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='Python-X2Go_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) try: self._X2GoClient__register_session(profile_name=profile_name, auto_connect=self.auto_connect) except x2go.x2go_exceptions.X2GoBrokerConnectionException: self.session_registration_failed(profile_name=profile_name) if self.auto_connect or self.broker_autoconnect: gevent.spawn(self._auto_connect) def _auto_connect(self): """\ Register all available session profiles on application start. If brokerage is used, handle auto connecting to the broker before that, as well. 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) # auto connect to the broker if requested if self.with_brokerage and self.broker_autoconnect: self.OnBrokerAuthenticate(None) if self.auto_connect and 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... try: connected_session.terminate() except x2go.X2GoSessionException: pass 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 or _can_sshproxy_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.PasswordRequiredException: key_filename = None try: if not self._X2GoClient__get_session(session_uuid).control_params['look_for_keys']: key_filename = self._X2GoClient__get_session(session_uuid).control_params['key_filename'] except KeyError: pass self._pyhoca_logger('SSH private key file is encrypted and requires a passphrase', loglevel=x2go.log.loglevel_INFO, ) _passphrase_window = passphrase.PyHocaGUI_DialogBoxPassphrase(self, profile_name, caller=self, key_filename=key_filename) self._logon_windows[profile_name] = _passphrase_window except x2go.X2GoSSHProxyPasswordRequiredException: key_filename = None try: if not self._X2GoClient__get_session(session_uuid).sshproxy_params['sshproxy_look_for_keys']: key_filename = self._X2GoClient__get_session(session_uuid).sshproxy_params['sshproxy_key_filename'] except KeyError: pass self._pyhoca_logger('SSH private key file (for SSH proxy) is encrypted and requires a passphrase', loglevel=x2go.log.loglevel_INFO, ) _passphrase_window = passphrase.PyHocaGUI_DialogBoxPassphrase(self, profile_name, caller=self, sshproxy_auth=True, key_filename=key_filename) self._logon_windows[profile_name] = _passphrase_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('Two-factor authentication requires a password'): self._pyhoca_logger('X2Go Server requests two-factor authentication', loglevel=x2go.loglevel_NOTICE) _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=False, twofactor_auth=True, ) self._logon_windows[profile_name] = _logon_window else: 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) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True self.notifier.send(_(u'%s - SSH error') % profile_name, u'%s!' % errmsg, icon='auth_error', timeout=10000) except x2go.X2GoSSHProxyException, e: if str(e).startswith('Two-factor authentication requires a password'): self._pyhoca_logger('SSH proxy host requests two-factor authentication', loglevel=x2go.loglevel_NOTICE) _logon_window = logon.PyHocaGUI_DialogBoxPassword(self, profile_name, caller=self, sshproxy_auth=True, sshproxy_twofactor_auth=True, ) self._logon_windows[profile_name] = _logon_window else: if str(e).startswith('Host key for server ') and str(e).endswith(' does not match!'): errmsg = _('Host key verification failed. The SSH proxy 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) try: self._temp_disabled_profile_names.remove(profile_name) except ValueError: pass connect_failed = True self.notifier.send(_(u'%s - SSH error') % profile_name, u'%s!' % errmsg, icon='auth_error', timeout=10000) 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.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: try: session_uuid = self._X2GoClient__register_session(profile_name=profile_name) except x2go.x2go_exceptions.X2GoBrokerConnectionException: self.session_registration_failed(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 OnBrokerAuthenticate(self, evt): """\ Gets called if the user requests connecting to a session profile. @param evt: event @type evt: C{obj} """ brokerlogon.PyHocaGUI_BrokerDialogBoxPassword(self, caller=self) def OnBrokerDisconnect(self, evt): """\ Reset (disconnect from) the broker connection. @param evt: event @type evt: C{obj} """ self._hide_notifications_map = {} self._temp_launching_pubapp_profiles = [] self._temp_launching_pubapp_locks = {} self._temp_disabled_profile_names = [] self._temp_disabled_session_names = {} self._remember_shared_folders = {} for profile_name in self._X2GoClient__client_connected_profiles(return_profile_names=True): self._X2GoClient__disconnect_profile(profile_name) self.session_profiles.broker_disconnect() 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, ) 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') 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(.2) 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!\n\nTry 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_on_failing_SFTP_client(self, profile_name='UNKNOWN', **kwargs): """\ Notify about SFTP client 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 - SFTP client error') % profile_name, _(u'New X2Go session will lack SFTP client support.\nCheck your server setup.\n\nAvoid echoing ~/.*shrc files on server!!!\n\nNot starting new session...'), icon='session_error', 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 session_registration_failed(self, profile_name='UNKNOWN', **kwargs): """\ Notify about session registration 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 initialization failed.'), icon='session_error', timeout=10000) if self.exit_on_disconnect: self.WakeUpIdle() self.ExitMainLoop() def HOOK_desktop_sharing_denied(self, profile_name='UNKNOWN', **kwargs): """\ Notify about the denial of desktop sharing by the other user. @param profile_name: profile name of session that called this hook method @type profile_name: C{str} """ self.notifier.send(_(u'%s - desktop sharing failure') % profile_name, _(u'Desktop sharing was denied by the other user or\nboth of you have insufficient privileges to share one another\'s desktop.'), 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, subsystem=None, **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} @param subsystem: information on the subsystem that provoked this hook call @type subsystem: C{str} """ if type(subsystem) in (types.StringType, types.UnicodeType): _subsystem = '(%s) ' % subsystem else: _subsystem = '' 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. Subsystem %sstartup failed.') % (chain_host, chain_port, session_name, _subsystem), 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) def HOOK_broker_ignore_connection_problems(self, profile_name='UNKNOWN', is_profile_connected=False, **kwargs): """\ Query about what to do with broker connection failures. @param profile_name: profile name of a session that triggered this hook method @type profile_name: C{str} @param is_profile_connected: C{True} if the given session profile is already conneced to the server @type is_profile_connected: C{bool} @return: C{true} if session startup shall be attempted anyway, even if session broker is down. @rtype: C{bool} """ if is_profile_connected: m = messages.PyHoca_MessageWindow_OkCancel(self, title=_(u'%s: connection failure') % self.broker_name, msg=_(u"While initializing a session for profile '%s' the connection\nto %s has failed.\n\nIt is possible to attempt session initialization anyway. Do you\nwant to continue?") % (profile_name, self.broker_name), icon='warning', profile_name=profile_name) else: m = messages.PyHoca_MessageWindow_OkCancel(self, title=_(u'%s: connection failure') % self.broker_name, msg=_(u"While connecting to profile '%s' the connection\nto %s has failed.\n\nIt is possible to attempt session initialization anyway. Do you\nwant to continue?") % (profile_name, self.broker_name), icon='warning', profile_name=profile_name) m.ShowModal() return m.Ok() pyhoca-gui-0.5.0.4/pyhoca/wxgui/__init__.py0000644000000000000000000000162012461156543015356 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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.5.0.4' pyhoca-gui-0.5.0.4/pyhoca/wxgui/launcher.py0000644000000000000000000006264312461156543015434 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 shutil import argparse import gettext import subprocess import copy import wx # we need to register a wx.App() instance before we load any # of the X2Go modules. When importing x2go.*, gevent.monkey_patch_all() # is called which seems to break wxPython 3.0... _dummy_app = wx.App(redirect=False, clearSigInt=False) from x2go import X2GOCLIENT_OS from x2go import CURRENT_LOCAL_USER from x2go import BACKENDS from x2go import X2GoLogger from pyhoca.wxgui import __VERSION__ from frontend import PyHocaGUI from messages import PyHoca_MessageWindow_Ok import defaults import basepath class PyHocaGUI_Launcher(object): def __init__(self): self.PROG_NAME = os.path.basename(sys.argv[0]).replace('.exe', '') self.PROG_PID = os.getpid() self.VERSION=__VERSION__ self.VERSION_TEXT=""" %s[%s] - an X2Go GUI client written in Python ---------------------------------------------------------------------- developed by Mike Gabriel sponsored by Dick Kniep (2010-2015) VERSION: %s """ % (self.PROG_NAME, self.PROG_PID, self.VERSION) self.default_options = defaults.default_options def setup_progname(self, pname): self.PROG_NAME = pname def setup_version(self, v): self.VERSION = v def setup_version_text(self, text): self.VERSION_TEXT = text def setup_process(self): PROG_OPTIONS = " ".join(sys.argv[1:]).replace("=", " ").split() try: _broker_password_index = PROG_OPTIONS.index('--broker-password')+1 PROG_OPTIONS[_broker_password_index] = "XXXXXXXX" except ValueError: # ignore if --broker-password option is not specified pass if X2GOCLIENT_OS in ('Linux', 'Mac'): import setproctitle #setproctitle.setproctitle("%s %s" % (self.PROG_NAME, " ".join(PROG_OPTIONS))) setproctitle.setproctitle(self.PROG_NAME) if X2GOCLIENT_OS == 'Windows': from pyhoca.wxgui.basepath import nxproxy_binary os.environ.update({'NXPROXY_BINARY': nxproxy_binary, }) def modify_default_option(self, option, value): if self.default_options.has_key(option): if type(self.default_options[option]) == type(value): self.default_options[option] = value def setup_devmode(self): if sys.argv[0].startswith('./') or sys.argv[0].startswith('python'): sys.path.insert(0, os.getcwd()) os.environ['PYHOCAGUI_DEVELOPMENT'] = '1' print '### {progname} running in development mode ###'.format(progname=self.PROG_NAME) basepath.reload_base_paths() def check_running(self): _executable = os.path.basename(sys.argv[0]) 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(_executable) <= 1: if os.path.isdir(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): shutil.rmtree(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))) my_pid = str(os.getpid()) if not os.path.exists(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): os.makedirs(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))) my_pidfile = os.path.expanduser("~/.x2go/{progname}/display.{pid}".format(progname=_executable, pid=my_pid)) my_display = os.environ['DISPLAY'] open(my_pidfile, 'w').write(my_display) for pidfile in os.listdir(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable))): # this is our own pid file... if my_pidfile.endswith(pidfile): continue display = open(os.path.expanduser("~/.x2go/{progname}/".format(progname=_executable)) + pidfile, 'r').read() if display.split('.')[0] == my_display.split('.')[0]: other_pid = pidfile.split('.')[1] print print('One instance of {progname} (PID: {other_pid}) is already running for this $DISPLAY {display}'.format(progname=_executable, other_pid=other_pid, display=my_display)) return True return False elif X2GOCLIENT_OS == 'Windows': import wmi w = wmi.WMI() _p = {} for process in w.Win32_Process(): if process.Name == _executable: _p[process.ProcessId] = process.SessionId return len([ _p_id for _p_id in _p.keys() if _p[self.PROG_PID] == _p[_p_id] ]) > 1 def version(self): # version information # print version text and exit sys.stderr.write ("%s\n" % self.VERSION_TEXT) self.remove_pidfile() sys.exit(0) # sometimes we have to fail... def runtime_error(self, m, parser=None, exitcode=-1): """\ STILL UNDOCUMENTED """ if parser is not None: parser.print_usage() sys.stderr.write ("%s: error: %s\n" % (self.PROG_NAME, m)) self.remove_pidfile() sys.exit(exitcode) def remove_pidfile(self): if X2GOCLIENT_OS in ('Linux', 'Mac'): my_pid = str(os.getpid()) if os.path.exists(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))): os.remove(os.path.expanduser("~/.x2go/pyhoca-gui/display.{pid}".format(pid=my_pid))) def parseargs(self): _profiles_backend_default = BACKENDS['X2GoSessionProfiles']['default'] _settings_backend_default = BACKENDS['X2GoClientSettings']['default'] _printing_backend_default = BACKENDS['X2GoClientPrinting']['default'] if X2GOCLIENT_OS == 'Windows': from x2go import X2GoClientXConfig _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') _default_options = copy.deepcopy(self.default_options) for key in _default_options.keys(): if not _default_options[key]: _default_options[key] = None # debug options... debug_options = [ {'args':['-d','--debug'], 'default': _default_options['debug'], 'action': 'store_true', 'help': 'enable application debugging code', }, {'args':['--quiet'], 'default': _default_options['quiet'], 'action': 'store_true', 'help': 'disable any kind of log output', }, {'args':['--libdebug'], 'default': _default_options['libdebug'], 'action': 'store_true', 'help': 'enable debugging code of the underlying Python X2Go module', }, {'args':['--libdebug-sftpxfer'], 'default': _default_options['libdebug_sftpxfer'], 'action': 'store_true', 'help': 'enable debugging code of Python X2Go\'s sFTP server code (very verbose, and even promiscuous)', }, {'args':['-V', '--version'], 'default': _default_options['version'], 'action': 'store_true', 'help': 'print version number and exit', }, ] x2go_gui_options = [ {'args':['-P','--session-profile'], 'default': _default_options['session_profile'], 'metavar': '', 'help': 'directly connect to a session profile', }, {'args':['--remember-username'], 'default': _default_options['remember_username'], 'action': 'store_true', 'help': 'for profiles with interactive authentication, remember the last-used username', }, {'args':['--non-interactive'], 'default': _default_options['non_interactive'], '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': _default_options['auto_connect'], 'action': 'store_true', 'help': 'connect sessions via SSH pubkey authentication if possible', }, {'args':['--show-profile-metatypes'], 'default': _default_options['show_profile_metatypes'], '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': _default_options['single_session_profile'], 'action': 'store_true', 'help': 'disable support of handling multiple session profiles', }, {'args':['--tray-icon'], 'default': _default_options['tray_icon'], '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': _default_options['tray_icon_connecting'], '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': _default_options['restricted_trayicon'], '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': _default_options['add_to_known_hosts'], 'action': 'store_true', 'help': 'automatically add SSH host keys to the known_hosts files of the client-side user', }, {'args':['--start-on-connect'], 'default': _default_options['start_on_connect'], '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': _default_options['exit_on_disconnect'], 'action': 'store_true', 'help': 'exit the session manager after a server connection has died', }, {'args':['--resume-newest-on-connect', '--resume-on-connect'], 'default': _default_options['resume_newest_on_connect'], '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': _default_options['resume_oldest_on_connect'], 'action': 'store_true', 'help': 'on connect auto-resume the oldest suspended session', }, {'args':['--resume-all-on-connect'], 'default': _default_options['resume_all_on_connect'], 'action': 'store_true', 'help': 'auto-resume all suspended sessions on connect', }, {'args':['--disconnect-on-suspend'], 'default': _default_options['disconnect_on_suspend'], 'action': 'store_true', 'help': 'disconnect a server if a session has been suspended', }, {'args':['--disconnect-on-terminate'], 'default': _default_options['disconnect_on_terminate'], 'action': 'store_true', 'help': 'disconnect a server if a session has been terminated', }, {'args':['--splash-image'], 'default': _default_options['splash_image'], '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': _default_options['about_image'], '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': _default_options['disable_splash'], 'action': 'store_true', 'help': 'disable the applications splash screen', }, {'args':['--disable-options'], 'default': _default_options['disable_options'], 'action': 'store_true', 'help': 'disable the client options configuration window', }, {'args':['--disable-printingprefs'], 'default': _default_options['disable_printingprefs'], 'action': 'store_true', 'help': 'disable the client\'s printing preferences window', }, {'args':['--disable-profilemanager'], 'default': _default_options['disable_profilemanager'], 'action': 'store_true', 'help': 'disable the session profile manager window', }, {'args':['--disable-notifications'], 'default': _default_options['disable_notifications'], 'action': 'store_true', 'help': 'disable all applet notifications', }, {'args':['--display'], 'default': _default_options['display'], 'metavar': ':', 'help': 'set the DISPLAY environment variable to :', }, {'args':['--logon-window-position'], 'default': _default_options['logon_window_position'], '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': _default_options['published_applications_no_submenus'], 'metavar': '', 'help': 'the number of published applications that will be rendered without submenus', }, ] broker_options = [ {'args':['-B','--broker-url'], 'default': _default_options['broker_url'], 'help': 'retrieve session profiles via an X2Go Session Broker under the given URL', }, {'args':['--broker-password'], 'default': _default_options['broker_password'], 'help': 'password for authenticating against the X2Go Session Broker', }, {'args':['--broker-name'], 'default': _default_options['broker_name'], 'help': 'tweak the wording of \'X2Go Session Broker\'', }, {'args':['--broker-cacertfile'], 'default': _default_options['broker_cacertfile'], 'help': 'for https:// brokers with SSL certificates that have been signed against a self-signed root-CA, use this command line option to point to the self-signed root-CA certificate file', }, {'args':['--broker-autoconnect'], 'default': _default_options['broker_autoconnect'], 'action': 'store_true', 'help': 'trigger broker authentication directly after application startup', }, ] if X2GOCLIENT_OS == 'Windows': x2go_gui_options.append( {'args':['--lang'], 'default': _default_options['lang'], 'metavar': 'LANGUAGE', 'help': 'set the GUI language (currently available: en, de, nl, es)', }, ) backend_options = [ {'args':['--backend-controlsession'], 'default': _default_options['backend_controlsession'], 'metavar': '', 'choices': BACKENDS['X2GoControlSession'].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': _default_options['backend_terminalsession'], 'metavar': '', 'choices': BACKENDS['X2GoTerminalSession'].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': _default_options['backend_serversessioninfo'], 'metavar': '', 'choices': BACKENDS['X2GoServerSessionInfo'].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': _default_options['backend_serversessionlist'], 'metavar': '', 'choices': BACKENDS['X2GoServerSessionList'].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': _default_options['backend_proxy'], 'metavar': '', 'choices': BACKENDS['X2GoProxy'].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': _default_options['backend_sessionprofiles'], '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': _default_options['backend_clientsettings'], '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': _default_options['backend_clientprinting'], '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': _default_options['start_xserver'], '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': _default_options['preferred_xserver'], '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': _default_options['start_pulseaudio'], 'action': 'store_true', 'help': 'start the PulseAudio server before starting the session manager application', }, ] portable_options = [ {'args':['--client-rootdir'], 'default': _default_options['client_rootdir'], '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': _default_options['sessions_rootdir'], 'metavar': '', 'help': 'define an alternative location for session runtime files'}, {'args':['--ssh-rootdir'], 'default': _default_options['ssh_rootdir'], 'metavar': '', 'help': 'define an alternative location for SSH files', }, ] 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('{progname} options'.format(progname=self.PROG_NAME)) p_brokeropts = p.add_argument_group('Brokerage options') 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_brokeropts, broker_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_brokeropts, broker_options), (p_debugopts, debug_options), (p_portableopts, portable_options), (p_backendopts, backend_options), ) for (p_group, opts) in _option_groups: for opt in opts: args = opt['args'] del opt['args'] p_group.add_argument(*args, **opt) a = p.parse_args() logger = X2GoLogger(tag=self.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: self.version() if a.single_session_profile and a.session_profile is None: self.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: self.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: self.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: self.runtime_error('You can tell %s to handle XServer startup and then specify a DISPLAY environment variable!'.format(progname=self.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.client_rootdir = os.path.expanduser(a.client_rootdir) if a.sessions_rootdir: a.sessions_rootdir = os.path.expanduser(a.sessions_rootdir) if a.ssh_rootdir: a.ssh_rootdir = os.path.expanduser(a.ssh_rootdir) if a.client_rootdir: a.backend_sessionprofiles='FILE' a.backend_clientsettings='FILE' a.backend_clientprinting='FILE' return a, logger, liblogger def main(self, args, logger=None, liblogger=None): if X2GOCLIENT_OS == 'Windows': if args.lang: lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=[args.lang], ) else: lang = gettext.translation('PyHoca-GUI', localedir=basepath.locale_basepath, languages=['en'], ) lang.install(unicode=True) else: gettext.install('PyHoca-GUI', localedir=basepath.locale_basepath, unicode=True) if self.check_running(): sys.stderr.write("\n###############################\n### %s: already running for user %s\n###############################\n" % (self.PROG_NAME, CURRENT_LOCAL_USER)) _dummy_app.appname = self.PROG_NAME m = PyHoca_MessageWindow_Ok(_dummy_app, shortmsg='ALREADY_RUNNING', title=u'%s (%s)...' % (self.PROG_NAME, self.VERSION), icon='{progname}_trayicon'.format(progname=self.PROG_NAME)) m.ShowModal() self.version() thisPyHocaGUI = None try: thisPyHocaGUI = PyHocaGUI(args, logger, liblogger, appname=self.PROG_NAME, version=self.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() self.remove_pidfile() pyhoca-gui-0.5.0.4/pyhoca/wxgui/listdesktops.py0000644000000000000000000002216212461156543016353 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 ={} # Python X2Go import x2go 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_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_LIST_ITEM_ACTIVATED, self.OnListDoubleClick, 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 OnListDoubleClick(self, evt): """\ On double click select item and auto-click Ok button. @param evt: event @type evt: C{obj} """ self.OnListClick(evt) self.OnOk(evt) 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.5.0.4/pyhoca/wxgui/logon.py0000644000000000000000000006103412461156543014742 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 ={} # Python X2Go import x2go # gevent import gevent import wx import os # PyHoca-GUI modules import passphrase 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, passphrase=None, sshproxy_passphrase=None, sshproxy_auth=False, twofactor_auth=False, sshproxy_twofactor_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} @param twofactor_auth: use two-factor authentication for X2Go Server @type twofactor_auth: C{bool} @param sshproxy_twofactor_auth: use two-factor authentication for SSH proxy @type sshproxy_twofactor_auth: C{bool} """ self._PyHocaGUI = _PyHocaGUI self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('password dialog box started', loglevel=x2go.loglevel_INFO, ) self.sshproxy_auth = sshproxy_auth self.twofactor_auth = twofactor_auth self.sshproxy_twofactor_auth = sshproxy_twofactor_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.passphrase = passphrase self.sshproxy_passphrase = sshproxy_passphrase 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']) if not self.current_profile_config['user'] and not self.sshproxy_auth: self.userTxt.SetFocus() 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, passphrase=self.passphrase, force_password_auth=(force_password_auth and not self.twofactor_auth), add_to_known_hosts=self._PyHocaGUI.add_to_known_hosts, sshproxy_user=sshproxy_user, sshproxy_password=sshproxy_password, sshproxy_passphrase=self.sshproxy_passphrase, sshproxy_force_password_auth=(sshproxy_force_password_auth and not self.sshproxy_twofactor_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.X2GoSSHProxyPasswordRequiredException: key_filename = None try: if not self._PyHocaGUI._X2GoClient__get_session(session_uuid).sshproxy_params['sshproxy_look_for_keys']: key_filename = self._PyHocaGUI._X2GoClient__get_session(session_uuid).sshproxy_params['sshproxy_key_filename'] except KeyError: pass self._pyhoca_logger('SSH private key file (for SSH proxy) is encrypted and requires a passphrase', loglevel=x2go.log.loglevel_INFO, ) _passphrase_window = passphrase.PyHocaGUI_DialogBoxPassphrase(self._PyHocaGUI, self.current_profile_name, caller=self, password=password, sshproxy_auth=True, key_filename=key_filename) self._PyHocaGUI._logon_windows[self.current_profile_name] = _passphrase_window 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('Two-factor authentication requires a password'): 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 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. """ self._PyHocaGUI.gevent_sleep_when_idle = 0.25 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.5.0.4/pyhoca/wxgui/menus_taskbar.py0000644000000000000000000016521412461156543016467 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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.path import wx import StringIO import base64 import x2go.defaults import x2go.x2go_exceptions import 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 if self._PyHocaGUI.session_profiles.is_mutable(profile_name): self.Append(text=_(u"Edit Profile"), id=ID_EDITPROFILE) else: self.Append(text=_(u"View Profile"), id=ID_EDITPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileEdit, id=ID_EDITPROFILE) if not self._PyHocaGUI.args.single_session_profile: self.AppendSeparator() if self._PyHocaGUI.session_profiles.is_mutable(profile_name): self.Append(text=_(u"Use as Template for New Profile"), id=ID_COPYPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileCopy, id=ID_COPYPROFILE) self.AppendSeparator() self.Append(text=_(u"Export Profile"), id=ID_EXPORTPROFILE) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnProfileExport, id=ID_EXPORTPROFILE) if self._PyHocaGUI.session_profiles.is_mutable(profile_name): self.Append(text=_(u"Delete Profile"), id=ID_DELETEPROFILE) 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) self.AppendSeparator() elif self._PyHocaGUI.session_profiles.has_profile_name(self._PyHocaGUI.args.session_profile): 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() if self._PyHocaGUI.with_brokerage and self._PyHocaGUI.session_profiles.is_broker_authenticated(): ID_BROKER_DISCONNECT = wx.NewId() self.Append(id=ID_BROKER_DISCONNECT, text=_(u"Disconnect from session broker")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerDisconnect, id=ID_BROKER_DISCONNECT) 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) if not self._PyHocaGUI.restricted_trayicon: 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 ] self._PyHocaGUI._eventid_unshared_folders_map = {} 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) self._PyHocaGUI._eventid_shared_folders_map = {} 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) _available_applications = { 'WWWBROWSER': _(u'Internet Browser'), 'MAILCLIENT': _(u'Email Client'), 'OFFICE': _(u'Office'), 'TERMINAL': _(u'Terminal'), } for application in self._PyHocaGUI.get_profile_config(profile_name, '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" _icons_location = basepath.icons_basepath _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] = {} nolog = wx.LogNull() _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']) _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) del nolog 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_AUTHENTICATE_BROKER=wx.NewId() 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.with_brokerage and not self._PyHocaGUI.session_profiles.is_broker_authenticated(): _auth_menu_text = _(u'Connect to') + self._PyHocaGUI.broker_name self.Append(id=ID_AUTHENTICATE_BROKER, text=_auth_menu_text) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerAuthenticate, id=ID_AUTHENTICATE_BROKER) elif 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: _applications = self._PyHocaGUI.get_profile_config(profile_name, 'applications') _command = self._PyHocaGUI.get_profile_config(profile_name, 'command') _published = self._PyHocaGUI.get_profile_config(profile_name, 'published') _useexports = self._PyHocaGUI.get_profile_config(profile_name, 'useexports') 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 _command in x2go.defaults.X2GO_DESKTOPSESSIONS: self.Append(id=ID_SESSIONSTART, text='%s (%s)' % (_(u"Start &new Desktop Session"), _command)) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnSessionStart, id=ID_SESSIONSTART) elif _command == 'SHADOW': self.Append(id=ID_SHADOWSESSIONSTART, text=_(u"Start Desktop Sharing Session")) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnShadowSessionStart, id=ID_SHADOWSESSIONSTART) elif _command == '' and _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 _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 _command == '' and _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 _applications and _command in x2go.defaults.X2GO_DESKTOPSESSIONS.keys() and not _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 _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 _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 _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() if self._PyHocaGUI.session_profiles.is_mutable(profile_name): self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"Customize &profile")) else: self.Append(id=ID_EDITPROFILEWHILECONNECTED, text=_(u"View &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 _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 and self._PyHocaGUI.session_profiles.supports_mutable_profiles(): 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: if self._PyHocaGUI.with_brokerage: _dummy = self.Append(text=_(u'Session broker is not connected'), id=wx.NewId()) else: _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 and self._PyHocaGUI.session_profiles.supports_mutable_profiles(): _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_SESSION = wx.NewId() ID_AUTHENTICATE_BROKER = wx.NewId() ID_EXIT = wx.NewId() if self._PyHocaGUI.with_brokerage and not self._PyHocaGUI.session_profiles.is_broker_authenticated(): _auth_menu_text = _(u'Connect to') + ' ' + self._PyHocaGUI.broker_name self.Append(id=ID_AUTHENTICATE_BROKER, text=_auth_menu_text) self._PyHocaGUI.Bind(wx.EVT_MENU, self._PyHocaGUI.OnBrokerAuthenticate, id=ID_AUTHENTICATE_BROKER) self.AppendSeparator() else: _auth_menu_text = _(u'Connect Server') self.AppendMenu(id=ID_AUTHENTICATE_SESSION, 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.5.0.4/pyhoca/wxgui/messages.py0000644000000000000000000003232612461156543015435 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 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 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'{appname} is already running for user ,,{username}\'\'!\n\nOnly one instance of {appname} can be started per\nuser. The {appname} icon can be found in your desktop\'s\nnotification area/systray.').format(appname=self._PyHocaGUI.appname, username=_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) _icons_location = basepath.icons_basepath icon_folder = 'PyHoca' if os.path.isdir(os.path.join(_icons_location, _PyHocaGUI.appname)): icon_folder = _PyHocaGUI.appname if icon: path_to_icon = os.path.normpath('%s/%s/64x64/%s.png' % (_icons_location, icon_folder, 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, border=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.5.0.4/pyhoca/wxgui/mswin_logging.py0000644000000000000000000000473112461156543016470 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 sys import os def setup_mswinlog(PROG_NAME): if hasattr(sys, 'frozen') and str(sys.frozen) in ("windows_exe", "console_exe", "1", ): class MSWin_Logging(object): softspace = 0 _fname = os.path.normpath(os.path.join(os.environ['AppData'], PROG_NAME, '%s.%s.log' % (PROG_NAME, os.getpid()))) _file = None def __init__(self, filemode='a'): try: os.mkdir(os.path.dirname(self._fname)) except: pass self._filemode = filemode if self._filemode == "w+": for _file in os.listdir(os.path.dirname(self._fname)): try: os.remove(os.path.join(os.path.dirname(self._fname), _file)) except WindowsError: pass 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 = MSWin_Logging(filemode='w+') sys.stderr = MSWin_Logging(filemode='a') del MSWin_Logging pyhoca-gui-0.5.0.4/pyhoca/wxgui/notify.py0000644000000000000000000003677612461156543015153 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 import x2go.utils as utils 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 _icons_location = basepath.icons_basepath if icon: icon = 'file://%s/PyHoca/32x32/%s.png' % (_icons_location, icon) if title and text: self._pyhoca_logger('[%s] %s' % (title.encode(utils.get_encoding()), text.encode(utils.get_encoding())), loglevel=log.loglevel_NOTICE) try: if not self._PyHocaGUI.disable_notifications and title and text: n = pynotify.Notification(title, text, icon) n.set_urgency(pynotify.URGENCY_NORMAL) n.set_timeout(timeout) n.show() except: pass 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 and title and text: # you will need wxPython >= 2.9 for this self._PyHocaGUI.taskbar.ShowBalloon( title, text, timeout*1000, icon, ) except: pass if title and text: # 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 and title and text: # 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 if title and text: # 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.5.0.4/pyhoca/wxgui/passphrase.py0000644000000000000000000004372212461156543016001 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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 ={} # Python X2Go import x2go # gevent import gevent import gevent.monkey gevent.monkey.patch_all() import wx import os import base64 # PyHoca-GUI modules import logon if os.environ.has_key('DESKTOP_SESSION'): WINDOW_MANAGER = os.environ['DESKTOP_SESSION'] else: WINDOW_MANAGER = 'generic' class PyHocaGUI_DialogBoxPassphrase(wx.Dialog): """\ SSH key passphrase window for L{PyHocaGUI}. """ def __init__(self, _PyHocaGUI, profile_name, caller=None, password=None, sshproxy_auth=False, sshproxy_passphrase=None, key_filename=None): """\ Passphrase 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} """ self._PyHocaGUI = _PyHocaGUI self._PyHocaGUI.gevent_sleep_when_idle = 0.1 self._pyhoca_logger = self._PyHocaGUI._pyhoca_logger self._pyhoca_logger('SSH key passphrase dialog box started', loglevel=x2go.loglevel_INFO, ) self.current_profile_name = profile_name self.current_profile_config = self._PyHocaGUI.session_profiles.get_profile_config(profile_name) if sshproxy_auth: wx.Dialog.__init__(self, None, id=-1, title=_(u'%s (SSH proxy)') % profile_name, style=wx.DEFAULT_FRAME_STYLE, ) else: wx.Dialog.__init__(self, None, id=-1, title=_(u'%s (X2Go Server)') % profile_name, style=wx.DEFAULT_FRAME_STYLE, ) self._PyHocaGUI._sub_windows.append(self) self.password = password self.key_filename = key_filename self.sshproxy_auth = sshproxy_auth self.sshproxy_passphrase = sshproxy_passphrase if self.key_filename: keyfilenameLbl = wx.StaticText(self, wx.ID_ANY, _(u'Unlock SSH private key (%s)...') % key_filename) else: keyfilenameLbl = wx.StaticText(self, wx.ID_ANY, _(u'Unlock auto-discovered SSH private key...')) self.passphraseLbl = wx.StaticText(self, wx.ID_ANY, _(u'Passphrase')+':', size=(-1, -1)) self.passphraseTxt = wx.TextCtrl(self, wx.ID_ANY, '', style=wx.TE_PROCESS_ENTER|wx.TE_PASSWORD, size=(120, -1)) self.passphraseTxt.SetFocus() self.unlockBtn = wx.Button(self, wx.ID_OK, _(u'Unlock SSH key'), ) self.unlockBtn.SetDefault() _tab_order = [] self.cancelBtn = wx.Button(self, wx.ID_CANCEL, _(u'Cancel'), ) _tab_order.extend([self.passphraseTxt, self.unlockBtn, self.cancelBtn, ]) self.Bind(wx.EVT_BUTTON, self.OnPassphrase, self.unlockBtn) self.Bind(wx.EVT_TEXT_ENTER, self.OnPassphrase, self.passphraseTxt) self.Bind(wx.EVT_BUTTON, self.OnCancel, self.cancelBtn) btnSizer = wx.BoxSizer(wx.HORIZONTAL) credSizer = wx.GridBagSizer(hgap=1, vgap=1) mainSizer = wx.BoxSizer(wx.VERTICAL) credSizer.Add(self.passphraseLbl, pos=(0,0), flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL, border=5) credSizer.Add(self.passphraseTxt, pos=(0,1), flag=wx.ALL, border=5) btnSizer.Add(self.unlockBtn, 0, wx.ALL, 5) btnSizer.Add(self.cancelBtn, 0, wx.ALL, 5) mainSizer.Add(keyfilenameLbl, 0, wx.ALL|wx.ALIGN_LEFT, 5) mainSizer.Add(credSizer, 0, wx.ALL|wx.ALIGN_CENTER, 5) mainSizer.Add(btnSizer, 0, wx.ALL|wx.ALIGN_RIGHT, 5) # 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 OnPassphrase(self, evt): """\ If the user clicks ,,Ok'' in the passphrase window. @param evt: event @type evt: C{obj} """ password = None passphrase = None force_password_auth = False sshproxy_force_password_auth = False if self.sshproxy_auth and self.password: password = self.password sshproxy_passphrase = self.passphraseTxt.GetValue() force_password_auth = True elif self.sshproxy_auth: passphrase = sshproxy_passphrase = self.passphraseTxt.GetValue() else: passphrase = self.passphraseTxt.GetValue() try: sshproxy_passphrase = base64.b64decode(self.sshproxy_passphrase) except TypeError: sshproxy_passphrase = None try: b64_passphrase = base64.b64encode(passphrase) except TypeError: b64_passphrase = None connect_failed = False 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, password=password, passphrase=passphrase, sshproxy_passphrase=sshproxy_passphrase, force_password_auth=force_password_auth, sshproxy_force_password_auth=sshproxy_force_password_auth, add_to_known_hosts=self._PyHocaGUI.add_to_known_hosts, ) 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') except x2go.PasswordRequiredException: if self.sshproxy_auth: key_filename = '' try: if not self._PyHocaGUI._X2GoClient__get_session(session_uuid).control_params['look_for_keys']: key_filename = self._PyHocaGUI._X2GoClient__get_session(session_uuid).control_params['key_filename'] except KeyError: pass self._pyhoca_logger('SSH private key file is encrypted and requires a passphrase', loglevel=x2go.log.loglevel_INFO, ) _passphrase_window = PyHocaGUI_DialogBoxPassphrase(self._PyHocaGUI, self.current_profile_name, caller=self, sshproxy_passphrase=b64_passphrase, key_filename=key_filename) self._PyHocaGUI._logon_windows[self.current_profile_name] = _passphrase_window else: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'SSH key file (for X2Go server) could not be unlocked!'), icon='auth_failed') connect_failed = True except x2go.X2GoSSHProxyPasswordRequiredException: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'SSH key file (for SSH proxy) could not be unlocked!'), icon='auth_failed') connect_failed = True except x2go.AuthenticationException: 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: self._PyHocaGUI.notifier.prepare('AUTH_%s' % self.current_profile_name, title=_(u'%s - connect failure') % self.current_profile_name, text=_(u'Authentication to the SSH proxy server failed!'), icon='auth_failed') 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: if str(e).startswith('Two-factor authentication requires a password'): self._pyhoca_logger('SSH proxy host requests two-factor authentication', loglevel=x2go.loglevel_NOTICE) _logon_window = logon.PyHocaGUI_DialogBoxPassword(self._PyHocaGUI, self.current_profile_name, caller=self, passphrase=passphrase, sshproxy_passphrase=sshproxy_passphrase, sshproxy_auth=True, sshproxy_twofactor_auth=True, ) self._PyHocaGUI._logon_windows[self.current_profile_name] = _logon_window else: 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 - key error') % self.current_profile_name, text='%s!' % errmsg, 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('Two-factor authentication requires a password'): self._pyhoca_logger('X2Go Server requests two-factor authentication', loglevel=x2go.loglevel_NOTICE) _logon_window = logon.PyHocaGUI_DialogBoxPassword(self._PyHocaGUI, self.current_profile_name, caller=self, passphrase=passphrase, sshproxy_passphrase=sshproxy_passphrase, sshproxy_auth=False, twofactor_auth=True, ) self._PyHocaGUI._logon_windows[self.current_profile_name] = _logon_window else: 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. """ self._PyHocaGUI.gevent_sleep_when_idle = 0.25 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.5.0.4/pyhoca/wxgui/printingprefs.py0000644000000000000000000004757512461156543016534 0ustar # -*- coding: utf-8 -*- # Copyright (C) 2010-2015 by Mike Gabriel # Copyright (C) 2010-2015 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'