summaryrefslogtreecommitdiffstats
path: root/language.py
diff options
context:
space:
mode:
Diffstat (limited to 'language.py')
-rw-r--r--language.py28
1 files changed, 8 insertions, 20 deletions
diff --git a/language.py b/language.py
index 031ffd02c..c63e9959e 100644
--- a/language.py
+++ b/language.py
@@ -190,32 +190,20 @@ class Language:
return 'English'
def setDefault(self, nick):
- if not nick:
+ canonNick = self.canonLangNick(nick)
+
+ if not canonNick or not self.localeInfo[canonNick]:
self.default = None
return
- # Try to find a match for the language nick we were given.
- name = None
- for k in self.langInfoByName.keys():
- row = self.langInfoByName[k]
- if nick in expandLangs(row[0]):
- name = k
- break
-
- # It's possible we didn't find a match.
- if name == None:
- self.default = None
- return
-
self.default = self.getLangNameByNick(nick)
- (lang, map, font) = self.langInfoByName[name]
- self.info['LANG'] = lang
- self.info['SYSFONT'] = font
- if map != "utf8":
- self.info['SYSFONTACM'] = map
+ self.info['LANG'] = nick
+ self.info['SYSFONT'] = self.localeInfo[nick][2]
+ self.info['SYSFONTACM'] = "utf8"
+
# XXX hack - because of exceptional cases on the var - zh_CN.GB2312
- if lang == "zh_CN.GB18030":
+ if nick == "zh_CN.GB18030":
self.info['LANGUAGE'] = "zh_CN.GB18030:zh_CN.GB2312:zh_CN"
def setSupported (self, namelist):