diff --git a/gradint-build/Makefile b/gradint-build/Makefile
index 090a60d548d1fbcbcd7df7d19ea46818af687507..90cc4233461d619c601cc8db7e6d72584d19f41e 100644
--- a/gradint-build/Makefile
+++ b/gradint-build/Makefile
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/mac/start-gradint.app/espeak-OSX.zip b/gradint-build/mac/start-gradint.app/espeak-OSX.zip
index 54ab2461aee862805f30a109292a181acb00daa9..165f255cdf2a63cdf7de58647f235103f2d55a2b 100644
Binary files a/gradint-build/mac/start-gradint.app/espeak-OSX.zip and b/gradint-build/mac/start-gradint.app/espeak-OSX.zip differ
diff --git a/gradint-build/src/booktime.py b/gradint-build/src/booktime.py
index b247f1bb80e2e3f4d73250cc89e3f93a9f0c8ce7..5021e838821fcc658a928572ee7ca0262c04a477 100644
--- a/gradint-build/src/booktime.py
+++ b/gradint-build/src/booktime.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/filescan.py b/gradint-build/src/filescan.py
index 956e2a347c5102deef4a5e1f4e4fdd90614fd2a1..a1eec82ee7bfad89dadd2c99d071da3161bac6ca 100644
--- a/gradint-build/src/filescan.py
+++ b/gradint-build/src/filescan.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/frontend.py b/gradint-build/src/frontend.py
index 5872be36328c85e9b27c8fb35410ee6428f0bcc5..7595006fc0aeaf14de3d3b5930fef22742dcbe59 100644
--- a/gradint-build/src/frontend.py
+++ b/gradint-build/src/frontend.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
@@ -182,7 +182,7 @@ def selectAll(e):
 def selectAllButNumber(e): # hack for recording.py - select all but any number at the start
     e.widget.event_generate('<Home>')
     for i in list(e.widget.theText.get()):
-        if "0"<=i<="9": e.widget.event_generate('<Right>')
+        if "0"<=i<="9" or i=="_": e.widget.event_generate('<Right>')
         else: return e.widget.event_generate('<Shift-End>')
 def addTextBox(row,wide=0):
     text = Tkinter.StringVar(row)
diff --git a/gradint-build/src/lessonplan.py b/gradint-build/src/lessonplan.py
index 6a3e356f7b00c1a1eefe2a7e9165d9a338dc741d..e631d54ee0094eb2c2e79b2a370bc839c78151e9 100644
--- a/gradint-build/src/lessonplan.py
+++ b/gradint-build/src/lessonplan.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/loop.py b/gradint-build/src/loop.py
index 4230a25a97bcef35e1bfa40a72405945f74ceff4..2b7a1db7f9ff62cb14166cc8e97dc7ea315caf25 100644
--- a/gradint-build/src/loop.py
+++ b/gradint-build/src/loop.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/makeevent.py b/gradint-build/src/makeevent.py
index 93b24cb71dc11bcefbe98a439d048f159f89b4be..964a4e67612ae46bb7bd7eecf241dc1696ddb2c7 100644
--- a/gradint-build/src/makeevent.py
+++ b/gradint-build/src/makeevent.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/play.py b/gradint-build/src/play.py
index dd6c99a694275c28ab9a76a693f2a1618e146e7c..9505fb68c1aea4c5a4c43ab32cd3748c98a2f58e 100644
--- a/gradint-build/src/play.py
+++ b/gradint-build/src/play.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
@@ -109,7 +109,9 @@ if unix:
     gotSox=0
     if got_program("sox"):
       if macsound and sox_formats.find("Rosetta")>-1:
-        show_warning(sox_formats.replace("sox.","sox and espeak.")+" Otherwise expect problems!") # (TODO need to check espeak separately in case they've compiled it x86, see in synth.py)
+        try: u""+sox_formats
+        except: sox_formats="Please install Rosetta (from the Mac OS X optional CD) to run sox." # just in case there are encoding problems with localisation
+        show_warning(sox_formats.replace("sox.","some of the utilities Gradint uses.")+" Otherwise expect problems!") # (TODO need to check espeak separately in case they've compiled it x86, see in synth.py)
         got_qtplay = 0
       else: show_warning("SOX found, but it can't handle WAV files. Ubuntu users please install libsox-fmt-all.")
 else: gotSox = got_program("sox")
diff --git a/gradint-build/src/recording.py b/gradint-build/src/recording.py
index c990f3b1bf3517546fe4c2e42ba7dc3a89f3d799..6205c8f54187d7d9514779075269700281b6a2e8 100644
--- a/gradint-build/src/recording.py
+++ b/gradint-build/src/recording.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
@@ -340,7 +340,7 @@ class RecorderControls:
         renameEntry.grid(row=row,column=col,sticky='we')
         number=filename
         if number.startswith("word"): number=number[4:]
-        if number and "0"<=number[0]<="9":
+        if number and ("0"<=number[0]<="9" or (len(number)>=2 and number[0]=="_" and "0"<=number[1]<="9")): # the format of addMore method
             renameText.set(number)
             selectAllFunc = selectAllButNumber
         else:
@@ -434,7 +434,7 @@ class RecorderControls:
         self.del_addMore_button()
         for r in range(5):
             if self.maxPrefix<=99: prefix = "word%02d" % self.maxPrefix
-            else: prefix = "word_%04d" % self.maxPrefix
+            else: prefix = "word_%04d" % self.maxPrefix # if changing this, change startRename and selectAllButNumber also, AND the code that works out maxPrefix (and NB legacy collections).  TODO use of _ may not suit variants if in same dir.
             self.addLabel(self.addMoreRow,0,utext=prefix)
             for lang in self.languagesToDraw:
                 self.updateFile(unicode2filename(prefix+"_"+lang+dotwav),self.addMoreRow,self.languagesToDraw.index(lang),state=0)
@@ -658,11 +658,17 @@ class RecorderControls:
               else:
                   prefix=fname[:fname.rindex("_")]
                   languageOverride = languageof(fname)
+              
               wprefix = prefix
-              if wprefix.startswith("word"): wprefix=wprefix[4:] # ditch any "word" before the integer
-              try: iprefix = int(wprefix)
+              for ww in ["word_","word","_"]:
+                if wprefix.startswith(ww):
+                  wprefix=wprefix[len(ww):] ; break
+              ii=0
+              while ii<len(wprefix) and "0"<=wprefix[ii]<="9": ii += 1
+              try: iprefix = int(wprefix[:ii])
               except: iprefix = -1
               if iprefix>maxPrefix: maxPrefix=iprefix # max existing numerical prefix
+              
               if (flwr.endswith(dotwav) or flwr.endswith(dotmp3) or flwr.endswith(dottxt)): # even if not languageOverride in self.languagesToDraw e.g. for prompts - helps setting up gradint in a language it doesn't have prompts for (creates blank rows for the prefixes that other languages use). TODO do we want to add 'and languageOverride in self.languagesToDraw' if NOT in prompts?
                 if not prefix in prefix2row:
                     self.addLabel(curRow,0,utext=filename2unicode(prefix))
diff --git a/gradint-build/src/sequence.py b/gradint-build/src/sequence.py
index 5a722184f6980c0e1957a72e76f2864c0ec91593..8b2f8b41f55bcd0719ced97dd6928335620f796d 100644
--- a/gradint-build/src/sequence.py
+++ b/gradint-build/src/sequence.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/synth.py b/gradint-build/src/synth.py
index c0362f9e60394f8eb88795ddfbad91a340ec4ab1..f2c46d7b841265cfe395c6eaa2aa2f7896b80d56 100644
--- a/gradint-build/src/synth.py
+++ b/gradint-build/src/synth.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/system.py b/gradint-build/src/system.py
index 4c8be33c68ce66eb310a7d27d58e98b87c2a277c..5145d27ccb454793b653d25a8058ebc6f39c6b9a 100644
--- a/gradint-build/src/system.py
+++ b/gradint-build/src/system.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/src/top.py b/gradint-build/src/top.py
index e4791c1ec5db28e7f0d1cb1e1d705e0b48b760e8..b57e4c60bc0fe8114cfc3a4c43203f0f76f49975 100644
--- a/gradint-build/src/top.py
+++ b/gradint-build/src/top.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-program_name = "gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+."
+program_name = "gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+."
 
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
diff --git a/gradint-build/src/users.py b/gradint-build/src/users.py
index b50df01540305656fbc40759365a5d47957b9cf6..bc6523d6a529854309207aea967ec7f7577aadcd 100644
--- a/gradint-build/src/users.py
+++ b/gradint-build/src/users.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/thindown.py b/gradint-build/thindown.py
index c60fe4a52a76599aca68dd17bf97779b7871da06..7d1e7b1c07dca77d086739f09dbf590a1a600d44 100644
--- a/gradint-build/thindown.py
+++ b/gradint-build/thindown.py
@@ -1,5 +1,5 @@
 # This file is part of the source code of
-# gradint v0.9958 (c) 2002-2010 Silas S. Brown. GPL v3+.
+# gradint v0.9959 (c) 2002-2010 Silas S. Brown. GPL v3+.
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
 #    the Free Software Foundation; either version 3 of the License, or
diff --git a/gradint-build/windows/espeak-windows.7z b/gradint-build/windows/espeak-windows.7z
index 3f8599348536e684d30a0c652221003aa36e3a55..1942f46d4a33d7b2763c73ddd81265989fc0c95a 100644
Binary files a/gradint-build/windows/espeak-windows.7z and b/gradint-build/windows/espeak-windows.7z differ