@@ -308,14 +308,15 @@ def int_or_zero(num):
308308
309309def is_valid_lang(lang):
310310 is_abbr = (len(lang) == 2)
311+ lang = lang.lower().decode('utf-8')
311312 if is_abbr:
312313 for l in language_codes:
313− if l[0][:2] == lang.lower():
314+ if l[0][:2] == lang:
314315 return (True, l[0][:2], l[3].lower())
315316 return False
316317 else:
317318 for l in language_codes:
318− if l[1].lower() == lang.lower():
319+ if l[1].lower() == lang or l[3].lower() == lang:
319320 return (True, l[0][:2], l[3].lower())
320321 return False
321322