diff options
author | Erik Troan <ewt@redhat.com> | 2001-01-25 04:41:33 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 2001-01-25 04:41:33 +0000 |
commit | 6388b600842cdb0aae71b62f24d4b87bf28bef5c (patch) | |
tree | 0eee1dde7402843943ada0b63fa0dda018e59eb4 /todo.py | |
parent | 2614338022649458a0f95a6382ad89a2763caeae (diff) | |
download | anaconda-6388b600842cdb0aae71b62f24d4b87bf28bef5c.tar.gz anaconda-6388b600842cdb0aae71b62f24d4b87bf28bef5c.tar.xz anaconda-6388b600842cdb0aae71b62f24d4b87bf28bef5c.zip |
more language changes -- why not?
Diffstat (limited to 'todo.py')
-rw-r--r-- | todo.py | 50 |
1 files changed, 35 insertions, 15 deletions
@@ -25,6 +25,7 @@ from mouse import Mouse from xf86config import XF86Config import errno import raid +from translate import cat import timer import fstab import time @@ -213,6 +214,18 @@ class Desktop (SimpleConfigFile): def set (self, desktop): self.info ['DESKTOP'] = desktop +def expandLangs(str): + langs = [str] + # remove charset ... + if '.' in str: + langs.append(string.split(str, '.')[0]) + + # also add 2 character language code ... + if len(str) > 2: + langs.append(str[:2]) + + return langs + class InstallTimeLanguage: def __init__ (self): @@ -279,6 +292,9 @@ class InstallTimeLanguage: def available (self): return self.langList + def getCurrentLangSearchList(self): + return expandLangs(self.langNicks[self.getCurrent()]) + ['C'] + def getCurrent(self): if os.environ.has_key('LANG'): what = os.environ['LANG'] @@ -286,19 +302,19 @@ class InstallTimeLanguage: what = 'en_US' return self.getLangNameByNick(what) -class Language (SimpleConfigFile): + def setRuntimeLanguage(self, name): + lang = self.langNicks[name] - def rpmifyLang(self, str): - langs = [str] - # remove charset ... - if '.' in str: - langs.append(string.split(str, '.')[0]) + #os.environ["LC_ALL"] = lang + os.environ["LANG"] = lang + os.environ["LC_NUMERIC"] = 'C' - # also add 2 character language code ... - if len(str) > 2: - langs.append(str[:2]) + newlangs = [lang] + if len(lang) > 2: + newlangs.append(lang[:2]) + cat.setlangs (newlangs) - return langs +class Language (SimpleConfigFile): def __init__ (self): self.info = {} @@ -365,11 +381,11 @@ class Language (SimpleConfigFile): self.info["SUPPORTED"] = None self.supported = langlist rpm.delMacro ("_install_langs") - if langlist: + elif langlist: rpmNickList = [] for name in langlist: (lang, map, font) = self.langInfoByName[name] - rpmNickList = rpmNickList + self.rpmifyLang(lang) + rpmNickList = rpmNickList + expandLangs(lang) linguas = string.join (rpmNickList, ':') self.info["SUPPORTED"] = linguas @@ -381,6 +397,12 @@ class Language (SimpleConfigFile): self.info["SUPPORTED"] = None rpm.delMacro ("_install_langs") self.supported = None + + if self.info["SUPPORTED"]: + os.environ ["LINGUAS"] = self.info["SUPPORTED"] + print os.environ["LINGUAS"] + else: + del os.environ ["LINGUAS"] class Firewall: def __init__ (self): @@ -1244,9 +1266,7 @@ class ToDo: langName = todo.language.getLangNameByNick(todo.instClass.language) todo.language.setSupported([langName]) todo.language.setDefault(langName) - os.environ['LANG'] = todo.instClass.language - os.environ['LC_ALL'] = todo.instClass.language - os.environ['LC_NUMERIC'] = 'C' + todo.instTimeLanguage.setRuntimeLanguage(langName) if todo.instClass.keyboard: todo.keyboard.set(todo.instClass.keyboard) |