diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index 4757b32..3a2f679 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -98,7 +98,8 @@ ohne Ausgabe des API-Schlüssels: Für die Sprachausgabe normalisiert das Gateway außerdem Datumsangaben, Temperaturen, Prozentwerte, Postleitzahlen und Domains. Beispielsweise wird `22° / 10°` als „Höchstwert 22 Grad, Tiefstwert 10 Grad“ und `wetter.com` als -„Wetter Punkt C O M“ gesprochen. Die sichtbare Chatantwort wird nicht verändert. +„Wetter Punkt C O M“ gesprochen. Die deutsche Endung `.de` bleibt natürlich +gesprochen. Die sichtbare Chatantwort wird nicht verändert. ```bash set -a; source /etc/mike-ai/stack.env; set +a diff --git a/platform/docker/tts-gateway/test_tts_gateway.py b/platform/docker/tts-gateway/test_tts_gateway.py index 979d4ee..acce0c9 100644 --- a/platform/docker/tts-gateway/test_tts_gateway.py +++ b/platform/docker/tts-gateway/test_tts_gateway.py @@ -89,7 +89,7 @@ class LanguageSegmentationTests(unittest.TestCase): self.assertIn("Höchstwert 22 Grad, Tiefstwert 10 Grad", spoken) self.assertIn("0 Prozent Regen", spoken) self.assertIn("wetter Punkt C O M", spoken) - self.assertIn("wetteronline Punkt D E", spoken) + self.assertIn("wetteronline Punkt de", spoken) def test_full_date_and_raw_url_are_normalized(self): spoken = gateway.clean_for_speech( diff --git a/platform/docker/tts-gateway/tts_gateway.py b/platform/docker/tts-gateway/tts_gateway.py index 91ca939..1e1f92a 100644 --- a/platform/docker/tts-gateway/tts_gateway.py +++ b/platform/docker/tts-gateway/tts_gateway.py @@ -259,7 +259,11 @@ def normalize_for_german_speech(text: str) -> str: r"\.(de|com|org|net|io|ai)\b", lambda match: ( match.group(1).replace(".", " Punkt ") - + " Punkt " + " ".join(match.group(2).upper()) + + " Punkt " + + ( + "de" if match.group(2).lower() == "de" + else " ".join(match.group(2).upper()) + ) ), text, flags=re.IGNORECASE,