From 20f373a37d2b00ed29cf6456c2823401a55efb21 Mon Sep 17 00:00:00 2001 From: Athanasius Date: Tue, 25 May 2021 18:27:10 +0100 Subject: [PATCH] Suits: Localise out suit symbol name -> display name (stage1) lookup We'll need to localise the following 'shortname' lookup as well. --- edmc_data.py | 14 +++++++++----- monitor.py | 11 ++++++----- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/edmc_data.py b/edmc_data.py index 11a7db4d..009a5057 100644 --- a/edmc_data.py +++ b/edmc_data.py @@ -504,9 +504,13 @@ edmc_suit_shortnames = { 'Maverick Suit': 'Maverick', } -edmc_suit_symbol_to_en = { - 'explorationsuit': 'Artemis Suit', - 'flightsuit': 'Flight Suit', - 'tacticalsuit': 'Dominator Suit', - 'utilitysuit': 'Maverick Suit', +edmc_suit_symbol_localised = { + # The key here should match what's seen in Fileheader 'language', but with + # any in-file `\\` already unescaped to a single `\`. + r'English\UK': { + 'explorationsuit': 'Artemis Suit', + 'flightsuit': 'Flight Suit', + 'tacticalsuit': 'Dominator Suit', + 'utilitysuit': 'Maverick Suit', + }, } diff --git a/monitor.py b/monitor.py index 1ae82c05..06c82b88 100644 --- a/monitor.py +++ b/monitor.py @@ -19,7 +19,7 @@ if TYPE_CHECKING: import util_ships from config import config -from edmc_data import edmc_suit_shortnames, edmc_suit_symbol_to_en +from edmc_data import edmc_suit_shortnames, edmc_suit_symbol_localised from EDMCLogging import get_main_logger logger = get_main_logger() @@ -501,9 +501,9 @@ class EDLogs(FileSystemEventHandler): # type: ignore # See below self.started = None self.__init_state() # In self.state as well, as that's what plugins get - self.stat['GameLanguage'] = entry['language'] - self.stat['GameVersion'] = entry['gameversion'] - self.stat['GameBuild'] = entry['build'] + self.state['GameLanguage'] = entry['language'] + self.state['GameVersion'] = entry['gameversion'] + self.state['GameBuild'] = entry['build'] elif event_type == 'Commander': self.live = True # First event in 3.0 @@ -1622,7 +1622,8 @@ class EDLogs(FileSystemEventHandler): # type: ignore # See below name = n # Now turn either of those into an English ' Suit' form - name = edmc_suit_symbol_to_en.get(name.lower(), name) + if loc_lookup := edmc_suit_symbol_localised.get(self.state['GameLanguage']): + name = loc_lookup.get(name.lower(), name) # Finally, map that to a form without the verbose ' Suit' on the end name = edmc_suit_shortnames.get(name, name)