ein paar Bigramme und andere Einträge für Tschechisch ergänzt

This commit is contained in:
2025-12-03 21:22:26 +01:00
parent 955bb0a0cc
commit b9d45e6be0
2 changed files with 25 additions and 14 deletions
+18 -14
View File
@@ -156,9 +156,11 @@ def translate_text(text: str, trigramme: dict[str, str], bigramme: dict[str, str
Übersetzt einen Text durch Ersetzen von Trigrammen, Bigrammen und Einzelwörtern.
Ersetzungen erfolgen in dieser Reihenfolge: Trigramme → Bigramme → Einzelwörter.
Bei Einzelwörtern werden auch Satzzeichen berücksichtigt:
Bei Einzelwörtern werden auch Satzzeichen und eingebettete Wörter berücksichtigt:
- "Weight:" wird zu "Hmotnost:" (Doppelpunkt bleibt erhalten)
- "(Sub-distributor)" wird zu "(Rozvaděč)" (Klammern bleiben erhalten)
- "\\fArial Black|b0|i0;Firewall 1" wird zu "\\fArial Black|b0|i0;Požární 1"
(alle Wörter in einem Token werden durchsucht, Trennzeichen bleiben erhalten)
Bindestriche im Wort (wie "Sub-distributor") bleiben Teil des Kern-Worts.
Args:
@@ -194,20 +196,22 @@ def translate_text(text: str, trigramme: dict[str, str], bigramme: dict[str, str
translated_words.append(single[word])
has_translation = True
else:
# Prüfe ob Wort mit Satzzeichen am Ende existiert (z.B. "Weight:" -> "Weight")
# Trenne Satzzeichen am Anfang und Ende vom Kern-Wort
# Kern-Wort kann Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten
match = re.match(r'^([^\w-]*)([\w-]+)([^\w-]*)$', word)
if match:
prefix, core_word, suffix = match.groups()
if core_word in single:
# Übersetze Kern-Wort und behalte Satzzeichen
translated_words.append(prefix + single[core_word] + suffix)
# Suche ALLE Wörter im Token und ersetze sie (z.B. "Black|b0|i0;Firewall" enthält "Black" und "Firewall")
# Pattern matcht Wörter (Buchstaben, Zahlen, Unterstriche, Bindestriche)
word_found = False
def replace_word(match):
nonlocal word_found, has_translation
matched_word = match.group(0)
if matched_word in single:
word_found = True
has_translation = True
else:
translated_words.append(word)
else:
translated_words.append(word)
return single[matched_word]
return matched_word
# Ersetze alle gefundenen Wörter im Token
translated_word = re.sub(r'[\w-]+', replace_word, word)
translated_words.append(translated_word)
translated_text = ' '.join(translated_words)
# Gib nur übersetzten Text zurück wenn tatsächlich etwas übersetzt wurde
+7
View File
@@ -17,6 +17,7 @@ Rail Bottom Edge=Spodní hrana kolejnice
to Inbound empty=do příjmu prázdné
to operational area=do provozní oblasti
to Storage level=do úložné úrovně
Total power consumption=Celková spotřeba energie
[bigramme]
@@ -57,9 +58,12 @@ Loading Boom=Nakládací rameno
Loading Buff=Nakládací nárazník
long x=dlouhý x
max capacity=max. kapacita
Maintenance Area=Údržbová oblast
Measurement=Měření
Minitrolleys Buffer=Minivozíky Buffer
Minitrolleys from=Minivozíky z
Minitrolleys to=Minitrolleys to
Mounting plate=Montážní deska
MT line=MT line
Multi Purpose=Multi Purpose
of Trolley=of Trolley
@@ -92,7 +96,9 @@ with TEF=with TEF
# Format: Begriffe in der dxf=tschechisch
# ## deutsch
Abhänger=Závěs
BLOCK=BLOK
Belastung=Zatížení
Brandschutztor=protipožární vrata
Säule=Sloup
Schnitt=Řez
Unterverteiler=Rozvaděč
@@ -157,6 +163,7 @@ Printer=Tiskárna
Purpose=Víceúčelový
Rail=provozní
rail=spodní
Screen=Obrazovka
short=stěna
Station=Naložený
Storage=Skladování