summaryrefslogtreecommitdiffstats
path: root/language.py
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2002-02-06 17:48:27 +0000
committerMatt Wilson <msw@redhat.com>2002-02-06 17:48:27 +0000
commit8a93f6a1a7a6f5062e7179840541fba6154b60e8 (patch)
tree6564d6c1177f86661444213128cfeac78fb1b0f9 /language.py
parentf30ead9067dc1a9ded72532055f5e6354981cd5a (diff)
downloadanaconda-8a93f6a1a7a6f5062e7179840541fba6154b60e8.tar.gz
anaconda-8a93f6a1a7a6f5062e7179840541fba6154b60e8.tar.xz
anaconda-8a93f6a1a7a6f5062e7179840541fba6154b60e8.zip
autogenerate unicode language names and read that in at install time
Diffstat (limited to 'language.py')
-rw-r--r--language.py27
1 files changed, 21 insertions, 6 deletions
diff --git a/language.py b/language.py
index 82c830718..e04d42fe6 100644
--- a/language.py
+++ b/language.py
@@ -46,12 +46,24 @@ class InstallTimeLanguage:
self.current = os.environ["LANG"]
else:
self.current = "en_US"
- if os.access("lang-table", os.R_OK):
- f = open("lang-table", "r")
- elif os.access("/etc/lang-table", os.R_OK):
- f = open("/etc/lang-table", "r")
- else:
- f = open("/usr/lib/anaconda/lang-table", "r")
+ self.nativeLangNames = {}
+
+ search = ('lang-names', '/usr/lib/anaconda/lang-names')
+ for path in search:
+ if os.access(path, os.R_OK):
+ f = open(path, 'r')
+ for line in f.readlines():
+ lang, native = line.split(' ', 1)
+ native = native.strip()
+ self.nativeLangNames[lang] = native
+ break
+
+ search = ('lang-table', '/etc/lang-table',
+ '/usr/lib/anaconda/lang-table')
+ for path in search:
+ if os.access(path, os.R_OK):
+ f = open(path, "r")
+ break
lines = f.readlines ()
f.close()
@@ -97,6 +109,9 @@ class InstallTimeLanguage:
# returns the short locale ID
return self.langNicks[lang]
+ def getNativeLangName(self, lang):
+ return self.nativeLangNames.get(lang)
+
def getLangNameByNick(self, lang):
# The nick we get here may be long (fr_FR@euro), when we need
# shorter (fr_FR), so be a bit fuzzy