Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activity.py6
-rw-r--r--voice.py6
2 files changed, 8 insertions, 4 deletions
diff --git a/activity.py b/activity.py
index 8d4a29e..3e32255 100644
--- a/activity.py
+++ b/activity.py
@@ -437,12 +437,14 @@ class SpeakActivity(SharedActivity):
old_voice = self.voices.props.value
self.voices.set_model(voices_model)
- if not [i for i in voices_model if i[0] == old_voice]:
+ new_voice = [i[0] for i in voices_model
+ if i[0].short_name == old_voice.short_name]
+ if not new_voice:
new_voice = brain.get_default_voice()
sorry = _("Sorry, I can't speak %s, let's speak %s instead.") % \
(old_voice.friendlyname, new_voice.friendlyname)
else:
- new_voice = old_voice
+ new_voice = new_voice[0]
sorry = None
self._set_voice(new_voice)
diff --git a/voice.py b/voice.py
index be4366b..101a182 100644
--- a/voice.py
+++ b/voice.py
@@ -81,8 +81,10 @@ class Voice:
friendlyname = friendlyname.replace('_test','')
friendlyname = friendlyname.replace('en-','')
friendlyname = friendlyname.replace('english-wisper','whisper')
- friendlyname = friendlyname.capitalize()
- self.friendlyname = _(friendlyname)
+
+ parts = re.split('[ -]', friendlyname)
+ self.short_name = _(parts[0].capitalize())
+ self.friendlyname = ' '.join([self.short_name] + parts[1:])
def __cmp__(self, other):
return cmp(self.friendlyname, other.friendlyname if other else '')