Repository navigation
✨ New: English narrator
The narrator can now speak English in addition to Hebrew, configurable from game_base/config.py.
NARRATOR_LANGUAGE = "english" # or "hebrew" (default)
NARRATOR_VOICE = None # or "Daniel", "Karen", "Junior", ...Defaults
- Hebrew →
Carmit(existing behavior, unchanged) - English →
Samantha
Both default voices ship with macOS — no downloads required.
Pre-installed English voice alternatives
Samantha (default), Daniel (UK male, announcer-style), Karen (AU female, energetic), Junior (US child, playful), Moira, Tessa, Fred, Ralph, Albert.
Voices that require a separate macOS download (avoid as defaults): Alex, Ava, Allison, Tom, Susan, Zoe, and any Enhanced/Premium/Siri voices. The narrator falls back gracefully if a missing voice is configured.
Under the hood
narrator.pyrefactored into per-language tables:PHRASES,NUMBER_WORDS,PLAYER_NAMES,LEVEL_TEMPLATE,SCORE_TEMPLATE,DEFAULT_VOICE.- Phrase keys (
welcome,game_start,boss_level,three, …) are stable across languages — no call sites needed updating. HEBREW_PHRASESis preserved as an alias for backwards compatibility.Narrator.__init__now acceptslanguageandvoice. Voice selection prefers the configured/default voice, then falls back to any installed voice matching the language locale (he-IL/en_*).- Smoke test:
python game_base/narrator.py englishorpython game_base/narrator.py hebrew.
Full changelog: v1.3.0...v1.4.0