Korrekturen an Olivers alten Übersetzungen 3301 (nach old_to_translation.py ausführen).
Ablage beim Arbeiten: translations/src/fix_2015.py. Herunterladen: auf den Dateinamen über dem Code klicken.
"""fix_2015.py – Korrekturen an Olivers alten Uebersetzungen 3301 (translations/2015_alt.json), von Claude geprueft. Aufruf aus dem Arbeitsordner: python3 translations/src/fix_2015.py (aendert 2015_alt.json in place)""" import json, re P = 'translations/2015_alt.json' T = json.load(open(P, encoding='utf-8')) SUB = [ # (Muster, Ersatz) fuer alle Meldungen (r'\bPräsident Halsey', 'Präsidentin Halsey'), # Halsey ist eine Frau (r'\bSchattenpräsident Winters', 'Schattenpräsidentin Winters'), (r'\bVizepräsidentin Naylor', 'Vizepräsident Naylor'), # Ethan Naylor (r'\b(?:S)?enator Torval', 'Senatorin Torval'), # inkl. Tippfehler "enator Torval" (r'\bSenator Lavigny', 'Senatorin Lavigny'), (r'\bSenatorin Patreus', 'Senator Patreus'), (r"Plant Prism's Senatorin", 'Plant die Prism-Senatorin'), (r"Prism's-Senatorin|Prism's Senatorin|Prisms Senatorin", 'Prism-Senatorin'), (r'häßlich', 'hässlich'), (r'Kongreß', 'Kongress'), (r'heute abend', 'heute Abend'), (r'\bwieviele\b', 'wie viele'), (r'10 der 8\.0081\.766', '10 der 1.766'), (r'Bahnhofsdienste', 'Stationsdienste'), (r'\bdes Bahnhofs\b', 'der Station'), (r'\bim Bahnhof\b', 'auf der Station'), (r'\bdem Bahnhof\b', 'der Station'), (r'Hartsfield-Markt', 'Hartsfield Market'), (r'In these systems, the following station services are unavailable:', 'In diesen Systemen sind folgende Stationsdienste nicht verfügbar:'), (r'• Re-arming', '• Munition'), (r'• Market', '• Markt'), (r'• Bulletin [Bb]oard', '• Schwarzes Brett'), (r'• Docking', '• Andocken'), (r'• Shipyard', '• Schiffswerft'), (r'• Outfitting', '• Ausrüstung'), (r'• Black market', '• Schwarzmarkt'), ] n = 0 for t in T.values(): for f in ('title', 'body'): for a, b in SUB: t[f], k = re.subn(a, b, t[f]); n += k # Einzelfaelle def fix(fid, **kw): T[fid].update(kw) # 04.05.3301 "Scientists Baffled by Mysterious Artefacts": Olivers Text enthielt Saetze, die im Frontier-Text nicht stehen (aeltere Fassung?) -> an den Frontier-Text angepasst fix(next(k for k, t in T.items() if t['title'] == 'Mysteriöse Artefakte verblüffen die Wissenschaftler'), body="""Dank einer beispiellosen koordinierten Suche, an der sich Dutzende Commander in vielen Systemen beteiligt haben, sind Dr. Arcanonn und sein Team hocherfreut, endlich ein Unbekanntes Artefakt geborgen zu haben. CMDR Red Wizzard, der dabei herausragende Initiative, Tapferkeit und Geschicklichkeit bewies, barg das Objekt aus einem Konvoi der föderalen Marine, der Signale über den Ausfall seiner Systeme sendete. Das Team analysiert das mysteriöse Objekt derzeit in einem geheimen Labor und hofft, ein Heilmittel für die Menschen von He Bo zu finden. CMDR Arcanonn möchte alle Commander warnen, falls sie auf eines dieser Objekte stoßen: Die Artefakte unbekannter Herkunft geben eine seltsame Strahlung ab, die die Systeme jedes Schiffes, das ein solches Objekt transportiert, schwer beschädigt. Fliegt sicher, Commander.""") # 14.12.3301 Konfliktbericht: Olivers erste Liste (Buergerkrieg) stammte aus einer anderen Woche k = next(k for k, t in T.items() if t['title'] == "GalNets wöchentlicher Konflikt-Report" and 'Rugabugait Drug Empire' in t['body']) first = ['Aymifa Empire Pact', 'Aymifa PLC', 'LHS 2995 Federal Co', 'Allied LHS 2995 Autocracy', 'Nauahtunu aristocrats', "People's Nauahtunu for Equality", 'Ba Babal Dominion', 'Ba Babal Silver Comms Corp', 'Miratres Family', 'Miratres Co-operative'] old = ['Rugabugait Drug Empire', 'Jet Universal Inc', 'HIP 51568 Inc', 'Nobles of HIP 51568', 'BD-21 3153 Crimson Transport Inc', 'BD-21 3153 League', 'Conservatives of HIP 53196', 'HIP 53196 Gold Allied Industry', 'Muth Exchange', 'Muth Dominion'] b = T[k]['body'] for o, nn in zip(old, first): b = b.replace('• ' + o + '\n', '• ' + nn + '\n') T[k]['body'] = b.replace('Einwicklungslevel', 'Entwicklungslevel') # Stichprobe (6 Meldungen vollstaendig gegengelesen): 2 Fehler k = next(k for k, t in T.items() if t['title'] == 'Die Unterstützung für die Sklaverei wächst im Synteini-System') T[k]['title'] = 'Widerstand gegen die Sklaverei wächst im System Synteini' # EN: "Anti-Slavery Support Grows" (Sinn verkehrt) T[k]['body'] = T[k]['body'].replace('Die Partei Zukunft der Synteini', 'Die Partei Future of Synteini').replace('der Zukunft der Synteini', 'der Future of Synteini') k = next(k for k, t in T.items() if t['title'] == 'Der silberne Komet') T[k]['body'] = T[k]['body'].replace('Der Bericht kam von Quiness, der Pilotin Johanna Meister, Rang Deadly, die seither verschwunden ist', 'Der Bericht stammt von der Pilotin Johanna Meister (Rang Deadly) aus Quiness, die seither verschwunden ist') # zweite Stichprobe (6 Meldungen): Geschlecht Halseys/Monroes, Satzbau k = next(k for k, t in T.items() if t['title'] == 'Die Leibwächterin des Präsidenten wurde ermordet aufgefunden') T[k]['title'] = 'Leibwächterin der Präsidentin ermordet aufgefunden' T[k]['body'] = T[k]['body'].replace('tot in seiner Wohnung', 'tot in ihrer Wohnung').replace('mit Agent Monroe', 'mit Agentin Monroe') k = next(k for k, t in T.items() if t['title'] == 'Hudson stellt Halseys Motive in Frage') T[k]['body'] = T[k]['body'].replace('die Offensive des Präsidenten', 'die Offensive der Präsidentin') k = next(k for k, t in T.items() if t['title'] == 'Verdacht wegen VP-Todesfall') T[k]['title'] = 'Zweifel am Tod des Vizepräsidenten' T[k]['body'] = T[k]['body'].replace('Neue Enthüllungen haben die Berichte über den Tod von Vizepräsident Smeaton aufgrund eines vermuteten Herzinfarkts verunsichert.', 'Neue Enthüllungen lassen Zweifel an den Berichten aufkommen, wonach Vizepräsident Smeaton an einem vermuteten Herzinfarkt gestorben ist.') # Auffaelligkeiten aus dem automatischen Abgleich k = next(k for k, t in T.items() if t['title'] == 'Präsident ordnet Angriff auf Nijotec an') T[k]['title'] = 'Präsidentin ordnet Angriff auf Nijotec an' T[k]['body'] = T[k]['body'].replace('21 500', '21.500') k = next(k for k, t in T.items() if t['title'].startswith('Feier am Abraham Lincoln Starport')) T[k]['body'] = T[k]['body'].replace('um dem jährlichen Gedenken an den Namensgeber der Station, Präsident Abraham Lincoln, zu gedenken', 'um wie jedes Jahr des Namensgebers der Station, Präsident Abraham Lincoln, zu gedenken') k = next(k for k, t in T.items() if t['title'] == 'Heike Starport Security unter Druck') T[k]['body'] = T[k]['body'].replace('Brunel Station', 'Brunel City') json.dump(T, open(P, 'w', encoding='utf-8'), ensure_ascii=False, indent=1) print(n, 'Ersetzungen')