From: Michael Tremer Date: Sun, 18 Jan 2009 21:35:48 +0000 (+0100) Subject: Removed translation parts of pyfire that are no more needed. X-Git-Tag: v3.0-alpha1~102 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e1b7e655bc8175dcf07636f5e0c235a6895259e9;p=ipfire-3.x.git Removed translation parts of pyfire that are no more needed. --- diff --git a/src/pyfire/translate.py b/src/pyfire/translate.py deleted file mode 100644 index 769c99ef3..000000000 --- a/src/pyfire/translate.py +++ /dev/null @@ -1,228 +0,0 @@ -############################################################################### -# # -# IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation, either version 3 of the License, or # -# (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program. If not, see . # -# # -############################################################################### - -import gettext -import iconv -import os, sys, string -import gzip -import locale -import codecs - -def _expandLang(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 - -def getDefaultLangs(): - lang = [] - for env in 'LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG': - if os.environ.has_key(env): - lang = string.split(os.environ[env], ':') - lang = map(_expandLang, lang) - lang = reduce(lambda a, b: a + b, lang) - break - if 'C' not in lang: - lang.append('C') - return lang - -class i18n: - def __init__(self, langs=None, conversion=0, domain=None, paths=None): - # FIXME: legacy method names - self.utf8 = self.convert - self.setunicode = self.setconversion - self.getunicode = self.getconversion - - # do we convert to codeset or not? - self.conversion = conversion - # codeset to convert to - self.codeset = 'utf-8' - - # dictionary of catalogs. keyed by domain, val is (cat, iconv) - self.cats = {} - # list of domains in search order. setting textdomain adds - # to the front of the list - self.domains = [] - - if langs: - self.langs = langs - else: - try: - self.langs = getDefaultLangs() - except: - self.langs = ['C'] - - if paths is None: - self.paths = [ "/usr/share/locale" ] - else: - self.paths = paths - - self.setDomain(domain) - - # add a dir to our search path for po files - def addPoPath(self, path): - if path not in self.paths: - self.paths.insert(0, path) - self.updateCachedCatPaths() - - # add domain to the front of our domain list - def setDomain(self, domain): - if type(domain) == type([]): - domain.reverse() - for dom in domain: - if dom in self.domains: - self.domains.pop(self.domains.index(dom)) - self.domains.insert(0, dom) - else: - if domain in self.domains: - self.domains.pop(self.domains.index(domain)) - self.domains.insert(0, domain) - - # let's pop None out of the list if its there and special case it - if None in self.domains: - self.domains.pop(self.domains.index(None)) - - self.updateCachedCatPaths() - - def updateCachedCatPaths(self): - # should we recreate this each time? - self.cats = {} - self.iconv = None - - for domain in self.domains + [ None ]: - for mypath in self.paths: - if not domain: - path = 'po/%s.mo' - else: - path = '%s/%s/LC_MESSAGES/%s.mo' % (mypath, '%s', domain,) - - mofile = None - for lang in self.langs: - try: - file_path = path %(lang,) - f = open(file_path) - buf = f.read(2) - f.close() - - if buf == "\037\213": - mofile = gzip.open(file_path) - else: - mofile = open(file_path) - except IOError: - pass - if mofile: - break - - if mofile is None: - continue - - catalog = gettext.GNUTranslations(mofile) - try: - theiconv = iconv.open(self.codeset, catalog.charset()) - except Exception, e: - sys.stderr.write('unable to translate from %s to utf-8: %s\n' %(catalog.charset(), e)) - theiconv = iconv.open(self.codeset, 'UTF-8') - - self.cats[domain] = (catalog, theiconv) - if self.iconv is None: - self.iconv = theiconv - break - - # now let's put None at the beginning of the list as it corresponds - # to the "current" local po files for testing - self.domains.insert(0, None) - - #if len(self.cats) == 0: - # encoding = locale.nl_langinfo(locale.CODESET) - # sys.stderr.write("WARNING: Unable to find catalog, using %s for codeset, %s for encoding\n" %(self.codeset, encoding)) - # try: - # self.iconv = iconv.open(self.codeset, encoding) - # except: - # sys.stderr.write("FAILED to create iconv with codeset %s and encoding %s\n" %(self.codeset, encoding)); - # return - - def setDomainCodeset(self, domain, codeset): - self.codeset = codeset - self.conversion = 1 - self.setDomain (domain) - - def setCodeset(self, codeset): - self.codeset = codeset - self.conversion = 1 - - def setconversion(self, value): - self.conversion = value - - def getconversion(self, value): - return self.conversion - - def getlangs(self): - return self.langs - - def setlangs(self, langs): - self.__init__(langs, self.conversion, self.domains, self.paths) - - def convert(self, string): - try: - return self.iconv.iconv(string) - except: - return string - - def gettext(self, string): - if len(self.cats) == 0: - return string - - translation = None - for domain in self.domains: - if not self.cats.has_key(domain): - continue - (cat, iconv) = self.cats[domain] - translation = cat._catalog.get(string) - if translation is not None: - if self.conversion: - return iconv.iconv(translation) - else: - return translation.encode("UTF-8") - - return string - -def N_(str): - return str - -def textdomain_codeset(domain, codeset): - global cat - cat.setDomainCodeset(domain, codeset) - -def textdomain(domain): - global cat - cat.setDomain(domain) - -def addPoPath(path): - global cat - cat.addPoPath(path) - -cat = i18n() -_ = cat.gettext -utf8 = cat.convert -convert = cat.convert diff --git a/src/rootfiles/core/pyfire b/src/rootfiles/core/pyfire index 0edd8dd89..0faadba5e 100644 --- a/src/rootfiles/core/pyfire +++ b/src/rootfiles/core/pyfire @@ -14,9 +14,6 @@ usr/lib/python2.6/site-packages/pyfire/hal.pyo usr/lib/python2.6/site-packages/pyfire/net.py usr/lib/python2.6/site-packages/pyfire/net.pyc usr/lib/python2.6/site-packages/pyfire/net.pyo -usr/lib/python2.6/site-packages/pyfire/translate.py -usr/lib/python2.6/site-packages/pyfire/translate.pyc -usr/lib/python2.6/site-packages/pyfire/translate.pyo usr/lib/python2.6/site-packages/pyfire/web.py usr/lib/python2.6/site-packages/pyfire/web.pyc usr/lib/python2.6/site-packages/pyfire/web.pyo