From 4397acc6fb7367d6c1838a77b65cc55e5900c8b1 Mon Sep 17 00:00:00 2001 From: Athanasius Date: Tue, 24 Aug 2021 14:06:12 +0100 Subject: [PATCH] CAPI: Status text when aborting due to CQC (& en.template updated) --- EDMarketConnector.py | 2 + L10n/en.template | 269 ++++++++++++++++++++++--------------------- 2 files changed, 138 insertions(+), 133 deletions(-) diff --git a/EDMarketConnector.py b/EDMarketConnector.py index 1ab27c33..ed92bbcf 100755 --- a/EDMarketConnector.py +++ b/EDMarketConnector.py @@ -909,6 +909,8 @@ class AppWindow(object): or not monitor.system or monitor.mode == 'CQC' ): logger.trace_if('capi.worker', 'CQC detected, aborting query') + # LANG: CAPI queries aborted because player is in CQC (Arena) + self.status['text'] = _('CQC detected, aborting CAPI query') return # In CQC or on crew - do nothing if companion.session.state == companion.Session.STATE_AUTH: diff --git a/L10n/en.template b/L10n/en.template index f62c5428..2221e523 100644 --- a/L10n/en.template +++ b/L10n/en.template @@ -1,172 +1,175 @@ /* Language name */ "!Language" = "English"; -/* companion.py: Frontier CAPI didn't respond; In files: companion.py:171; */ +/* companion.py: Frontier CAPI didn't respond; In files: companion.py:212; */ "Error: Frontier CAPI didn't respond" = "Error: Frontier CAPI didn't respond"; -/* companion.py: Frontier CAPI data doesn't agree with latest Journal game location; In files: companion.py:190; */ +/* companion.py: Frontier CAPI data doesn't agree with latest Journal game location; In files: companion.py:231; */ "Error: Frontier server is lagging" = "Error: Frontier server is lagging"; -/* companion.py: Commander is docked at an EDO settlement, got out and back in, we forgot the station; In files: companion.py:205; */ +/* companion.py: Commander is docked at an EDO settlement, got out and back in, we forgot the station; In files: companion.py:247; */ "Docked but unknown station: EDO Settlement?" = "Docked but unknown station: EDO Settlement?"; -/* companion.py: Generic "something went wrong with Frontier Auth" error; In files: companion.py:214; */ +/* companion.py: Generic "something went wrong with Frontier Auth" error; In files: companion.py:257; */ "Error: Invalid Credentials" = "Error: Invalid Credentials"; -/* companion.py: Frontier CAPI authorisation not for currently game-active commander; In files: companion.py:230; */ +/* companion.py: Frontier CAPI authorisation not for currently game-active commander; In files: companion.py:273; */ "Error: Wrong Cmdr" = "Error: Wrong Cmdr"; -/* companion.py: Generic error prefix - following text is from Frontier auth service; In files: companion.py:341; companion.py:422; */ +/* companion.py: Generic error prefix - following text is from Frontier auth service; In files: companion.py:397; companion.py:482; */ "Error" = "Error"; -/* companion.py: Frontier auth, no 'usr' section in returned data; companion.py: Frontier auth, no 'customer_id' in 'usr' section in returned data; In files: companion.py:380; companion.py:385; */ +/* companion.py: Frontier auth, no 'usr' section in returned data; companion.py: Frontier auth, no 'customer_id' in 'usr' section in returned data; In files: companion.py:440; companion.py:445; */ "Error: Couldn't check token customer_id" = "Error: Couldn't check token customer_id"; -/* companion.py: Frontier auth customer_id doesn't match game session FID; In files: companion.py:391; */ +/* companion.py: Frontier auth customer_id doesn't match game session FID; In files: companion.py:451; */ "Error: customer_id doesn't match!" = "Error: customer_id doesn't match!"; -/* companion.py: Failed to get Access Token from Frontier Auth service; In files: companion.py:413; */ +/* companion.py: Failed to get Access Token from Frontier Auth service; In files: companion.py:473; */ "Error: unable to get token" = "Error: unable to get token"; -/* companion.py: Frontier CAPI data retrieval failed; In files: companion.py:575; */ +/* companion.py: Frontier CAPI data retrieval failed; In files: companion.py:774; */ "Frontier CAPI query failure" = "Frontier CAPI query failure"; -/* companion.py: Frontier CAPI data retrieval failed with 5XX code; In files: companion.py:591; */ +/* companion.py: Frontier CAPI data retrieval failed with 5XX code; In files: companion.py:786; */ "Frontier CAPI server error" = "Frontier CAPI server error"; -/* EDMarketConnector.py: Update button in main window; In files: EDMarketConnector.py:424; EDMarketConnector.py:718; EDMarketConnector.py:1302; */ +/* EDMarketConnector.py: Update button in main window; In files: EDMarketConnector.py:485; EDMarketConnector.py:780; EDMarketConnector.py:1440; */ "Update" = "Update"; -/* EDMarketConnector.py: Appearance - Label for checkbox to select if application always on top; prefs.py: Appearance - Label for checkbox to select if application always on top; In files: EDMarketConnector.py:507; prefs.py:843; */ +/* EDMarketConnector.py: Appearance - Label for checkbox to select if application always on top; prefs.py: Appearance - Label for checkbox to select if application always on top; In files: EDMarketConnector.py:568; prefs.py:866; */ "Always on top" = "Always on top"; -/* EDMarketConnector.py: Unknown suit; In files: EDMarketConnector.py:636; */ +/* EDMarketConnector.py: Unknown suit; In files: EDMarketConnector.py:698; */ "Unknown" = "Unknown"; -/* EDMarketConnector.py: ED Journal file location appears to be in error; In files: EDMarketConnector.py:705; */ +/* EDMarketConnector.py: ED Journal file location appears to be in error; In files: EDMarketConnector.py:767; */ "Error: Check E:D journal file location" = "Error: Check E:D journal file location"; -/* EDMarketConnector.py: Label for commander name in main window; edsm.py: Game Commander name label in EDSM settings; stats.py: Cmdr stats; theme.py: Label for commander name in main window; In files: EDMarketConnector.py:712; edsm.py:219; stats.py:50; theme.py:227; */ +/* EDMarketConnector.py: Label for commander name in main window; edsm.py: Game Commander name label in EDSM settings; stats.py: Cmdr stats; theme.py: Label for commander name in main window; In files: EDMarketConnector.py:774; edsm.py:257; stats.py:50; theme.py:227; */ "Cmdr" = "Cmdr"; -/* EDMarketConnector.py: 'Ship' or multi-crew role label in main window, as applicable; EDMarketConnector.py: Multicrew role label in main window; In files: EDMarketConnector.py:714; EDMarketConnector.py:1072; */ +/* EDMarketConnector.py: 'Ship' or multi-crew role label in main window, as applicable; EDMarketConnector.py: Multicrew role label in main window; In files: EDMarketConnector.py:776; EDMarketConnector.py:1199; */ "Role" = "Role"; -/* EDMarketConnector.py: 'Ship' or multi-crew role label in main window, as applicable; EDMarketConnector.py: 'Ship' label in main UI; stats.py: Status dialog subtitle; In files: EDMarketConnector.py:714; EDMarketConnector.py:1082; EDMarketConnector.py:1105; stats.py:363; */ +/* EDMarketConnector.py: 'Ship' or multi-crew role label in main window, as applicable; EDMarketConnector.py: 'Ship' label in main UI; stats.py: Status dialog subtitle; In files: EDMarketConnector.py:776; EDMarketConnector.py:1209; EDMarketConnector.py:1232; stats.py:365; */ "Ship" = "Ship"; -/* EDMarketConnector.py: Label for 'Suit' line in main UI; In files: EDMarketConnector.py:715; */ +/* EDMarketConnector.py: Label for 'Suit' line in main UI; In files: EDMarketConnector.py:777; */ "Suit" = "Suit"; -/* EDMarketConnector.py: Label for 'System' line in main UI; prefs.py: Configuration - Label for selection of 'System' provider website; stats.py: Main window; In files: EDMarketConnector.py:716; prefs.py:605; stats.py:365; */ +/* EDMarketConnector.py: Label for 'System' line in main UI; prefs.py: Configuration - Label for selection of 'System' provider website; stats.py: Main window; In files: EDMarketConnector.py:778; prefs.py:606; stats.py:367; */ "System" = "System"; -/* EDMarketConnector.py: Label for 'Station' line in main UI; prefs.py: Configuration - Label for selection of 'Station' provider website; prefs.py: Appearance - Example 'Normal' text; stats.py: Status dialog subtitle; In files: EDMarketConnector.py:717; prefs.py:623; prefs.py:738; stats.py:366; */ +/* EDMarketConnector.py: Label for 'Station' line in main UI; prefs.py: Configuration - Label for selection of 'Station' provider website; prefs.py: Appearance - Example 'Normal' text; stats.py: Status dialog subtitle; In files: EDMarketConnector.py:779; prefs.py:624; prefs.py:761; stats.py:368; */ "Station" = "Station"; -/* EDMarketConnector.py: 'File' menu title on OSX; EDMarketConnector.py: 'File' menu title; EDMarketConnector.py: 'File' menu; In files: EDMarketConnector.py:720; EDMarketConnector.py:735; EDMarketConnector.py:738; EDMarketConnector.py:1791; */ +/* EDMarketConnector.py: 'File' menu title on OSX; EDMarketConnector.py: 'File' menu title; EDMarketConnector.py: 'File' menu; In files: EDMarketConnector.py:782; EDMarketConnector.py:797; EDMarketConnector.py:800; EDMarketConnector.py:1917; */ "File" = "File"; -/* EDMarketConnector.py: 'Edit' menu title on OSX; EDMarketConnector.py: 'Edit' menu title; In files: EDMarketConnector.py:721; EDMarketConnector.py:736; EDMarketConnector.py:739; */ +/* EDMarketConnector.py: 'Edit' menu title on OSX; EDMarketConnector.py: 'Edit' menu title; In files: EDMarketConnector.py:783; EDMarketConnector.py:798; EDMarketConnector.py:801; */ "Edit" = "Edit"; -/* EDMarketConnector.py: 'View' menu title on OSX; In files: EDMarketConnector.py:722; */ +/* EDMarketConnector.py: 'View' menu title on OSX; In files: EDMarketConnector.py:784; */ "View" = "View"; -/* EDMarketConnector.py: 'Window' menu title on OSX; In files: EDMarketConnector.py:723; */ +/* EDMarketConnector.py: 'Window' menu title on OSX; In files: EDMarketConnector.py:785; */ "Window" = "Window"; -/* EDMarketConnector.py: Help' menu title on OSX; EDMarketConnector.py: 'Help' menu title; In files: EDMarketConnector.py:724; EDMarketConnector.py:737; EDMarketConnector.py:740; */ +/* EDMarketConnector.py: Help' menu title on OSX; EDMarketConnector.py: 'Help' menu title; In files: EDMarketConnector.py:786; EDMarketConnector.py:799; EDMarketConnector.py:802; */ "Help" = "Help"; -/* EDMarketConnector.py: App menu entry on OSX; EDMarketConnector.py: Help > About App; In files: EDMarketConnector.py:727; EDMarketConnector.py:753; EDMarketConnector.py:1347; */ +/* EDMarketConnector.py: App menu entry on OSX; EDMarketConnector.py: Help > About App; In files: EDMarketConnector.py:789; EDMarketConnector.py:815; EDMarketConnector.py:1486; */ "About {APP}" = "About {APP}"; -/* EDMarketConnector.py: Help > Check for Updates...; In files: EDMarketConnector.py:729; EDMarketConnector.py:752; */ +/* EDMarketConnector.py: Help > Check for Updates...; In files: EDMarketConnector.py:791; EDMarketConnector.py:814; */ "Check for Updates..." = "Check for Updates..."; -/* EDMarketConnector.py: File > Save Raw Data...; In files: EDMarketConnector.py:730; EDMarketConnector.py:744; */ +/* EDMarketConnector.py: File > Save Raw Data...; In files: EDMarketConnector.py:792; EDMarketConnector.py:806; */ "Save Raw Data..." = "Save Raw Data..."; -/* EDMarketConnector.py: File > Status; stats.py: Status dialog title; In files: EDMarketConnector.py:731; EDMarketConnector.py:743; stats.py:360; */ +/* EDMarketConnector.py: File > Status; stats.py: Status dialog title; In files: EDMarketConnector.py:793; EDMarketConnector.py:805; stats.py:362; */ "Status" = "Status"; -/* EDMarketConnector.py: Help > Privacy Policy; In files: EDMarketConnector.py:732; EDMarketConnector.py:750; */ +/* EDMarketConnector.py: Help > Privacy Policy; In files: EDMarketConnector.py:794; EDMarketConnector.py:812; */ "Privacy Policy" = "Privacy Policy"; -/* EDMarketConnector.py: Help > Release Notes; In files: EDMarketConnector.py:733; EDMarketConnector.py:751; EDMarketConnector.py:1381; */ +/* EDMarketConnector.py: Help > Release Notes; In files: EDMarketConnector.py:795; EDMarketConnector.py:813; EDMarketConnector.py:1520; */ "Release Notes" = "Release Notes"; -/* EDMarketConnector.py: File > Settings; prefs.py: File > Settings (macOS); In files: EDMarketConnector.py:745; EDMarketConnector.py:1792; prefs.py:254; */ +/* EDMarketConnector.py: File > Settings; prefs.py: File > Settings (macOS); In files: EDMarketConnector.py:807; EDMarketConnector.py:1918; prefs.py:254; */ "Settings" = "Settings"; -/* EDMarketConnector.py: File > Exit; In files: EDMarketConnector.py:746; */ +/* EDMarketConnector.py: File > Exit; In files: EDMarketConnector.py:808; */ "Exit" = "Exit"; -/* EDMarketConnector.py: Help > Documentation; In files: EDMarketConnector.py:749; */ +/* EDMarketConnector.py: Help > Documentation; In files: EDMarketConnector.py:811; */ "Documentation" = "Documentation"; -/* EDMarketConnector.py: Label for 'Copy' as in 'Copy and Paste'; ttkHyperlinkLabel.py: Label for 'Copy' as in 'Copy and Paste'; In files: EDMarketConnector.py:756; ttkHyperlinkLabel.py:42; */ +/* EDMarketConnector.py: Label for 'Copy' as in 'Copy and Paste'; ttkHyperlinkLabel.py: Label for 'Copy' as in 'Copy and Paste'; In files: EDMarketConnector.py:818; ttkHyperlinkLabel.py:42; */ "Copy" = "Copy"; -/* EDMarketConnector.py: Status - Attempting to get a Frontier Auth Access Token; In files: EDMarketConnector.py:762; */ +/* EDMarketConnector.py: Status - Attempting to get a Frontier Auth Access Token; In files: EDMarketConnector.py:824; */ "Logging in..." = "Logging in..."; -/* EDMarketConnector.py: Successfully authenticated with the Frontier website; In files: EDMarketConnector.py:778; EDMarketConnector.py:1215; */ +/* EDMarketConnector.py: Successfully authenticated with the Frontier website; In files: EDMarketConnector.py:840; EDMarketConnector.py:1351; */ "Authentication successful" = "Authentication successful"; -/* EDMarketConnector.py: Player is not docked at a station, when we expect them to be; In files: EDMarketConnector.py:809; */ +/* EDMarketConnector.py: Player is not docked at a station, when we expect them to be; In files: EDMarketConnector.py:871; */ "You're not docked at a station!" = "You're not docked at a station!"; -/* EDMarketConnector.py: Status - Either no market or no modules data for station from Frontier CAPI; In files: EDMarketConnector.py:817; */ +/* EDMarketConnector.py: Status - Either no market or no modules data for station from Frontier CAPI; In files: EDMarketConnector.py:879; */ "Station doesn't have anything!" = "Station doesn't have anything!"; -/* EDMarketConnector.py: Status - No station market data from Frontier CAPI; In files: EDMarketConnector.py:822; */ +/* EDMarketConnector.py: Status - No station market data from Frontier CAPI; In files: EDMarketConnector.py:884; */ "Station doesn't have a market!" = "Station doesn't have a market!"; -/* EDMarketConnector.py: Status - Attempting to retrieve data from Frontier CAPI; EDMarketConnector.py: Status - Attempting to retrieve data from Frontier CAPI to save to file; stats.py: Fetching data from Frontier CAPI in order to display on File > Status; In files: EDMarketConnector.py:867; EDMarketConnector.py:1428; stats.py:279; */ +/* EDMarketConnector.py: CAPI queries aborted because player is in CQC (Arena); In files: EDMarketConnector.py:913; */ +"CQC detected, aborting CAPI query" = "CQC detected, aborting CAPI query"; + +/* EDMarketConnector.py: Status - Attempting to retrieve data from Frontier CAPI; stats.py: Fetching data from Frontier CAPI in order to display on File > Status; In files: EDMarketConnector.py:934; stats.py:280; */ "Fetching data..." = "Fetching data..."; -/* EDMarketConnector.py: No data was returned for the commander from the Frontier CAPI; In files: EDMarketConnector.py:880; */ +/* EDMarketConnector.py: No data was returned for the commander from the Frontier CAPI; In files: EDMarketConnector.py:973; */ "CAPI: No commander data returned" = "CAPI: No commander data returned"; -/* EDMarketConnector.py: We didn't have the commander name when we should have; stats.py: Unknown commander; In files: EDMarketConnector.py:884; stats.py:297; */ +/* EDMarketConnector.py: We didn't have the commander name when we should have; stats.py: Unknown commander; In files: EDMarketConnector.py:977; stats.py:299; */ "Who are you?!" = "Who are you?!"; -/* EDMarketConnector.py: We don't know where the commander is, when we should; stats.py: Unknown location; In files: EDMarketConnector.py:890; stats.py:307; */ +/* EDMarketConnector.py: We don't know where the commander is, when we should; stats.py: Unknown location; In files: EDMarketConnector.py:983; stats.py:309; */ "Where are you?!" = "Where are you?!"; -/* EDMarketConnector.py: We don't know what ship the commander is in, when we should; stats.py: Unknown ship; In files: EDMarketConnector.py:894; stats.py:312; */ +/* EDMarketConnector.py: We don't know what ship the commander is in, when we should; stats.py: Unknown ship; In files: EDMarketConnector.py:990; stats.py:314; */ "What are you flying?!" = "What are you flying?!"; -/* EDMarketConnector.py: Time when we last obtained Frontier CAPI data; In files: EDMarketConnector.py:1026; */ +/* EDMarketConnector.py: Time when we last obtained Frontier CAPI data; In files: EDMarketConnector.py:1145; */ "Last updated at %H:%M:%S" = "Last updated at %H:%M:%S"; -/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1052; */ +/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1174; */ "Fighter" = "Fighter"; -/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1053; */ +/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1175; */ "Gunner" = "Gunner"; -/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1054; */ +/* EDMarketConnector.py: Multicrew role; In files: EDMarketConnector.py:1176; */ "Helm" = "Helm"; -/* EDMarketConnector.py: Cooldown on 'Update' button; In files: EDMarketConnector.py:1298; */ +/* EDMarketConnector.py: Cooldown on 'Update' button; In files: EDMarketConnector.py:1434; */ "cooldown {SS}s" = "cooldown {SS}s"; -/* EDMarketConnector.py: Generic 'OK' button label; prefs.py: 'OK' button on Settings/Preferences window; In files: EDMarketConnector.py:1407; prefs.py:304; */ +/* EDMarketConnector.py: Generic 'OK' button label; prefs.py: 'OK' button on Settings/Preferences window; In files: EDMarketConnector.py:1546; prefs.py:305; */ "OK" = "OK"; -/* EDMarketConnector.py: The application is shutting down; In files: EDMarketConnector.py:1489; */ +/* EDMarketConnector.py: The application is shutting down; In files: EDMarketConnector.py:1611; */ "Shutting down..." = "Shutting down..."; -/* EDMarketConnector.py: Popup-text about 'active' plugins without Python 3.x support; In files: EDMarketConnector.py:1780:1786; */ +/* EDMarketConnector.py: Popup-text about 'active' plugins without Python 3.x support; In files: EDMarketConnector.py:1906:1912; */ "One or more of your enabled plugins do not yet have support for Python 3.x. Please see the list on the '{PLUGINS}' tab of '{FILE}' > '{SETTINGS}'. You should check if there is an updated version available, else alert the developer that they need to update the code for Python 3.x.\r\n\r\nYou can disable a plugin by renaming its folder to have '{DISABLED}' on the end of the name." = "One or more of your enabled plugins do not yet have support for Python 3.x. Please see the list on the '{PLUGINS}' tab of '{FILE}' > '{SETTINGS}'. You should check if there is an updated version available, else alert the developer that they need to update the code for Python 3.x.\r\n\r\nYou can disable a plugin by renaming its folder to have '{DISABLED}' on the end of the name."; -/* EDMarketConnector.py: Settings > Plugins tab; prefs.py: Label on Settings > Plugins tab; In files: EDMarketConnector.py:1790; prefs.py:953; */ +/* EDMarketConnector.py: Settings > Plugins tab; prefs.py: Label on Settings > Plugins tab; In files: EDMarketConnector.py:1916; prefs.py:976; */ "Plugins" = "Plugins"; -/* EDMarketConnector.py: Popup window title for list of 'enabled' plugins that don't work with Python 3.x; In files: EDMarketConnector.py:1801; */ +/* EDMarketConnector.py: Popup window title for list of 'enabled' plugins that don't work with Python 3.x; In files: EDMarketConnector.py:1927; */ "EDMC: Plugins Without Python 3.x Support" = "EDMC: Plugins Without Python 3.x Support"; /* journal_lock.py: Title text on popup when Journal directory already locked; In files: journal_lock.py:206; */ @@ -181,7 +184,7 @@ /* journal_lock.py: Generic 'Ignore' button label; In files: journal_lock.py:232; */ "Ignore" = "Ignore"; -/* l10n.py: The system default language choice in Settings > Appearance; prefs.py: Settings > Configuration - Label on 'reset journal files location to default' button; prefs.py: The system default language choice in Settings > Appearance; prefs.py: Label for 'Default' theme radio button; In files: l10n.py:194; prefs.py:466; prefs.py:678; prefs.py:711; */ +/* l10n.py: The system default language choice in Settings > Appearance; prefs.py: Settings > Configuration - Label on 'reset journal files location to default' button; prefs.py: The system default language choice in Settings > Appearance; prefs.py: Label for 'Default' theme radio button; In files: l10n.py:194; prefs.py:467; prefs.py:701; prefs.py:734; */ "Default" = "Default"; /* coriolis.py: 'Auto' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - auto; In files: coriolis.py:52; coriolis.py:55; coriolis.py:101; coriolis.py:117; coriolis.py:123; */ @@ -214,193 +217,205 @@ /* eddb.py: Journal Processing disabled due to an active killswitch; In files: eddb.py:100; */ "EDDB Journal processing disabled. See Log." = "EDDB Journal processing disabled. See Log."; -/* eddn.py: Status text shown while attempting to send data; In files: eddn.py:215; eddn.py:619; eddn.py:969; */ +/* eddn.py: Status text shown while attempting to send data; In files: eddn.py:225; eddn.py:630; eddn.py:982; */ "Sending data to EDDN..." = "Sending data to EDDN..."; -/* eddn.py: Error while trying to send data to EDDN; In files: eddn.py:264; eddn.py:907; eddn.py:942; eddn.py:981; */ +/* eddn.py: Error while trying to send data to EDDN; In files: eddn.py:274; eddn.py:920; eddn.py:955; eddn.py:994; */ "Error: Can't connect to EDDN" = "Error: Can't connect to EDDN"; -/* eddn.py: EDDN has banned this version of our client; In files: eddn.py:282; */ +/* eddn.py: EDDN has banned this version of our client; In files: eddn.py:292; */ "EDDN Error: EDMC is too old for EDDN. Please update." = "EDDN Error: EDMC is too old for EDDN. Please update."; -/* eddn.py: EDDN returned an error that indicates something about what we sent it was wrong; In files: eddn.py:288; */ +/* eddn.py: EDDN returned an error that indicates something about what we sent it was wrong; In files: eddn.py:298; */ "EDDN Error: Validation Failed (EDMC Too Old?). See Log" = "EDDN Error: Validation Failed (EDMC Too Old?). See Log"; -/* eddn.py: EDDN returned some sort of HTTP error, one we didn't expect. {STATUS} contains a number; In files: eddn.py:293; */ +/* eddn.py: EDDN returned some sort of HTTP error, one we didn't expect. {STATUS} contains a number; In files: eddn.py:303; */ "EDDN Error: Returned {STATUS} status code" = "EDDN Error: Returned {STATUS} status code"; -/* eddn.py: Enable EDDN support for station data checkbox label; In files: eddn.py:699; */ +/* eddn.py: Enable EDDN support for station data checkbox label; In files: eddn.py:710; */ "Send station data to the Elite Dangerous Data Network" = "Send station data to the Elite Dangerous Data Network"; -/* eddn.py: Enable EDDN support for system and other scan data checkbox label; In files: eddn.py:710; */ +/* eddn.py: Enable EDDN support for system and other scan data checkbox label; In files: eddn.py:721; */ "Send system and scan data to the Elite Dangerous Data Network" = "Send system and scan data to the Elite Dangerous Data Network"; -/* eddn.py: EDDN delay sending until docked option is on, this message notes that a send was skipped due to this; In files: eddn.py:721; */ +/* eddn.py: EDDN delay sending until docked option is on, this message notes that a send was skipped due to this; In files: eddn.py:732; */ "Delay sending until docked" = "Delay sending until docked"; -/* eddn.py: Killswitch disabled EDDN; In files: eddn.py:785; */ +/* eddn.py: Killswitch disabled EDDN; In files: eddn.py:796; */ "EDDN journal handler disabled. See Log." = "EDDN journal handler disabled. See Log."; -/* edsm.py: Settings>EDSM - Label on checkbox for 'send data'; In files: edsm.py:198; */ +/* edsm.py: Settings>EDSM - Label on checkbox for 'send data'; In files: edsm.py:236; */ "Send flight log and Cmdr status to EDSM" = "Send flight log and Cmdr status to EDSM"; -/* edsm.py: Settings>EDSM - Label on header/URL to EDSM API key page; In files: edsm.py:208; */ +/* edsm.py: Settings>EDSM - Label on header/URL to EDSM API key page; In files: edsm.py:246; */ "Elite Dangerous Star Map credentials" = "Elite Dangerous Star Map credentials"; -/* edsm.py: EDSM Commander name label in EDSM settings; In files: edsm.py:227; */ +/* edsm.py: EDSM Commander name label in EDSM settings; In files: edsm.py:265; */ "Commander Name" = "Commander Name"; -/* edsm.py: EDSM API key label; inara.py: Inara API key label; In files: edsm.py:235; inara.py:237; */ +/* edsm.py: EDSM API key label; inara.py: Inara API key label; In files: edsm.py:273; inara.py:243; */ "API Key" = "API Key"; -/* edsm.py: We have no data on the current commander; prefs.py: No hotkey/shortcut set; stats.py: No rank; In files: edsm.py:262; prefs.py:518; prefs.py:1156; prefs.py:1189; stats.py:117; stats.py:136; stats.py:155; stats.py:172; */ +/* edsm.py: We have no data on the current commander; prefs.py: No hotkey/shortcut set; stats.py: No rank; In files: edsm.py:300; prefs.py:519; prefs.py:1173; prefs.py:1206; stats.py:117; stats.py:136; stats.py:155; stats.py:172; */ "None" = "None"; -/* edsm.py: EDSM plugin - Journal handling disabled by killswitch; In files: edsm.py:358; */ +/* edsm.py: EDSM plugin - Journal handling disabled by killswitch; In files: edsm.py:401; */ "EDSM Handler disabled. See Log." = "EDSM Handler disabled. See Log."; -/* edsm.py: EDSM Plugin - Error message from EDSM API; In files: edsm.py:640; edsm.py:745; */ +/* edsm.py: EDSM Plugin - Error message from EDSM API; In files: edsm.py:746; edsm.py:874; */ "Error: EDSM {MSG}" = "Error: EDSM {MSG}"; -/* edsm.py: EDSM Plugin - Error connecting to EDSM API; In files: edsm.py:677; edsm.py:740; */ +/* edsm.py: EDSM Plugin - Error connecting to EDSM API; In files: edsm.py:783; edsm.py:869; */ "Error: Can't connect to EDSM" = "Error: Can't connect to EDSM"; -/* inara.py: Checkbox to enable INARA API Usage; In files: inara.py:216; */ +/* inara.py: Checkbox to enable INARA API Usage; In files: inara.py:222; */ "Send flight log and Cmdr status to Inara" = "Send flight log and Cmdr status to Inara"; -/* inara.py: Text for INARA API keys link ( goes to https://inara.cz/settings-api ); In files: inara.py:228; */ +/* inara.py: Text for INARA API keys link ( goes to https://inara.cz/settings-api ); In files: inara.py:234; */ "Inara credentials" = "Inara credentials"; -/* inara.py: INARA support disabled via killswitch; In files: inara.py:335; */ +/* inara.py: INARA support disabled via killswitch; In files: inara.py:341; */ "Inara disabled. See Log." = "Inara disabled. See Log."; -/* inara.py: INARA API returned some kind of error (error message will be contained in {MSG}); In files: inara.py:1549; inara.py:1562; */ +/* inara.py: INARA API returned some kind of error (error message will be contained in {MSG}); In files: inara.py:1580; inara.py:1593; */ "Error: Inara {MSG}" = "Error: Inara {MSG}"; /* prefs.py: File > Preferences menu entry for macOS; In files: prefs.py:250; */ "Preferences" = "Preferences"; -/* prefs.py: Settings > Output - choosing what data to save to files; In files: prefs.py:346; */ +/* prefs.py: Settings > Output - choosing what data to save to files; In files: prefs.py:347; */ "Please choose what data to save" = "Please choose what data to save"; -/* prefs.py: Settings > Output option; In files: prefs.py:352; */ +/* prefs.py: Settings > Output option; In files: prefs.py:353; */ "Market data in CSV format file" = "Market data in CSV format file"; -/* prefs.py: Settings > Output option; In files: prefs.py:361; */ +/* prefs.py: Settings > Output option; In files: prefs.py:362; */ "Market data in Trade Dangerous format file" = "Market data in Trade Dangerous format file"; -/* prefs.py: Settings > Output option; In files: prefs.py:371; */ +/* prefs.py: Settings > Output option; In files: prefs.py:372; */ "Ship loadout" = "Ship loadout"; -/* prefs.py: Settings > Output option; In files: prefs.py:381; */ +/* prefs.py: Settings > Output option; In files: prefs.py:382; */ "Automatically update on docking" = "Automatically update on docking"; -/* prefs.py: Settings > Output - Label for "where files are located"; In files: prefs.py:390; prefs.py:409; */ +/* prefs.py: Settings > Output - Label for "where files are located"; In files: prefs.py:391; prefs.py:410; */ "File location" = "File location"; -/* prefs.py: macOS Preferences - files location selection button; In files: prefs.py:398; prefs.py:448; */ +/* prefs.py: macOS Preferences - files location selection button; In files: prefs.py:399; prefs.py:449; */ "Change..." = "Change..."; -/* prefs.py: NOT-macOS Settings - files location selection button; prefs.py: NOT-macOS Setting - files location selection button; In files: prefs.py:401; prefs.py:451; */ +/* prefs.py: NOT-macOS Settings - files location selection button; prefs.py: NOT-macOS Setting - files location selection button; In files: prefs.py:402; prefs.py:452; */ "Browse..." = "Browse..."; -/* prefs.py: Label for 'Output' Settings/Preferences tab; In files: prefs.py:416; */ +/* prefs.py: Label for 'Output' Settings/Preferences tab; In files: prefs.py:417; */ "Output" = "Output"; -/* prefs.py: Settings > Configuration - Label for Journal files location; In files: prefs.py:442; prefs.py:457; */ +/* prefs.py: Settings > Configuration - Label for Journal files location; In files: prefs.py:443; prefs.py:458; */ "E:D journal file location" = "E:D journal file location"; -/* prefs.py: Hotkey/Shortcut settings prompt on OSX; In files: prefs.py:482; */ +/* prefs.py: Hotkey/Shortcut settings prompt on OSX; In files: prefs.py:483; */ "Keyboard shortcut" = "Keyboard shortcut"; -/* prefs.py: Hotkey/Shortcut settings prompt on Windows; In files: prefs.py:484; */ +/* prefs.py: Hotkey/Shortcut settings prompt on Windows; In files: prefs.py:485; */ "Hotkey" = "Hotkey"; -/* prefs.py: macOS Preferences > Configuration - restart the app message; In files: prefs.py:493; */ +/* prefs.py: macOS Preferences > Configuration - restart the app message; In files: prefs.py:494; */ "Re-start {APP} to use shortcuts" = "Re-start {APP} to use shortcuts"; -/* prefs.py: macOS - Configuration - need to grant the app permission for keyboard shortcuts; In files: prefs.py:502; */ +/* prefs.py: macOS - Configuration - need to grant the app permission for keyboard shortcuts; In files: prefs.py:503; */ "{APP} needs permission to use shortcuts" = "{APP} needs permission to use shortcuts"; -/* prefs.py: Shortcut settings button on OSX; In files: prefs.py:507; */ +/* prefs.py: Shortcut settings button on OSX; In files: prefs.py:508; */ "Open System Preferences" = "Open System Preferences"; -/* prefs.py: Configuration - Act on hotkey only when ED is in foreground; In files: prefs.py:529; */ +/* prefs.py: Configuration - Act on hotkey only when ED is in foreground; In files: prefs.py:530; */ "Only when Elite: Dangerous is the active app" = "Only when Elite: Dangerous is the active app"; -/* prefs.py: Configuration - play sound when hotkey used; In files: prefs.py:540; */ +/* prefs.py: Configuration - play sound when hotkey used; In files: prefs.py:541; */ "Play sound" = "Play sound"; -/* prefs.py: Configuration - disable checks for app updates when in-game; In files: prefs.py:555; */ +/* prefs.py: Configuration - disable checks for app updates when in-game; In files: prefs.py:556; */ "Disable Automatic Application Updates Check when in-game" = "Disable Automatic Application Updates Check when in-game"; -/* prefs.py: Label for preferred shipyard, system and station 'providers'; In files: prefs.py:568; */ +/* prefs.py: Label for preferred shipyard, system and station 'providers'; In files: prefs.py:569; */ "Preferred websites" = "Preferred websites"; -/* prefs.py: Label for Shipyard provider selection; In files: prefs.py:579; */ +/* prefs.py: Label for Shipyard provider selection; In files: prefs.py:580; */ "Shipyard" = "Shipyard"; -/* prefs.py: Label for checkbox to utilise alternative Coriolis URL method; In files: prefs.py:591; */ +/* prefs.py: Label for checkbox to utilise alternative Coriolis URL method; In files: prefs.py:592; */ "Use alternate URL method" = "Use alternate URL method"; -/* prefs.py: Configuration - Label for selection of Log Level; In files: prefs.py:644; */ +/* prefs.py: Configuration - Label for selection of Log Level; In files: prefs.py:645; */ "Log Level" = "Log Level"; -/* prefs.py: Label for 'Configuration' tab in Settings; In files: prefs.py:672; */ +/* prefs.py: Label for 'Configuration' tab in Settings; In files: prefs.py:673; */ "Configuration" = "Configuration"; -/* prefs.py: Label for Settings > Appeareance > selection of 'normal' text colour; In files: prefs.py:685; */ +/* prefs.py: UI elements privacy section header in privacy tab of preferences; In files: prefs.py:682; */ +"Main UI privacy options" = "Main UI privacy options"; + +/* prefs.py: Hide private group owner name from UI checkbox; In files: prefs.py:687; */ +"Hide private group name in UI" = "Hide private group name in UI"; + +/* prefs.py: Hide multicrew captain name from main UI checkbox; In files: prefs.py:691; */ +"Hide multi-crew captain name" = "Hide multi-crew captain name"; + +/* prefs.py: Preferences privacy tab title; In files: prefs.py:695; */ +"Privacy" = "Privacy"; + +/* prefs.py: Label for Settings > Appeareance > selection of 'normal' text colour; In files: prefs.py:708; */ "Normal text" = "Normal text"; -/* prefs.py: Label for Settings > Appeareance > selection of 'highlightes' text colour; In files: prefs.py:687; */ +/* prefs.py: Label for Settings > Appeareance > selection of 'highlightes' text colour; In files: prefs.py:710; */ "Highlighted text" = "Highlighted text"; -/* prefs.py: Appearance - Label for selection of application display language; In files: prefs.py:696; */ +/* prefs.py: Appearance - Label for selection of application display language; In files: prefs.py:719; */ "Language" = "Language"; -/* prefs.py: Label for Settings > Appearance > Theme selection; In files: prefs.py:706; */ +/* prefs.py: Label for Settings > Appearance > Theme selection; In files: prefs.py:729; */ "Theme" = "Theme"; -/* prefs.py: Label for 'Dark' theme radio button; In files: prefs.py:717; */ +/* prefs.py: Label for 'Dark' theme radio button; In files: prefs.py:740; */ "Dark" = "Dark"; -/* prefs.py: Label for 'Transparent' theme radio button; In files: prefs.py:724; */ +/* prefs.py: Label for 'Transparent' theme radio button; In files: prefs.py:747; */ "Transparent" = "Transparent"; -/* prefs.py: Appearance - Label for selection of UI scaling; In files: prefs.py:770; */ +/* prefs.py: Appearance - Label for selection of UI scaling; In files: prefs.py:793; */ "UI Scale Percentage" = "UI Scale Percentage"; -/* prefs.py: Appearance - Help/hint text for UI scaling selection; In files: prefs.py:791; */ +/* prefs.py: Appearance - Help/hint text for UI scaling selection; In files: prefs.py:814; */ "100 means Default{CR}Restart Required for{CR}changes to take effect!" = "100 means Default{CR}Restart Required for{CR}changes to take effect!"; -/* prefs.py: Appearance - Label for selection of main window transparency; In files: prefs.py:801; */ +/* prefs.py: Appearance - Label for selection of main window transparency; In files: prefs.py:824; */ "Main window transparency" = "Main window transparency"; -/* prefs.py: Appearance - Help/hint text for Main window transparency selection; In files: prefs.py:821:824; */ +/* prefs.py: Appearance - Help/hint text for Main window transparency selection; In files: prefs.py:844:847; */ "100 means fully opaque.{CR}Window is updated in real time" = "100 means fully opaque.{CR}Window is updated in real time"; -/* prefs.py: Label for Settings > Appearance tab; In files: prefs.py:860; */ +/* prefs.py: Label for Settings > Appearance tab; In files: prefs.py:883; */ "Appearance" = "Appearance"; -/* prefs.py: Label for location of third-party plugins folder; In files: prefs.py:875; */ +/* prefs.py: Label for location of third-party plugins folder; In files: prefs.py:898; */ "Plugins folder" = "Plugins folder"; -/* prefs.py: Label on button used to open a filesystem folder; In files: prefs.py:882; */ +/* prefs.py: Label on button used to open a filesystem folder; In files: prefs.py:905; */ "Open" = "Open"; -/* prefs.py: Tip/label about how to disable plugins; In files: prefs.py:890; */ +/* prefs.py: Tip/label about how to disable plugins; In files: prefs.py:913; */ "Tip: You can disable a plugin by{CR}adding '{EXT}' to its folder name" = "Tip: You can disable a plugin by{CR}adding '{EXT}' to its folder name"; -/* prefs.py: Label on list of enabled plugins; In files: prefs.py:901; */ +/* prefs.py: Label on list of enabled plugins; In files: prefs.py:924; */ "Enabled Plugins" = "Enabled Plugins"; -/* prefs.py: Plugins - Label for list of 'enabled' plugins that don't work with Python 3.x; In files: prefs.py:921; */ +/* prefs.py: Plugins - Label for list of 'enabled' plugins that don't work with Python 3.x; In files: prefs.py:944; */ "Plugins Without Python 3.x Support:" = "Plugins Without Python 3.x Support:"; -/* prefs.py: Plugins - Label on URL to documentation about migrating plugins from Python 2.7; In files: prefs.py:929; */ +/* prefs.py: Plugins - Label on URL to documentation about migrating plugins from Python 2.7; In files: prefs.py:952; */ "Information on migrating plugins" = "Information on migrating plugins"; -/* prefs.py: Lable on list of user-disabled plugins; In files: prefs.py:944; */ +/* prefs.py: Lable on list of user-disabled plugins; In files: prefs.py:967; */ "Disabled Plugins" = "Disabled Plugins"; /* stats.py: Cmdr stats; In files: stats.py:51; */ @@ -625,20 +640,8 @@ /* stats.py: Power rank; In files: stats.py:160; */ "Rating 5" = "Rating 5"; -/* stats.py: Status dialog subtitle - CR value of ship; In files: stats.py:367; */ +/* stats.py: Status dialog subtitle - CR value of ship; In files: stats.py:369; */ "Value" = "Value"; -/* stats.py: Status dialog title; In files: stats.py:376; */ +/* stats.py: Status dialog title; In files: stats.py:378; */ "Ships" = "Ships"; - -/* prefs.py: UI elements privacy section header in privacy tab of preferences; In files: prefs.py:682; */ -"Main UI privacy options" = "Main UI privacy options"; - -/* prefs.py: Hide private group owner name from UI checkbox; In files: prefs.py:687; */ -"Hide private group name in UI" = "Hide private group name in UI"; - -/* prefs.py: Hide multicrew captain name from main UI checkbox; In files: prefs.py:691; */ -"Hide multi-crew captain name" = "Hide multi-crew captain name"; - -/* prefs.py: Preferences privacy tab title; In files: prefs.py:695; */ -"Privacy" = "Privacy";