From 84a66c528548781a74dc7bfa5ca6950808ae4189 Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Sat, 2 Jan 2016 00:43:07 +0000 Subject: [PATCH] Split settings into tabbed notebook. Fixes #53. --- L10n/de.strings | 41 +++-- L10n/en.template | 9 +- L10n/es.strings | 11 +- L10n/fr.strings | 402 ++++++++++++++++++++++--------------------- L10n/it.strings | 9 +- L10n/lv.strings | 9 +- L10n/nl.strings | 9 +- L10n/pl.strings | 400 +++++++++++++++++++++--------------------- L10n/ru.strings | 9 +- L10n/sl.strings | 400 +++++++++++++++++++++--------------------- L10n/uk.strings | 11 +- myNotebook.py | 48 ++++++ prefs.py | 203 +++++++++++++--------- ttkHyperlinkLabel.py | 11 +- 14 files changed, 855 insertions(+), 717 deletions(-) diff --git a/L10n/de.strings b/L10n/de.strings index b5b479b0..e0dbf9e8 100644 --- a/L10n/de.strings +++ b/L10n/de.strings @@ -8,7 +8,7 @@ "Admiral" = "Admiral"; /* Explorer rank. [stats.py] */ -"Aimless" = "Total Planlos"; +"Aimless" = "Total planlos"; /* CQC rank. [stats.py] */ "Amateur" = "Anfänger"; @@ -53,7 +53,7 @@ "Cmdr name" = "Nickname"; /* Ranking. [stats.py] */ -"Combat" = "Kampf"; +"Combat" = "Kampfrang"; /* Combat rank. [stats.py] */ "Competent" = "Kompetent"; @@ -68,7 +68,7 @@ "Count" = "Anzahl"; /* Ranking. [stats.py] */ -"CQC" = "CQC"; +"CQC" = "CQC-Rang"; /* Section heading in settings. [prefs.py] */ "Credentials" = "Anmeldedaten"; @@ -95,7 +95,7 @@ "Elite" = "Elite"; /* Section heading in settings. [prefs.py] */ -"Elite Dangerous Star Map credentials" = "Elite: Dangerous Star Map Logindaten"; +"Elite Dangerous Star Map credentials" = "Elite: Dangerous Star Map Anmeldedaten"; /* Ranking. [stats.py] */ "Empire" = "Imperium"; @@ -134,7 +134,7 @@ "Expert" = "Experte"; /* Ranking. [stats.py] */ -"Explorer" = "Erkunder"; +"Explorer" = "Erkunderrang"; /* Ranking. [stats.py] */ "Federation" = "Föderation"; @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Held"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Hotkey"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Welcher Name soll in den Dateien hinterlegt werden?"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identität"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Tastaturkurzbefehl"; /* Empire rank. [stats.py] */ @@ -179,7 +182,7 @@ "Knight" = "Ritter"; /* [EDMarketConnector.py] */ -"Last updated at {HH}:{MM}:{SS}" = "Zuletzt aktualisiert vor {HH}:{MM}:{SS}"; +"Last updated at {HH}:{MM}:{SS}" = "Zuletzt aktualisiert um {HH}:{MM}:{SS}"; /* Federation rank. [stats.py] */ "Lieutenant" = "Kapitänleutnant"; @@ -230,7 +233,7 @@ "Mostly Penniless" = "Sehr Arm"; /* No hotkey/shortcut currently defined. [prefs.py] */ -"None" = "—"; +"None" = "Keine Zuweisung"; /* Combat rank. [stats.py] */ "Novice" = "Neuling"; @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Öffne Systemeinstellungen"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Ausgabe"; /* Empire rank. [stats.py] */ @@ -278,7 +281,7 @@ "Please enter the code into the box below." = "Bitte gib den Code unten ein"; /* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Please log in with your Elite: Dangerous account details" = "Bitte melde dich mit deinem Elite: Dangerous-Spielkontodaten an"; +"Please log in with your Elite: Dangerous account details" = "Bitte melde dich mit deinem Elite: Dangerous Konto an"; /* Federation rank. [stats.py] */ "Post Captain" = "Kapitän"; @@ -308,19 +311,19 @@ "Ranger" = "Aufseher"; /* Power rank. [stats.py] */ -"Rating 1" = "1. Wertung"; +"Rating 1" = "Wertung 1"; /* Power rank. [stats.py] */ -"Rating 2" = "2. Wertung"; +"Rating 2" = "Wertung 2"; /* Power rank. [stats.py] */ -"Rating 3" = "3. Wertung"; +"Rating 3" = "Wertung 3"; /* Power rank. [stats.py] */ -"Rating 4" = "4. Wertung"; +"Rating 4" = "Wertung 4"; /* Power rank. [stats.py] */ -"Rating 5" = "5. Wertung"; +"Rating 5" = "Wertung 5"; /* Status bar message on launch. [EDMarketConnector.py] */ "Re-start Elite: Dangerous for automatic log entries" = "Starte Elite: Dangerous für automatische Logbucheinträge neu"; @@ -353,7 +356,7 @@ "Sending data to EDDN..." = "Daten werden an das EDDN gesendet..."; /* [EDMarketConnector.py] */ -"Sending data to EDSM..." = "Schicke Daten an EDSM..."; +"Sending data to EDSM..." = "Schicke Daten zur EDSM..."; /* Empire rank. [stats.py] */ "Serf" = "Leibeigener"; @@ -395,7 +398,7 @@ "System" = "System"; /* Ranking. [stats.py] */ -"Trade" = "Handeln"; +"Trade" = "Handelsrang"; /* Explorer rank. [stats.py] */ "Trailblazer" = "Wegebner"; @@ -404,7 +407,7 @@ "Tycoon" = "Magnat"; /* Update button in main window. [EDMarketConnector.py] */ -"Update" = "Update"; +"Update" = "Aktualisieren"; /* Use same text as E:D Launcher's login dialog. [prefs.py] */ "Username (Email)" = "Benutzername (E-Mail)"; diff --git a/L10n/en.template b/L10n/en.template index c6bb3a68..bfc8c3c5 100644 --- a/L10n/en.template +++ b/L10n/en.template @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Hero"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Hotkey"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "How do you want to be identified in the saved data"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identity"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Keyboard shortcut"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Open System Preferences"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Output"; /* Empire rank. [stats.py] */ diff --git a/L10n/es.strings b/L10n/es.strings index 6e3b3ae0..5ae83d2a 100644 --- a/L10n/es.strings +++ b/L10n/es.strings @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Héroe"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Tecla de acceso directo"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Cómo te gustaría ser identificado en los datos guardados"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identidad"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Tecla de acceso directo"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Abrir Preferencias del Sistema"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Salida"; /* Empire rank. [stats.py] */ @@ -287,7 +290,7 @@ "Post Commander" = "Capitán de fragata"; /* Ranking. [stats.py] */ -"Powerplay" = "Potencias Galácticas"; +"Powerplay" = "Powerplay"; /* [prefs.py] */ "Preferences" = "Preferencias"; diff --git a/L10n/fr.strings b/L10n/fr.strings index cdd32da7..42f3acc8 100644 --- a/L10n/fr.strings +++ b/L10n/fr.strings @@ -4,204 +4,6 @@ /* App menu entry on OSX. [EDMarketConnector.py] */ "About {APP}" = "À propos de {APP}"; -/* Folder selection button on Windows. [prefs.py] */ -"Browse..." = "Parcourir..."; - -/* Folder selection button on OSX. [prefs.py] */ -"Change..." = "Spécifier..."; - -/* [EDMarketConnector.py] */ -"Check for Updates..." = "Chercher une mise à jour..."; - -/* EDSM & privacy setting. [prefs.py] */ -"Cmdr name" = "Nom de Cmd"; - -/* Main window. [EDMarketConnector.py] */ -"Cmdr" = "Cmd"; - -/* Update button in main window. [EDMarketConnector.py] */ -"cooldown {SS}s" = "Temps de recharge {SS}s"; - -/* Section heading in settings. [prefs.py] */ -"Credentials" = "Informations d'identification"; - -/* [EDMarketConnector.py] */ -"Error: Can't connect to EDDN" = "Erreur: Connexion impossible à EDDN"; - -/* [EDMarketConnector.py] */ -"Error: Connection to EDDN timed out" = "Erreur: Connexion à EDDN expirée"; - -/* [companion.py] */ -"Error: Invalid Credentials" = "Erreur: Identifiants invalides"; - -/* [companion.py] */ -"Error: Server is down" = "Erreur: Le serveur est indisponible"; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Exit" = "Quitter"; - -/* [EDMarketConnector.py] */ -"Fetching data..." = "Récupération des données..."; - -/* Menu title on Windows. [EDMarketConnector.py] */ -"File" = "Fichier"; - -/* Section heading in settings. [prefs.py] */ -"File location" = "Emplacement des fichiers"; - -/* [prefs.py] */ -"Flight log in CSV format file" = "Journal de vol au format CSV"; - -/* [prefs.py] */ -"How do you want to be identified in the saved data" = "Comment voulez-vous être identifié dans les données sauvegardées ?"; - -/* [EDMarketConnector.py] */ -"Last updated at {HH}:{MM}:{SS}" = "Dernière mise à jour à {HH}:{MM}:{SS}"; - -/* [EDMarketConnector.py] */ -"Logging in..." = "Connexion en cours..."; - -/* [prefs.py] */ -"Market data in CSV format file" = "Données du marché au format CSV"; - -/* [prefs.py] */ -"Market data in Slopey's BPC format file" = "Données du marché au format Slopey's BPC"; - -/* [prefs.py] */ -"Market data in Trade Dangerous format file" = "Données du marché au format Trade Dangerous"; - -/* [prefs.py] */ -"OK" = "OK"; - -/* Section heading in settings. [prefs.py] */ -"Output" = "Sorties"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Password" = "Mot de passe"; - -/* [prefs.py] */ -"Please choose what data to save" = "Veuillez choisir les données à sauvegarder"; - -/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ -"Please enter the code into the box below." = "Veuillez entrer ce code dans le champ ci-dessus."; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Please log in with your Elite: Dangerous account details" = "Veuillez vous connecter avec vos identifiants de compte Elite: Dangerous"; - -/* [prefs.py] */ -"Preferences" = "Préférences"; - -/* Section heading in settings. [prefs.py] */ -"Privacy" = "Confidentialité"; - -/* Privacy setting. [prefs.py] */ -"Pseudo-anonymized ID" = "Pseudo-anonymized ID"; - -/* [prefs.py] */ -"Send station data to the Elite Dangerous Data Network" = "Envoyer les données de la station à Elite Dangerous Data Network"; - -/* [EDMarketConnector.py] */ -"Sending data to EDDN..." = "Envoi des données à EDDN..."; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Settings" = "Paramètres"; - -/* [prefs.py] */ -"Ship loadout in Coriolis format file" = "Équipements du vaisseau au format Coriolis"; - -/* [prefs.py] */ -"Ship loadout in E:D Shipyard format file" = "Équipements du vaisseau au format E:D Shipyard"; - -/* [EDMarketConnector.py] */ -"Station doesn't have a market!" = "La station n'a pas de marché !"; - -/* [EDMarketConnector.py] */ -"Station doesn't have anything!" = "La station n'a rien du tout !"; - -/* Main window. [EDMarketConnector.py] */ -"Station" = "Station"; - -/* Main window. [EDMarketConnector.py] */ -"System" = "Système"; - -/* Update button in main window. [EDMarketConnector.py] */ -"Update" = "Mettre à jour"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Username (Email)" = "Nom d'utilisateur (e-mail)"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"What are you flying?!" = "Avec quoi volez-vous ?"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Where are you?!" = "Où êtes-vous ?"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Who are you?!" = "Qui êtes-vous ?"; - -/* [EDMarketConnector.py] */ -"You're not docked at a station!" = "Vous n'êtes pas amarré à une station !"; - -/* Section heading in settings on Windows. [prefs.py] */ -"Hotkey" = "Raccourci clavier"; - -/* No hotkey/shortcut currently defined. [prefs.py] */ -"None" = "Aucun"; - -/* Shortcut settings button on OSX. [prefs.py] */ -"Open System Preferences" = "Ouvrir Préférences Système"; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Play sound" = "Jouer un son"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"Re-start {APP} to use shortcuts" = "Rédémarrer {APP} pour utiliser les raccourcis"; - -/* Section heading in settings on OSX. [prefs.py] */ -"Keyboard shortcut" = "Raccourci clavier"; - -/* Menu title on OSX. [EDMarketConnector.py] */ -"Window" = "Fenêtre"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"{APP} needs permission to use shortcuts" = "{APP} a besoin de permissions pour utiliser les raccourcis"; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Only when Elite: Dangerous is the active app" = "Seulement quand Elite: Dangerous est l'application active"; - -/* As in Copy and Paste. [EDMarketConnector.py] */ -"Copy" = "Copier"; - -/* Menu title. [EDMarketConnector.py] */ -"Edit" = "Édition"; - -/* EDSM setting. [prefs.py] */ -"API Key" = "API Key"; - -/* Section heading in settings. [prefs.py] */ -"Elite Dangerous Star Map credentials" = "Informations d'identification pour Elite Dangerous Star Map"; - -/* [edsm.py] */ -"Error: Can't connect to EDSM" = "Erreur: Connexion impossible à EDSM"; - -/* [edsm.py] */ -"Error: EDSM {MSG}" = "Erreur: EDSM {MSG}"; - -/* [prefs.py] */ -"Send flight log to Elite Dangerous Star Map" = "Envoyer le journal de vol à Elite Dangerous Star Map"; - -/* [EDMarketConnector.py] */ -"Sending data to EDSM..." = "Envoi des données à EDSM..."; - -/* Output setting. [prefs.py] */ -"Automatically make a log entry on entering a system" = "Ajouter automatiquement une entrée au journal en entrant dans un système"; - -/* Output settings prompt. [prefs.py] */ -"Re-start Elite: Dangerous to use this feature" = "Redémarrer Elite: Dangerous pour utiliser cette fonctionnalité"; - -/* [EDMarketConnector.py] */ -"Error: Can't get market data!" = "Erreur: Impossible d'obtenir les données du marché!"; - /* Federation rank. [stats.py] */ "Admiral" = "Amiral"; @@ -211,6 +13,12 @@ /* CQC rank. [stats.py] */ "Amateur" = "Amateur"; +/* EDSM setting. [prefs.py] */ +"API Key" = "API Key"; + +/* Output setting. [prefs.py] */ +"Automatically make a log entry on entering a system" = "Ajouter automatiquement une entrée au journal en entrant dans un système"; + /* Cmdr stats. [stats.py] */ "Balance" = "Solde"; @@ -220,27 +28,51 @@ /* Trade rank. [stats.py] */ "Broker" = "Courtier"; +/* Folder selection button on Windows. [prefs.py] */ +"Browse..." = "Parcourir..."; + /* Federation rank. [stats.py] */ "Cadet" = "Cadet"; /* CQC rank. [stats.py] */ "Champion" = "Champion"; +/* Folder selection button on OSX. [prefs.py] */ +"Change..." = "Spécifier..."; + +/* [EDMarketConnector.py] */ +"Check for Updates..." = "Chercher une mise à jour..."; + /* Federation rank. [stats.py] */ "Chief Petty Officer" = "Premier Maître"; +/* Main window. [EDMarketConnector.py] */ +"Cmdr" = "Cmd"; + +/* EDSM & privacy setting. [prefs.py] */ +"Cmdr name" = "Nom de Cmd"; + /* Ranking. [stats.py] */ "Combat" = "Combattant"; /* Combat rank. [stats.py] */ "Competent" = "Compétent"; +/* Update button in main window. [EDMarketConnector.py] */ +"cooldown {SS}s" = "Temps de recharge {SS}s"; + +/* As in Copy and Paste. [EDMarketConnector.py] */ +"Copy" = "Copier"; + /* Empire rank. [stats.py] */ "Count" = "Comte"; /* Ranking. [stats.py] */ "CQC" = "CQC"; +/* Section heading in settings. [prefs.py] */ +"Credentials" = "Informations d'identification"; + /* Combat rank. [stats.py] */ "Dangerous" = "Vétéran"; @@ -256,9 +88,15 @@ /* Empire rank. [stats.py] */ "Earl" = "Marquis"; +/* Menu title. [EDMarketConnector.py] */ +"Edit" = "Édition"; + /* Top rank. [stats.py] */ "Elite" = "Élite"; +/* Section heading in settings. [prefs.py] */ +"Elite Dangerous Star Map credentials" = "Informations d'identification pour Elite Dangerous Star Map"; + /* Ranking. [stats.py] */ "Empire" = "Empire"; @@ -268,6 +106,30 @@ /* Trade rank. [stats.py] */ "Entrepreneur" = "Entrepreneur"; +/* [EDMarketConnector.py] */ +"Error: Can't connect to EDDN" = "Erreur : Connexion impossible à EDDN"; + +/* [edsm.py] */ +"Error: Can't connect to EDSM" = "Erreur : Connexion impossible à EDSM"; + +/* [EDMarketConnector.py] */ +"Error: Can't get market data!" = "Erreur : Impossible d'obtenir les données du marché !"; + +/* [EDMarketConnector.py] */ +"Error: Connection to EDDN timed out" = "Erreur : Connexion à EDDN expirée"; + +/* [edsm.py] */ +"Error: EDSM {MSG}" = "Erreur : EDSM {MSG}"; + +/* [companion.py] */ +"Error: Invalid Credentials" = "Erreur : Identifiants invalides"; + +/* [companion.py] */ +"Error: Server is down" = "Erreur : Le serveur est indisponible"; + +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Exit" = "Quitter"; + /* Combat rank. [stats.py] */ "Expert" = "Expert"; @@ -277,6 +139,18 @@ /* Ranking. [stats.py] */ "Federation" = "Fédération"; +/* [EDMarketConnector.py] */ +"Fetching data..." = "Récupération des données..."; + +/* Menu title on Windows. [EDMarketConnector.py] */ +"File" = "Fichier"; + +/* Section heading in settings. [prefs.py] */ +"File location" = "Emplacement des fichiers"; + +/* [prefs.py] */ +"Flight log in CSV format file" = "Journal de vol au format CSV"; + /* CQC rank. [stats.py] */ "Gladiator" = "Gladiator"; @@ -289,12 +163,27 @@ /* CQC rank. [stats.py] */ "Hero" = "Hero"; +/* Tab heading in settings on Windows. [prefs.py] */ +"Hotkey" = "Raccourci clavier"; + +/* [prefs.py] */ +"How do you want to be identified in the saved data" = "Comment voulez-vous être identifié dans les données sauvegardées ?"; + +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identité"; + +/* Tab heading in settings on OSX. [prefs.py] */ +"Keyboard shortcut" = "Raccourci clavier"; + /* Empire rank. [stats.py] */ "King" = "Roi"; /* Empire rank. [stats.py] */ "Knight" = "Chevalier"; +/* [EDMarketConnector.py] */ +"Last updated at {HH}:{MM}:{SS}" = "Dernière mise à jour à {HH}:{MM}:{SS}"; + /* Federation rank. [stats.py] */ "Lieutenant" = "Lieutenant"; @@ -304,9 +193,21 @@ /* Cmdr stats. [stats.py] */ "Loan" = "Emprunt"; +/* [EDMarketConnector.py] */ +"Logging in..." = "Connexion en cours..."; + /* Empire rank. [stats.py] */ "Lord" = "Banneret"; +/* [prefs.py] */ +"Market data in CSV format file" = "Données du marché au format CSV"; + +/* [prefs.py] */ +"Market data in Slopey's BPC format file" = "Données du marché au format Slopey's BPC"; + +/* [prefs.py] */ +"Market data in Trade Dangerous format file" = "Données du marché au format Trade Dangerous"; + /* Empire rank. [stats.py] */ "Marquis" = "Duc"; @@ -331,12 +232,30 @@ /* Trade rank. [stats.py] */ "Mostly Penniless" = "Mendiant"; +/* No hotkey/shortcut currently defined. [prefs.py] */ +"None" = "Aucun"; + /* Combat rank. [stats.py] */ "Novice" = "Novice"; +/* [prefs.py] */ +"OK" = "OK"; + +/* Hotkey/Shortcut setting. [prefs.py] */ +"Only when Elite: Dangerous is the active app" = "Seulement quand Elite: Dangerous est l'application active"; + +/* Shortcut settings button on OSX. [prefs.py] */ +"Open System Preferences" = "Ouvrir Préférences Système"; + +/* Tab heading in settings. [prefs.py] */ +"Output" = "Sorties"; + /* Empire rank. [stats.py] */ "Outsider" = "Étranger"; +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Password" = "Mot de passe"; + /* Explorer rank. [stats.py] */ "Pathfinder" = "Découvreur"; @@ -352,6 +271,18 @@ /* Explorer rank. [stats.py] */ "Pioneer" = "Pionnier"; +/* Hotkey/Shortcut setting. [prefs.py] */ +"Play sound" = "Jouer un son"; + +/* [prefs.py] */ +"Please choose what data to save" = "Veuillez choisir les données à sauvegarder"; + +/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ +"Please enter the code into the box below." = "Veuillez entrer ce code dans le champ ci-dessus."; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Please log in with your Elite: Dangerous account details" = "Veuillez vous connecter avec vos identifiants de compte Elite: Dangerous"; + /* Federation rank. [stats.py] */ "Post Captain" = "Capitaine de Vaisseau"; @@ -361,12 +292,21 @@ /* Ranking. [stats.py] */ "Powerplay" = "Powerplay"; +/* [prefs.py] */ +"Preferences" = "Préférences"; + /* Empire rank. [stats.py] */ "Prince" = "Prince"; +/* Section heading in settings. [prefs.py] */ +"Privacy" = "Confidentialité"; + /* CQC rank. [stats.py] */ "Professional" = "Professional"; +/* Privacy setting. [prefs.py] */ +"Pseudo-anonymized ID" = "Pseudo-anonymized ID"; + /* Explorer rank. [stats.py] */ "Ranger" = "Navigateur"; @@ -386,7 +326,13 @@ "Rating 5" = "Rang 5"; /* Status bar message on launch. [EDMarketConnector.py] */ -"Re-start Elite: Dangerous for automatic log entries" = "Re-démarrer Elite: Dangereux pour les entrées de journal automatique"; +"Re-start Elite: Dangerous for automatic log entries" = "Redémarrez Elite: Dangerous pour les entrées de journal automatiques"; + +/* Output settings prompt. [prefs.py] */ +"Re-start Elite: Dangerous to use this feature" = "Redémarrez Elite: Dangerous pour utiliser cette fonctionnalité"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"Re-start {APP} to use shortcuts" = "Rédémarrez {APP} pour utiliser les raccourcis"; /* Federation rank. [stats.py] */ "Rear Admiral" = "Contre-Amiral"; @@ -400,24 +346,57 @@ /* CQC rank. [stats.py] */ "Semi Professional" = "Semi Professional"; +/* [prefs.py] */ +"Send flight log to Elite Dangerous Star Map" = "Envoyer le journal de vol à Elite Dangerous Star Map"; + +/* [prefs.py] */ +"Send station data to the Elite Dangerous Data Network" = "Envoyer les données de la station à Elite Dangerous Data Network"; + +/* [EDMarketConnector.py] */ +"Sending data to EDDN..." = "Envoi des données à EDDN..."; + +/* [EDMarketConnector.py] */ +"Sending data to EDSM..." = "Envoi des données à EDSM..."; + /* Empire rank. [stats.py] */ "Serf" = "Serf"; +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Settings" = "Paramètres"; + /* Status dialog subtitle. [stats.py] */ "Ship" = "Vaisseau"; +/* [prefs.py] */ +"Ship loadout in Coriolis format file" = "Équipements du vaisseau au format Coriolis"; + +/* [prefs.py] */ +"Ship loadout in E:D Shipyard format file" = "Équipements du vaisseau au format E:D Shipyard"; + /* Status dialog title. [stats.py] */ "Ships" = "Vaisseaux"; /* Empire rank. [stats.py] */ "Squire" = "Écuyer"; +/* Main window. [EDMarketConnector.py] */ +"Station" = "Station"; + +/* [EDMarketConnector.py] */ +"Station doesn't have a market!" = "La station n'a pas de marché !"; + +/* [EDMarketConnector.py] */ +"Station doesn't have anything!" = "La station n'a rien du tout !"; + /* Menu item. [EDMarketConnector.py] */ "Status" = "État"; /* Explorer rank. [stats.py] */ "Surveyor" = "Éclaireur"; +/* Main window. [EDMarketConnector.py] */ +"System" = "Système"; + /* Ranking. [stats.py] */ "Trade" = "Commerçant"; @@ -427,6 +406,12 @@ /* Trade rank. [stats.py] */ "Tycoon" = "Magnat"; +/* Update button in main window. [EDMarketConnector.py] */ +"Update" = "Mettre à jour"; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Username (Email)" = "Nom d'utilisateur (e-mail)"; + /* Federation rank. [stats.py] */ "Vice Admiral" = "Vice-Amiral"; @@ -438,3 +423,22 @@ /* Federation rank. [stats.py] */ "Warrant Officer" = "Major"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"What are you flying?!" = "Avec quoi volez-vous ?"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Where are you?!" = "Où êtes-vous ?"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Who are you?!" = "Qui êtes-vous ?"; + +/* Menu title on OSX. [EDMarketConnector.py] */ +"Window" = "Fenêtre"; + +/* [EDMarketConnector.py] */ +"You're not docked at a station!" = "Vous n'êtes pas amarré à une station !"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"{APP} needs permission to use shortcuts" = "{APP} a besoin de permissions pour utiliser les raccourcis"; + diff --git a/L10n/it.strings b/L10n/it.strings index d0e2c24c..7e69b8e9 100644 --- a/L10n/it.strings +++ b/L10n/it.strings @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Hero"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Hotkey"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Come vuoi essere identificato nei dati salvati"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identità"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Scorciatoia di tastiera"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Apri Preferenze di Sistema"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Output"; /* Empire rank. [stats.py] */ diff --git a/L10n/lv.strings b/L10n/lv.strings index 1f31360a..bfa44254 100644 --- a/L10n/lv.strings +++ b/L10n/lv.strings @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Varonis"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Ātrais taustiņš"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Kā jūs vēlaties tikt atpazīts saglabātajā informācijā"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identitāte"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Ātrais taustiņš"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Atvērt sistēmas iestatījumus"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Izvade"; /* Empire rank. [stats.py] */ diff --git a/L10n/nl.strings b/L10n/nl.strings index 2783b815..720a24d9 100644 --- a/L10n/nl.strings +++ b/L10n/nl.strings @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Hero"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Hotkey"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Hoe wil je geïdentificeerd worden in de opgeslagen data"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identiteit"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Toetscombinaties"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Open Systeemvoorkeuren"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Uitvoer"; /* Empire rank. [stats.py] */ diff --git a/L10n/pl.strings b/L10n/pl.strings index f70f0c77..03f5996e 100644 --- a/L10n/pl.strings +++ b/L10n/pl.strings @@ -4,204 +4,6 @@ /* App menu entry on OSX. [EDMarketConnector.py] */ "About {APP}" = "{APP}..."; -/* Folder selection button on Windows. [prefs.py] */ -"Browse..." = "Przeglądaj..."; - -/* Folder selection button on OSX. [prefs.py] */ -"Change..." = "Zmień..."; - -/* [EDMarketConnector.py] */ -"Check for Updates..." = "Sprawdź aktualizacje..."; - -/* EDSM & privacy setting. [prefs.py] */ -"Cmdr name" = "Nazwa gracza"; - -/* Main window. [EDMarketConnector.py] */ -"Cmdr" = "Cmdr"; - -/* Update button in main window. [EDMarketConnector.py] */ -"cooldown {SS}s" = "Oczekiwanie {SS} sek."; - -/* Section heading in settings. [prefs.py] */ -"Credentials" = "Dane uwierzytelniające"; - -/* [EDMarketConnector.py] */ -"Error: Can't connect to EDDN" = "Błąd: Brak połączenia z EDDN"; - -/* [EDMarketConnector.py] */ -"Error: Connection to EDDN timed out" = "Błąd: Przedłużające się połączenie z EDDN"; - -/* [companion.py] */ -"Error: Invalid Credentials" = "Błąd: Dane uwierzytelniające niepoprawne"; - -/* [companion.py] */ -"Error: Server is down" = "Błąd: Serwer padł"; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Exit" = "Zakończ"; - -/* [EDMarketConnector.py] */ -"Fetching data..." = "Pobieranie danych..."; - -/* Menu title on Windows. [EDMarketConnector.py] */ -"File" = "Plik"; - -/* Section heading in settings. [prefs.py] */ -"File location" = "Położenie pliku"; - -/* [prefs.py] */ -"Flight log in CSV format file" = "Dziennik lotu w formacie CSV"; - -/* [prefs.py] */ -"How do you want to be identified in the saved data" = "Twój identyfikator w zapisanych danych"; - -/* [EDMarketConnector.py] */ -"Last updated at {HH}:{MM}:{SS}" = "Ostatnia aktualizacja {HH}:{MM}:{SS}"; - -/* [EDMarketConnector.py] */ -"Logging in..." = "Logowanie..."; - -/* [prefs.py] */ -"Market data in CSV format file" = "Dane rynkowe w formacie CSV"; - -/* [prefs.py] */ -"Market data in Slopey's BPC format file" = "Dane rynkowe w formacie Slopey's BPC"; - -/* [prefs.py] */ -"Market data in Trade Dangerous format file" = "Dane rynkowe w formacie Trade Dangerous"; - -/* [prefs.py] */ -"OK" = "OK"; - -/* Section heading in settings. [prefs.py] */ -"Output" = "Wyjście"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Password" = "Hasło"; - -/* [prefs.py] */ -"Please choose what data to save" = "Jakie dane zapisywać"; - -/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ -"Please enter the code into the box below." = "Wpis kod w pole poniżej:"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Please log in with your Elite: Dangerous account details" = "Zaloguj się swoim kontem Elite: Dangerous"; - -/* [prefs.py] */ -"Preferences" = "Preferencje"; - -/* Section heading in settings. [prefs.py] */ -"Privacy" = "Prywatność"; - -/* Privacy setting. [prefs.py] */ -"Pseudo-anonymized ID" = "Pseudo anonimowe ID"; - -/* [prefs.py] */ -"Send station data to the Elite Dangerous Data Network" = "Wyślij dane do Elite Dangerous Data Network"; - -/* [EDMarketConnector.py] */ -"Sending data to EDDN..." = "Wysłanie danych do EDDN..."; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Settings" = "Ustawienia"; - -/* [prefs.py] */ -"Ship loadout in Coriolis format file" = "Wyposażenie statku w formacie Coriolis"; - -/* [prefs.py] */ -"Ship loadout in E:D Shipyard format file" = "Wyposażenie statku w formacie E:D Shipyard"; - -/* [EDMarketConnector.py] */ -"Station doesn't have a market!" = "W stacji nie ma giełdy towarowej!"; - -/* [EDMarketConnector.py] */ -"Station doesn't have anything!" = "Stacja jest pusta!"; - -/* Main window. [EDMarketConnector.py] */ -"Station" = "Stacja"; - -/* Main window. [EDMarketConnector.py] */ -"System" = "System"; - -/* Update button in main window. [EDMarketConnector.py] */ -"Update" = "Aktualizacja"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Username (Email)" = "Użytkownik (e-mail)"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"What are you flying?!" = "Czym latasz?!"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Where are you?!" = "Gdzie jesteś?!"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Who are you?!" = "Kim jesteś?!"; - -/* [EDMarketConnector.py] */ -"You're not docked at a station!" = "Nie jesteś zadokowany do stacji!"; - -/* Section heading in settings on Windows. [prefs.py] */ -"Hotkey" = "Skr. Klaw."; - -/* No hotkey/shortcut currently defined. [prefs.py] */ -"None" = "Brak"; - -/* Shortcut settings button on OSX. [prefs.py] */ -"Open System Preferences" = "Otwórz Preferencje systemowe"; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Play sound" = "Odtwórz dźwięk"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"Re-start {APP} to use shortcuts" = "Zrestartuj {APP} by użyć{CR}skrótu klawiszowego."; - -/* Section heading in settings on OSX. [prefs.py] */ -"Keyboard shortcut" = "Skrót klawiaturowy"; - -/* Menu title on OSX. [EDMarketConnector.py] */ -"Window" = "Okno"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"{APP} needs permission to use shortcuts" = "{APP} wymaga uprawnień by{CR}móc korzystać ze skrótów klawiszowych."; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Only when Elite: Dangerous is the active app" = "Tylko gdy Elite: Dangerous jest aplikacją aktywną"; - -/* As in Copy and Paste. [EDMarketConnector.py] */ -"Copy" = "Kopiuj"; - -/* Menu title. [EDMarketConnector.py] */ -"Edit" = "Edycja"; - -/* EDSM setting. [prefs.py] */ -"API Key" = "API Key"; - -/* Section heading in settings. [prefs.py] */ -"Elite Dangerous Star Map credentials" = "Dane uwierzytelniające Elite Dangerous Star Map"; - -/* [edsm.py] */ -"Error: Can't connect to EDSM" = "Błąd: Brak połączenia z EDSM"; - -/* [edsm.py] */ -"Error: EDSM {MSG}" = "Błąd: EDSM {MSG}"; - -/* [prefs.py] */ -"Send flight log to Elite Dangerous Star Map" = "Wyślij dziennik lotu do Elite Dangerous Star Map"; - -/* [EDMarketConnector.py] */ -"Sending data to EDSM..." = "Wysłanie danych do EDSM..."; - -/* Output setting. [prefs.py] */ -"Automatically make a log entry on entering a system" = "Stwórz automatycznie wpis w logu po wejściu do systemu"; - -/* Output settings prompt. [prefs.py] */ -"Re-start Elite: Dangerous to use this feature" = "Zrestartuj Elite: Dangerous by użyć tej funkcji"; - -/* [EDMarketConnector.py] */ -"Error: Can't get market data!" = "Błąd: Nie można pobrać danych rynkowych!"; - /* Federation rank. [stats.py] */ "Admiral" = "Admiral"; @@ -211,6 +13,12 @@ /* CQC rank. [stats.py] */ "Amateur" = "Amateur"; +/* EDSM setting. [prefs.py] */ +"API Key" = "API Key"; + +/* Output setting. [prefs.py] */ +"Automatically make a log entry on entering a system" = "Stwórz automatycznie wpis w logu po wejściu do systemu"; + /* Cmdr stats. [stats.py] */ "Balance" = "Saldo"; @@ -220,27 +28,51 @@ /* Trade rank. [stats.py] */ "Broker" = "Broker"; +/* Folder selection button on Windows. [prefs.py] */ +"Browse..." = "Przeglądaj..."; + /* Federation rank. [stats.py] */ "Cadet" = "Cadet"; /* CQC rank. [stats.py] */ "Champion" = "Champion"; +/* Folder selection button on OSX. [prefs.py] */ +"Change..." = "Zmień..."; + +/* [EDMarketConnector.py] */ +"Check for Updates..." = "Sprawdź aktualizacje..."; + /* Federation rank. [stats.py] */ "Chief Petty Officer" = "Chief Petty Officer"; +/* Main window. [EDMarketConnector.py] */ +"Cmdr" = "Cmdr"; + +/* EDSM & privacy setting. [prefs.py] */ +"Cmdr name" = "Nazwa gracza"; + /* Ranking. [stats.py] */ "Combat" = "Combat"; /* Combat rank. [stats.py] */ "Competent" = "Competent"; +/* Update button in main window. [EDMarketConnector.py] */ +"cooldown {SS}s" = "Oczekiwanie {SS} sek."; + +/* As in Copy and Paste. [EDMarketConnector.py] */ +"Copy" = "Kopiuj"; + /* Empire rank. [stats.py] */ "Count" = "Count"; /* Ranking. [stats.py] */ "CQC" = "CQC"; +/* Section heading in settings. [prefs.py] */ +"Credentials" = "Dane uwierzytelniające"; + /* Combat rank. [stats.py] */ "Dangerous" = "Dangerous"; @@ -256,9 +88,15 @@ /* Empire rank. [stats.py] */ "Earl" = "Earl"; +/* Menu title. [EDMarketConnector.py] */ +"Edit" = "Edycja"; + /* Top rank. [stats.py] */ "Elite" = "Elite"; +/* Section heading in settings. [prefs.py] */ +"Elite Dangerous Star Map credentials" = "Dane uwierzytelniające Elite Dangerous Star Map"; + /* Ranking. [stats.py] */ "Empire" = "Imperium"; @@ -268,6 +106,30 @@ /* Trade rank. [stats.py] */ "Entrepreneur" = "Entrepreneur"; +/* [EDMarketConnector.py] */ +"Error: Can't connect to EDDN" = "Błąd: Brak połączenia z EDDN"; + +/* [edsm.py] */ +"Error: Can't connect to EDSM" = "Błąd: Brak połączenia z EDSM"; + +/* [EDMarketConnector.py] */ +"Error: Can't get market data!" = "Błąd: Nie można pobrać danych rynkowych!"; + +/* [EDMarketConnector.py] */ +"Error: Connection to EDDN timed out" = "Błąd: Przedłużające się połączenie z EDDN"; + +/* [edsm.py] */ +"Error: EDSM {MSG}" = "Błąd: EDSM {MSG}"; + +/* [companion.py] */ +"Error: Invalid Credentials" = "Błąd: Dane uwierzytelniające niepoprawne"; + +/* [companion.py] */ +"Error: Server is down" = "Błąd: Serwer padł"; + +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Exit" = "Zakończ"; + /* Combat rank. [stats.py] */ "Expert" = "Expert"; @@ -277,6 +139,18 @@ /* Ranking. [stats.py] */ "Federation" = "Federacja"; +/* [EDMarketConnector.py] */ +"Fetching data..." = "Pobieranie danych..."; + +/* Menu title on Windows. [EDMarketConnector.py] */ +"File" = "Plik"; + +/* Section heading in settings. [prefs.py] */ +"File location" = "Położenie pliku"; + +/* [prefs.py] */ +"Flight log in CSV format file" = "Dziennik lotu w formacie CSV"; + /* CQC rank. [stats.py] */ "Gladiator" = "Gladiator"; @@ -289,12 +163,27 @@ /* CQC rank. [stats.py] */ "Hero" = "Hero"; +/* Tab heading in settings on Windows. [prefs.py] */ +"Hotkey" = "Skr. Klaw."; + +/* [prefs.py] */ +"How do you want to be identified in the saved data" = "Twój identyfikator w zapisanych danych"; + +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Tożsamość"; + +/* Tab heading in settings on OSX. [prefs.py] */ +"Keyboard shortcut" = "Skrót klawiaturowy"; + /* Empire rank. [stats.py] */ "King" = "King"; /* Empire rank. [stats.py] */ "Knight" = "Knight"; +/* [EDMarketConnector.py] */ +"Last updated at {HH}:{MM}:{SS}" = "Ostatnia aktualizacja {HH}:{MM}:{SS}"; + /* Federation rank. [stats.py] */ "Lieutenant" = "Lieutenant"; @@ -304,9 +193,21 @@ /* Cmdr stats. [stats.py] */ "Loan" = "Pożyczka"; +/* [EDMarketConnector.py] */ +"Logging in..." = "Logowanie..."; + /* Empire rank. [stats.py] */ "Lord" = "Lord"; +/* [prefs.py] */ +"Market data in CSV format file" = "Dane rynkowe w formacie CSV"; + +/* [prefs.py] */ +"Market data in Slopey's BPC format file" = "Dane rynkowe w formacie Slopey's BPC"; + +/* [prefs.py] */ +"Market data in Trade Dangerous format file" = "Dane rynkowe w formacie Trade Dangerous"; + /* Empire rank. [stats.py] */ "Marquis" = "Marquis"; @@ -331,12 +232,30 @@ /* Trade rank. [stats.py] */ "Mostly Penniless" = "Mostly Penniless"; +/* No hotkey/shortcut currently defined. [prefs.py] */ +"None" = "Brak"; + /* Combat rank. [stats.py] */ "Novice" = "Novice"; +/* [prefs.py] */ +"OK" = "OK"; + +/* Hotkey/Shortcut setting. [prefs.py] */ +"Only when Elite: Dangerous is the active app" = "Tylko gdy Elite: Dangerous jest aplikacją aktywną"; + +/* Shortcut settings button on OSX. [prefs.py] */ +"Open System Preferences" = "Otwórz Preferencje systemowe"; + +/* Tab heading in settings. [prefs.py] */ +"Output" = "Wyjście"; + /* Empire rank. [stats.py] */ "Outsider" = "Outsider"; +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Password" = "Hasło"; + /* Explorer rank. [stats.py] */ "Pathfinder" = "Pathfinder"; @@ -352,6 +271,18 @@ /* Explorer rank. [stats.py] */ "Pioneer" = "Pioneer"; +/* Hotkey/Shortcut setting. [prefs.py] */ +"Play sound" = "Odtwórz dźwięk"; + +/* [prefs.py] */ +"Please choose what data to save" = "Jakie dane zapisywać"; + +/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ +"Please enter the code into the box below." = "Wpis kod w pole poniżej:"; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Please log in with your Elite: Dangerous account details" = "Zaloguj się swoim kontem Elite: Dangerous"; + /* Federation rank. [stats.py] */ "Post Captain" = "Post Captain"; @@ -361,12 +292,21 @@ /* Ranking. [stats.py] */ "Powerplay" = "Powerplay"; +/* [prefs.py] */ +"Preferences" = "Preferencje"; + /* Empire rank. [stats.py] */ "Prince" = "Prince"; +/* Section heading in settings. [prefs.py] */ +"Privacy" = "Prywatność"; + /* CQC rank. [stats.py] */ "Professional" = "Professional"; +/* Privacy setting. [prefs.py] */ +"Pseudo-anonymized ID" = "Pseudo anonimowe ID"; + /* Explorer rank. [stats.py] */ "Ranger" = "Ranger"; @@ -388,6 +328,12 @@ /* Status bar message on launch. [EDMarketConnector.py] */ "Re-start Elite: Dangerous for automatic log entries" = "Zrestartuj E:D by uruchomić automatyczne logowanie"; +/* Output settings prompt. [prefs.py] */ +"Re-start Elite: Dangerous to use this feature" = "Zrestartuj Elite: Dangerous by użyć tej funkcji"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"Re-start {APP} to use shortcuts" = "Zrestartuj {APP} by użyć{CR}skrótu klawiszowego."; + /* Federation rank. [stats.py] */ "Rear Admiral" = "Rear Admiral"; @@ -400,24 +346,57 @@ /* CQC rank. [stats.py] */ "Semi Professional" = "Semi Professional"; +/* [prefs.py] */ +"Send flight log to Elite Dangerous Star Map" = "Wyślij dziennik lotu do Elite Dangerous Star Map"; + +/* [prefs.py] */ +"Send station data to the Elite Dangerous Data Network" = "Wyślij dane do Elite Dangerous Data Network"; + +/* [EDMarketConnector.py] */ +"Sending data to EDDN..." = "Wysłanie danych do EDDN..."; + +/* [EDMarketConnector.py] */ +"Sending data to EDSM..." = "Wysłanie danych do EDSM..."; + /* Empire rank. [stats.py] */ "Serf" = "Serf"; +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Settings" = "Ustawienia"; + /* Status dialog subtitle. [stats.py] */ "Ship" = "Statek"; +/* [prefs.py] */ +"Ship loadout in Coriolis format file" = "Wyposażenie statku w formacie Coriolis"; + +/* [prefs.py] */ +"Ship loadout in E:D Shipyard format file" = "Wyposażenie statku w formacie E:D Shipyard"; + /* Status dialog title. [stats.py] */ "Ships" = "Statki"; /* Empire rank. [stats.py] */ "Squire" = "Squire"; +/* Main window. [EDMarketConnector.py] */ +"Station" = "Stacja"; + +/* [EDMarketConnector.py] */ +"Station doesn't have a market!" = "W stacji nie ma giełdy towarowej!"; + +/* [EDMarketConnector.py] */ +"Station doesn't have anything!" = "Stacja jest pusta!"; + /* Menu item. [EDMarketConnector.py] */ "Status" = "Status"; /* Explorer rank. [stats.py] */ "Surveyor" = "Surveyor"; +/* Main window. [EDMarketConnector.py] */ +"System" = "System"; + /* Ranking. [stats.py] */ "Trade" = "Trade"; @@ -427,6 +406,12 @@ /* Trade rank. [stats.py] */ "Tycoon" = "Tycoon"; +/* Update button in main window. [EDMarketConnector.py] */ +"Update" = "Aktualizacja"; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Username (Email)" = "Użytkownik (e-mail)"; + /* Federation rank. [stats.py] */ "Vice Admiral" = "Vice Admiral"; @@ -438,3 +423,22 @@ /* Federation rank. [stats.py] */ "Warrant Officer" = "Warrant Officer"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"What are you flying?!" = "Czym latasz?!"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Where are you?!" = "Gdzie jesteś?!"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Who are you?!" = "Kim jesteś?!"; + +/* Menu title on OSX. [EDMarketConnector.py] */ +"Window" = "Okno"; + +/* [EDMarketConnector.py] */ +"You're not docked at a station!" = "Nie jesteś zadokowany do stacji!"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"{APP} needs permission to use shortcuts" = "{APP} wymaga uprawnień by{CR}móc korzystać ze skrótów klawiszowych."; + diff --git a/L10n/ru.strings b/L10n/ru.strings index 7bd27438..a40c0a09 100644 --- a/L10n/ru.strings +++ b/L10n/ru.strings @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Герой"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Горячая клавиша"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Как вас идентифицировать при отправке данных"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Идентификатор"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Сочетание клавиш"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Открыты «Системные настройки»"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Данные"; /* Empire rank. [stats.py] */ diff --git a/L10n/sl.strings b/L10n/sl.strings index b92ea2e1..10b18949 100644 --- a/L10n/sl.strings +++ b/L10n/sl.strings @@ -5,204 +5,6 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* App menu entry on OSX. [EDMarketConnector.py] */ "About {APP}" = "O {APP}"; -/* Folder selection button on Windows. [prefs.py] */ -"Browse..." = "Prebrskaj..."; - -/* Folder selection button on OSX. [prefs.py] */ -"Change..." = "Spremeni..."; - -/* [EDMarketConnector.py] */ -"Check for Updates..." = "Preveri posodobitve..."; - -/* EDSM & privacy setting. [prefs.py] */ -"Cmdr name" = "Cmdr ime"; - -/* Main window. [EDMarketConnector.py] */ -"Cmdr" = "Cmdr"; - -/* Update button in main window. [EDMarketConnector.py] */ -"cooldown {SS}s" = "Posodobitev v {SS}s"; - -/* Section heading in settings. [prefs.py] */ -"Credentials" = "Uporabniški podatki"; - -/* [EDMarketConnector.py] */ -"Error: Can't connect to EDDN" = "Napaka: povezava z EDDN ni mogoča"; - -/* [EDMarketConnector.py] */ -"Error: Connection to EDDN timed out" = "Napaka: Povezava z EDDN se je iztekla"; - -/* [companion.py] */ -"Error: Invalid Credentials" = "Napaka: napačno uporabniški ime ali geslo"; - -/* [companion.py] */ -"Error: Server is down" = "Napaka: Strežnik ni na voljo"; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Exit" = "Izhod"; - -/* [EDMarketConnector.py] */ -"Fetching data..." = "Nalagam podatke..."; - -/* Menu title on Windows. [EDMarketConnector.py] */ -"File" = "Datoteka"; - -/* Section heading in settings. [prefs.py] */ -"File location" = "Lokacija datoteke"; - -/* [prefs.py] */ -"Flight log in CSV format file" = "Dnevnik leta v CSV formatu"; - -/* [prefs.py] */ -"How do you want to be identified in the saved data" = "Kako se želite indentificirati v shranjnih podatkih"; - -/* [EDMarketConnector.py] */ -"Last updated at {HH}:{MM}:{SS}" = "Zadnja osvežitev podatkov {HH}:{MM}:{SS} "; - -/* [EDMarketConnector.py] */ -"Logging in..." = "Prijava v teku... "; - -/* [prefs.py] */ -"Market data in CSV format file" = "Podatki trga v CSV formatu"; - -/* [prefs.py] */ -"Market data in Slopey's BPC format file" = "Podatki trga v Slopey's BPC formatu"; - -/* [prefs.py] */ -"Market data in Trade Dangerous format file" = "Podatki trga v Trade Dangerous formatu"; - -/* [prefs.py] */ -"OK" = "Potrdi"; - -/* Section heading in settings. [prefs.py] */ -"Output" = "Izpis"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Password" = "Geslo"; - -/* [prefs.py] */ -"Please choose what data to save" = "Izberite podatke, ki jih želite shraniti"; - -/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ -"Please enter the code into the box below." = "Vpišite kodo v spodnje polje."; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Please log in with your Elite: Dangerous account details" = "Vpišite se s podatki igre Elite:Dangerous"; - -/* [prefs.py] */ -"Preferences" = "Nastavitve"; - -/* Section heading in settings. [prefs.py] */ -"Privacy" = "Privatno"; - -/* Privacy setting. [prefs.py] */ -"Pseudo-anonymized ID" = "Psevdo anonimni identifikator"; - -/* [prefs.py] */ -"Send station data to the Elite Dangerous Data Network" = "Pošlji podatke postaje na EDDN"; - -/* [EDMarketConnector.py] */ -"Sending data to EDDN..." = "Pošiljam podatke na EDDN"; - -/* Item in the File menu on Windows. [EDMarketConnector.py] */ -"Settings" = "Nastavitve"; - -/* [prefs.py] */ -"Ship loadout in Coriolis format file" = "Oprema ladje v Coriolis formatu"; - -/* [prefs.py] */ -"Ship loadout in E:D Shipyard format file" = "Oprema ladje v E:D Shipyard formatu"; - -/* [EDMarketConnector.py] */ -"Station doesn't have a market!" = "Postaja nima trga"; - -/* [EDMarketConnector.py] */ -"Station doesn't have anything!" = "Postaja nima ničesar"; - -/* Main window. [EDMarketConnector.py] */ -"Station" = "Postaja"; - -/* Main window. [EDMarketConnector.py] */ -"System" = "Sistem"; - -/* Update button in main window. [EDMarketConnector.py] */ -"Update" = "Osveži"; - -/* Use same text as E:D Launcher's login dialog. [prefs.py] */ -"Username (Email)" = "Uporabniško ime"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"What are you flying?!" = "S čim letiš"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Where are you?!" = "Kje se nahajaš"; - -/* Shouldn't happen. [EDMarketConnector.py] */ -"Who are you?!" = "Kdo si"; - -/* [EDMarketConnector.py] */ -"You're not docked at a station!" = "Nahajš se v postaji!"; - -/* Section heading in settings on Windows. [prefs.py] */ -"Hotkey" = "Bližnjica"; - -/* No hotkey/shortcut currently defined. [prefs.py] */ -"None" = "Brez"; - -/* Shortcut settings button on OSX. [prefs.py] */ -"Open System Preferences" = "Odpri sistemske nastavitve"; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Play sound" = "Sproži zvok"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"Re-start {APP} to use shortcuts" = "Ponovno poženi {APP} za uporabo bližnjic"; - -/* Section heading in settings on OSX. [prefs.py] */ -"Keyboard shortcut" = "Bližnjica"; - -/* Menu title on OSX. [EDMarketConnector.py] */ -"Window" = "Okno"; - -/* Shortcut settings prompt on OSX. [prefs.py] */ -"{APP} needs permission to use shortcuts" = "{APP} potrebuje dovoljenja za uporabo bližnjic"; - -/* Hotkey/Shortcut setting. [prefs.py] */ -"Only when Elite: Dangerous is the active app" = "Samo ko je Elite:Dangerous aktivna aplikacija "; - -/* As in Copy and Paste. [EDMarketConnector.py] */ -"Copy" = "Kopiraj"; - -/* Menu title. [EDMarketConnector.py] */ -"Edit" = "Uredi"; - -/* EDSM setting. [prefs.py] */ -"API Key" = "API ključ"; - -/* Section heading in settings. [prefs.py] */ -"Elite Dangerous Star Map credentials" = "EDStarMap uporabniški podatki"; - -/* [edsm.py] */ -"Error: Can't connect to EDSM" = "Napaka: Povezava z EDSM ni mogoča"; - -/* [edsm.py] */ -"Error: EDSM {MSG}" = "Napaka: EDSM {MSG}"; - -/* [prefs.py] */ -"Send flight log to Elite Dangerous Star Map" = "Pošlji dnevnik leta na EDSM"; - -/* [EDMarketConnector.py] */ -"Sending data to EDSM..." = "Pošiljam podatke na EDSM"; - -/* Output setting. [prefs.py] */ -"Automatically make a log entry on entering a system" = "Shrani podatke v dnevnik leta, ko prispeš v sistem"; - -/* Output settings prompt. [prefs.py] */ -"Re-start Elite: Dangerous to use this feature" = "Ponovno poženi Elite: Dangerous za uporabo te funkcije"; - -/* [EDMarketConnector.py] */ -"Error: Can't get market data!" = "Napaka: Ne morem sprejeti tržnih podatkov"; - /* Federation rank. [stats.py] */ "Admiral" = "Admiral"; @@ -212,6 +14,12 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* CQC rank. [stats.py] */ "Amateur" = "Amateur"; +/* EDSM setting. [prefs.py] */ +"API Key" = "API ključ"; + +/* Output setting. [prefs.py] */ +"Automatically make a log entry on entering a system" = "Shrani podatke v dnevnik leta, ko prispeš v sistem"; + /* Cmdr stats. [stats.py] */ "Balance" = "Ravnotežje"; @@ -221,27 +29,51 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Trade rank. [stats.py] */ "Broker" = "Broker"; +/* Folder selection button on Windows. [prefs.py] */ +"Browse..." = "Prebrskaj..."; + /* Federation rank. [stats.py] */ "Cadet" = "Cadet"; /* CQC rank. [stats.py] */ "Champion" = "Champion"; +/* Folder selection button on OSX. [prefs.py] */ +"Change..." = "Spremeni..."; + +/* [EDMarketConnector.py] */ +"Check for Updates..." = "Preveri posodobitve..."; + /* Federation rank. [stats.py] */ "Chief Petty Officer" = "Chief Petty Officer"; +/* Main window. [EDMarketConnector.py] */ +"Cmdr" = "Cmdr"; + +/* EDSM & privacy setting. [prefs.py] */ +"Cmdr name" = "Cmdr ime"; + /* Ranking. [stats.py] */ "Combat" = "Combat"; /* Combat rank. [stats.py] */ "Competent" = "Competent"; +/* Update button in main window. [EDMarketConnector.py] */ +"cooldown {SS}s" = "Posodobitev v {SS}s"; + +/* As in Copy and Paste. [EDMarketConnector.py] */ +"Copy" = "Kopiraj"; + /* Empire rank. [stats.py] */ "Count" = "Count"; /* Ranking. [stats.py] */ "CQC" = "CQC"; +/* Section heading in settings. [prefs.py] */ +"Credentials" = "Uporabniški podatki"; + /* Combat rank. [stats.py] */ "Dangerous" = "Dangerous"; @@ -257,9 +89,15 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Empire rank. [stats.py] */ "Earl" = "Earl"; +/* Menu title. [EDMarketConnector.py] */ +"Edit" = "Uredi"; + /* Top rank. [stats.py] */ "Elite" = "Elite"; +/* Section heading in settings. [prefs.py] */ +"Elite Dangerous Star Map credentials" = "EDStarMap uporabniški podatki"; + /* Ranking. [stats.py] */ "Empire" = "Cesarstvo"; @@ -269,6 +107,30 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Trade rank. [stats.py] */ "Entrepreneur" = "Enterpreneur"; +/* [EDMarketConnector.py] */ +"Error: Can't connect to EDDN" = "Napaka: povezava z EDDN ni mogoča"; + +/* [edsm.py] */ +"Error: Can't connect to EDSM" = "Napaka: Povezava z EDSM ni mogoča"; + +/* [EDMarketConnector.py] */ +"Error: Can't get market data!" = "Napaka: Ne morem sprejeti tržnih podatkov"; + +/* [EDMarketConnector.py] */ +"Error: Connection to EDDN timed out" = "Napaka: Povezava z EDDN se je iztekla"; + +/* [edsm.py] */ +"Error: EDSM {MSG}" = "Napaka: EDSM {MSG}"; + +/* [companion.py] */ +"Error: Invalid Credentials" = "Napaka: napačno uporabniški ime ali geslo"; + +/* [companion.py] */ +"Error: Server is down" = "Napaka: Strežnik ni na voljo"; + +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Exit" = "Izhod"; + /* Combat rank. [stats.py] */ "Expert" = "Expert"; @@ -278,6 +140,18 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Ranking. [stats.py] */ "Federation" = "Federacija"; +/* [EDMarketConnector.py] */ +"Fetching data..." = "Nalagam podatke..."; + +/* Menu title on Windows. [EDMarketConnector.py] */ +"File" = "Datoteka"; + +/* Section heading in settings. [prefs.py] */ +"File location" = "Lokacija datoteke"; + +/* [prefs.py] */ +"Flight log in CSV format file" = "Dnevnik leta v CSV formatu"; + /* CQC rank. [stats.py] */ "Gladiator" = "Gladiator"; @@ -290,12 +164,27 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* CQC rank. [stats.py] */ "Hero" = "Hero"; +/* Tab heading in settings on Windows. [prefs.py] */ +"Hotkey" = "Bližnjica"; + +/* [prefs.py] */ +"How do you want to be identified in the saved data" = "Kako se želite indentificirati v shranjnih podatkih"; + +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Identiteta"; + +/* Tab heading in settings on OSX. [prefs.py] */ +"Keyboard shortcut" = "Bližnjica"; + /* Empire rank. [stats.py] */ "King" = "King"; /* Empire rank. [stats.py] */ "Knight" = "Knight"; +/* [EDMarketConnector.py] */ +"Last updated at {HH}:{MM}:{SS}" = "Zadnja osvežitev podatkov {HH}:{MM}:{SS} "; + /* Federation rank. [stats.py] */ "Lieutenant" = "LIeutenant"; @@ -305,9 +194,21 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Cmdr stats. [stats.py] */ "Loan" = "Posojilo"; +/* [EDMarketConnector.py] */ +"Logging in..." = "Prijava v teku... "; + /* Empire rank. [stats.py] */ "Lord" = "Lord"; +/* [prefs.py] */ +"Market data in CSV format file" = "Podatki trga v CSV formatu"; + +/* [prefs.py] */ +"Market data in Slopey's BPC format file" = "Podatki trga v Slopey's BPC formatu"; + +/* [prefs.py] */ +"Market data in Trade Dangerous format file" = "Podatki trga v Trade Dangerous formatu"; + /* Empire rank. [stats.py] */ "Marquis" = "Marquis"; @@ -332,12 +233,30 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Trade rank. [stats.py] */ "Mostly Penniless" = "Mostly peniless"; +/* No hotkey/shortcut currently defined. [prefs.py] */ +"None" = "Brez"; + /* Combat rank. [stats.py] */ "Novice" = "Novice"; +/* [prefs.py] */ +"OK" = "Potrdi"; + +/* Hotkey/Shortcut setting. [prefs.py] */ +"Only when Elite: Dangerous is the active app" = "Samo ko je Elite:Dangerous aktivna aplikacija "; + +/* Shortcut settings button on OSX. [prefs.py] */ +"Open System Preferences" = "Odpri sistemske nastavitve"; + +/* Tab heading in settings. [prefs.py] */ +"Output" = "Izpis"; + /* Empire rank. [stats.py] */ "Outsider" = "Outsider"; +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Password" = "Geslo"; + /* Explorer rank. [stats.py] */ "Pathfinder" = "Pathfinder"; @@ -353,6 +272,18 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Explorer rank. [stats.py] */ "Pioneer" = "Pioneer"; +/* Hotkey/Shortcut setting. [prefs.py] */ +"Play sound" = "Sproži zvok"; + +/* [prefs.py] */ +"Please choose what data to save" = "Izberite podatke, ki jih želite shraniti"; + +/* Use same text as E:D Launcher's verification dialog. [prefs.py] */ +"Please enter the code into the box below." = "Vpišite kodo v spodnje polje."; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Please log in with your Elite: Dangerous account details" = "Vpišite se s podatki igre Elite:Dangerous"; + /* Federation rank. [stats.py] */ "Post Captain" = "Post Captain"; @@ -362,12 +293,21 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Ranking. [stats.py] */ "Powerplay" = "Igra moči"; +/* [prefs.py] */ +"Preferences" = "Nastavitve"; + /* Empire rank. [stats.py] */ "Prince" = "Prince"; +/* Section heading in settings. [prefs.py] */ +"Privacy" = "Privatno"; + /* CQC rank. [stats.py] */ "Professional" = "Professional"; +/* Privacy setting. [prefs.py] */ +"Pseudo-anonymized ID" = "Psevdo anonimni identifikator"; + /* Explorer rank. [stats.py] */ "Ranger" = "Ranger"; @@ -389,6 +329,12 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Status bar message on launch. [EDMarketConnector.py] */ "Re-start Elite: Dangerous for automatic log entries" = "Poženi ponovno Elite: Dangerous za vklop avtomatičnih vpisov v dnevnik"; +/* Output settings prompt. [prefs.py] */ +"Re-start Elite: Dangerous to use this feature" = "Ponovno poženi Elite: Dangerous za uporabo te funkcije"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"Re-start {APP} to use shortcuts" = "Ponovno poženi {APP} za uporabo bližnjic"; + /* Federation rank. [stats.py] */ "Rear Admiral" = "Read Admiral"; @@ -401,24 +347,57 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* CQC rank. [stats.py] */ "Semi Professional" = "Semi Professional"; +/* [prefs.py] */ +"Send flight log to Elite Dangerous Star Map" = "Pošlji dnevnik leta na EDSM"; + +/* [prefs.py] */ +"Send station data to the Elite Dangerous Data Network" = "Pošlji podatke postaje na EDDN"; + +/* [EDMarketConnector.py] */ +"Sending data to EDDN..." = "Pošiljam podatke na EDDN"; + +/* [EDMarketConnector.py] */ +"Sending data to EDSM..." = "Pošiljam podatke na EDSM"; + /* Empire rank. [stats.py] */ "Serf" = "Serif"; +/* Item in the File menu on Windows. [EDMarketConnector.py] */ +"Settings" = "Nastavitve"; + /* Status dialog subtitle. [stats.py] */ "Ship" = "Ladja"; +/* [prefs.py] */ +"Ship loadout in Coriolis format file" = "Oprema ladje v Coriolis formatu"; + +/* [prefs.py] */ +"Ship loadout in E:D Shipyard format file" = "Oprema ladje v E:D Shipyard formatu"; + /* Status dialog title. [stats.py] */ "Ships" = "Ladje"; /* Empire rank. [stats.py] */ "Squire" = "Squire"; +/* Main window. [EDMarketConnector.py] */ +"Station" = "Postaja"; + +/* [EDMarketConnector.py] */ +"Station doesn't have a market!" = "Postaja nima trga"; + +/* [EDMarketConnector.py] */ +"Station doesn't have anything!" = "Postaja nima ničesar"; + /* Menu item. [EDMarketConnector.py] */ "Status" = "Status"; /* Explorer rank. [stats.py] */ "Surveyor" = "Surveyor"; +/* Main window. [EDMarketConnector.py] */ +"System" = "Sistem"; + /* Ranking. [stats.py] */ "Trade" = "Trgovanje"; @@ -428,6 +407,12 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Trade rank. [stats.py] */ "Tycoon" = "Tycoon"; +/* Update button in main window. [EDMarketConnector.py] */ +"Update" = "Osveži"; + +/* Use same text as E:D Launcher's login dialog. [prefs.py] */ +"Username (Email)" = "Uporabniško ime"; + /* Federation rank. [stats.py] */ "Vice Admiral" = "Vice Admiral"; @@ -439,3 +424,22 @@ Koda za preverjanje istovetnosti{CR}je bila poslana na e-poštni naslov."; /* Federation rank. [stats.py] */ "Warrant Officer" = "Warrant Officer"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"What are you flying?!" = "S čim letiš"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Where are you?!" = "Kje se nahajaš"; + +/* Shouldn't happen. [EDMarketConnector.py] */ +"Who are you?!" = "Kdo si"; + +/* Menu title on OSX. [EDMarketConnector.py] */ +"Window" = "Okno"; + +/* [EDMarketConnector.py] */ +"You're not docked at a station!" = "Nahajš se v postaji!"; + +/* Shortcut settings prompt on OSX. [prefs.py] */ +"{APP} needs permission to use shortcuts" = "{APP} potrebuje dovoljenja za uporabo bližnjic"; + diff --git a/L10n/uk.strings b/L10n/uk.strings index 4246e6c5..d90679ab 100644 --- a/L10n/uk.strings +++ b/L10n/uk.strings @@ -86,7 +86,7 @@ "Duke" = "Герцог"; /* Empire rank. [stats.py] */ -"Earl" = "Ерл"; +"Earl" = "Earl"; /* Menu title. [EDMarketConnector.py] */ "Edit" = "Редагувати"; @@ -163,13 +163,16 @@ /* CQC rank. [stats.py] */ "Hero" = "Герой"; -/* Section heading in settings on Windows. [prefs.py] */ +/* Tab heading in settings on Windows. [prefs.py] */ "Hotkey" = "Горяча клавіша"; /* [prefs.py] */ "How do you want to be identified in the saved data" = "Як вас ідентифікувати в збережених даних"; -/* Section heading in settings on OSX. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ +"Identity" = "Ідентичність"; + +/* Tab heading in settings on OSX. [prefs.py] */ "Keyboard shortcut" = "Сполучення клавіш"; /* Empire rank. [stats.py] */ @@ -244,7 +247,7 @@ /* Shortcut settings button on OSX. [prefs.py] */ "Open System Preferences" = "Відкрити налаштування системи"; -/* Section heading in settings. [prefs.py] */ +/* Tab heading in settings. [prefs.py] */ "Output" = "Вивід"; /* Empire rank. [stats.py] */ diff --git a/myNotebook.py b/myNotebook.py index 1c21d947..65d4595d 100644 --- a/myNotebook.py +++ b/myNotebook.py @@ -37,6 +37,9 @@ class Notebook(ttk.Notebook): self.grid(sticky=tk.NSEW) # Already padded apropriately elif platform == 'win32': style.configure('nb.TFrame', background=PAGEBG) + style.configure('nb.TButton', background=PAGEBG) + style.configure('nb.TCheckbutton', foreground=PAGEFG, background=PAGEBG) + style.configure('nb.TRadiobutton', foreground=PAGEFG, background=PAGEBG) self.grid(padx=10, pady=10, sticky=tk.NSEW) else: self.grid(padx=10, pady=10, sticky=tk.NSEW) @@ -54,6 +57,7 @@ class Frame(platform == 'darwin' and tk.Frame or ttk.Frame): else: ttk.Frame.__init__(self, master, **kw) ttk.Frame(self).grid(pady=5) # top spacer + self.configure(takefocus = 1) # let the frame take focus so that no particular child is focused class Label(tk.Label): @@ -65,3 +69,47 @@ class Label(tk.Label): kw['foreground'] = kw.pop('foreground', ttk.Style().lookup('TLabel', 'foreground')) kw['background'] = kw.pop('background', ttk.Style().lookup('TLabel', 'background')) tk.Label.__init__(self, master, **kw) # Just use tk.Label on all platforms + +class Entry(platform == 'darwin' and tk.Entry or ttk.Entry): + + def __init__(self, master=None, **kw): + if platform == 'darwin': + kw['highlightbackground'] = kw.pop('highlightbackground', PAGEBG) + tk.Entry.__init__(self, master, **kw) + else: + ttk.Entry.__init__(self, master, **kw) + +class Button(platform == 'darwin' and tk.Button or ttk.Button): + + def __init__(self, master=None, **kw): + if platform == 'darwin': + kw['highlightbackground'] = kw.pop('highlightbackground', PAGEBG) + tk.Button.__init__(self, master, **kw) + elif platform == 'win32': + ttk.Button.__init__(self, master, style='nb.TButton', **kw) + else: + ttk.Button.__init__(self, master, **kw) + +class Checkbutton(platform == 'darwin' and tk.Checkbutton or ttk.Checkbutton): + + def __init__(self, master=None, **kw): + if platform == 'darwin': + kw['foreground'] = kw.pop('foreground', PAGEFG) + kw['background'] = kw.pop('background', PAGEBG) + tk.Checkbutton.__init__(self, master, **kw) + elif platform == 'win32': + ttk.Checkbutton.__init__(self, master, style='nb.TCheckbutton', **kw) + else: + ttk.Checkbutton.__init__(self, master, **kw) + +class Radiobutton(platform == 'darwin' and tk.Radiobutton or ttk.Radiobutton): + + def __init__(self, master=None, **kw): + if platform == 'darwin': + kw['foreground'] = kw.pop('foreground', PAGEFG) + kw['background'] = kw.pop('background', PAGEBG) + tk.Radiobutton.__init__(self, master, **kw) + elif platform == 'win32': + ttk.Radiobutton.__init__(self, master, style='nb.TRadiobutton', **kw) + else: + ttk.Radiobutton.__init__(self, master, **kw) diff --git a/prefs.py b/prefs.py index 76507dc0..7b3906d4 100644 --- a/prefs.py +++ b/prefs.py @@ -8,6 +8,7 @@ import Tkinter as tk import ttk import tkFileDialog from ttkHyperlinkLabel import HyperlinkLabel +import myNotebook as nb from config import applongname, config from hotkey import hotkeymgr @@ -71,124 +72,154 @@ class PreferencesDialog(tk.Toplevel): frame = ttk.Frame(self) frame.grid(sticky=tk.NSEW) - credframe = ttk.LabelFrame(frame, text=_('Credentials')) # Section heading in settings - credframe.grid(padx=10, pady=5, sticky=tk.NSEW) + notebook = nb.Notebook(frame) + + PADX = 10 + BUTTONX = 12 # indent Checkbuttons and Radiobuttons + PADY = 2 # close spacing + + credframe = nb.Frame(notebook) credframe.columnconfigure(1, weight=1) - ttk.Label(credframe, text=_('Please log in with your Elite: Dangerous account details')).grid(row=0, columnspan=2, sticky=tk.W) # Use same text as E:D Launcher's login dialog - ttk.Label(credframe, text=_('Username (Email)')).grid(row=1, sticky=tk.W) # Use same text as E:D Launcher's login dialog - ttk.Label(credframe, text=_('Password')).grid(row=2, sticky=tk.W) # Use same text as E:D Launcher's login dialog + nb.Label(credframe, text=_('Credentials')).grid(padx=PADX, sticky=tk.W) # Section heading in settings + ttk.Separator(credframe, orient=tk.HORIZONTAL).grid(columnspan=2, padx=PADX, pady=PADY, sticky=tk.EW) + nb.Label(credframe, text=_('Please log in with your Elite: Dangerous account details')).grid(padx=PADX, columnspan=2, sticky=tk.W) # Use same text as E:D Launcher's login dialog + nb.Label(credframe, text=_('Username (Email)')).grid(row=10, padx=PADX, sticky=tk.W) # Use same text as E:D Launcher's login dialog + nb.Label(credframe, text=_('Password')).grid(row=11, padx=PADX, sticky=tk.W) # Use same text as E:D Launcher's login dialog - self.username = ttk.Entry(credframe) + self.username = nb.Entry(credframe) self.username.insert(0, config.get('username') or '') - self.username.grid(row=1, column=1, sticky=tk.NSEW) + self.username.grid(row=10, column=1, padx=PADX, pady=PADY, sticky=tk.EW) self.username.focus_set() - self.password = ttk.Entry(credframe, show=u'•') + self.password = nb.Entry(credframe, show=u'•') self.password.insert(0, config.get('password') or '') - self.password.grid(row=2, column=1, sticky=tk.NSEW) + self.password.grid(row=11, column=1, padx=PADX, pady=PADY, sticky=tk.EW) - for child in credframe.winfo_children(): - child.grid_configure(padx=5, pady=3) + nb.Label(credframe).grid(sticky=tk.W) # big spacer + nb.Label(credframe, text=_('Privacy')).grid(padx=PADX, sticky=tk.W) # Section heading in settings + ttk.Separator(credframe, orient=tk.HORIZONTAL).grid(columnspan=2, padx=PADX, pady=PADY, sticky=tk.EW) - outframe = ttk.LabelFrame(frame, text=_('Output')) # Section heading in settings - outframe.grid(padx=10, pady=5, sticky=tk.NSEW) + self.out_anon= tk.IntVar(value = config.getint('anonymous') and 1) + nb.Label(credframe, text=_('How do you want to be identified in the saved data')).grid(columnspan=2, padx=PADX, sticky=tk.W) + nb.Radiobutton(credframe, text=_('Cmdr name'), variable=self.out_anon, value=0).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) # EDSM & privacy setting + nb.Radiobutton(credframe, text=_('Pseudo-anonymized ID'), variable=self.out_anon, value=1).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) # Privacy setting - output = config.getint('output') or (config.OUT_EDDN | config.OUT_SHIP_EDS) - ttk.Label(outframe, text=_('Please choose what data to save')).grid(row=0, padx=5, pady=3, sticky=tk.W) + notebook.add(credframe, text=_('Identity')) # Tab heading in settings + + + outframe = nb.Frame(notebook) + outframe.columnconfigure(0, weight=1) + + output = config.getint('output') or (config.OUT_EDDN | config.OUT_SHIP_EDS) # default settings + nb.Label(outframe, text=_('Please choose what data to save')).grid(columnspan=2, padx=PADX, sticky=tk.W) self.out_eddn= tk.IntVar(value = (output & config.OUT_EDDN) and 1) - ttk.Checkbutton(outframe, text=_('Send station data to the Elite Dangerous Data Network'), variable=self.out_eddn, command=self.outvarchanged).grid(row=1, padx=5, sticky=tk.W) + nb.Checkbutton(outframe, text=_('Send station data to the Elite Dangerous Data Network'), variable=self.out_eddn, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) self.out_csv = tk.IntVar(value = (output & config.OUT_CSV ) and 1) - ttk.Checkbutton(outframe, text=_('Market data in CSV format file'), variable=self.out_csv, command=self.outvarchanged).grid(row=2, padx=5, sticky=tk.W) + nb.Checkbutton(outframe, text=_('Market data in CSV format file'), variable=self.out_csv, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) self.out_bpc = tk.IntVar(value = (output & config.OUT_BPC ) and 1) - ttk.Checkbutton(outframe, text=_("Market data in Slopey's BPC format file"), variable=self.out_bpc, command=self.outvarchanged).grid(row=3, padx=5, sticky=tk.W) + nb.Checkbutton(outframe, text=_("Market data in Slopey's BPC format file"), variable=self.out_bpc, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) self.out_td = tk.IntVar(value = (output & config.OUT_TD ) and 1) - ttk.Checkbutton(outframe, text=_('Market data in Trade Dangerous format file'), variable=self.out_td, command=self.outvarchanged).grid(row=4, padx=5, sticky=tk.W) + nb.Checkbutton(outframe, text=_('Market data in Trade Dangerous format file'), variable=self.out_td, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) self.out_ship_eds= tk.IntVar(value = (output & config.OUT_SHIP_EDS) and 1) - ttk.Checkbutton(outframe, text=_('Ship loadout in E:D Shipyard format file'), variable=self.out_ship_eds, command=self.outvarchanged).grid(row=5, padx=5, pady=(5,0), sticky=tk.W) + nb.Checkbutton(outframe, text=_('Ship loadout in E:D Shipyard format file'), variable=self.out_ship_eds, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, pady=(5,0), sticky=tk.W) self.out_ship_coriolis= tk.IntVar(value = (output & config.OUT_SHIP_CORIOLIS) and 1) - ttk.Checkbutton(outframe, text=_('Ship loadout in Coriolis format file'), variable=self.out_ship_coriolis, command=self.outvarchanged).grid(row=6, padx=5, sticky=tk.W) - self.out_log_edsm = tk.IntVar(value = (output & config.OUT_LOG_EDSM) and 1) - ttk.Checkbutton(outframe, text=_('Send flight log to Elite Dangerous Star Map'), variable=self.out_log_edsm, command=self.outvarchanged).grid(row=7, padx=5, pady=(5,0), sticky=tk.W) + nb.Checkbutton(outframe, text=_('Ship loadout in Coriolis format file'), variable=self.out_ship_coriolis, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) self.out_log_file = tk.IntVar(value = (output & config.OUT_LOG_FILE) and 1) - ttk.Checkbutton(outframe, text=_('Flight log in CSV format file'), variable=self.out_log_file, command=self.outvarchanged).grid(row=8, padx=5, sticky=tk.W) + nb.Checkbutton(outframe, text=_('Flight log in CSV format file'), variable=self.out_log_file, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, pady=(5,0), sticky=tk.W) self.out_log_auto = tk.IntVar(value = monitor.logdir and (output & config.OUT_LOG_AUTO) and 1 or 0) if monitor.logdir: - self.out_log_auto_button = ttk.Checkbutton(outframe, text=_('Automatically make a log entry on entering a system'), variable=self.out_log_auto, command=self.outvarchanged) # Output setting - self.out_log_auto_button.grid(row=9, padx=5, sticky=tk.W) - self.out_log_auto_text = ttk.Label(outframe) + self.out_log_auto_button = nb.Checkbutton(outframe, text=_('Automatically make a log entry on entering a system'), variable=self.out_log_auto, command=self.outvarchanged) # Output setting + self.out_log_auto_button.grid(columnspan=2, padx=BUTTONX, sticky=tk.W) + self.out_log_auto_text = nb.Label(outframe, foreground='firebrick') + self.out_log_auto_text.grid(columnspan=2, padx=(30,0), sticky=tk.W) - self.dir_label = ttk.Label(frame, text=_('File location'), foreground=style.lookup('TLabelframe.Label', 'foreground')) # Section heading in settings - dirframe = ttk.LabelFrame(frame, labelwidget = self.dir_label) - dirframe.grid(padx=10, pady=5, sticky=tk.NSEW) - dirframe.columnconfigure(0, weight=1) - - self.outdir = ttk.Entry(dirframe, takefocus=False) + self.outdir_label = nb.Label(outframe, text=_('File location')) # Section heading in settings + self.outdir_label.grid(padx=BUTTONX, sticky=tk.W) + self.outdir = nb.Entry(outframe, takefocus=False) if config.get('outdir').startswith(expanduser('~')): self.outdir.insert(0, '~' + config.get('outdir')[len(expanduser('~')):]) else: self.outdir.insert(0, config.get('outdir')) - self.outdir.grid(row=0, padx=5, pady=5, sticky=tk.NSEW) - self.outbutton = ttk.Button(dirframe, text=(platform=='darwin' and _('Change...') or # Folder selection button on OSX + self.outdir.grid(row=20, padx=(PADX,0), sticky=tk.EW) + self.outbutton = nb.Button(outframe, text=(platform=='darwin' and _('Change...') or # Folder selection button on OSX _('Browse...')), command=self.outbrowse) # Folder selection button on Windows - self.outbutton.grid(row=0, column=1, padx=5, pady=5, sticky=tk.NSEW) + self.outbutton.grid(row=20, column=1, padx=PADX) + nb.Frame(outframe).grid(pady=5) # bottom spacer - self.edsm_label = HyperlinkLabel(frame, text=_('Elite Dangerous Star Map credentials'), disabledforeground=style.lookup('TLabelframe.Label', 'foreground'), url='http://www.edsm.net/settings/api', underline=True) # Section heading in settings - edsmframe = ttk.LabelFrame(frame, labelwidget = self.edsm_label) - edsmframe.grid(padx=10, pady=5, sticky=tk.NSEW) + notebook.add(outframe, text=_('Output')) # Tab heading in settings + + + edsmframe = nb.Frame(notebook) edsmframe.columnconfigure(1, weight=1) - ttk.Label(edsmframe, text=_('Cmdr name')).grid(row=0, sticky=tk.W) # EDSM & privacy setting - self.edsm_cmdr = ttk.Entry(edsmframe) + HyperlinkLabel(edsmframe, text='Elite Dangerous Star Map', background=nb.Label().cget('background'), url='http://www.edsm.net/', underline=True).grid(columnspan=2, padx=PADX, sticky=tk.W) # Don't translate + ttk.Separator(edsmframe, orient=tk.HORIZONTAL).grid(columnspan=2, padx=PADX, pady=PADY, sticky=tk.EW) + self.out_log_edsm = tk.IntVar(value = (output & config.OUT_LOG_EDSM) and 1) + nb.Checkbutton(edsmframe, text=_('Send flight log to Elite Dangerous Star Map'), variable=self.out_log_edsm, command=self.outvarchanged).grid(columnspan=2, padx=BUTTONX, sticky=tk.W) + if monitor.logdir: + self.edsm_log_auto_button = nb.Checkbutton(edsmframe, text=_('Automatically make a log entry on entering a system'), variable=self.out_log_auto, command=self.outvarchanged) # Output setting + self.edsm_log_auto_button.grid(columnspan=2, padx=BUTTONX, sticky=tk.W) + self.edsm_log_auto_text = nb.Label(edsmframe, foreground='firebrick') + self.edsm_log_auto_text.grid(columnspan=2, padx=(30,0), sticky=tk.W) + + self.edsm_label = HyperlinkLabel(edsmframe, text=_('Elite Dangerous Star Map credentials'), background=nb.Label().cget('background'), url='http://www.edsm.net/settings/api', underline=True) # Section heading in settings + self.edsm_label.grid(columnspan=2, padx=PADX, sticky=tk.W) + + self.edsm_cmdr_label = nb.Label(edsmframe, text=_('Cmdr name')) # EDSM & privacy setting + self.edsm_cmdr_label.grid(row=10, padx=PADX, sticky=tk.W) + self.edsm_cmdr = nb.Entry(edsmframe) self.edsm_cmdr.insert(0, config.get('edsm_cmdrname') or '') - self.edsm_cmdr.grid(row=0, column=1, sticky=tk.NSEW) + self.edsm_cmdr.grid(row=10, column=1, padx=PADX, pady=PADY, sticky=tk.EW) - ttk.Label(edsmframe, text=_('API Key')).grid(row=1, sticky=tk.W) # EDSM setting - self.edsm_apikey = ttk.Entry(edsmframe) + self.edsm_apikey_label = nb.Label(edsmframe, text=_('API Key')) # EDSM setting + self.edsm_apikey_label.grid(row=11, padx=PADX, sticky=tk.W) + self.edsm_apikey = nb.Entry(edsmframe) self.edsm_apikey.insert(0, config.get('edsm_apikey') or '') - self.edsm_apikey.grid(row=1, column=1, sticky=tk.NSEW) + self.edsm_apikey.grid(row=11, column=1, padx=PADX, pady=PADY, sticky=tk.EW) + + notebook.add(edsmframe, text='EDSM') # Not translated - for child in edsmframe.winfo_children(): - child.grid_configure(padx=5, pady=3) if platform in ['darwin','win32']: self.hotkey_code = config.getint('hotkey_code') self.hotkey_mods = config.getint('hotkey_mods') self.hotkey_only = tk.IntVar(value = not config.getint('hotkey_always')) self.hotkey_play = tk.IntVar(value = not config.getint('hotkey_mute')) - hotkeyframe = ttk.LabelFrame(frame, text=platform == 'darwin' and _('Keyboard shortcut') or # Section heading in settings on OSX - _('Hotkey')) # Section heading in settings on Windows - hotkeyframe.grid(padx=10, pady=5, sticky=tk.NSEW) + hotkeyframe = nb.Frame(notebook) hotkeyframe.columnconfigure(1, weight=1) + nb.Label(hotkeyframe).grid(sticky=tk.W) # big spacer if platform == 'darwin' and not was_accessible_at_launch: if AXIsProcessTrusted(): - ttk.Label(hotkeyframe, text = _('Re-start {APP} to use shortcuts').format(APP=applongname)).grid(row=0, padx=5, pady=5, sticky=tk.NSEW) # Shortcut settings prompt on OSX + nb.Label(hotkeyframe, text = _('Re-start {APP} to use shortcuts').format(APP=applongname), foreground='firebrick').grid(padx=PADX, sticky=tk.NSEW) # Shortcut settings prompt on OSX else: - ttk.Label(hotkeyframe, text = _('{APP} needs permission to use shortcuts').format(APP=applongname)).grid(row=0, columnspan=2, padx=5, pady=5, sticky=tk.W) # Shortcut settings prompt on OSX - ttk.Button(hotkeyframe, text = _('Open System Preferences'), command = self.enableshortcuts).grid(row=1, column=1, padx=5, pady=(0,5), sticky=tk.E) # Shortcut settings button on OSX + nb.Label(hotkeyframe, text = _('{APP} needs permission to use shortcuts').format(APP=applongname), foreground='firebrick').grid(columnspan=2, padx=PADX, sticky=tk.W) # Shortcut settings prompt on OSX + nb.Button(hotkeyframe, text = _('Open System Preferences'), command = self.enableshortcuts).grid(column=1, padx=PADX, sticky=tk.E) # Shortcut settings button on OSX else: - self.hotkey_text = ttk.Entry(hotkeyframe, width = (platform == 'darwin' and 20 or 30), justify=tk.CENTER) + self.hotkey_text = nb.Entry(hotkeyframe, width = (platform == 'darwin' and 20 or 30), justify=tk.CENTER) self.hotkey_text.insert(0, self.hotkey_code and hotkeymgr.display(self.hotkey_code, self.hotkey_mods) or _('None')) # No hotkey/shortcut currently defined self.hotkey_text.bind('', self.hotkeystart) self.hotkey_text.bind('', self.hotkeyend) - self.hotkey_text.grid(row=0, padx=5, pady=5, sticky=tk.NSEW) - self.hotkey_only_btn = ttk.Checkbutton(hotkeyframe, text=_('Only when Elite: Dangerous is the active app'), variable=self.hotkey_only, state = self.hotkey_code and tk.NORMAL or tk.DISABLED) # Hotkey/Shortcut setting - self.hotkey_only_btn.grid(row=1, columnspan=2, padx=5, sticky=tk.W) - self.hotkey_play_btn = ttk.Checkbutton(hotkeyframe, text=_('Play sound'), variable=self.hotkey_play, state = self.hotkey_code and tk.NORMAL or tk.DISABLED) # Hotkey/Shortcut setting - self.hotkey_play_btn.grid(row=2, columnspan=2, padx=5, sticky=tk.W) + nb.Label(hotkeyframe, text = platform=='darwin' and + _('Keyboard shortcut') or # Tab heading in settings on OSX + _('Hotkey') # Tab heading in settings on Windows + ).grid(row=10, column=0, padx=PADX, sticky=tk.NSEW) + self.hotkey_text.grid(row=10, column=1, padx=PADX, sticky=tk.NSEW) + nb.Label(hotkeyframe).grid(sticky=tk.W) # big spacer + self.hotkey_only_btn = nb.Checkbutton(hotkeyframe, text=_('Only when Elite: Dangerous is the active app'), variable=self.hotkey_only, state = self.hotkey_code and tk.NORMAL or tk.DISABLED) # Hotkey/Shortcut setting + self.hotkey_only_btn.grid(columnspan=2, padx=PADX, sticky=tk.W) + self.hotkey_play_btn = nb.Checkbutton(hotkeyframe, text=_('Play sound'), variable=self.hotkey_play, state = self.hotkey_code and tk.NORMAL or tk.DISABLED) # Hotkey/Shortcut setting + self.hotkey_play_btn.grid(columnspan=2, padx=PADX, sticky=tk.W) - privacyframe = ttk.LabelFrame(frame, text=_('Privacy')) # Section heading in settings - privacyframe.grid(padx=10, pady=5, sticky=tk.NSEW) + notebook.add(hotkeyframe, text = platform=='darwin' and + _('Keyboard shortcut') or # Tab heading in settings on OSX + _('Hotkey')) # Tab heading in settings on Windows - self.out_anon= tk.IntVar(value = config.getint('anonymous') and 1) - ttk.Label(privacyframe, text=_('How do you want to be identified in the saved data')).grid(row=0, padx=5, sticky=tk.W) - ttk.Radiobutton(privacyframe, text=_('Cmdr name'), variable=self.out_anon, value=0).grid(padx=5, sticky=tk.W) # Privacy setting - ttk.Radiobutton(privacyframe, text=_('Pseudo-anonymized ID'), variable=self.out_anon, value=1).grid(padx=5, sticky=tk.W) # Privacy setting if platform=='darwin': self.protocol("WM_DELETE_WINDOW", self.apply) # close button applies changes else: buttonframe = ttk.Frame(frame) - buttonframe.grid(padx=10, pady=5, sticky=tk.NSEW) + buttonframe.grid(padx=PADX, pady=PADX, sticky=tk.NSEW) buttonframe.columnconfigure(0, weight=1) ttk.Label(buttonframe).grid(row=0, column=0) # spacer button = ttk.Button(buttonframe, text=_('OK'), command=self.apply) @@ -209,28 +240,37 @@ class PreferencesDialog(tk.Toplevel): def outvarchanged(self): local = self.out_bpc.get() or self.out_td.get() or self.out_csv.get() or self.out_ship_eds.get() or self.out_ship_coriolis.get() or self.out_log_file.get() - self.dir_label['state'] = local and tk.NORMAL or tk.DISABLED - self.outbutton['state'] = local and tk.NORMAL or tk.DISABLED - self.outdir['state'] = local and 'readonly' or tk.DISABLED + self.outdir_label['state'] = local and tk.NORMAL or tk.DISABLED + self.outbutton['state'] = local and tk.NORMAL or tk.DISABLED + self.outdir['state'] = local and 'readonly' or tk.DISABLED + + edsm_state = self.out_log_edsm.get() and tk.NORMAL or tk.DISABLED + self.edsm_label['state'] = edsm_state + self.edsm_cmdr_label['state'] = edsm_state + self.edsm_apikey_label['state'] = edsm_state + self.edsm_cmdr['state'] = edsm_state + self.edsm_apikey['state'] = edsm_state if monitor.logdir: - log = self.out_log_edsm.get() or self.out_log_file.get() + log = self.out_log_file.get() self.out_log_auto_button['state'] = log and tk.NORMAL or tk.DISABLED self.out_log_auto_text['text'] = '' if log and self.out_log_auto.get(): if not monitor.enable_logging(): self.out_log_auto_text['text'] = "Can't enable automatic logging!" # Shouldn't happen - don't translate - self.out_log_auto_text.grid(row=10, padx=(25,5), sticky=tk.EW) elif monitor.restart_required(): self.out_log_auto_text['text'] = _('Re-start Elite: Dangerous to use this feature') # Output settings prompt - self.out_log_auto_text.grid(row=10, padx=(25,5), sticky=tk.EW) + self.edsm_log_auto_button['state'] = edsm_state + + self.edsm_log_auto_text['text'] = '' + if self.out_log_edsm.get() and self.out_log_auto.get(): + if not monitor.enable_logging(): + self.edsm_log_auto_text['text'] = "Can't enable automatic logging!" # Shouldn't happen - don't translate + elif monitor.restart_required(): + self.edsm_log_auto_text['text'] = _('Re-start Elite: Dangerous to use this feature') # Output settings prompt - edsm = self.out_log_edsm.get() - self.edsm_label['state'] = edsm and tk.NORMAL or tk.DISABLED - self.edsm_cmdr['state'] = edsm and tk.NORMAL or tk.DISABLED - self.edsm_apikey['state'] = edsm and tk.NORMAL or tk.DISABLED def outbrowse(self): if platform != 'win32': @@ -312,7 +352,16 @@ class PreferencesDialog(tk.Toplevel): config.set('username', self.username.get().strip()) config.set('password', self.password.get().strip()) - config.set('output', (self.out_eddn.get() and config.OUT_EDDN) + (self.out_bpc.get() and config.OUT_BPC) + (self.out_td.get() and config.OUT_TD) + (self.out_csv.get() and config.OUT_CSV) + (self.out_ship_eds.get() and config.OUT_SHIP_EDS) + (self.out_log_file.get() and config.OUT_LOG_FILE) + (self.out_ship_coriolis.get() and config.OUT_SHIP_CORIOLIS) + (self.out_log_edsm.get() and config.OUT_LOG_EDSM) + (self.out_log_auto.get() and config.OUT_LOG_AUTO)) + config.set('output', + (self.out_eddn.get() and config.OUT_EDDN) + + (self.out_bpc.get() and config.OUT_BPC) + + (self.out_td.get() and config.OUT_TD) + + (self.out_csv.get() and config.OUT_CSV) + + (self.out_ship_eds.get() and config.OUT_SHIP_EDS) + + (self.out_log_file.get() and config.OUT_LOG_FILE) + + (self.out_ship_coriolis.get() and config.OUT_SHIP_CORIOLIS) + + (self.out_log_edsm.get() and config.OUT_LOG_EDSM) + + (self.out_log_auto.get() and config.OUT_LOG_AUTO)) config.set('outdir', expanduser(self.outdir.get())) config.set('edsm_cmdrname', self.edsm_cmdr.get().strip()) diff --git a/ttkHyperlinkLabel.py b/ttkHyperlinkLabel.py index 3ba18c4a..24c5b6ba 100644 --- a/ttkHyperlinkLabel.py +++ b/ttkHyperlinkLabel.py @@ -13,16 +13,21 @@ import tkFont # underline: If True/False the text is always/never underlined. If None (the default) the text is underlined only on hover. # popup_copy: Whether right-click on non-empty label text pops up a context menu with a 'Copy' option. Defaults to no context menu. If popup_copy is a function it will be called with the current label text and should a boolean. # -class HyperlinkLabel(ttk.Label, object): +class HyperlinkLabel(platform == 'darwin' and tk.Label or ttk.Label, object): def __init__(self, master=None, **kw): self.url = kw.pop('url') self.popup_copy = kw.pop('popup_copy', False) self.underline = kw.pop('underline', None) # override ttk.Label's underline self.foreground = kw.get('foreground') or 'blue' - self.disabledforeground = kw.pop('disabledforeground', None) or 'SystemWindowText' + self.disabledforeground = kw.pop('disabledforeground', ttk.Style().lookup('TLabel', 'foreground', ('disabled',))) - ttk.Label.__init__(self, master, **kw) + if platform == 'darwin': + # Use tk.Label 'cos can't set ttk.Label background - http://www.tkdocs.com/tutorial/styles.html#whydifficult + kw['background'] = kw.pop('background', 'systemDialogBackgroundActive') + tk.Label.__init__(self, master, **kw) + else: + ttk.Label.__init__(self, master, **kw) if self.url: self.bind('', self._click)