@@ -308,14 +308,15 @@ def int_or_zero(num):
309def is_valid_lang(lang):
309def is_valid_lang(lang):
310 is_abbr = (len(lang) == 2)
310 is_abbr = (len(lang) == 2)
311+ lang = lang.lower().decode('utf-8')
311 if is_abbr:
312 if is_abbr:
312 for l in language_codes:
313 for l in language_codes:
313− if l[0][:2] == lang.lower():
314+ if l[0][:2] == lang:
314 return (True, l[0][:2], l[3].lower())
315 return (True, l[0][:2], l[3].lower())
315 return False
316 return False
317 for l in language_codes:
318 for l in language_codes:
318− if l[1].lower() == lang.lower():
319+ if l[1].lower() == lang or l[3].lower() == lang:
319 return (True, l[0][:2], l[3].lower())
320 return (True, l[0][:2], l[3].lower())
320 return False
321 return False