diff options
author | Jeremy Katz <katzj@redhat.com> | 2003-01-13 06:11:33 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2003-01-13 06:11:33 +0000 |
commit | 4a9ec0baa3343fce70914bfa9a125a31490e694b (patch) | |
tree | f483e50500e2dd86e623e761745533f78a44d276 /language.py | |
parent | c63fabbb1985a50e7cbf1e23dfeb1027c16d61eb (diff) | |
download | anaconda-4a9ec0baa3343fce70914bfa9a125a31490e694b.tar.gz anaconda-4a9ec0baa3343fce70914bfa9a125a31490e694b.tar.xz anaconda-4a9ec0baa3343fce70914bfa9a125a31490e694b.zip |
add support for the install time language to be different from the post-intsall
language as specified in the lang-table. this is needed for cjk locales
because we want to use utf-8 for them during the install
(we only have bterm support for utf-8), but we can't use utf-8 post-install
yet because of lack of input method support and other such problems.
Diffstat (limited to 'language.py')
-rw-r--r-- | language.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/language.py b/language.py index 1a7323b5c..c8ba35f95 100644 --- a/language.py +++ b/language.py @@ -74,6 +74,7 @@ class InstallTimeLanguage: self.kbd = {} self.tz = {} self.langList = [] + self.runtimeLangs = {} self.tempDefault = "" @@ -87,6 +88,7 @@ class InstallTimeLanguage: shortName = l[4] keyboard = l[5] timezone = l[6] + runtime = l[7] self.langList.append(longName) self.langNicks[longName] = shortName @@ -94,6 +96,10 @@ class InstallTimeLanguage: self.map[longName] = map self.kbd[longName] = keyboard self.tz[longName] = timezone + self.runtimeLangs[runtime] = shortName + + if self.runtimeLangs.has_key(self.current): + self.current = self.runtimeLangs[self.current] self.langList.sort() self.setRuntimeLanguage(self.getLangNameByNick(self.current)) @@ -120,6 +126,13 @@ class InstallTimeLanguage: if (nick == lang) or (nick == lang[0:len(nick)]) or (lang == nick[0:len(lang)]): return langName + # FIXME: this could end up infinitely recursing if we screw up the + # lang-table. need to revise the whole thing with post-install + # language not being the same as the installer language + for (nick, main) in self.runtimeLangs.items(): + if (nick == lang) or (nick == lang[0:len(nick)]) or (lang == nick[0:len(lang)]): + return self.getLangNameByNick(main) + #raise KeyError, "language %s not found" % lang return self.getLangNameByNick("en_US.UTF-8") |