summaryrefslogtreecommitdiffstats
path: root/language.py
diff options
context:
space:
mode:
Diffstat (limited to 'language.py')
-rw-r--r--language.py13
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")