Fix #832761 (translation input is case sensitive)

This commit is contained in:
Kovid Goyal 2011-08-24 10:32:05 -06:00
parent fdc97e3328
commit 6ee7c3661f

View File

@ -9,7 +9,7 @@ __docformat__ = 'restructuredtext en'
from calibre.gui2.complete import MultiCompleteComboBox
from calibre.utils.localization import lang_map
from calibre.utils.icu import sort_key
from calibre.utils.icu import sort_key, lower
class LanguagesEdit(MultiCompleteComboBox):
@ -22,7 +22,7 @@ class LanguagesEdit(MultiCompleteComboBox):
self.names_with_commas = [x for x in self._lang_map.itervalues() if ',' in x]
self.comma_map = {k:k.replace(',', '|') for k in self.names_with_commas}
self.comma_rmap = {v:k for k, v in self.comma_map.iteritems()}
self._rmap = {v:k for k,v in self._lang_map.iteritems()}
self._rmap = {lower(v):k for k,v in self._lang_map.iteritems()}
all_items = sorted(self._lang_map.itervalues(),
key=sort_key)
@ -46,7 +46,7 @@ class LanguagesEdit(MultiCompleteComboBox):
ans = []
for name in vals:
if name:
code = self._rmap.get(name, None)
code = self._rmap.get(lower(name), None)
if code is not None:
ans.append(code)
return ans
@ -66,7 +66,7 @@ class LanguagesEdit(MultiCompleteComboBox):
bad = []
for name in vals:
if name:
code = self._rmap.get(name, None)
code = self._rmap.get(lower(name), None)
if code is None:
bad.append(name)
return bad