1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-16 09:10:35 +03:00

Merge pull request #1414 from A-UNDERSCORE-D/fix/1369/Status-window-missing-Odyssey-ranks-of-Mercenary-and-Exobiology

Add Odyssey ranks to status page
This commit is contained in:
Athanasius 2022-01-25 17:26:50 +00:00 committed by GitHub
commit 5b80ffbb90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 386 additions and 274 deletions

View File

@ -1,38 +1,125 @@
/* Language name */
"!Language" = "English";
/* companion.py: Frontier CAPI didn't respond; In files: companion.py:220; */
"Error: Frontier CAPI didn't respond" = "Error: Frontier CAPI didn't respond";
/* eddn.py: Status text shown while attempting to send data; In files: eddn.py:212; eddn.py:584; eddn.py:925; load.py:215; load.py:593; load.py:940; eddn.py:252; eddn.py:699; eddn.py:1439; */
"Sending data to EDDN..." = "Sending data to EDDN...";
/* companion.py: Frontier CAPI data doesn't agree with latest Journal game location; In files: companion.py:239; */
"Error: Frontier server is lagging" = "Error: Frontier server is lagging";
/* eddn.py: Error while trying to send data to EDDN; In files: eddn.py:257; eddn.py:864; eddn.py:898; eddn.py:937; load.py:260; load.py:878; load.py:913; load.py:952; eddn.py:316; eddn.py:1375; eddn.py:1410; eddn.py:1451; */
"Error: Can't connect to EDDN" = "Error: Can't connect to EDDN";
/* companion.py: Commander is docked at an EDO settlement, got out and back in, we forgot the station; In files: companion.py:255; */
"Docked but unknown station: EDO Settlement?" = "Docked but unknown station: EDO Settlement?";
/* eddn.py: Enable EDDN support for station data checkbox label; In files: eddn.py:663; load.py:672; eddn.py:1122; */
"Send station data to the Elite Dangerous Data Network" = "Send station data to the Elite Dangerous Data Network";
/* companion.py: Generic "something went wrong with Frontier Auth" error; In files: companion.py:265; */
"Error: Invalid Credentials" = "Error: Invalid Credentials";
/* eddn.py: Enable EDDN support for system and other scan data checkbox label; In files: eddn.py:673; load.py:682; eddn.py:1133; */
"Send system and scan data to the Elite Dangerous Data Network" = "Send system and scan data to the Elite Dangerous Data Network";
/* companion.py: Frontier CAPI authorisation not for currently game-active commander; In files: companion.py:290; */
"Error: Wrong Cmdr" = "Error: Wrong Cmdr";
/* 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:683; load.py:692; eddn.py:1144; */
"Delay sending until docked" = "Delay sending until docked";
/* companion.py: Generic error prefix - following text is from Frontier auth service; In files: companion.py:416; companion.py:501; */
"Error" = "Error";
/* edsm.py: Settings>EDSM - Label on checkbox for 'send data'; In files: edsm.py:197; load.py:197; edsm.py:237; */
"Send flight log and Cmdr status to EDSM" = "Send flight log and Cmdr status to EDSM";
/* 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:459; companion.py:464; */
"Error: Couldn't check token customer_id" = "Error: Couldn't check token customer_id";
/* edsm.py: Settings>EDSM - Label on header/URL to EDSM API key page; In files: edsm.py:206; load.py:206; edsm.py:247; */
"Elite Dangerous Star Map credentials" = "Elite Dangerous Star Map credentials";
/* companion.py: Frontier auth customer_id doesn't match game session FID; In files: companion.py:470; */
"Error: customer_id doesn't match!" = "Error: customer_id doesn't match!";
/* edsm.py: Game Commander name label in EDSM settings; theme.py: Label for commander name in main window; EDMarketConnector.py: Label for commander name in main window; stats.py: Cmdr stats; In files: edsm.py:216; load.py:216; edsm.py:258; theme.py:227; EDMarketConnector.py:822; stats.py:59; */
"Cmdr" = "Cmdr";
/* companion.py: Failed to get Access Token from Frontier Auth service; In files: companion.py:492; */
"Error: unable to get token" = "Error: unable to get token";
/* edsm.py: EDSM Commander name label in EDSM settings; In files: edsm.py:223; load.py:223; edsm.py:266; */
"Commander Name" = "Commander Name";
/* companion.py: Frontier CAPI returned 418, meaning down for maintenance; In files: companion.py:799; */
"Frontier CAPI down for maintenance" = "Frontier CAPI down for maintenance";
/* edsm.py: EDSM API key label; inara.py: Inara API key label; In files: edsm.py:230; inara.py:233; load.py:230; load.py:233; edsm.py:274; inara.py:243; */
"API Key" = "API Key";
/* companion.py: Frontier CAPI data retrieval failed; In files: companion.py:811; */
"Frontier CAPI query failure" = "Frontier CAPI query failure";
/* edsm.py: We have no data on the current commander; prefs.py: No hotkey/shortcut set; stats.py: No rank; In files: edsm.py:256; load.py:256; edsm.py:301; prefs.py:520; prefs.py:1174; prefs.py:1207; stats.py:156; stats.py:175; stats.py:194; stats.py:211; */
"None" = "None";
/* edsm.py: EDSM Plugin - Error message from EDSM API; In files: edsm.py:622; edsm.py:724; load.py:627; load.py:729; edsm.py:747; edsm.py:875; */
"Error: EDSM {MSG}" = "Error: EDSM {MSG}";
/* edsm.py: EDSM Plugin - Error connecting to EDSM API; In files: edsm.py:658; edsm.py:720; load.py:663; load.py:725; edsm.py:784; edsm.py:870; */
"Error: Can't connect to EDSM" = "Error: Can't connect to EDSM";
/* inara.py: Checkbox to enable INARA API Usage; In files: inara.py:215; load.py:215; 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:225; load.py:225; inara.py:234; */
"Inara credentials" = "Inara credentials";
/* inara.py: INARA API returned some kind of error (error message will be contained in {MSG}); In files: inara.py:1316; inara.py:1328; load.py:1319; load.py:1331; inara.py:1587; inara.py:1600; */
"Error: Inara {MSG}" = "Error: Inara {MSG}";
/* coriolis.py: 'Auto' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - auto; In files: load.py:51; load.py:51; load.py:88; load.py:104; load.py:110; coriolis.py:52; coriolis.py:55; coriolis.py:101; coriolis.py:117; coriolis.py:123; */
"Auto" = "Auto";
/* coriolis.py: 'Normal' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - normal; In files: load.py:51; load.py:88; load.py:102; coriolis.py:53; coriolis.py:99; coriolis.py:115; */
"Normal" = "Normal";
/* coriolis.py: 'Beta' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - beta; In files: load.py:51; load.py:88; load.py:103; coriolis.py:54; coriolis.py:100; coriolis.py:116; */
"Beta" = "Beta";
/* coriolis.py: Settings>Coriolis: Help/hint for changing coriolis URLs; In files: load.py:64:66; coriolis.py:69:71; */
"Set the URL to use with coriolis.io ship loadouts. Note that this MUST end with '/import?data='" = "Set the URL to use with coriolis.io ship loadouts. Note that this MUST end with '/import?data='";
/* coriolis.py: Settings>Coriolis: Label for 'NOT alpha/beta game version' URL; In files: load.py:69; coriolis.py:75; */
"Normal URL" = "Normal URL";
/* coriolis.py: Generic 'Reset' button label; In files: load.py:71; load.py:78; coriolis.py:78; coriolis.py:87; */
"Reset" = "Reset";
/* coriolis.py: Settings>Coriolis: Label for 'alpha/beta game version' URL; In files: load.py:76; coriolis.py:84; */
"Beta URL" = "Beta URL";
/* In files: load.py:83; */
"Override Beta/Normal selection" = "Override Beta/Normal selection";
/* coriolis.py: Settings>Coriolis - invalid override mode found; In files: load.py:120; coriolis.py:134; */
"Invalid Coriolis override mode!" = "Invalid Coriolis override mode!";
/* eddb.py: Journal Processing disabled due to an active killswitch; In files: load.py:99; eddb.py:100; */
"EDDB Journal processing disabled. See Log." = "EDDB Journal processing disabled. See Log.";
/* eddn.py: Killswitch disabled EDDN; In files: load.py:756; eddn.py:1233; */
"EDDN journal handler disabled. See Log." = "EDDN journal handler disabled. See Log.";
/* edsm.py: EDSM plugin - Journal handling disabled by killswitch; In files: load.py:346; edsm.py:402; */
"EDSM Handler disabled. See Log." = "EDSM Handler disabled. See Log.";
/* inara.py: INARA support disabled via killswitch; In files: load.py:331; inara.py:341; */
"Inara disabled. See Log." = "Inara disabled. See Log.";
/* EDMarketConnector.py: No data was returned for the commander from the Frontier CAPI; In files: test_ast_stuff.py:2; EDMarketConnector.py:1047; */
"CAPI: No commander data returned" = "CAPI: No commander data returned";
/* coriolis.py: Settings>Coriolis: Label for selection of using Normal, Beta or 'auto' Coriolis URL; In files: coriolis.py:94; */
"Override Beta/Normal Selection" = "Override Beta/Normal Selection";
/* eddn.py: EDDN has banned this version of our client; In files: eddn.py:334; */
"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:340; */
"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:345; */
"EDDN Error: Returned {STATUS} status code" = "EDDN Error: Returned {STATUS} status code";
/* eddn.py: No 'Route' found in NavRoute.json file; In files: eddn.py:971; */
"No 'Route' array in NavRoute.json contents" = "No 'Route' array in NavRoute.json contents";
/* journal_lock.py: Title text on popup when Journal directory already locked; In files: journal_lock.py:206; */
"Journal directory already locked" = "Journal directory already locked";
/* journal_lock.py: Text for when newly selected Journal directory is already locked; In files: journal_lock.py:223:224; */
"The new Journal Directory location is already locked.{CR}You can either attempt to resolve this and then Retry, or choose to Ignore this." = "The new Journal Directory location is already locked.{CR}You can either attempt to resolve this and then Retry, or choose to Ignore this.";
/* journal_lock.py: Generic 'Retry' button label; In files: journal_lock.py:228; */
"Retry" = "Retry";
/* journal_lock.py: Generic 'Ignore' button label; In files: journal_lock.py:232; */
"Ignore" = "Ignore";
/* ttkHyperlinkLabel.py: Label for 'Copy' as in 'Copy and Paste'; EDMarketConnector.py: Label for 'Copy' as in 'Copy and Paste'; In files: ttkHyperlinkLabel.py:42; EDMarketConnector.py:866; */
"Copy" = "Copy";
/* EDMarketConnector.py: Update button in main window; In files: EDMarketConnector.py:529; EDMarketConnector.py:828; EDMarketConnector.py:1520; */
"Update" = "Update";
@ -46,25 +133,22 @@
/* EDMarketConnector.py: ED Journal file location appears to be in error; In files: EDMarketConnector.py:815; */
"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:822; edsm.py:257; stats.py:52; 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:824; EDMarketConnector.py:1279; */
"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:824; EDMarketConnector.py:1289; EDMarketConnector.py:1312; stats.py:367; */
/* 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:824; EDMarketConnector.py:1289; EDMarketConnector.py:1312; stats.py:409; */
"Ship" = "Ship";
/* EDMarketConnector.py: Label for 'Suit' line in main UI; In files: EDMarketConnector.py:825; */
"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:826; prefs.py:607; stats.py:369; */
/* 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:826; prefs.py:607; stats.py:411; */
"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:827; prefs.py:625; prefs.py:762; stats.py:370; */
/* 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:827; prefs.py:625; prefs.py:762; stats.py:412; */
"Station" = "Station";
/* EDMarketConnector.py: 'File' menu title on OSX; EDMarketConnector.py: 'File' menu title; EDMarketConnector.py: 'File' menu; In files: EDMarketConnector.py:830; EDMarketConnector.py:845; EDMarketConnector.py:848; EDMarketConnector.py:2015; */
/* EDMarketConnector.py: 'File' menu title on OSX; EDMarketConnector.py: 'File' menu title; EDMarketConnector.py: 'File' menu; In files: EDMarketConnector.py:830; EDMarketConnector.py:845; EDMarketConnector.py:848; EDMarketConnector.py:2019; */
"File" = "File";
/* EDMarketConnector.py: 'Edit' menu title on OSX; EDMarketConnector.py: 'Edit' menu title; In files: EDMarketConnector.py:831; EDMarketConnector.py:846; EDMarketConnector.py:849; */
@ -88,7 +172,7 @@
/* EDMarketConnector.py: File > Save Raw Data...; In files: EDMarketConnector.py:840; EDMarketConnector.py:854; */
"Save Raw Data..." = "Save Raw Data...";
/* EDMarketConnector.py: File > Status; stats.py: Status dialog title; In files: EDMarketConnector.py:841; EDMarketConnector.py:853; stats.py:364; */
/* EDMarketConnector.py: File > Status; stats.py: Status dialog title; In files: EDMarketConnector.py:841; EDMarketConnector.py:853; stats.py:406; */
"Status" = "Status";
/* EDMarketConnector.py: Help > Privacy Policy; In files: EDMarketConnector.py:842; EDMarketConnector.py:860; */
@ -97,7 +181,7 @@
/* EDMarketConnector.py: Help > Release Notes; In files: EDMarketConnector.py:843; EDMarketConnector.py:861; EDMarketConnector.py:1600; */
"Release Notes" = "Release Notes";
/* EDMarketConnector.py: File > Settings; prefs.py: File > Settings (macOS); In files: EDMarketConnector.py:855; EDMarketConnector.py:2016; prefs.py:255; */
/* EDMarketConnector.py: File > Settings; prefs.py: File > Settings (macOS); In files: EDMarketConnector.py:855; EDMarketConnector.py:2020; prefs.py:255; */
"Settings" = "Settings";
/* EDMarketConnector.py: File > Exit; In files: EDMarketConnector.py:856; */
@ -106,9 +190,6 @@
/* EDMarketConnector.py: Help > Documentation; In files: EDMarketConnector.py:859; */
"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:866; ttkHyperlinkLabel.py:42; */
"Copy" = "Copy";
/* EDMarketConnector.py: Status - Attempting to get a Frontier Auth Access Token; In files: EDMarketConnector.py:872; */
"Logging in..." = "Logging in...";
@ -142,16 +223,13 @@
/* EDMarketConnector.py: Status - Attempting to retrieve data from Frontier CAPI; In files: EDMarketConnector.py:1006; */
"Fetching data..." = "Fetching data...";
/* EDMarketConnector.py: No data was returned for the commander from the Frontier CAPI; In files: EDMarketConnector.py:1047; */
"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:1051; stats.py:298; */
/* EDMarketConnector.py: We didn't have the commander name when we should have; stats.py: Unknown commander; In files: EDMarketConnector.py:1051; stats.py:335; */
"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:1057; stats.py:308; */
/* EDMarketConnector.py: We don't know where the commander is, when we should; stats.py: Unknown location; In files: EDMarketConnector.py:1057; stats.py:345; */
"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:1064; stats.py:316; */
/* EDMarketConnector.py: We don't know what ship the commander is in, when we should; stats.py: Unknown ship; In files: EDMarketConnector.py:1064; stats.py:353; */
"What are you flying?!" = "What are you flying?!";
/* EDMarketConnector.py: Frontier CAPI server error when fetching data; In files: EDMarketConnector.py:1176; */
@ -181,126 +259,51 @@
/* EDMarketConnector.py: The application is shutting down; In files: EDMarketConnector.py:1693; */
"Shutting down..." = "Shutting down...";
/* EDMarketConnector.py: Popup-text about 'active' plugins without Python 3.x support; In files: EDMarketConnector.py:2004:2010; */
/* EDMarketConnector.py: Popup-text about 'active' plugins without Python 3.x support; In files: EDMarketConnector.py:2008:2014; */
"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:2014; prefs.py:978; */
/* EDMarketConnector.py: Settings > Plugins tab; prefs.py: Label on Settings > Plugins tab; In files: EDMarketConnector.py:2018; prefs.py:978; */
"Plugins" = "Plugins";
/* EDMarketConnector.py: Popup window title for list of 'enabled' plugins that don't work with Python 3.x; In files: EDMarketConnector.py:2025; */
/* EDMarketConnector.py: Popup window title for list of 'enabled' plugins that don't work with Python 3.x; In files: EDMarketConnector.py:2029; */
"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; */
"Journal directory already locked" = "Journal directory already locked";
/* companion.py: Frontier CAPI didn't respond; In files: companion.py:218; */
"Error: Frontier CAPI didn't respond" = "Error: Frontier CAPI didn't respond";
/* journal_lock.py: Text for when newly selected Journal directory is already locked; In files: journal_lock.py:223:224; */
"The new Journal Directory location is already locked.{CR}You can either attempt to resolve this and then Retry, or choose to Ignore this." = "The new Journal Directory location is already locked.{CR}You can either attempt to resolve this and then Retry, or choose to Ignore this.";
/* companion.py: Frontier CAPI data doesn't agree with latest Journal game location; In files: companion.py:237; */
"Error: Frontier server is lagging" = "Error: Frontier server is lagging";
/* journal_lock.py: Generic 'Retry' button label; In files: journal_lock.py:228; */
"Retry" = "Retry";
/* companion.py: Commander is docked at an EDO settlement, got out and back in, we forgot the station; In files: companion.py:253; */
"Docked but unknown station: EDO Settlement?" = "Docked but unknown station: EDO Settlement?";
/* journal_lock.py: Generic 'Ignore' button label; In files: journal_lock.py:232; */
"Ignore" = "Ignore";
/* companion.py: Generic "something went wrong with Frontier Auth" error; In files: companion.py:263; */
"Error: Invalid Credentials" = "Error: Invalid Credentials";
/* companion.py: Frontier CAPI authorisation not for currently game-active commander; In files: companion.py:288; */
"Error: Wrong Cmdr" = "Error: Wrong Cmdr";
/* companion.py: Generic error prefix - following text is from Frontier auth service; In files: companion.py:414; companion.py:499; */
"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:457; companion.py:462; */
"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:468; */
"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:490; */
"Error: unable to get token" = "Error: unable to get token";
/* companion.py: Frontier CAPI returned 418, meaning down for maintenance; In files: companion.py:797; */
"Frontier CAPI down for maintenance" = "Frontier CAPI down for maintenance";
/* companion.py: Frontier CAPI data retrieval failed; In files: companion.py:809; */
"Frontier CAPI query failure" = "Frontier CAPI query failure";
/* 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:468; prefs.py:702; prefs.py:735; */
"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; */
"Auto" = "Auto";
/* coriolis.py: 'Normal' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - normal; In files: coriolis.py:53; coriolis.py:99; coriolis.py:115; */
"Normal" = "Normal";
/* coriolis.py: 'Beta' label for Coriolis site override selection; coriolis.py: Coriolis normal/beta selection - beta; In files: coriolis.py:54; coriolis.py:100; coriolis.py:116; */
"Beta" = "Beta";
/* coriolis.py: Settings>Coriolis: Help/hint for changing coriolis URLs; In files: coriolis.py:69:71; */
"Set the URL to use with coriolis.io ship loadouts. Note that this MUST end with '/import?data='" = "Set the URL to use with coriolis.io ship loadouts. Note that this MUST end with '/import?data='";
/* coriolis.py: Settings>Coriolis: Label for 'NOT alpha/beta game version' URL; In files: coriolis.py:75; */
"Normal URL" = "Normal URL";
/* coriolis.py: Generic 'Reset' button label; In files: coriolis.py:78; coriolis.py:87; */
"Reset" = "Reset";
/* coriolis.py: Settings>Coriolis: Label for 'alpha/beta game version' URL; In files: coriolis.py:84; */
"Beta URL" = "Beta URL";
/* coriolis.py: Settings>Coriolis: Label for selection of using Normal, Beta or 'auto' Coriolis URL; In files: coriolis.py:94; */
"Override Beta/Normal Selection" = "Override Beta/Normal Selection";
/* coriolis.py: Settings>Coriolis - invalid override mode found; In files: coriolis.py:134; */
"Invalid Coriolis override mode!" = "Invalid Coriolis override mode!";
/* 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:251; eddn.py:698; eddn.py:1438; */
"Sending data to EDDN..." = "Sending data to EDDN...";
/* eddn.py: Error while trying to send data to EDDN; In files: eddn.py:315; eddn.py:1374; eddn.py:1409; eddn.py:1450; */
"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:333; */
"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:339; */
"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:344; */
"EDDN Error: Returned {STATUS} status code" = "EDDN Error: Returned {STATUS} status code";
/* eddn.py: No 'Route' found in NavRoute.json file; In files: eddn.py:970; */
"No 'Route' array in NavRoute.json contents" = "No 'Route' array in NavRoute.json contents";
/* eddn.py: Enable EDDN support for station data checkbox label; In files: eddn.py:1121; */
"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:1132; */
"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:1143; */
"Delay sending until docked" = "Delay sending until docked";
/* eddn.py: Killswitch disabled EDDN; In files: eddn.py:1232; */
"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: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:246; */
"Elite Dangerous Star Map credentials" = "Elite Dangerous Star Map credentials";
/* 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: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:300; prefs.py:520; prefs.py:1174; prefs.py:1207; stats.py:119; stats.py:138; stats.py:157; stats.py:174; */
"None" = "None";
/* 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:746; edsm.py:874; */
"Error: EDSM {MSG}" = "Error: EDSM {MSG}";
/* 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: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:234; */
"Inara credentials" = "Inara credentials";
/* 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:1580; inara.py:1593; */
"Error: Inara {MSG}" = "Error: Inara {MSG}";
/* prefs.py: File > Preferences menu entry for macOS; In files: prefs.py:251; */
"Preferences" = "Preferences";
@ -442,236 +445,303 @@
/* prefs.py: Lable on list of user-disabled plugins; In files: prefs.py:969; */
"Disabled Plugins" = "Disabled Plugins";
/* stats.py: Cmdr stats; In files: stats.py:53; */
/* stats.py: Cmdr stats; In files: stats.py:60; */
"Balance" = "Balance";
/* stats.py: Cmdr stats; In files: stats.py:54; */
/* stats.py: Cmdr stats; In files: stats.py:61; */
"Loan" = "Loan";
/* stats.py: Ranking; In files: stats.py:59; */
"Combat" = "Combat";
/* stats.py: Ranking; In files: stats.py:60; */
"Trade" = "Trade";
/* stats.py: Ranking; In files: stats.py:61; */
"Explorer" = "Explorer";
/* stats.py: Ranking; In files: stats.py:62; */
"CQC" = "CQC";
/* stats.py: Ranking; In files: stats.py:63; */
"Federation" = "Federation";
/* stats.py: Ranking; In files: stats.py:64; */
"Empire" = "Empire";
/* stats.py: Ranking; In files: stats.py:65; */
"Powerplay" = "Powerplay";
/* stats.py: Combat rank; In files: stats.py:73; */
"Harmless" = "Harmless";
/* stats.py: Combat rank; In files: stats.py:74; */
"Mostly Harmless" = "Mostly Harmless";
/* stats.py: Combat rank; In files: stats.py:75; */
"Novice" = "Novice";
/* stats.py: Combat rank; In files: stats.py:76; */
"Competent" = "Competent";
/* stats.py: Combat rank; In files: stats.py:77; */
"Expert" = "Expert";
/* stats.py: Combat rank; stats.py: Empire rank; In files: stats.py:78; stats.py:141; */
"Master" = "Master";
/* stats.py: Combat rank; In files: stats.py:79; */
"Dangerous" = "Dangerous";
/* stats.py: Combat rank; In files: stats.py:80; */
"Deadly" = "Deadly";
/* stats.py: Top rank; In files: stats.py:81; stats.py:92; stats.py:103; stats.py:114; */
/* stats.py: Top rank; In files: stats.py:65; */
"Elite" = "Elite";
/* stats.py: Trade rank; In files: stats.py:84; */
/* stats.py: Top rank +1; In files: stats.py:66; */
"Elite I" = "Elite I";
/* stats.py: Top rank +2; In files: stats.py:67; */
"Elite II" = "Elite II";
/* stats.py: Top rank +3; In files: stats.py:68; */
"Elite III" = "Elite III";
/* stats.py: Top rank +4; In files: stats.py:69; */
"Elite IV" = "Elite IV";
/* stats.py: Top rank +5; In files: stats.py:70; */
"Elite V" = "Elite V";
/* stats.py: Ranking; In files: stats.py:76; */
"Combat" = "Combat";
/* stats.py: Ranking; In files: stats.py:77; */
"Trade" = "Trade";
/* stats.py: Ranking; In files: stats.py:78; */
"Explorer" = "Explorer";
/* stats.py: Ranking; In files: stats.py:79; */
"Mercenary" = "Mercenary";
/* stats.py: Ranking; In files: stats.py:80; */
"Exobiologist" = "Exobiologist";
/* stats.py: Ranking; In files: stats.py:81; */
"CQC" = "CQC";
/* stats.py: Ranking; In files: stats.py:82; */
"Federation" = "Federation";
/* stats.py: Ranking; In files: stats.py:83; */
"Empire" = "Empire";
/* stats.py: Ranking; In files: stats.py:84; */
"Powerplay" = "Powerplay";
/* stats.py: Combat rank; In files: stats.py:93; */
"Harmless" = "Harmless";
/* stats.py: Combat rank; In files: stats.py:94; */
"Mostly Harmless" = "Mostly Harmless";
/* stats.py: Combat rank; In files: stats.py:95; */
"Novice" = "Novice";
/* stats.py: Combat rank; In files: stats.py:96; */
"Competent" = "Competent";
/* stats.py: Combat rank; In files: stats.py:97; */
"Expert" = "Expert";
/* stats.py: Combat rank; stats.py: Empire rank; In files: stats.py:98; stats.py:178; */
"Master" = "Master";
/* stats.py: Combat rank; In files: stats.py:99; */
"Dangerous" = "Dangerous";
/* stats.py: Combat rank; In files: stats.py:100; */
"Deadly" = "Deadly";
/* stats.py: Trade rank; In files: stats.py:103; */
"Penniless" = "Penniless";
/* stats.py: Trade rank; In files: stats.py:85; */
/* stats.py: Trade rank; In files: stats.py:104; */
"Mostly Penniless" = "Mostly Penniless";
/* stats.py: Trade rank; In files: stats.py:86; */
/* stats.py: Trade rank; In files: stats.py:105; */
"Peddler" = "Peddler";
/* stats.py: Trade rank; In files: stats.py:87; */
/* stats.py: Trade rank; In files: stats.py:106; */
"Dealer" = "Dealer";
/* stats.py: Trade rank; In files: stats.py:88; */
/* stats.py: Trade rank; In files: stats.py:107; */
"Merchant" = "Merchant";
/* stats.py: Trade rank; In files: stats.py:89; */
/* stats.py: Trade rank; In files: stats.py:108; */
"Broker" = "Broker";
/* stats.py: Trade rank; In files: stats.py:90; */
/* stats.py: Trade rank; In files: stats.py:109; */
"Entrepreneur" = "Entrepreneur";
/* stats.py: Trade rank; In files: stats.py:91; */
/* stats.py: Trade rank; In files: stats.py:110; */
"Tycoon" = "Tycoon";
/* stats.py: Explorer rank; In files: stats.py:95; */
/* stats.py: Explorer rank; In files: stats.py:113; */
"Aimless" = "Aimless";
/* stats.py: Explorer rank; In files: stats.py:96; */
/* stats.py: Explorer rank; In files: stats.py:114; */
"Mostly Aimless" = "Mostly Aimless";
/* stats.py: Explorer rank; In files: stats.py:97; */
/* stats.py: Explorer rank; In files: stats.py:115; */
"Scout" = "Scout";
/* stats.py: Explorer rank; In files: stats.py:98; */
/* stats.py: Explorer rank; In files: stats.py:116; */
"Surveyor" = "Surveyor";
/* stats.py: Explorer rank; In files: stats.py:99; */
/* stats.py: Explorer rank; In files: stats.py:117; */
"Trailblazer" = "Trailblazer";
/* stats.py: Explorer rank; In files: stats.py:100; */
/* stats.py: Explorer rank; In files: stats.py:118; */
"Pathfinder" = "Pathfinder";
/* stats.py: Explorer rank; In files: stats.py:101; */
/* stats.py: Explorer rank; In files: stats.py:119; */
"Ranger" = "Ranger";
/* stats.py: Explorer rank; In files: stats.py:102; */
/* stats.py: Explorer rank; In files: stats.py:120; */
"Pioneer" = "Pioneer";
/* stats.py: CQC rank; In files: stats.py:106; */
/* stats.py: Mercenary rank; In files: stats.py:124; */
"Defenceless" = "Defenceless";
/* stats.py: Mercenary rank; In files: stats.py:125; */
"Mostly Defenceless" = "Mostly Defenceless";
/* stats.py: Mercenary rank; In files: stats.py:126; */
"Rookie" = "Rookie";
/* stats.py: Mercenary rank; In files: stats.py:127; */
"Soldier" = "Soldier";
/* stats.py: Mercenary rank; In files: stats.py:128; stats.py:130; */
"Gunslinger" = "Gunslinger";
/* stats.py: Mercenary rank; In files: stats.py:129; */
"Warrior" = "Warrior";
/* stats.py: Mercenary rank; In files: stats.py:131; */
"Deadeye" = "Deadeye";
/* stats.py: Exobiologist rank; In files: stats.py:134; */
"Directionless" = "Directionless";
/* stats.py: Exobiologist rank; In files: stats.py:135; */
"Mostly Directionless" = "Mostly Directionless";
/* stats.py: Exobiologist rank; In files: stats.py:136; */
"Compiler" = "Compiler";
/* stats.py: Exobiologist rank; In files: stats.py:137; */
"Collector" = "Collector";
/* stats.py: Exobiologist rank; In files: stats.py:138; */
"Cataloguer" = "Cataloguer";
/* stats.py: Exobiologist rank; In files: stats.py:139; */
"Taxonomist" = "Taxonomist";
/* stats.py: Exobiologist rank; In files: stats.py:140; */
"Ecologist" = "Ecologist";
/* stats.py: Exobiologist rank; In files: stats.py:141; */
"Geneticist" = "Geneticist";
/* stats.py: CQC rank; In files: stats.py:144; */
"Helpless" = "Helpless";
/* stats.py: CQC rank; In files: stats.py:107; */
/* stats.py: CQC rank; In files: stats.py:145; */
"Mostly Helpless" = "Mostly Helpless";
/* stats.py: CQC rank; In files: stats.py:108; */
/* stats.py: CQC rank; In files: stats.py:146; */
"Amateur" = "Amateur";
/* stats.py: CQC rank; In files: stats.py:109; */
/* stats.py: CQC rank; In files: stats.py:147; */
"Semi Professional" = "Semi Professional";
/* stats.py: CQC rank; In files: stats.py:110; */
/* stats.py: CQC rank; In files: stats.py:148; */
"Professional" = "Professional";
/* stats.py: CQC rank; In files: stats.py:111; */
/* stats.py: CQC rank; In files: stats.py:149; */
"Champion" = "Champion";
/* stats.py: CQC rank; In files: stats.py:112; */
/* stats.py: CQC rank; In files: stats.py:150; */
"Hero" = "Hero";
/* stats.py: CQC rank; In files: stats.py:113; */
/* stats.py: CQC rank; In files: stats.py:151; */
"Gladiator" = "Gladiator";
/* stats.py: Federation rank; In files: stats.py:120; */
/* stats.py: Federation rank; In files: stats.py:157; */
"Recruit" = "Recruit";
/* stats.py: Federation rank; In files: stats.py:121; */
/* stats.py: Federation rank; In files: stats.py:158; */
"Cadet" = "Cadet";
/* stats.py: Federation rank; In files: stats.py:122; */
/* stats.py: Federation rank; In files: stats.py:159; */
"Midshipman" = "Midshipman";
/* stats.py: Federation rank; In files: stats.py:123; */
/* stats.py: Federation rank; In files: stats.py:160; */
"Petty Officer" = "Petty Officer";
/* stats.py: Federation rank; In files: stats.py:124; */
/* stats.py: Federation rank; In files: stats.py:161; */
"Chief Petty Officer" = "Chief Petty Officer";
/* stats.py: Federation rank; In files: stats.py:125; */
/* stats.py: Federation rank; In files: stats.py:162; */
"Warrant Officer" = "Warrant Officer";
/* stats.py: Federation rank; In files: stats.py:126; */
/* stats.py: Federation rank; In files: stats.py:163; */
"Ensign" = "Ensign";
/* stats.py: Federation rank; In files: stats.py:127; */
/* stats.py: Federation rank; In files: stats.py:164; */
"Lieutenant" = "Lieutenant";
/* stats.py: Federation rank; In files: stats.py:128; */
/* stats.py: Federation rank; In files: stats.py:165; */
"Lieutenant Commander" = "Lieutenant Commander";
/* stats.py: Federation rank; In files: stats.py:129; */
/* stats.py: Federation rank; In files: stats.py:166; */
"Post Commander" = "Post Commander";
/* stats.py: Federation rank; In files: stats.py:130; */
/* stats.py: Federation rank; In files: stats.py:167; */
"Post Captain" = "Post Captain";
/* stats.py: Federation rank; In files: stats.py:131; */
/* stats.py: Federation rank; In files: stats.py:168; */
"Rear Admiral" = "Rear Admiral";
/* stats.py: Federation rank; In files: stats.py:132; */
/* stats.py: Federation rank; In files: stats.py:169; */
"Vice Admiral" = "Vice Admiral";
/* stats.py: Federation rank; In files: stats.py:133; */
/* stats.py: Federation rank; In files: stats.py:170; */
"Admiral" = "Admiral";
/* stats.py: Empire rank; In files: stats.py:139; */
/* stats.py: Empire rank; In files: stats.py:176; */
"Outsider" = "Outsider";
/* stats.py: Empire rank; In files: stats.py:140; */
/* stats.py: Empire rank; In files: stats.py:177; */
"Serf" = "Serf";
/* stats.py: Empire rank; In files: stats.py:142; */
/* stats.py: Empire rank; In files: stats.py:179; */
"Squire" = "Squire";
/* stats.py: Empire rank; In files: stats.py:143; */
/* stats.py: Empire rank; In files: stats.py:180; */
"Knight" = "Knight";
/* stats.py: Empire rank; In files: stats.py:144; */
/* stats.py: Empire rank; In files: stats.py:181; */
"Lord" = "Lord";
/* stats.py: Empire rank; In files: stats.py:145; */
/* stats.py: Empire rank; In files: stats.py:182; */
"Baron" = "Baron";
/* stats.py: Empire rank; In files: stats.py:146; */
/* stats.py: Empire rank; In files: stats.py:183; */
"Viscount" = "Viscount";
/* stats.py: Empire rank; In files: stats.py:147; */
/* stats.py: Empire rank; In files: stats.py:184; */
"Count" = "Count";
/* stats.py: Empire rank; In files: stats.py:148; */
/* stats.py: Empire rank; In files: stats.py:185; */
"Earl" = "Earl";
/* stats.py: Empire rank; In files: stats.py:149; */
/* stats.py: Empire rank; In files: stats.py:186; */
"Marquis" = "Marquis";
/* stats.py: Empire rank; In files: stats.py:150; */
/* stats.py: Empire rank; In files: stats.py:187; */
"Duke" = "Duke";
/* stats.py: Empire rank; In files: stats.py:151; */
/* stats.py: Empire rank; In files: stats.py:188; */
"Prince" = "Prince";
/* stats.py: Empire rank; In files: stats.py:152; */
/* stats.py: Empire rank; In files: stats.py:189; */
"King" = "King";
/* stats.py: Power rank; In files: stats.py:158; */
/* stats.py: Power rank; In files: stats.py:195; */
"Rating 1" = "Rating 1";
/* stats.py: Power rank; In files: stats.py:159; */
/* stats.py: Power rank; In files: stats.py:196; */
"Rating 2" = "Rating 2";
/* stats.py: Power rank; In files: stats.py:160; */
/* stats.py: Power rank; In files: stats.py:197; */
"Rating 3" = "Rating 3";
/* stats.py: Power rank; In files: stats.py:161; */
/* stats.py: Power rank; In files: stats.py:198; */
"Rating 4" = "Rating 4";
/* stats.py: Power rank; In files: stats.py:162; */
/* stats.py: Power rank; In files: stats.py:199; */
"Rating 5" = "Rating 5";
/* stats.py: Current commander unknown when trying to use 'File' > 'Status'; In files: stats.py:280; */
/* stats.py: Current commander unknown when trying to use 'File' > 'Status'; In files: stats.py:317; */
"Status: Don't yet know your Commander name" = "Status: Don't yet know your Commander name";
/* stats.py: No Frontier CAPI data yet when trying to use 'File' > 'Status'; In files: stats.py:288; */
/* stats.py: No Frontier CAPI data yet when trying to use 'File' > 'Status'; In files: stats.py:325; */
"Status: No CAPI data yet" = "Status: No CAPI data yet";
/* stats.py: Status dialog subtitle - CR value of ship; In files: stats.py:371; */
/* stats.py: Status dialog subtitle - CR value of ship; In files: stats.py:413; */
"Value" = "Value";
/* stats.py: Status dialog title; In files: stats.py:380; */
/* stats.py: Status dialog title; In files: stats.py:422; */
"Ships" = "Ships";

View File

@ -40,6 +40,13 @@ if platform == 'win32':
CalculatePopupWindowPosition = None # type: ignore
CR_LINES_START = 1
CR_LINES_END = 3
RANK_LINES_START = 3
RANK_LINES_END = 9
POWERPLAY_LINES_START = 9
def status(data: Dict[str, Any]) -> List[List[str]]:
"""
Get the current status of the cmdr referred to by data.
@ -54,20 +61,33 @@ def status(data: Dict[str, Any]) -> List[List[str]]:
[_('Loan'), str(data['commander'].get('debt', 0))], # LANG: Cmdr stats
]
_ELITE_RANKS = [ # noqa: N806 # Its a constant, just needs to be updated at runtime
_('Elite'), # LANG: Top rank
_('Elite I'), # LANG: Top rank +1
_('Elite II'), # LANG: Top rank +2
_('Elite III'), # LANG: Top rank +3
_('Elite IV'), # LANG: Top rank +4
_('Elite V'), # LANG: Top rank +5
]
RANKS = [ # noqa: N806 # Its a constant, just needs to be updated at runtime
# in output order
(_('Combat'), 'combat'), # LANG: Ranking
(_('Trade'), 'trade'), # LANG: Ranking
(_('Explorer'), 'explore'), # LANG: Ranking
(_('CQC'), 'cqc'), # LANG: Ranking
(_('Federation'), 'federation'), # LANG: Ranking
(_('Empire'), 'empire'), # LANG: Ranking
(_('Powerplay'), 'power'), # LANG: Ranking
# ??? , 'crime'), # LANG: Ranking
# ??? , 'service'), # LANG: Ranking
# Names we show people, vs internal names
(_('Combat'), 'combat'), # LANG: Ranking
(_('Trade'), 'trade'), # LANG: Ranking
(_('Explorer'), 'explore'), # LANG: Ranking
(_('Mercenary'), 'soldier'), # LANG: Ranking
(_('Exobiologist'), 'exobiologist'), # LANG: Ranking
(_('CQC'), 'cqc'), # LANG: Ranking
(_('Federation'), 'federation'), # LANG: Ranking
(_('Empire'), 'empire'), # LANG: Ranking
(_('Powerplay'), 'power'), # LANG: Ranking
# ??? , 'crime'), # LANG: Ranking
# ??? , 'service'), # LANG: Ranking
]
RANK_NAMES = { # noqa: N806 # Its a constant, just needs to be updated at runtime
# These names are the fdev side name (but lower()ed)
# http://elite-dangerous.wikia.com/wiki/Pilots_Federation#Ranks
'combat': [
_('Harmless'), # LANG: Combat rank
@ -78,8 +98,7 @@ def status(data: Dict[str, Any]) -> List[List[str]]:
_('Master'), # LANG: Combat rank
_('Dangerous'), # LANG: Combat rank
_('Deadly'), # LANG: Combat rank
_('Elite'), # LANG: Top rank
],
] + _ELITE_RANKS,
'trade': [
_('Penniless'), # LANG: Trade rank
_('Mostly Penniless'), # LANG: Trade rank
@ -89,8 +108,7 @@ def status(data: Dict[str, Any]) -> List[List[str]]:
_('Broker'), # LANG: Trade rank
_('Entrepreneur'), # LANG: Trade rank
_('Tycoon'), # LANG: Trade rank
_('Elite') # LANG: Top rank
],
] + _ELITE_RANKS,
'explore': [
_('Aimless'), # LANG: Explorer rank
_('Mostly Aimless'), # LANG: Explorer rank
@ -100,8 +118,28 @@ def status(data: Dict[str, Any]) -> List[List[str]]:
_('Pathfinder'), # LANG: Explorer rank
_('Ranger'), # LANG: Explorer rank
_('Pioneer'), # LANG: Explorer rank
_('Elite') # LANG: Top rank
],
] + _ELITE_RANKS,
'soldier': [
_('Defenceless'), # LANG: Mercenary rank
_('Mostly Defenceless'), # LANG: Mercenary rank
_('Rookie'), # LANG: Mercenary rank
_('Soldier'), # LANG: Mercenary rank
_('Gunslinger'), # LANG: Mercenary rank
_('Warrior'), # LANG: Mercenary rank
_('Gunslinger'), # LANG: Mercenary rank
_('Deadeye'), # LANG: Mercenary rank
] + _ELITE_RANKS,
'exobiologist': [
_('Directionless'), # LANG: Exobiologist rank
_('Mostly Directionless'), # LANG: Exobiologist rank
_('Compiler'), # LANG: Exobiologist rank
_('Collector'), # LANG: Exobiologist rank
_('Cataloguer'), # LANG: Exobiologist rank
_('Taxonomist'), # LANG: Exobiologist rank
_('Ecologist'), # LANG: Exobiologist rank
_('Geneticist'), # LANG: Exobiologist rank
] + _ELITE_RANKS,
'cqc': [
_('Helpless'), # LANG: CQC rank
_('Mostly Helpless'), # LANG: CQC rank
@ -111,8 +149,7 @@ def status(data: Dict[str, Any]) -> List[List[str]]:
_('Champion'), # LANG: CQC rank
_('Hero'), # LANG: CQC rank
_('Gladiator'), # LANG: CQC rank
_('Elite') # LANG: Top rank
],
] + _ELITE_RANKS,
# http://elite-dangerous.wikia.com/wiki/Federation#Ranks
'federation': [
@ -353,11 +390,16 @@ class StatsResults(tk.Toplevel):
notebook = nb.Notebook(frame)
page = self.addpage(notebook)
for thing in stats[1:3]:
for thing in stats[CR_LINES_START:CR_LINES_END]:
# assumes things two and three are money
self.addpagerow(page, [thing[0], self.credits(int(thing[1]))], with_copy=True)
for thing in stats[3:]:
self.addpagespacer(page)
for thing in stats[RANK_LINES_START:RANK_LINES_END]:
self.addpagerow(page, thing, with_copy=True)
self.addpagespacer(page)
for thing in stats[POWERPLAY_LINES_START:]:
self.addpagerow(page, thing, with_copy=True)
ttk.Frame(page).grid(pady=5) # bottom spacer