[Blends-commit] [SCM] website branch, master, updated. 532d64878a5100a0256e95d5e0ed378ef80bdef0

Andreas Tille tille at debian.org
Wed Oct 24 11:28:15 UTC 2012


The following commit has been merged in the master branch:
commit 532d64878a5100a0256e95d5e0ed378ef80bdef0
Author: Andreas Tille <tille at debian.org>
Date:   Wed Oct 24 13:27:25 2012 +0200

    Inject current production code of webtools for Debian Pure Blends

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..193b759
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+locale
diff --git a/webtools/0dependencies b/webtools/0dependencies
new file mode 100644
index 0000000..a36da54
--- /dev/null
+++ b/webtools/0dependencies
@@ -0,0 +1,6 @@
+The script needs the following python modules installed:
+
+python-genshi
+python-markdown
+python-docutils
+python-debian
diff --git a/webtools/blend-get-names b/webtools/blend-get-names
old mode 100755
new mode 100644
index 89a5647..6c2ce2d
--- a/webtools/blend-get-names
+++ b/webtools/blend-get-names
@@ -11,8 +11,8 @@
 CONTROLFILE=debian/control.stub
 
 GetShortName () {
-    grep '^Source:' $CONTROLFILE | \
-	sed -e 's/^Source:[[:space:]]*//' -e 's/^debian-//'
+    grep '^Source:[[:space:]]*debian-' $CONTROLFILE | \
+	sed 's/^Source:[[:space:]]*debian-//'
 }
 
 if [ ! -e "$CONTROLFILE" ] ; then
@@ -28,7 +28,7 @@ fi
 
 case "$1" in
     blendname)
-        grep '^Source:[[:space:]]*' "$CONTROLFILE" | \
+        grep '^Source:[[:space:]]*debian-' "$CONTROLFILE" | \
 	    sed 's/^Source:[[:space:]]*//'
 	exit 0
 	;;
diff --git a/webtools/blendslanguages.py b/webtools/blendslanguages.py
new file mode 100644
index 0000000..0ab674b
--- /dev/null
+++ b/webtools/blendslanguages.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+# Copyright 2010: Andreas Tille <tille at debian.org>
+# License: GPL
+
+# Define languages which are supported in web sentinel pages
+
+from genshi import Markup
+
+# The keys of the following dictionary are used to address the translation files of DDTP
+# The values contain dictionaries in turn with the following meaning:
+#  'short'    = shortcut of language as extension of the output files
+#  'htaccess' = language definition in htaccess
+#  'title'    = English name of the language used in title attribut of link
+#  'printed'  = printed name for links
+language_dict = { 'en'    : {'short':'en', 'htaccess':'en'   , 'title':'English',         'printed':Markup('English')},
+                  'cs'    : {'short':'cs', 'htaccess':'cs'   , 'title':'Czech',           'printed':Markup('česky')},
+                  'da'    : {'short':'da', 'htaccess':'da'   , 'title':'Danish' ,         'printed':Markup('dansk')},
+                  'de'    : {'short':'de', 'htaccess':'de'   , 'title':'German',          'printed':Markup('Deutsch')},
+                  'es'    : {'short':'es', 'htaccess':'es'   , 'title':'Spanish',         'printed':Markup('español')},
+                  'fi'    : {'short':'fi', 'htaccess':'fi'   , 'title':'Finnish',         'printed':Markup('suomi')},
+                  'fr'    : {'short':'fr', 'htaccess':'fr'   , 'title':'French',          'printed':Markup('français')},
+                  'hu'    : {'short':'hu', 'htaccess':'hu'   , 'title':'Hungarian',       'printed':Markup('magyar')},
+                  'it'    : {'short':'it', 'htaccess':'it'   , 'title':'Italian',         'printed':Markup('Italiano')},
+                  'ja'    : {'short':'ja', 'htaccess':'ja'   , 'title':'Japanese',        'printed':Markup('日本語 (Nihongo)')},
+                  'ko'    : {'short':'ko', 'htaccess':'ko'   , 'title':'Korean',          'printed':Markup('한국어 (Hangul)')},
+                  'nl'    : {'short':'nl', 'htaccess':'nl'   , 'title':'Dutch',           'printed':Markup('Nederlands')},
+                  'pl'    : {'short':'pl', 'htaccess':'pl'   , 'title':'Polish',          'printed':Markup('polski')},
+                  'pt_BR' : {'short':'pt', 'htaccess':'pt-BR', 'title':'Portuguese',      'printed':Markup('Português')},
+                  'ru'    : {'short':'ru', 'htaccess':'ru'   , 'title':'Russian',         'printed':Markup('Русский (Russkij)')},
+                  'uk'    : {'short':'uk', 'htaccess':'uk'   , 'title':'Ukrainian',       'printed':Markup("українська (ukrajins'ka)")},
+                  'sk'    : {'short':'sk', 'htaccess':'sk'   , 'title':'Slovenian',       'printed':Markup('slovensky')},
+                  'sr'    : {'short':'sr', 'htaccess':'sr'   , 'title':'Serbian',         'printed':Markup('српски(srpski)')},
+                  'sv'    : {'short':'sv', 'htaccess':'sv'   , 'title':'Swedish',         'printed':Markup('svenska')},
+                  'zh_CN' : {'short':'zh_cn', 'htaccess':'zh-CN', 'title':'Chinese (China)',  'printed':Markup('中文(简)')},
+                  'zh_TW' : {'short':'zh_tw', 'htaccess':'zh-TW', 'title':'Chinese (Taiwan)', 'printed':Markup('中文(正)')},
+                }
+# global languages
+languages = language_dict.keys()
+languages.sort()
diff --git a/webtools/blendsmarkdown.py b/webtools/blendsmarkdown.py
index 389bb0a..a7de6f1 100644
--- a/webtools/blendsmarkdown.py
+++ b/webtools/blendsmarkdown.py
@@ -12,6 +12,8 @@ from markdown import markdown            # Markdown
 from docutils.core import publish_parts  # alternatively reST
 from genshi import Markup
 
+from blendsunicode import to_unicode
+
 detect_list_start_re = re.compile("^\s+[-*+]\s+")
 detect_code_start_re = re.compile("^\s")
 detect_code_end_re   = re.compile("^[^\s]")
@@ -64,12 +66,12 @@ def PrepareMarkdownInput(lines):
     return ret
 
 def render_longdesc(lines):
-    MarkDownInput  = PrepareMarkdownInput(lines)
+    MarkDownInput  = to_unicode(PrepareMarkdownInput(lines))
 
     global rendering_lib
     if rendering_lib == 'rest':
         try:
-            LongDesc = publish_parts(unicode(MarkDownInput, 'utf-8'), writer_name='html')['body']
+            LongDesc = publish_parts(MarkDownInput, writer_name='html')['body']
         except:
             print >>stderr, "Unable to render the following prepared text:\n" + MarkDownInput
             LongDesc = "Problems in rendering description using reST"
@@ -94,8 +96,7 @@ def MarkupString(string, pkg, elem, lang='en'):
     if string == None:
         return None
     try:
-        # string = Markup(unicode(string, 'utf-8'))
-        string = Markup(string)
+        string = Markup(to_unicode(string))
     except UnicodeDecodeError, errtxt:
         print >> stderr, "----> %s UnicodeDecodeError in %s (lang='%s'): '%s'; ErrTxt: %s" % \
                                     (elem, pkg, lang, 'debug-string', errtxt)
diff --git a/webtools/blendstasktools.py b/webtools/blendstasktools.py
index fffbc00..0b84997 100644
--- a/webtools/blendstasktools.py
+++ b/webtools/blendstasktools.py
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# Copyright 2008: Andreas Tille <tille at debian.org>
+# Copyright 2008-2012: Andreas Tille <tille at debian.org>
 # License: GPL
 
 # Blends metapackages are listing a set of Dependencies
@@ -14,6 +14,7 @@
 # from tasks file about home page, license, WNPP etc.
 
 PORT=5441
+UDDPORT=5452
 DEFAULTPORT=5432
 
 from sys import stderr, exit
@@ -35,13 +36,18 @@ from genshi import Markup
 # from genshi.input import HTML
 from blendsmarkdown import SplitDescription, MarkupString, render_longdesc
 
-from debian_bundle import deb822
+try:
+    from debian import deb822
+except:
+    from debian_bundle import deb822
 from blendsunicode import to_unicode
+from blendslanguages import languages
 
 import logging
 import logging.handlers
 logger = logging.getLogger('blends')
 logger.setLevel(logging.INFO)
+# logger.setLevel(logging.DEBUG)
 
 # Seems to have problems on 17.04.2009
 # BASEURL  = 'http://ftp.debian.org/debian'
@@ -51,11 +57,6 @@ SVNHOST  = 'svn://svn.debian.org'
 KEYSTOIGNORE = ( 'Architecture', 'Comment', 'Leaf', 'NeedConfig', 'Note', 'Section',
                  'Needconfig', 'DontAvoid',
                  'Enhances', 'Test-always-lang', 'Metapackage')
-# DDTP now exports to official debian mirror
-#DDTPURL = "http://ddtp.debian.net/debian/dists/"
-DDTPURL = "http://ftp.de.debian.org/debian/dists/"
-DDTPDIR = "/i18n/Translation-"
-DDTPLISTS = ('etch', 'lenny', 'sid')
 
 CONFDIR = 'webconf'
 
@@ -196,11 +197,49 @@ for pkgstat in pkgstatus:
         if dep not in dep_strength_keys:
             dep_strength_keys.append(dep)
 
+rmpub = open('remove-publications-from-tasks-files.dat','w+')
+
 license_in_component = {'main'     : 'DFSG free',
                         'contrib'  : 'DFSG free, but needs non-free components',
                         'non-free' : 'non-free'
             }
 
+try:
+    import psutil
+    has_psutils=True
+except ImportError:
+    has_psutils=False
+
+LOCKFILE='/var/lock/blends.lock'
+def LockBlendsTools():
+    """Locking mechanism to make sure the scripts will not run in parallel
+       which happened because of IO problems on udd.debian.org"""
+    if not has_psutils:
+	logger.warning("Package python-psutil is missing.  No locking support available")
+	return
+    if os.path.exists(LOCKFILE):
+        try:
+            lf = open(LOCKFILE, 'r')
+            pid = int(lf.readline())
+            lf.close()
+            if pid in psutil.get_pid_list():
+                logger.error("Another process rebuilding web sentinel pages with PID %i is running. Exit." % pid)
+                exit()
+            else:
+                logger.warning("Process with PID %i is not running any more but lockfile remained.  Removing %s ..." % (pid, LOCKFILE))
+                os.unlink(LOCKFILE)
+        except IOError as e:
+            pass
+    pid = os.getpid()
+    lf = open(LOCKFILE, 'w')
+    print >>lf, pid
+    lf.close()
+
+def UnlockBlendsTools():
+    """Unlock previousely locked file"""
+    if os.path.exists(LOCKFILE):
+        os.unlink(LOCKFILE)
+
 def GetDependencies2Use(dependencystatus=[], max_order='prospective'):
     # Create a list of status of dependencies out of pkgstatus dictionary
     use_dependencystatus = []
@@ -225,152 +264,243 @@ def GetDependencies2Use(dependencystatus=[], max_order='prospective'):
 ###########################################################################################
 # Define several prepared statements to query UDD
 try:
-    conn = psycopg2.connect(host="localhost",port=PORT,user="guest",database="udd")
-except psycopg2.OperationalError:
-    logger.debug("PostgreSQL does not seem to run on port %i .. trying default port %i." % (PORT, DEFAULTPORT))
+  conn = psycopg2.connect(host="localhost",port=PORT,user="guest",database="udd")
+except psycopg2.OperationalError, err:
+  try:
+    conn = psycopg2.connect(host="udd.debian.org",port=UDDPORT,user="guest",database="udd")
+  except psycopg2.OperationalError, err:
+    # logger not known at this state: logger.warning
+    print >>stderr, "PostgreSQL does not seem to run on port %i .. trying default port %i.\n\tMessage: %s" % (PORT, DEFAULTPORT, str(err))
     try:
         conn = psycopg2.connect(host="localhost",port=DEFAULTPORT,user="guest",database="udd")
     except psycopg2.OperationalError:
 	# Hmmm, I observed a really strange behaviour on one of my machines where connecting to
-	# localhost does not work but 127.0.0.1 works fine.  No odea why ... but this should
+	# localhost does not work but 127.0.0.1 works fine.  No idea why ... but this should
 	# do the trick for the moment
 	conn = psycopg2.connect(host="127.0.0.1",port=DEFAULTPORT,user="guest",database="udd")
 
 curs = conn.cursor()
-query = """PREPARE query_pkg (text) AS SELECT 
-                   distribution, component, version, architecture, maintainer,
-                   source, section, task, distribution, release, component, homepage,
-                   description, long_description FROM packages
-                   WHERE package = $1 ORDER BY version"""
-curs.execute(query)
-
-query = """PREPARE query_new (text) AS SELECT 
-                   distribution, component, version, architecture, maintainer,
-                   source, section, distribution, 'new' AS release, component, homepage,
-                   description, long_description FROM new_packages
-                   WHERE package = $1 ORDER BY version LIMIT 1"""
-curs.execute(query)
+# uddlog = open('logs/uddquery.log', 'w')
+
+def _execute_udd_query(query):
+    try:
+        curs.execute(query)
+        logger.debug(query)
+    except psycopg2.ProgrammingError, err:
+        print >>stderr, "Problem with query\n%s" % (to_unicode(query))
+        print >>stderr, err
+        exit(-1)
+    except psycopg2.DataError, err:
+        print >>stderr, "%s; query was\n%s" % (err, query)
+
+query = """PREPARE query_pkgs (text[],text[]) AS
+        SELECT * FROM blends_query_packages($1,$2) AS (
+          package text, distribution text, release text, component text, version debversion,
+          maintainer text,
+          source text, section text, task text, homepage text,
+          maintainer_name text, maintainer_email text,
+          "vcs-type" text, "vcs-url" text, "vcs-browser" text,
+	  changed_by text,
+          enhanced text[],
+          releases text[], versions text[], architectures text[],
+	  unstable_upstream text, unstable_parsed_version text, unstable_status dehs_status, experimental_parsed_version text, experimental_status dehs_status,
+          vote int, recent int, -- popcon
+          debtags text[],
+          screenshot_versions text[], image text[], icon text[],
+          year    text,
+          title   text,
+          authors text,
+          doi     text,
+          pubmed  text,
+          url     text,
+          journal text,
+          volume  text,
+          number  text,
+          pages   text,
+          eprint  text,
+          description_en text, long_description_en text,
+          description_cs text, long_description_cs text,
+          description_da text, long_description_da text,
+          description_de text, long_description_de text,
+          description_es text, long_description_es text,
+          description_fi text, long_description_fi text,
+          description_fr text, long_description_fr text,
+          description_hu text, long_description_hu text,
+          description_it text, long_description_it text,
+          description_ja text, long_description_ja text,
+          description_ko text, long_description_ko text,
+          description_nl text, long_description_nl text,
+          description_pl text, long_description_pl text,
+          "description_pt_BR" text, "long_description_pt_BR" text,
+          description_ru text, long_description_ru text,
+          description_sk text, long_description_sk text,
+          description_sr text, long_description_sr text,
+          description_sv text, long_description_sv text,
+          description_uk text, long_description_uk text,
+          "description_zh_CN" text, "long_description_zh_CN" text,
+          "description_zh_TW" text, "long_description_zh_TW" text
+        )"""
+_execute_udd_query(query)
+
+query = """PREPARE query_new (text[]) AS SELECT
+                   p.package,
+                   p.distribution, p.component, p.version, p.architecture, p.maintainer,
+                   p.source, p.section, p.distribution, 'new' AS release, p.component, p.homepage,
+                   s.changed_by,
+                   description AS description_en, long_description AS long_description_en,
+         bibyear.value    AS "year",
+         bibtitle.value   AS "title",
+         bibauthor.value  AS "authors",
+         bibdoi.value     AS "doi",
+         bibpmid.value    AS "pubmed",
+         biburl.value     AS "url",
+         bibjournal.value AS "journal",
+         bibvolume.value  AS "volume",
+         bibnumber.value  AS "number",
+         bibpages.value   AS "pages",
+         bibeprint.value  AS "eprint"
+                   FROM new_packages p
+		   JOIN new_sources s ON p.source = s.source AND p.version = s.version
+    LEFT OUTER JOIN bibref bibyear    ON p.source = bibyear.source    AND bibyear.rank = 0    AND bibyear.key    = 'year'    AND bibyear.package = ''
+    LEFT OUTER JOIN bibref bibtitle   ON p.source = bibtitle.source   AND bibtitle.rank = 0   AND bibtitle.key   = 'title'   AND bibtitle.package = ''
+    LEFT OUTER JOIN bibref bibauthor  ON p.source = bibauthor.source  AND bibauthor.rank = 0  AND bibauthor.key  = 'author'  AND bibauthor.package = ''
+    LEFT OUTER JOIN bibref bibdoi     ON p.source = bibdoi.source     AND bibdoi.rank = 0     AND bibdoi.key     = 'doi'     AND bibdoi.package = ''
+    LEFT OUTER JOIN bibref bibpmid    ON p.source = bibpmid.source    AND bibpmid.rank = 0    AND bibpmid.key    = 'pmid'    AND bibpmid.package = ''
+    LEFT OUTER JOIN bibref biburl     ON p.source = biburl.source     AND biburl.rank = 0     AND biburl.key     = 'url'     AND biburl.package = ''
+    LEFT OUTER JOIN bibref bibjournal ON p.source = bibjournal.source AND bibjournal.rank = 0 AND bibjournal.key = 'journal' AND bibjournal.package = ''
+    LEFT OUTER JOIN bibref bibvolume  ON p.source = bibvolume.source  AND bibvolume.rank = 0  AND bibvolume.key  = 'volume'  AND bibvolume.package = ''
+    LEFT OUTER JOIN bibref bibnumber  ON p.source = bibnumber.source  AND bibnumber.rank = 0  AND bibnumber.key  = 'number'  AND bibnumber.package = ''
+    LEFT OUTER JOIN bibref bibpages   ON p.source = bibpages.source   AND bibpages.rank = 0   AND bibpages.key   = 'pages'   AND bibpages.package = ''
+    LEFT OUTER JOIN bibref bibeprint  ON p.source = bibeprint.source  AND bibeprint.rank = 0  AND bibeprint.key  = 'eprint'  AND bibeprint.package = ''
+                   WHERE (p.package, p.version) IN  
+                         (SELECT package, max(version) FROM
+                   new_packages WHERE package = ANY ($1) GROUP BY package)"""
+_execute_udd_query(query)
+
+query = """PREPARE query_vcs (text[]) AS SELECT
+                   p.package,
+                   p.component, p.maintainer,
+                   p.source, p.section, 'vcs' AS release, p.component, p.homepage,
+                   p.changed_by, p.chlog_version AS version,
+                   description AS description_en, long_description AS long_description_en,
+                   p.vcs_url     AS "vcs-url",
+                   p.vcs_type    AS "vcs-type",
+                   p.vcs_browser AS "vcs-browser",
+                   p.blend,
+                   p.license,
+                   p.wnpp,
+         bibyear.value    AS "year",
+         bibtitle.value   AS "title",
+         bibauthor.value  AS "authors",
+         bibdoi.value     AS "doi",
+         bibpmid.value    AS "pubmed",
+         biburl.value     AS "url",
+         bibjournal.value AS "journal",
+         bibvolume.value  AS "volume",
+         bibnumber.value  AS "number",
+         bibpages.value   AS "pages",
+         bibeprint.value  AS "eprint"
+                   FROM blends_prospectivepackages p
+    LEFT OUTER JOIN bibref bibyear    ON p.source = bibyear.source    AND bibyear.rank = 0    AND bibyear.key    = 'year'    AND bibyear.package = ''
+    LEFT OUTER JOIN bibref bibtitle   ON p.source = bibtitle.source   AND bibtitle.rank = 0   AND bibtitle.key   = 'title'   AND bibtitle.package = ''
+    LEFT OUTER JOIN bibref bibauthor  ON p.source = bibauthor.source  AND bibauthor.rank = 0  AND bibauthor.key  = 'author'  AND bibauthor.package = ''
+    LEFT OUTER JOIN bibref bibdoi     ON p.source = bibdoi.source     AND bibdoi.rank = 0     AND bibdoi.key     = 'doi'     AND bibdoi.package = ''
+    LEFT OUTER JOIN bibref bibpmid    ON p.source = bibpmid.source    AND bibpmid.rank = 0    AND bibpmid.key    = 'pmid'    AND bibpmid.package = ''
+    LEFT OUTER JOIN bibref biburl     ON p.source = biburl.source     AND biburl.rank = 0     AND biburl.key     = 'url'     AND biburl.package = ''
+    LEFT OUTER JOIN bibref bibjournal ON p.source = bibjournal.source AND bibjournal.rank = 0 AND bibjournal.key = 'journal' AND bibjournal.package = ''
+    LEFT OUTER JOIN bibref bibvolume  ON p.source = bibvolume.source  AND bibvolume.rank = 0  AND bibvolume.key  = 'volume'  AND bibvolume.package = ''
+    LEFT OUTER JOIN bibref bibnumber  ON p.source = bibnumber.source  AND bibnumber.rank = 0  AND bibnumber.key  = 'number'  AND bibnumber.package = ''
+    LEFT OUTER JOIN bibref bibpages   ON p.source = bibpages.source   AND bibpages.rank = 0   AND bibpages.key   = 'pages'   AND bibpages.package = ''
+    LEFT OUTER JOIN bibref bibeprint  ON p.source = bibeprint.source  AND bibeprint.rank = 0  AND bibeprint.key  = 'eprint'  AND bibeprint.package = ''
+                   WHERE p.package = ANY ($1)"""
+_execute_udd_query(query)
+
+# This prepared statement is called only once but it makes sense to mention it in the
+# header to keep all stuff in one place which needs to be changed in case a new language
+# will be added
+query = """PREPARE query_metapkg_trans (text[]) AS
+        SELECT * FROM blends_metapackage_translations($1) AS (
+          package text,
+          description_en text, long_description_en text,
+          description_cs text, long_description_cs text,
+          description_da text, long_description_da text,
+          description_de text, long_description_de text,
+          description_es text, long_description_es text,
+          description_fi text, long_description_fi text,
+          description_fr text, long_description_fr text,
+          description_hu text, long_description_hu text,
+          description_it text, long_description_it text,
+          description_ja text, long_description_ja text,
+          description_ko text, long_description_ko text,
+          description_nl text, long_description_nl text,
+          description_pl text, long_description_pl text,
+          "description_pt_BR" text, "long_description_pt_BR" text,
+          description_ru text, long_description_ru text,
+          description_sk text, long_description_sk text,
+          description_sr text, long_description_sr text,
+          description_sv text, long_description_sv text,
+          description_uk text, long_description_uk text,
+          "description_zh_CN" text, "long_description_zh_CN" text,
+          "description_zh_TW" text, "long_description_zh_TW" text
+        )"""
+_execute_udd_query(query)
 
 # Sometimes the tasks file contains dependencies from virtual packages and we have to
 # obtain the real packages which provide this dependency.
 # First check whether there are such packages (only names)
-query = """PREPARE query_provides (text) AS 
-           SELECT package FROM packages WHERE provides = $1 GROUP BY package;"""
-curs.execute(query)
+query = """PREPARE query_provides (text[]) AS 
+           SELECT DISTINCT package, provides FROM packages WHERE provides IS NOT NULL AND package = ANY($1) ;"""
+_execute_udd_query(query)
 
 # Obtain more detailed information about packages that might provide a dependency
 #query = """PREPARE query_provides_version_release (text) AS 
 #           SELECT package, version, release FROM packages WHERE provides = $1
 #                  GROUP BY version, package, release ORDER BY version DESC;"""
-#curs.execute(query)
-
-# Obtain the component a certain package might be in
-query = "PREPARE pkg_component (text) AS SELECT component FROM packages WHERE package = $1 GROUP BY component "
-curs.execute(query)
+#_execute_udd_query(query)
 
 # Obtain the releases featuring a certain package, in case a package might show up in different components when
 # considering different releases we apply a preference for main over contrib over non-free.  If this is the case
 # we mention only the releases of the selected component
 query = "PREPARE pkg_releases (text, text) AS SELECT release FROM packages WHERE package = $1 AND component = $2 GROUP BY release "
-curs.execute(query)
-
-# Obtain available versions including the architectures where this version is available
-#query = """PREPARE pkg_versions_arch (text, text) AS
-#   SELECT release, regexp_replace(version, '^[0-9]:', '') AS version, array_to_string(array_accum(architecture),',') AS architectures FROM
-#     ( SELECT architecture, version,
-#          release || CASE WHEN char_length(substring(distribution from '-.*')) > 0 THEN substring(distribution from '-.*') ELSE '' END AS release FROM packages
-#          WHERE package = $1 AND component = $2
-#          GROUP BY architecture, version, release, distribution
-#          ORDER BY architecture
-#     ) AS av
-#     GROUP BY version, release ORDER BY version DESC;"""
-query = """PREPARE pkg_versions_arch (text) AS
-   SELECT r as release, version, archs, component
-     FROM versions_archs_component($1) AS (r text, version text, archs text, component text)
-          -- you have to specify the column names because plain RECORD type is returned
-     JOIN releases ON releases.release = r
-          -- JOIN with release table to enable reasonable sorting
-    WHERE r NOT LIKE '%-%'
-          -- ignore releases like *-security etc.
-    ORDER BY releases.sort ASC, version DESC;"""
-curs.execute(query)
+_execute_udd_query(query)
 
 query = """PREPARE pkg_versions_stable_testing (text) AS
    SELECT release,  regexp_replace(regexp_replace(debversion, '-.*', ''), '[.+~]dfsg.*', '') AS version, debversion
      FROM (SELECT r AS release, MAX(version) AS debversion
              FROM versions_archs_component($1) AS (r text, version text, archs text, component text)
-            WHERE r IN ('lenny', 'squeeze') GROUP BY r) AS zw;"""  # Change here releases onace Squeeze is released
-curs.execute(query)
-
-# Obtain upstream version in case it is newer than Debian version
-query = """PREPARE pkg_dehs (text) AS
-   SELECT DISTINCT d.source, unstable_upstream, unstable_parsed_version, unstable_status, experimental_parsed_version, experimental_status FROM dehs d
-      JOIN  packages p ON p.source = d.source
-      WHERE p.package = $1 AND unstable_status = 'outdated' ;"""
-curs.execute(query)
-
-# Obtain Vcs Information from source table - use only latest version because this is 
-query = """PREPARE src_vcs (text) AS
-           SELECT vcs_type AS "vcs-type", vcs_url AS "vcs-url", vcs_browser AS "vcs-browser" FROM sources
-            WHERE source = $1 AND (vcs_type IS NOT NULL OR vcs_url IS NOT NULL OR vcs_browser IS NOT NULL)
-            ORDER BY version desc LIMIT 1"""
-curs.execute(query)
+            WHERE r IN ('lenny', 'squeeze') GROUP BY r) AS zw;"""  # Change here releases once Squeeze is released
+_execute_udd_query(query)
 
-# Obtain description in foreign language from DDTP project if available
-# For the moment just query for the highest available version of the description
-query = """PREPARE ddtp_description (text) AS
-           SELECT language, description, long_description, version FROM DdtpLanguageMaxVersion($1)"""
-curs.execute(query)
-
-# Obtain popcon data:
-#   inst     : number of people who installed this package;
-# * vote     : number of people who use this package regularly;
-#   old      : number of people who installed, but don't use this package regularly;
-# * recent   : number of people who upgraded this package recently;
-#   no-files : number of people whose entry didn't contain enough information (atime and ctime were 0).
-query = "PREPARE popcon (text) AS SELECT vote, recent FROM popcon WHERE package = $1"
-curs.execute(query)
-
-# Number of submissions
+# Number of all submissions
 query = "PREPARE popcon_submissions AS SELECT vote FROM popcon WHERE package = '_submissions'"
-curs.execute(query)
-
-# Debtags
-query = """PREPARE debtags (text) AS 
-            SELECT * FROM debtags WHERE
-                package = $1 AND
-                tag NOT LIKE 'implemented-in::%' AND
-                tag NOT LIKE 'protocol::%' AND
-                tag NOT LIKE '%::TODO' AND
-                tag NOT LIKE '%not-yet-tagged%';"""
-curs.execute(query)
-
-query = """PREPARE query_screenshots (text) AS
-           SELECT screenshot_url, large_image_url AS image, small_image_url AS icon, version
-                  FROM screenshots WHERE package = $1
-                  ORDER BY version DESC, image ;"""
-curs.execute(query)
-
-# This query might result in more packages than wanted, because when seeking for a
-# package 'foo'  it also matches an enhances field of 'bar, xfoo-xx, foo-doc, bazz'
-# and thus we get a false positive.  We have to preprocess the resultset by splitting
-# it into single packages and check again the whole word for matching.  This is
-# implemented below in Python
-######################################################################################
-# ATTENTION: Call this "EXECUTE query_check_enhances('%"+pkg+"%')"                   #
-#            I have no idea how to otherwise mask the '%' in the prepared statement. #
-######################################################################################
-query = """PREPARE query_check_enhances (text) AS
-            SELECT DISTINCT package, enhances FROM packages WHERE enhances LIKE $1"""
-curs.execute(query)
-
-# Obtain e-mail address of latest uploader of source package
-query = """PREPARE query_get_latest_uploader (text) AS
-           SELECT changed_by FROM upload_history WHERE source = $1 ORDER BY version DESC LIMIT 1;"""
-curs.execute(query)
+_execute_udd_query(query)
 
 #########################################################################################
 
+def List2PgArray(list):
+    # turn a list of strings into the syntax for a PostgreSQL array:
+    # {"string1","string2",...,"stringN"}
+    if not list:
+        return '{}'
+    komma='{'
+    PgArray=''
+    for s in list:
+        PgArray=PgArray+komma+'"'+s+'"'
+        komma=','
+    return PgArray+'}'
+
+def List2PgSimilarArray(list):
+    # turn a list of strings surrounded by '%' into the syntax for a PostgreSQL array to enable LIKE conditions:
+    # {"%string1%","%string2%",...,"%stringN%"}
+    if not list:
+        return '{}'
+    komma='{'
+    PgSimArray=''
+    for s in list:
+        PgSimArray=PgSimArray+komma+'"%'+s+'%"'
+        komma=','
+    return PgSimArray+'}'
+
 def ReadConfig(blendname=''):
     # Try to read config file CONFDIR/<blendname>.conf
     conffile = CONFDIR + '/' + blendname + '.conf'
@@ -439,7 +569,7 @@ def FetchTasksFiles(data):
         # Checkout/Update tasks from SVN
         svncommand = "svn %%s %s/%s/%s %s >> /dev/null" % (SVNHOST, data['vcsdir'], dir, tasksdir)
         if os.path.isdir(tasksdir+'/.svn'):
-    	    svncommand = svncommand % 'up'
+    	    svncommand = svncommand % ' --accept theirs-conflict up'
         else:
             os.system("mkdir -p %s" % (tasksdir))
             svncommand = svncommand % 'co'
@@ -448,8 +578,11 @@ def FetchTasksFiles(data):
     	    if os.path.isdir(tasksdir+'/.svn'):
     		logger.error("Trying old files in %s ..." % tasksdir)
     	    else:
-    		logger.error("There are no old files in %s -> giving up" % tasksdir)
-    		exit(-1)
+                if os.listdir(tasksdir):
+                    logger.warning("No .svn directory found in %s but trying those random files there as tasks files." % tasksdir)
+                else:
+                    logger.error("There are no old files in %s -> giving up" % tasksdir)
+                    exit(-1)
     return data['datadir'] + '/tasks'
 
 def RowDictionaries(cursor):
@@ -478,6 +611,8 @@ def RowDictionaries(cursor):
 
 def BrowserFromVcsURL(vcs_type, vcs_url):
     # Guess Vcs-Browser URL from VCS URL
+    if not vcs_type:
+        return HOMEPAGENONE
     if vcs_type.lower().startswith('svn'):
         ret_url = re.sub('^svn:', 'http:', vcs_url)
         ret_url = re.sub('/svn/', '/wsvn/', ret_url)
@@ -494,7 +629,10 @@ def BrowserFromVcsURL(vcs_type, vcs_url):
     else:
         logger.warning("Unknown VCS for " + vcs_url)
         return HOMEPAGENONE
-
+    if vcs_url.startswith('https://github.com') and vcs_url.endswith('.git'):
+        ret_url = re.sub('.git$', '', vcs_url)
+    elif vcs_url.startswith('http:'):
+        return vcs_url
     if ret_url == vcs_url:
         logger.warning("Unable to obtain Vcs-Browser from " + vcs_url)
         return HOMEPAGENONE
@@ -528,6 +666,7 @@ class DependantPackage:
         self.blendname      = blendname # Blend that includes the package in dependency list
         self.taskname       = taskname  # Task which includes the Dependency
         self.pkg            = None # Name of dependant package
+        self.source         = None # Name of source package of the dependency
         self.PrintedName    = None # Only for Meta package names - no use for a real dependant package
                                    # FIXME -> object model
         self.pkgstatus      = 'unknown' # global pkgstatus: characterizes status of dependency, release, packaging status
@@ -563,233 +702,6 @@ class DependantPackage:
         self.remark         = {}   # Optional remark for a package
         self.dep_strength   = 0    # Type of Dependency (Depends, Recommends, Suggests, Experimental, New, Avoid, Ignore, WNPP
 
-    def _QueryUDD4Package(self, source):
-        # Query UDD for several properties of a package
-        query = "EXECUTE pkg_component ('%s')" % self.pkg
-        curs.execute(query)
-        if curs.rowcount == 0:
-            # the package does not exist in UDD table packages
-            # verify whether we have some information in NEW queue
-            query = "EXECUTE query_new ('%s')" % self.pkg
-            curs.execute(query)
-            if curs.rowcount == 0:
-                return
-
-            row = RowDictionaries(curs)[0]
-            self.component = row['component']
-            self.version   = [{'release':'new', 'version': row['version'], 'archs':row['architecture']} , ]
-            self.pkgstatus = 'new'
-            self.properties['pkg-url'] = 'http://ftp-master.debian.org/new/%s_%s.html' % (row['source'], row['version'])
-            for prop in PROPERTIES:
-                self.properties[prop] = row[prop]
-            self.desc['en']['short'] = MarkupString(to_unicode(row['description']), self.pkg, 'ShortDesc - New')
-            self.desc['en']['long']  = Markup(render_longdesc(row['long_description'].splitlines()))
-            (_name, _url) = email.Utils.parseaddr(row['maintainer'])
-            self.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
-            logger.info("The package %s is not yet in Debian but it is just in the new queue. (Task %s)" % (self.pkg, self.taskname))
-
-            return
-        # = the package exists in UDD table packages
-        else:
-            # This might happen in cases where a package was in non-free and moved to main later or
-            # something like this.  If we find a certain package in more than one components we
-            # prefer main over contrib over non-free.
-            if curs.rowcount > 1:
-                in_main = 0
-                in_contrib = 0
-                for component in curs.fetchall():
-                    if component[0] == 'main':
-                        self.component = 'main'
-                        in_main       = 1
-                        break
-                    if component[0] == 'contrib':
-                        in_contrib    = 1
-                if in_main == 0:
-                    if in_contrib == 1:
-                        self.component = 'contrib'
-                    else:
-                        self.component = 'non-free'
-            else:
-                self.component = curs.fetchone()[0]
-        # Debian Edu contains packages from main/debian-installer
-        if self.component == 'main/debian-installer':
-                self.component = 'main'
-        self.properties['license'] = license_in_component[self.component]
-
-        query = "EXECUTE pkg_releases ('%s', '%s')" % (self.pkg, self.component)
-        curs.execute(query)
-        has_official = 0
-        for rel in curs.fetchall():
-            self.releases.append(rel[0])
-            if rel[0] != 'experimental':
-                has_official = 1
-
-        # query = "EXECUTE pkg_versions_arch ('%s', '%s')" % (self.pkg, self.component)
-        query = "EXECUTE pkg_versions_arch ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            for row in RowDictionaries(curs):
-                if self.component.startswith(row['component']):
-                    self.version.append({'release':row['release'], 'version': row['version'], 'archs':row['archs']})
-                else:
-                    self.version.append({'release':row['release'], 'version': row['version'] + ' (' + row['component'] + ')', 'archs':row['archs']})
-
-        # Version in stable / testing for long table
-        query = "EXECUTE pkg_versions_stable_testing ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            prefix = 'Versions: '
-            for row in RowDictionaries(curs):
-                self.properties['stable_testing_version'].append((row['release'], row['debversion'], row['version'], prefix))
-                prefix = ', '
-
-        query = "EXECUTE pkg_dehs ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            row = RowDictionaries(curs)[0]
-            # it might be that the new upstream goes to experimental - this should be ignored here
-            if row['experimental_status'] != 'uptodate':
-                self.outdated['release']       = 'upstream'
-                self.outdated['version']       = row['unstable_upstream']
-                self.outdated['architectures'] = ''
-
-        query = "EXECUTE popcon ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            row = RowDictionaries(curs)[0]
-            self.popcon['vote']   = row['vote']
-            self.popcon['recent'] = row['recent']
-
-        query = "EXECUTE debtags ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            tagdict = {}
-            taglist = []
-            for row in RowDictionaries(curs):
-                (tag,value) = row['tag'].split('::')
-                if tagdict.has_key(tag):
-                    tagdict[tag] += ', ' + value
-                else:
-                    tagdict[tag]  = value
-                    taglist.append(tag)
-            if taglist:
-                taglist.sort()
-                for tag in taglist:
-                    self.debtags.append({'tag':tag, 'value':tagdict[tag]})
-
-        query = "EXECUTE query_screenshots ('%s')" % (self.pkg)
-        curs.execute(query)
-        if curs.rowcount > 0:
-            rows = RowDictionaries(curs)
-            self.icon           = rows[0]['icon']
-            self.image          = rows[0]['image']
-            self.screenshot_url = rows[0]['screenshot_url']
-            # if a package has more than one screenshots provide a list of these
-            if curs.rowcount > 1:
-                for row in rows:
-                    self.screenshots.append({'version':row['version'], 'url':row['image']})
-
-        if has_official == 1:
-            if self.component == 'main':
-                if self.dep_strength == 'Depends' or self.dep_strength == 'Recommends':
-                    self.pkgstatus = 'official_high'
-                else:
-                    self.pkgstatus = 'official_low'
-            else:
-                    self.pkgstatus = 'non-free'
-        else:
-            self.pkgstatus = 'experimental'
-
-        # link to packages.debian.org search page to see overview about all
-        # package versions in all releases
-        self.properties['pkg-url'] = PKGURLMASK % self.pkg
-
-        query = "EXECUTE query_pkg ('%s')" % self.pkg
-        curs.execute(query)
-
-        for row in RowDictionaries(curs):
-            for prop in PROPERTIES:
-                self.properties[prop] = row[prop]
-            self.desc['en']['short'] = MarkupString(to_unicode(row['description']), self.pkg, 'ShortDesc')
-            self.desc['en']['long']  = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
-            (_name, _url) = email.Utils.parseaddr(row['maintainer'])
-            self.properties['maintainer'] = to_unicode(row['maintainer'])
-            self.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
-
-        if self.properties.has_key('source'):
-            query = "EXECUTE src_vcs ('%s')" % (self.properties['source'])
-            curs.execute(query)
-            if curs.rowcount > 0:
-                # There is only one line returned by this query
-                row = RowDictionaries(curs)[0]
-                # If some information about Vcs is found in the database make sure it is ignored from tasks file
-                self.vcs_found = 1
-                for prop in row.keys():
-                    if row[prop]:
-                        self.properties[prop] = row[prop]
-                if not self.properties.has_key('vcs-browser') or self.properties['vcs-browser'] == HOMEPAGENONE:
-                    try:
-                        self.properties['vcs-browser'] = BrowserFromVcsURL(self.properties['vcs-type'], self.properties['vcs-url'])
-                    except KeyError, err:
-                        logger.warning("Vcs Property missing in Database:", self.properties, err)
-                if not self.properties.has_key('vcs-type') or not self.properties['vcs-type']:
-                    if self.properties.has_key('vcs-browser') and self.properties['vcs-browser'] != HOMEPAGENONE:
-                        self.properties['vcs-type']    = VcsTypeFromBrowserURL(self.properties['vcs-browser'])
-            # We are only interested in source packages (for instance for Bugs page)
-            if source == 1:
-                self.pkg = self.properties['source']
-            # Stop using source package in self.pkg because we need the source package to obtain latest uploaders and
-            # and bugs should be rendered in the same job - so we need the differentiation anyway
-            self.src = self.properties['source']
-        else:
-            logger.error("Failed to obtain source for package", self.pkg)
-            return
-
-        query = "EXECUTE query_get_latest_uploader ('%s')" % (self.src)
-        curs.execute(query)
-        try:
-            changed = to_unicode(curs.fetchone()[0])
-	except TypeError, err:
-            changed = None
-            logger.info("Query '%s' does not result in a valid changed entry (%s)" % (query, err))
-        if changed:
-            # self.properties['maintainer'] = to_unicode(self.properties['maintainer']) # .encode('utf-8')
-            try:
-                if not changed.startswith(self.properties['maintainer']):
-                    (_name, _url) = email.Utils.parseaddr(changed)
-                    changed = '<a href="mailto:%s">%s</a>' % (_url, _name)
-                    self.properties['changed_by']    = MarkupString(changed, self.pkg, 'changed_by')
-                    self.properties['last_uploader'] = to_unicode(changed)
-                    self.properties['last_uploader_simple'] = to_unicode('%s <%s>' % (_name, _url))
-            except UnicodeDecodeError, err:
-                logger.error("Failed to compare changed with maintainer - assume both are the same for package %s (%s)", self.pkg, err)
-
-        if source == 0: # If we are querying for source packages to render BTS pages
-                # tranlations are irrelevant - so only obtain ddtp translations
-                # otherwise
-            query = "EXECUTE ddtp_description ('%s')" % (self.pkg)
-            curs.execute(query)
-
-            for row in RowDictionaries(curs):
-                lang = row['language']
-                self.desc[lang] = {}
-                self.desc[lang]['short'] = MarkupString(to_unicode(row['description']), self.pkg, 'ShortDesc - ' + lang)
-                self.desc[lang]['long']  = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
-
-        query = "EXECUTE query_check_enhances ('%"+self.pkg+"%')"
-        curs.execute(query)
-
-        if curs.rowcount > 0:
-            for row in RowDictionaries(curs):
-                enhancelist = row['enhances'].split(', ')
-                if self.pkg in enhancelist:
-                    if not row['package'] in self.properties['Enhances'].keys():
-                        self.properties['Enhances'][row['package']] = PKGURLMASK % row['package']
-            # if self.properties['Enhances'] != {}:
-            #    print "The following packages are enhancing %s: " % self.pkg,
-            #    for enh in self.properties['Enhances'].keys():
-            #        print enh,
-            #    print
 
     # sort these objects according to the package name
     def __cmp__(self, other):
@@ -816,11 +728,79 @@ class DependantPackage:
         if self.desc:
             ret += ", desc: "         + str(self.desc)
         for prop in self.properties.keys():
-            ret += ", %s: %s" % (prop, str(self.properties[prop]))
+            try:
+                ret += ", %s: %s" % (prop, to_unicode(str(self.properties[prop])))
+            except UnicodeEncodeError:            
+                ret += ", %s: <UnicodeEncodeError>" % (prop)
+        try:
+            ret += ", popcon = %i (%i)" % (self.popcon['vote'], self.popcon['recent'])
+        except:
+            pass
+        ret += ", debtags = " + str(self.debtags)
+        if self.icon:
+            ret += ", screenshoticon = " + self.icon
+        if self.outdated:
+            ret += ", dehsstatus = " + str(self.outdated)
+
         # if self.desc['en']:
         #    ret += ", desc['en']:"   + str(self.desc['en'])
         return ret
 
+    def SetPublications(self, row):
+        for pub in ("year", "title", "authors", "doi", "pubmed", "url", "journal", "volume", "number", "pages", "eprint" ):
+            if row[pub]:
+                if pub == "pages":
+                    row[pub] = re.sub("--", "-", row[pub])
+                if (pub == "authors" and row[pub].count(" and ") or row[pub].count(" AND ")):
+                    # assume "authors" string is a regular BibTeX "and" separated list of authors
+                    row[pub] = re.sub("AND", "and", row[pub].strip())
+                    authors_list = row[pub].split(" and ")
+                    # normalize several BibTeX styles to "First Last, First Last and First Last":
+                    # 1. "First Last and First Last and First Last"
+                    # 2. "Last, First and Last, First and Last, First"
+                    # 3. "First Last, First Last and First Last"
+                    authors_string = ""
+                    while (authors_list):
+                        author = authors_list.pop(0)
+                        if (author.count(",") > 1):
+                            # 3. "First Last, First Last and First Last"
+                            # authors string is already in desired format, keep it
+                            authors_string = row[pub].strip()
+                            break
+                        elif (row[pub].count(",") == row[pub].count(" and ") + 1):
+                            # 2. "Last, First and Last, First and Last, First"
+                            # reverse last and first name
+                            (last, first) = author.split(", ")
+                            full_author = first + " " + last
+                        else:
+                            # 1. "First Last and First Last and First Last"
+                            full_author = author
+                        if (len(authors_list) > 1):
+                            authors_string += full_author + ", "
+                        elif (len(authors_list) > 0):
+                            authors_string += full_author + " and "
+                        else:
+                            authors_string += full_author
+                    if row[pub] != authors_string:
+                        # emergency brake if algorithm fails to detect non-names like '1000 Genome Project Data Processing Subgroup'
+                        if authors_string.count(',') > row[pub].count(' and '):
+                            logger.warning("Refuse to change Author string in %s: '%s'(%i) -> '%s'(%i)", \
+                                            self.pkg, to_unicode(row[pub]), row[pub].count(' and '), to_unicode(authors_string), authors_string.count(','))
+                        else:
+                            logger.debug("Author string changed in %s: '%s' -> '%s'", self.pkg, to_unicode(row[pub]), to_unicode(authors_string))
+                            row[pub] = authors_string
+                if not self.properties.has_key('published'):
+                    self.properties['published'] = {}
+                if self.properties['published'].has_key(pub):
+                    if self.properties['published'][pub] == to_unicode(row[pub]):
+                    	try:
+                           print >>rmpub, "%s: %s: Published-%s: %s" % (self.taskname, self.pkg, pub, to_unicode(row[pub]))
+            	        except UnicodeEncodeError:
+            	           print >>rmpub, "--- %s: %s: Published-%s: some duplicated value featuring encoding problems ---" % (self.taskname, self.pkg, pub)
+            		logger.info("%s/%s: Publication-%s = %s can be removed"  % (self.taskname, self.pkg, pub, to_unicode(row[pub])))
+            	    else:
+            	        logger.info("%s conflicting fields Publication-%s in tasks file with value '%s' and in UDD with value '%s'" % (self.pkg, pub, self.properties['published'][pub], to_unicode(row[pub])))
+                self.properties['published'][pub] = to_unicode(row[pub])
 
 class Tasks:
     # Provide a list of depencencies defined in metapackages
@@ -839,6 +819,8 @@ class Tasks:
         handler.setFormatter(formatter)
         logger.addHandler(handler)
 
+	LockBlendsTools()
+
         # This Instance of the Available class contains all
         # information about packages that are avialable in Debian
         # See below for more information about Available class
@@ -867,9 +849,6 @@ class Tasks:
         # If we want to subscribe ddpo we need the source package names.
         # In this case set source=1
 
-        if self.metapackagekeys == []:
-            self._GetMetapackages()
-
         # Obtain the prefix of the meta packages of the Blend using blends-dev tools blend_get_names
         if os.access('/usr/share/blends-dev/blend-get-names', os.X_OK):
             blend_get_names = '/usr/share/blends-dev/blend-get-names'
@@ -884,17 +863,45 @@ class Tasks:
         pipe = Popen(cmd, shell=True, stdout=PIPE).stdout
         prefix = pipe.read().strip() + '-'
         pipe.close()
+
+        metapackages = []
         for task in self.metapackagekeys:
-            td = TaskDependencies(self.blendname, task=task, tasksdir=self.tasksdir, prefix=prefix)
+            metapackages.append(prefix + task)
+
+        # Verify whether there are any translations of metapackage descriptions which on
+        # one hand is a sign that this Blend has uploaded metapackages at all and on the
+        # other hand gives a clue about whether it makes sense to query for description
+        # translations
+        query = "SELECT COUNT(*) FROM descriptions WHERE package = ANY ('%s')" % List2PgArray(metapackages)
+        _execute_udd_query(query)
+        if curs.rowcount > 0:
+            hastranslations = curs.fetchone()[0]
+
+        metapkg_translations = {}
+        if hastranslations > 0:
+            query = "EXECUTE query_metapkg_trans('%s')" % List2PgArray(metapackages)
+            _execute_udd_query(query)
+            if curs.rowcount > 0:
+                for row in RowDictionaries(curs):
+                    metapkg_translations[row['package']] = row
+
+        for task in self.metapackagekeys:
+            td = TaskDependencies(self.blendname, task=task, tasksdir=self.tasksdir)
+            pkgname = prefix + task
+            translations = None
+            if metapkg_translations.has_key(pkgname):
+                translations = metapkg_translations[pkgname]
+            td.SetMetapackageInfo(pkgname, translations)
             td.GetTaskDependencies(source)
             self.tasks[task] = td
 
         if source == 0:
-            # overall popcon submissions
+            # total number popcon submissions
             query = "EXECUTE popcon_submissions"
-            curs.execute(query)
+            _execute_udd_query(query)
             if curs.rowcount > 0:
                 self.popconsubmit = curs.fetchone()[0]
+            # Obtain packages that might enhance any of the packages in tasks list
             self.LinkEnhances()
 
     def GetNamesOnlyDict(self, dependencystatus=[]):
@@ -1080,7 +1087,7 @@ class Tasks:
 
 class TaskDependencies:
     # List of depencencies defined in one metapackage
-    def __init__(self, blendname, task, tasksdir=None, prefix=''):
+    def __init__(self, blendname, task, tasksdir=None):
 
         self.data     = ReadConfig(blendname)
         self.blendname  = self.data['Blend']
@@ -1095,16 +1102,12 @@ class TaskDependencies:
             logger.error("No such task file %s." % self.taskfile)
             return None
 
-        # Dictionary with satus of dependencies as key and list of DependantPackage
+        # Dictionary with status of dependencies as key and list of DependantPackage
         # instances
         self.dependencies = {}
         for pkgstat in pkgstatus:
             self.dependencies[pkgstat] = []
 
-        # Main information for a task
-        self.metapkg             = DependantPackage(self.blendname, self.task)
-        self.metapkg.pkg         = prefix + task
-
         # If a Blend just bases on the meta package of an other Blend (this is the
         # case in Debian Science which bases on med-bio for biology and gis-workstation
         # for geography it makes no sense to build an own sentinel page but read
@@ -1116,6 +1119,38 @@ class TaskDependencies:
         # This is NOT YET implemented
         self.metadepends     = None
 
+
+    def SetMetapackageInfo(self, pkgname, ddtptranslations=None):
+        # Gather information (specifically description translations if exists) about metapackage itself
+        self.metapkg             = DependantPackage(self.blendname, self.task)
+        self.metapkg.pkg         = pkgname
+        self.metapkg.source      = self.blendname
+        if not ddtptranslations:
+            return
+        for lang in languages:
+            if ddtptranslations['description_'+lang]:
+                self.metapkg.desc[lang] = {}
+                try:
+                    short = to_unicode(ddtptranslations['description_'+lang])
+                    self.metapkg.desc[lang]['short'] = MarkupString(short, self.metapkg.pkg, 'taskShortDesc', lang)
+                except UnicodeEncodeError, err:
+                    logger.error("===> UnicodeDecodeError in metapackage %s (lang='%s'): '%s'; ErrTxt: %s" % \
+                                     (self.metapkg.pkg, lang, ddtptranslations['description_'+lang], err))
+                    short = to_unicode(ddtptranslations['description_'+lang],'latin1')
+                    self.metapkg.desc[lang]['short'] = MarkupString(short, self.metapkg.pkg, 'taskShortDesc' + lang)
+    
+                try:
+                    self.metapkg.desc[lang]['long'] = Markup(render_longdesc(ddtptranslations['long_description_'+lang].splitlines()))
+                except UnicodeDecodeError, err:
+                    logger.error("===> UnicodeDecodeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s" % \
+                                     (self.metapkg.pkg, lang, ddtptranslations['long_description_'+lang], err))
+                    self.metapkg.desc[lang]['long'] = 'UnicodeDecodeError'
+                except AttributeError, err:
+                    logger.error("===> AttributeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s" % \
+                                     (self.metapkg.pkg, lang, ddtptranslations['long_description_'+lang], err))
+                    self.metapkg.desc[lang]['long'] = 'Missing long description'
+
+
     def _AppendDependency2List(self, dep, source):
         # Append dependency which was found in the tasks file if not Ignore / Avoid and
         # no dupplication in case of source depencencies
@@ -1142,6 +1177,7 @@ class TaskDependencies:
         global dep_strength_keys
 
         f = file(self.taskfile)
+        found_description=False
         for stanza in deb822.Sources.iter_paragraphs(f):
             # Why and Responsible can be valid for more than one dependency
             # Store them in strings and use them for all Dependent Package objects
@@ -1158,53 +1194,21 @@ class TaskDependencies:
                     self.metapkg.PrintedName = to_unicode(stanza['task'])
                     continue
                 if key == 'Description':
-                    (short, long) = SplitDescription(stanza['description'])
-                    # Markup strings to enable verbatim output of preformatted text
-                    self.metapkg.desc['en']['short'] = MarkupString(short.encode('utf-8'), self.metapkg.PrintedName, 'taskShortDesc')
-                    self.metapkg.desc['en']['long']  = MarkupString(long.encode('utf-8'),  self.metapkg.PrintedName, 'taskLongDesc')
-
-                    # find maintainer and other metadata:
-                    query = "EXECUTE query_pkg ('%s')" % self.metapkg.pkg
-                    curs.execute(query)
-                    if curs.rowcount > 0:
-                        row = RowDictionaries(curs)[0]
-                        (_name, _url) = email.Utils.parseaddr(row['maintainer'])
-                        self.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
-
-                    # if an English description was found chances are good that we are seeking for other languages
-                    # as well
-                    if source == 0: # If we are querying for source packages to render BTS pages
-                                    # tranlations are irrelevant - so only obtain ddtp translations
-                                    # otherwise
-                        query = "EXECUTE ddtp_description ('%s')" % (self.metapkg.pkg)
-                        curs.execute(query)
-
-                        for row in RowDictionaries(curs):
-                            lang = row['language']
-                            self.metapkg.desc[lang] = {}
-                            try:
-                                short = to_unicode(row['description'])
-                                self.metapkg.desc[lang]['short'] = MarkupString(to_unicode(short), \
-                                                  self.metapkg.PrintedName, 'taskShortDesc - ' + lang)
-                            except UnicodeEncodeError, err:
-                                logger.error("===> UnicodeDecodeError in metapackage %s (lang='%s'): '%s'; ErrTxt: %s" % \
-                                    (self.metapkg.pkg, lang, row['description'], err))
-                                short = to_unicode(row['description'],'latin1')
-                                self.metapkg.desc[lang]['short'] = MarkupString(short, \
-                                                  self.metapkg.PrintedName, 'taskShortDesc - ' + lang)
-
-                            try:
-                                self.metapkg.desc[lang]['long'] = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
-                            except UnicodeDecodeError, err:
-                                logger.error("===> UnicodeDecodeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s" % \
-                                    (self.metapkg.pkg, lang, row['long_description'], err))
-                                self.metapkg.desc[lang]['long'] = 'UnicodeDecodeError'
-
+                    if found_description:
+                        logger.error("Duplicate description entry in task %s; you probably want to use Pkg-Description field instead!" % self.task)
+                    else:
+                        (short, long) = SplitDescription(stanza['description'])
+                        # Markup strings to enable verbatim output of preformatted text
+                        self.metapkg.desc['en']['short'] = MarkupString(short.encode('utf-8'), self.metapkg.PrintedName, 'taskShortDesc')
+                        self.metapkg.desc['en']['long']  = MarkupString(long.encode('utf-8'),  self.metapkg.PrintedName, 'taskLongDesc')
+                        found_description = True
                     continue
                 if key == 'Meta-Depends':
                     self.metadepends = stanza['meta-depends']
+                    continue
                 if key == 'Meta-Suggests':
                     self.metadepends = stanza['meta-suggests']
+                    continue
                 if key == 'Why':
                     why = stanza['why']
                     continue
@@ -1212,7 +1216,7 @@ class TaskDependencies:
                     responsible = stanza['responsible'].strip()
             	    if not dep:
             		# Make sure there is really enough information to deal with provided by the package
-            		logger.error("Missing package information for field %s = %s" % (key, responsible))
+            		logger.error("Missing package information for field %s = %s in task file %s" % (key, responsible, self.task))
             		continue
                     if dep.responsible != None:
                         # we are dealing with an official package that has a real maintainer who
@@ -1223,7 +1227,11 @@ class TaskDependencies:
                         continue
                     if responsible != '':
                         (_name, _url) = email.Utils.parseaddr(responsible)
-                        dep.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
+                        _name = to_unicode(_name)
+                        try:
+                            dep.responsible = '<a href="mailto:%s">%s</a>' % (_url, _name)
+                        except UnicodeDecodeError, err:
+                            logger.error("Unicode problem when decoding name of maintainer with mail address <%s> in task %s (%s)" % (_url, self.task, err))
                     continue
 
                 if key in dep_strength_keys:
@@ -1263,8 +1271,6 @@ class TaskDependencies:
                             logger.warning("Package names may not contain upper case letters, so %s is an invalid package name which is turned into %s" \
                                 % (dep_in_line, dep.pkg))
 
-                        dep._QueryUDD4Package(source)
-
                     continue
 
                 # sometimes the tasks file contains standalone comments or other RFC 822 entries.
@@ -1362,6 +1368,9 @@ class TaskDependencies:
                               % (key, stanza[key.lower()]))
                 elif key == 'License':
                     if dep != None:
+                        if dep.vcs_found == 1 and dep.properties.has_key(key.lower()):
+                            fields_obsolete.append(key)
+                            continue
                         dep.properties[key.lower()]  = stanza[key.lower()]
                     else:
                         logger.error("Dep not initiated before %s %s -> something is wrong." \
@@ -1389,17 +1398,15 @@ class TaskDependencies:
                               % (key, stanza[key.lower()]))
                 elif key == 'WNPP':
                     if dep != None:
-                        # it makes sense to assume that a package where WNPP was recently closed
-                        # shows up in unstable first
-                        if dep.component != None:
-                            logger.info("WNPP for package %s just closed - extra information can be removed from task file %s." % (dep.pkg, dep.taskname))
-                        else:
-                    	    wnpp = stanza['wnpp'].strip()
-                            # in case somebody prepended a '#' sign before the bug number
-                            wnpp = re.sub('^#', '', wnpp)
-                    	    # if there is really a number given
-                    	    if re.compile("^\d+$").search(wnpp):
-                        	dep.properties['wnpp'] = wnpp
+                        if dep.vcs_found == 1 and dep.properties.has_key(key.lower()):
+                            fields_obsolete.append(key)
+                            continue
+                        wnpp = stanza['wnpp'].strip()
+                        # in case somebody prepended a '#' sign before the bug number
+                        wnpp = re.sub('^#', '', wnpp)
+                    	# if there is really a number given
+                        if re.compile("^\d+$").search(wnpp):
+                            dep.properties['wnpp'] = wnpp
                     else:
                         logger.error("Dep not initiated before WNPP %s -> something is wrong." \
                               % stanza['wnpp'])
@@ -1447,8 +1454,9 @@ class TaskDependencies:
             if dep == None:
                 continue # ... with next stanza
             # seek for certain field set in the tasks file to move the dependency into different
-            # categories of development status of not yet included packages
-            if dep.pkgstatus == 'unknown':
+            # categories of development status of not yet included packages provided that there
+            # is at least a package description given
+            if dep.pkgstatus == 'unknown' and dep.desc['en'] != {}:
                 flag = 0
                 # first check those packages where some work was just done
                 for status in ['pkgvcs', 'unofficial', 'wnpp', 'prospective']:
@@ -1461,11 +1469,405 @@ class TaskDependencies:
                             break
                     if flag == 1:
                         break
+
+            tmp_dep_list.append(dep)
+            # remarks which are common to several dependencies in a list have to be added to all of the dependencies
+            for dep in tmp_dep_list:
+                if remark != {}:
+                    dep.remark = remark
+                if fields_obsolete != [] and dep.pkgstatus != 'new':
+                    logger.info("Package %s is an official package and has information in UDD. The following extra information can be removed from tasks file %s: %s" % \
+                                     (dep.pkg, dep.taskname, str(fields_obsolete)))
+                self._AppendDependency2List(dep, source)
+
+        f.close()
+
+        alldepends=[]
+        for status in self.dependencies.keys():
+            for dep in self.dependencies[status]:
+                alldepends.append(dep.pkg)
+
+        if not alldepends:
+            logger.warning("No dependencies defined in taskfile %s" % self.task)
+            return
+        query = "EXECUTE query_pkgs ('%s', '%s')" % (List2PgArray(alldepends), List2PgSimilarArray(alldepends))
+        _execute_udd_query(query)
+        pkgs_in_pool = []
+        enhancing_pkgs = []
+        if curs.rowcount > 0:
+            for row in RowDictionaries(curs):
+                # seek for package name in list of packages mentioned in tasks file
+                found = False
+                for status in self.dependencies.keys():
+                    for dep in self.dependencies[status]:
+                        if dep.pkg == row['package']:
+                            found = True
+                            break
+                    if found:
+                        break
+                if not found:
+                    # this should not happen ...
+                    logger.info("The package %s was found in package pool but never mentioned in task %s." % (row['package'], self.task))
+                    continue
+
+                # Now set the information for the package found in the database
+                # Debian Edu contains packages from main/debian-installer - that's why we use startswith here
+                if row['component'].startswith('main'):
+                    dep.component = 'main'
+                    if dep.dep_strength == 'Depends' or dep.dep_strength == 'Recommends':
+                        dep.pkgstatus = 'official_high'
+                    elif dep.dep_strength == 'Suggests':
+                        dep.pkgstatus = 'official_low'
+                else:
+                    dep.component = row['component']
+                    # If a package is not found in main its status can be maximum non-free
+                    dep.pkgstatus = 'non-free'
+                # if a package is released *only* in experimental decrease package status
+                if row['release'] == 'experimental':
+                    dep.pkgstatus = 'experimental'
+
+                # move dependant package to different status list if needed because a status change was detected
+                if dep.pkgstatus != status:
+                    self.dependencies[status].remove(dep)
+                    self.dependencies[dep.pkgstatus].append(dep)
+
+                # Warn about remaining information of prospective package
+                if ( dep.desc['en'] and dep.desc['en']['short'] ) and \
+                    not dep.debtags: # prevent informing about packages which are just duplicated because of a broken query
+                    logger.info("WNPP for package %s just closed - extra information can be removed from task file %s." % (dep.pkg, dep.taskname))
+
+                dep.properties['license'] = license_in_component[dep.component]
+                for prop in PROPERTIES:
+                    dep.properties[prop] = row[prop]
+                for prop in ('vcs-type', 'vcs-url'):
+                    dep.properties[prop] = row[prop]
+                if row['vcs-browser']:
+                    dep.properties['vcs-browser'] = row['vcs-browser']
+                else:
+                    if dep.properties['vcs-browser'] == HOMEPAGENONE:
+                        dep.properties['vcs-browser'] = BrowserFromVcsURL(dep.properties['vcs-type'], dep.properties['vcs-url'])
+
+                if row['enhanced']:
+                    for pkg in row['enhanced']:
+                        dep.properties['Enhances'][pkg] = PKGURLMASK % pkg
+                        enhancing_pkgs.append(pkg)
+
+                for i in range(len(row['releases'])):
+                    dep.version.append({'release':row['releases'][i], 'version': row['versions'][i], 'archs':row['architectures'][i]})
+
+                dep.popcon['vote']   = row['vote']
+                dep.popcon['recent'] = row['recent']
+
+                # Debtags as sorted list of dict fields
+                if row['debtags']:
+                    if dep.debtags: # there is no reasonable way that debtags was set before - so something is wrong here and a warning should be issued
+                        logger.warning("Debtags for package '%s' was just set.  A duplicated result from database query is suspected.  Please check the result!" % dep.pkg)
+                    tagdict = {}
+                    taglist = []
+                    for debtag in row['debtags']:
+                        (tag,value) = debtag.split('::')
+                        if tagdict.has_key(tag):
+                            tagdict[tag] += ', ' + value
+                        else:
+                            tagdict[tag]  = value
+                            taglist.append(tag)
+                        if taglist:
+                            taglist.sort()
+                    for tag in taglist:
+                        dep.debtags.append({'tag':tag, 'value':tagdict[tag]})
+
+                # screenshots
+                if row['icon']:
+                    dep.icon           = row['icon'][0]
+                    dep.image          = row['image'][0]
+                    dep.screenshot_url = 'http://screenshots.debian.net/package/' + dep.pkg
+                    for i in range(1,len(row['image'])):
+                        dep.screenshots.append({'version':row['screenshot_versions'][i], 'url':row['image'][i]})
+
+                # it might be that the new upstream goes to experimental - this should be ignored here
+                if row['experimental_status'] != 'uptodate' and row['unstable_parsed_version']:
+                    dep.outdated['release']       = 'upstream'
+                    dep.outdated['version']       = row['unstable_upstream']
+                    dep.outdated['architectures'] = ''
+
+                if row['changed_by']:
+                    try:
+                        changed = to_unicode(row['changed_by'])
+                    except TypeError, err:
+                        changed = None
+                        logger.warning("Encoding problem for last uploader of package '%s' in task %s (%s)" % (dep.pkg, dep.taskname, err))
+                    if changed:
+                        try:
+                            (_name, _url) = email.Utils.parseaddr(changed)
+                            changed = '<a href="mailto:%s">%s</a>' % (_url, _name)
+                            dep.properties['changed_by']    = MarkupString(changed, dep.pkg, 'changed_by')
+                            dep.properties['last_uploader'] = to_unicode(changed)
+                            dep.properties['last_uploader_simple'] = to_unicode('%s <%s>' % (_name, _url))
+                        except UnicodeDecodeError, err:
+                            logger.error("Encoding problem for last uploader - assume same as maintainer for package %s (%s)", dep.pkg, err)
+
+                # link to packages.debian.org search page to see overview about all
+                # package versions in all releases
+                dep.properties['pkg-url'] = PKGURLMASK % dep.pkg
+                dep.SetPublications(row)
+                for l in languages:
+                    if row['description_'+l]:
+                        dep.desc[l] = {}
+                        dep.desc[l]['short'] = MarkupString(to_unicode(row['description_'+l]), dep.pkg, 'ShortDesc')
+                        if row['long_description_'+l]:
+                            dep.desc[l]['long']  = Markup(render_longdesc(row['long_description_'+l].splitlines()))
+                if not dep.desc['en'].has_key('short'):
+                    logger.error("Dep has no English short description: %s", dep.pkg)
+                    dep.desc['en']['short'] = "??? missing short description for package %s :-(" % dep.pkg
+                (_name, _url) = email.Utils.parseaddr(row['maintainer'])
+                dep.properties['maintainer'] = to_unicode(row['maintainer'])
+                dep.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
+
+                pkgs_in_pool.append(dep.pkg)
+                # DEBUG
+                # print dep
+
+        pkgs_not_in_pool = []
+        for status in self.dependencies.keys():
+            for dep in self.dependencies[status]:
+                if dep.pkg not in pkgs_in_pool:
+                    pkgs_not_in_pool.append(dep.pkg)
+
+        # Gather information about packages in NEW
+        query = "EXECUTE query_new('%s')" % List2PgArray(pkgs_not_in_pool)
+        _execute_udd_query(query)
+        pkgs_in_new = []
+        if curs.rowcount > 0:
+            for row in RowDictionaries(curs):
+                pkgs_in_new.append(row['package'])
+                # seek for package name in list of packages mentioned in tasks file
+                found = False
+                for status in self.dependencies.keys():
+                    for dep in self.dependencies[status]:
+                        if dep.pkg == row['package']:
+                            found = True
+                            break
+                    if found:
+                        break
+                if not found:
+                    # this should not happen ...
+                    logger.info("The package %s was found in new but never mentioned in task %s." % (row['package'], self.task))
+                    continue
+                # Check for korrekt status 'new'
+                if status != 'new':
+                    self.dependencies[status].remove(dep)
+                    self.dependencies['new'].append(dep)
+                dep.pkgstatus = 'new'
+                dep.component = row['component']
+                dep.version   = [ row['version'], ]
+                dep.properties['pkg-url'] = 'http://ftp-master.debian.org/new/%s_%s.html' % (row['source'], row['version'])
+                # Warn about remaining information of prospective package
+                if ( dep.desc['en'] and dep.desc['en']['short'] ) or dep.properties['homepage'] != HOMEPAGENONE:
+                    logger.info("The package %s is not yet in Debian but it is just in the new queue. (Task %s)" % (dep.pkg, dep.taskname))
+                for prop in PROPERTIES:
+                    dep.properties[prop] = row[prop]
+                dep.desc['en']['short'] = MarkupString(to_unicode(row['description_en']), dep.pkg, 'ShortDesc - New')
+                dep.desc['en']['long']  = Markup(render_longdesc(row['long_description_en'].splitlines()))
+                (_name, _url) = email.Utils.parseaddr(row['maintainer'])
+                dep.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
+                dep.SetPublications(row)
+                if row['changed_by']:
+                    try:
+                        changed = to_unicode(row['changed_by'])
+                    except TypeError, err:
+                        changed = None
+                        logger.warning("Encoding problem for uploader to ftpnew of package '%s' in task %s (%s)" % (dep.pkg, dep.taskname, err))
+                    if changed:
+                        try:
+                            (_name, _url) = email.Utils.parseaddr(changed)
+                            changed = '<a href="mailto:%s">%s</a>' % (_url, _name)
+                            dep.properties['changed_by']    = MarkupString(changed, dep.pkg, 'changed_by')
+                            dep.properties['last_uploader'] = to_unicode(changed)
+                            dep.properties['last_uploader_simple'] = to_unicode('%s <%s>' % (_name, _url))
+                        except UnicodeDecodeError, err:
+                            logger.error("Encoding problem for last uploader - assume same as maintainer for package %s (%s)", dep.pkg, err)
+
+        # Verify whether there are virtual packages which are provided by some other packages in the list of dependencies
+        query = "EXECUTE query_provides('%s')" % List2PgArray(pkgs_in_pool)
+        _execute_udd_query(query)
+        pkgs_virtual = []
+        if curs.rowcount > 0:
+            virtual_pkgs = RowDictionaries(curs)
+            for status in self.dependencies.keys():
+                for dep in self.dependencies[status]:
+                    if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_in_new:
+                        found = False
+                        for vp in virtual_pkgs:
+                            for pr in vp['provides'].split(','):
+                                prs=pr.strip()
+                                if dep.pkg == prs:
+                                    pkgs_virtual.append(prs)
+                                    logger.info("Virtual package %s is provided by package %s for task %s" % (dep.pkg, vp['package'], dep.taskname))
+                                    found = True
+                                    break
+                            if found:
+                                break
+
+        pkgs_not_in_pool = []
+        for status in self.dependencies.keys():
+            for dep in self.dependencies[status]:
+                if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_in_new and dep.pkg not in pkgs_virtual:
+                    pkgs_not_in_pool.append(dep.pkg)
+        # Gather information about packages in Vcs
+        query = "EXECUTE query_vcs('%s')" % List2PgArray(pkgs_not_in_pool)
+        _execute_udd_query(query)
+        pkgs_in_vcs = []
+        if curs.rowcount > 0:
+            for row in RowDictionaries(curs):
+		# print row
+                pkgs_in_vcs.append(row['package'])
+                # seek for package name in list of packages mentioned in tasks file
+                found = False
+                for status in self.dependencies.keys():
+                    for dep in self.dependencies[status]:
+                        if dep.pkg == row['package']:
+                            found = True
+                            break
+                    if found:
+                        break
+                if not found:
+                    # this should not happen ...
+                    logger.info("The package %s was found in vcs but never mentioned in task %s." % (row['package'], self.task))
+                    continue
+                # Check for korrekt status 'pkgvcs'
+                if status != 'pkgvcs':
+                    self.dependencies[status].remove(dep)
+                    self.dependencies['pkgvcs'].append(dep)
+                dep.pkgstatus = 'pkgvcs'
+                dep.component = row['component']
+                dep.version   = [ row['version'], ]
+                dep.debtags   = [] # prevent trying to print debtags (should be default setting but does not work in template (FIXME)
+                # Warn about remaining information of prospective package
+                if ( dep.desc['en'] and dep.desc['en']['short'] ) or dep.properties['homepage'] != HOMEPAGENONE:
+                    logger.info("The package %s is not yet in Debian but it is just in Blends %s Vcs. (Task %s)" % (dep.pkg, row['blend'], dep.taskname))
+                for prop in PROPERTIES:
+                    dep.properties[prop] = row[prop]
+                for prop in ('vcs-url', 'vcs-browser', 'vcs-type', 'license'):
+                    dep.properties[prop] = row[prop]
+                if int(row['wnpp']) > 0:
+                    dep.properties['wnpp'] = row['wnpp']
+                dep.SetPublications(row)
+                dep.desc['en']['short'] = MarkupString(to_unicode(row['description_en']), dep.pkg, 'ShortDesc - New')
+                dep.desc['en']['long']  = Markup(render_longdesc(row['long_description_en'].splitlines()))
+                (_name, _url) = email.Utils.parseaddr(row['maintainer'])
+                dep.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
+                if row['changed_by']:
+                    try:
+                        changed = to_unicode(row['changed_by'])
+                    except TypeError, err:
+                        changed = None
+                        logger.warning("Encoding problem for changelog author in Vcs of package '%s' in task %s (%s)" % (dep.pkg, dep.taskname, err))
+                    if changed:
+                        try:
+                            (_name, _url) = email.Utils.parseaddr(changed)
+                            changed = '<a href="mailto:%s">%s</a>' % (_url, _name)
+                            dep.properties['changed_by']    = MarkupString(changed, dep.pkg, 'changed_by')
+                            dep.properties['last_uploader'] = to_unicode(changed)
+                            dep.properties['last_uploader_simple'] = to_unicode('%s <%s>' % (_name, _url))
+                        except UnicodeDecodeError, err:
+                            logger.error("Encoding problem for changer - assume same as maintainer for package %s (%s)", dep.pkg, err)
+
+        # Verify whether packages which are neither in pool, new, vcs nor virtual have sufficient information in task file
+        for status in self.dependencies.keys():
+            for dep in self.dependencies[status]:
+                if dep.pkg not in pkgs_in_pool and dep.pkg not in pkgs_in_new and dep.pkg not in pkgs_virtual and (dep.pkgstatus == 'unknown' or dep.pkgstatus == 'pkgvcs'):
+                    # If only Vcs fields are given than we currently do not know enough to print package information
+                    if dep.pkgstatus == 'pkgvcs' and (dep.properties['homepage'] == HOMEPAGENONE or dep.desc['en'] == {}):
+                        logger.error("Package %s in task %s has only Vcs information - please provide more information" % (dep.pkg, dep.taskname))
+                        self.dependencies[status].remove(dep)
+                        # dep.pkgstatus == 'unknown'
+                    if dep.properties['homepage'] == HOMEPAGENONE:
+                        if dep.desc['en'] == {}:
+                            logger.error("Package %s in task %s neither in pool nor new and is lacking homepage and description - ignored" % (dep.pkg, dep.taskname))
+                        else:
+                            logger.error("Package %s in task %s neither in pool nor new and has no homepage information - ignored (%s)" % (dep.pkg, dep.taskname, dep.pkgstatus))
+                    else:
+                        if dep.desc['en'] == {}:
+                            logger.error("Package %s neither in pool nor new and has no description - ignored" % dep.pkg)
+                else:
+                    # prevent printing WNPP of packages inside Debian
+                    if dep.properties.has_key('wnpp') and dep.pkgstatus != 'wnpp':
+                        del dep.properties['wnpp']
+
+        for dependency in self.dependencies.keys():
+            self.dependencies[dependency].sort()
+
+    def _QueryUDD4Package(self, source):
+
+        query = "EXECUTE pkg_releases ('%s', '%s')" % (self.pkg, self.component)
+        _execute_udd_query(query)
+        has_official = 0
+        for rel in curs.fetchall():
+            self.releases.append(rel[0])
+            if rel[0] != 'experimental':
+                has_official = 1
+
+        # Version in stable / testing for long table
+        query = "EXECUTE pkg_versions_stable_testing ('%s')" % (self.pkg)
+        _execute_udd_query(query)
+        if curs.rowcount > 0:
+            prefix = 'Versions: '
+            for row in RowDictionaries(curs):
+                self.properties['stable_testing_version'].append((row['release'], row['debversion'], row['version'], prefix))
+                prefix = ', '
+
+
+        if has_official == 1:
+            if self.component == 'main':
+                if self.dep_strength == 'Depends' or self.dep_strength == 'Recommends':
+                    self.pkgstatus = 'official_high'
+                else:
+                    self.pkgstatus = 'official_low'
+            else:
+                    self.pkgstatus = 'non-free'
+        else:
+            self.pkgstatus = 'experimental'
+
+
+        if self.properties.has_key('source'):
+            query = "EXECUTE src_vcs ('%s')" % (self.properties['source'])
+            _execute_udd_query(query)
+            if curs.rowcount > 0:
+                # There is only one line returned by this query
+                row = RowDictionaries(curs)[0]
+                # If some information about Vcs is found in the database make sure it is ignored from tasks file
+                self.vcs_found = 1
+                for prop in row.keys():
+                    if row[prop]:
+                        self.properties[prop] = row[prop]
+                if not self.properties.has_key('vcs-browser') or self.properties['vcs-browser'] == HOMEPAGENONE:
+                    try:
+                        self.properties['vcs-browser'] = BrowserFromVcsURL(self.properties['vcs-type'], self.properties['vcs-url'])
+                    except KeyError, err:
+                        logger.warning("Vcs Property missing in Database:", self.properties, err)
+                if not self.properties.has_key('vcs-type') or not self.properties['vcs-type']:
+                    if self.properties.has_key('vcs-browser') and self.properties['vcs-browser'] != HOMEPAGENONE:
+                        self.properties['vcs-type']    = VcsTypeFromBrowserURL(self.properties['vcs-browser'])
+            # We are only interested in source packages (for instance for Bugs page)
+            if source == 1:
+                self.pkg = self.properties['source']
+            # Stop using source package in self.pkg because we need the source package to obtain latest uploaders and
+            # and bugs should be rendered in the same job - so we need the differentiation anyway
+            self.src = self.properties['source']
+        else:
+            logger.error("Failed to obtain source for package", self.pkg)
+            return
+
+        if source == 0: # If we are querying for source packages to render BTS pages
+                # tranlations are irrelevant - so only obtain ddtp translations
+                # otherwise
+
+######################
                 if flag == 0:
                     # If there was no such package found query UDD whether any package provides this name
                     # This is often the case for libraries with versions in the package name
                     query = "EXECUTE query_provides ('%s')" % (dep.pkg)
-                    curs.execute(query)
+                    _execute_udd_query(query)
                     if curs.rowcount > 0:
                         has_expilicite = 0
                         VirtProvides = []
@@ -1478,7 +1880,7 @@ class TaskDependencies:
                         if has_expilicite == 1:
                             logger.error("Do not keep a record of virtual package %s which has explicite package dependencies" % dep.pkg)
                             # ATTENTION: THIS HAS TO BE CHANGED FOR blends-dev BY AN OPTIONAL parameter
-                            continue
+#                            continue
 
                         logger.error("Use real package %s instead of virtual package %s." % (VirtProvides[0], dep.pkg))
                         dep.pkg = VirtProvides[0]
@@ -1503,20 +1905,6 @@ class TaskDependencies:
                     else:
                         logger.warning("Dependency with unknown status: %s (Task %s)" % (dep.pkg, dep.taskname))
 
-            tmp_dep_list.append(dep)
-            # remarks which are common to several dependencies in a list have to be added to all of the dependencies
-            for dep in tmp_dep_list:
-                if remark != {}:
-                    dep.remark = remark
-                if fields_obsolete != [] and dep.pkgstatus != 'new':
-                    logger.info("Package %s is an official package and has information in UDD. The following extra information can be removed from tasks file %s: %s" % \
-                                     (dep.pkg, dep.taskname, str(fields_obsolete)))
-                if dep.desc['en'] == {}:
-                    logger.error("Missing description for package %s in task %s.  This package will be ignored completely." % (dep.pkg, dep.taskname))
-                else:
-                    self._AppendDependency2List(dep, source)
-
-        f.close()
 
         for dependency in self.dependencies.keys():
             self.dependencies[dependency].sort()
@@ -1530,7 +1918,11 @@ class TaskDependencies:
                 dep.responsible         = MarkupString(dep.responsible, dep.pkg, 'responsible')
                 if dep.desc['en'] != {}:
                     dep.desc['en']['short'] = MarkupString(dep.desc['en']['short'], dep.pkg, 'pkgShortDesc')
-                    dep.desc['en']['long']  = MarkupString(dep.desc['en']['long'],  dep.pkg, 'pkgLongDesc')
+                    try:
+                        dep.desc['en']['long']  = MarkupString(dep.desc['en']['long'],  dep.pkg, 'pkgLongDesc')
+                    except KeyError:
+                        logger.error("Dep has no English long description: %s", dep.pkg)
+                        dep.desc['en']['long'] = "??? Missing long description for package %s" % dep.pkg
 
     def __str__(self):
         ret = "Blend: " + self.blendname + ", " \
@@ -1595,10 +1987,10 @@ SEVERITIES = ('critical', 'grave', 'serious', 'important', 'normal', 'minor', 'w
 # For the moment just query for the highest available version of the description
 query = """PREPARE bugs_query_source (text) AS
            SELECT id, package, source, status, severity, done, title FROM bugs WHERE source = $1"""
-curs.execute(query)
+_execute_udd_query(query)
 
 query = """PREPARE bugs_query_tags (int) AS SELECT tag FROM bugs_tags WHERE id = $1"""
-curs.execute(query)
+_execute_udd_query(query)
 
 class BugEntry:
     # Define a separate class for bug entries to be able to define a reasonably sorting mechanism
@@ -1614,7 +2006,7 @@ class BugEntry:
 	self.severity = bug['severity']
 
         query = "EXECUTE bugs_query_tags (%i)" % self.bug
-        curs.execute(query)
+        _execute_udd_query(query)
 
         self.tags     = ''
         if curs.rowcount > 0:
@@ -1674,7 +2066,7 @@ class PackageBugsOpenAndDone:
 
 	bugs = None
         query = "EXECUTE bugs_query_source ('%s')" % source
-        curs.execute(query)
+        _execute_udd_query(query)
 
         if curs.rowcount > 0:
             for bug in RowDictionaries(curs):
diff --git a/webtools/blendstasktools.py b/webtools/blendstasktoolsold.py
similarity index 96%
copy from webtools/blendstasktools.py
copy to webtools/blendstasktoolsold.py
index fffbc00..16c4e8b 100644
--- a/webtools/blendstasktools.py
+++ b/webtools/blendstasktoolsold.py
@@ -35,7 +35,7 @@ from genshi import Markup
 # from genshi.input import HTML
 from blendsmarkdown import SplitDescription, MarkupString, render_longdesc
 
-from debian_bundle import deb822
+from debian import deb822
 from blendsunicode import to_unicode
 
 import logging
@@ -240,7 +240,7 @@ curs = conn.cursor()
 query = """PREPARE query_pkg (text) AS SELECT 
                    distribution, component, version, architecture, maintainer,
                    source, section, task, distribution, release, component, homepage,
-                   description, long_description FROM packages
+                   description FROM packages
                    WHERE package = $1 ORDER BY version"""
 curs.execute(query)
 
@@ -316,12 +316,6 @@ query = """PREPARE src_vcs (text) AS
             ORDER BY version desc LIMIT 1"""
 curs.execute(query)
 
-# Obtain description in foreign language from DDTP project if available
-# For the moment just query for the highest available version of the description
-query = """PREPARE ddtp_description (text) AS
-           SELECT language, description, long_description, version FROM DdtpLanguageMaxVersion($1)"""
-curs.execute(query)
-
 # Obtain popcon data:
 #   inst     : number of people who installed this package;
 # * vote     : number of people who use this package regularly;
@@ -711,7 +705,7 @@ class DependantPackage:
             for prop in PROPERTIES:
                 self.properties[prop] = row[prop]
             self.desc['en']['short'] = MarkupString(to_unicode(row['description']), self.pkg, 'ShortDesc')
-            self.desc['en']['long']  = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
+            self.desc['en']['long']  = 'unused'
             (_name, _url) = email.Utils.parseaddr(row['maintainer'])
             self.properties['maintainer'] = to_unicode(row['maintainer'])
             self.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
@@ -764,18 +758,6 @@ class DependantPackage:
             except UnicodeDecodeError, err:
                 logger.error("Failed to compare changed with maintainer - assume both are the same for package %s (%s)", self.pkg, err)
 
-        if source == 0: # If we are querying for source packages to render BTS pages
-                # tranlations are irrelevant - so only obtain ddtp translations
-                # otherwise
-            query = "EXECUTE ddtp_description ('%s')" % (self.pkg)
-            curs.execute(query)
-
-            for row in RowDictionaries(curs):
-                lang = row['language']
-                self.desc[lang] = {}
-                self.desc[lang]['short'] = MarkupString(to_unicode(row['description']), self.pkg, 'ShortDesc - ' + lang)
-                self.desc[lang]['long']  = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
-
         query = "EXECUTE query_check_enhances ('%"+self.pkg+"%')"
         curs.execute(query)
 
@@ -1171,35 +1153,6 @@ class TaskDependencies:
                         (_name, _url) = email.Utils.parseaddr(row['maintainer'])
                         self.responsible = '<a href="mailto:%s">%s</a>' % (_url, to_unicode(_name))
 
-                    # if an English description was found chances are good that we are seeking for other languages
-                    # as well
-                    if source == 0: # If we are querying for source packages to render BTS pages
-                                    # tranlations are irrelevant - so only obtain ddtp translations
-                                    # otherwise
-                        query = "EXECUTE ddtp_description ('%s')" % (self.metapkg.pkg)
-                        curs.execute(query)
-
-                        for row in RowDictionaries(curs):
-                            lang = row['language']
-                            self.metapkg.desc[lang] = {}
-                            try:
-                                short = to_unicode(row['description'])
-                                self.metapkg.desc[lang]['short'] = MarkupString(to_unicode(short), \
-                                                  self.metapkg.PrintedName, 'taskShortDesc - ' + lang)
-                            except UnicodeEncodeError, err:
-                                logger.error("===> UnicodeDecodeError in metapackage %s (lang='%s'): '%s'; ErrTxt: %s" % \
-                                    (self.metapkg.pkg, lang, row['description'], err))
-                                short = to_unicode(row['description'],'latin1')
-                                self.metapkg.desc[lang]['short'] = MarkupString(short, \
-                                                  self.metapkg.PrintedName, 'taskShortDesc - ' + lang)
-
-                            try:
-                                self.metapkg.desc[lang]['long'] = Markup(render_longdesc(to_unicode(row['long_description']).splitlines()))
-                            except UnicodeDecodeError, err:
-                                logger.error("===> UnicodeDecodeError in metapackage long %s (lang='%s'): '%s'; ErrTxt: %s" % \
-                                    (self.metapkg.pkg, lang, row['long_description'], err))
-                                self.metapkg.desc[lang]['long'] = 'UnicodeDecodeError'
-
                     continue
                 if key == 'Meta-Depends':
                     self.metadepends = stanza['meta-depends']
diff --git a/webtools/bugs.py b/webtools/bugs.py
index f2b23d8..e512167 100755
--- a/webtools/bugs.py
+++ b/webtools/bugs.py
@@ -11,7 +11,7 @@ from email.Utils import formatdate
 from genshi.template import TemplateLoader
 from genshi import Markup
 
-from blendstasktools import Tasks, ReadConfig, PackageBugsOpenAndDone, \
+from blendstasktoolsold import Tasks, ReadConfig, PackageBugsOpenAndDone, \
                             DEPENDENT, SUGGESTED, DONE, BUGLISTCAT, SEVERITIES, HOMEPAGENONE
 
 if len(argv) <= 1:
diff --git a/webtools/po/blends-webtools.pot b/webtools/po/blends-webtools.pot
new file mode 100644
index 0000000..7e07072
--- /dev/null
+++ b/webtools/po/blends-webtools.pot
@@ -0,0 +1,328 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: blends-webtools 0.1.1\n"
+"Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+"POT-Creation-Date: 2011-02-06 22:26+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: tasks.py:90
+msgid "License"
+msgstr ""
+
+#: tasks.py:91
+msgid "Version"
+msgstr ""
+
+#: tasks.py:92 bugs.py:114
+msgid "Summary"
+msgstr ""
+
+#: tasks.py:93 bugs.py:123
+msgid "Last update:"
+msgstr ""
+
+#: tasks.py:94 tasks.py:150
+msgid "Debian package not available"
+msgstr ""
+
+#: tasks.py:96
+msgid ""
+"For a better overview of the project's availability as a Debian package, "
+"each head row has a color code according to this scheme:"
+msgstr ""
+
+#: tasks.py:97
+#, python-format
+msgid ""
+"If you discover a project which looks like a good candidate for %s\n"
+"                              to you, or if you have prepared an unofficial "
+"Debian package, please do not hesitate to\n"
+"                              send a description of that project to the <a "
+"href=\"mailto:%s\">%s mailing list</a>"
+msgstr ""
+
+#: tasks.py:101
+#, python-format
+msgid ""
+"The list to the right includes various software projects which are of some "
+"interest to the %s Project. Currently, only a few of them are available as "
+"Debian packages. It is our goal, however, to include all software in %s "
+"which can sensibly add to a high quality Debian Pure Blend."
+msgstr ""
+
+#: tasks.py:102
+msgid "Tasks page"
+msgstr ""
+
+#: tasks.py:103
+msgid "Project"
+msgstr ""
+
+#: tasks.py:104
+#, python-format
+msgid "This is a list of the Tasks %s is made of:"
+msgstr ""
+
+#: tasks.py:105
+msgid "This page is also available in the following languages:"
+msgstr ""
+
+#: tasks.py:106
+#, python-format
+msgid "How to set <a href=\"%s\">the default document language</a>"
+msgstr ""
+
+#: tasks.py:108 bugs.py:262
+msgid "Homepage not available"
+msgstr ""
+
+#: tasks.py:109
+msgid "Translate description"
+msgstr ""
+
+#: tasks.py:110
+msgid "Fix translated description"
+msgstr ""
+
+#: tasks.py:111
+msgid ""
+"Popularitycontest results: number of people who use this package regularly "
+"(number of people who upgraded this package recently) out of"
+msgstr ""
+
+#: tasks.py:112
+msgid "Table of contents"
+msgstr ""
+
+#: tasks.py:113
+msgid "complete packagelist"
+msgstr ""
+
+#: tasks.py:125
+msgid "Packages"
+msgstr ""
+
+#: tasks.py:126
+#, python-format
+msgid ""
+"A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+"a set of packages that might help users to solve certain tasks of their "
+"work.  The list on\n"
+"the right shows the tasks of %s."
+msgstr ""
+
+#: tasks.py:133
+msgid "Official Debian packages with high relevance"
+msgstr ""
+
+#: tasks.py:136
+msgid "Official Debian package"
+msgstr ""
+
+#: tasks.py:137
+msgid "Official Debian packages with lower relevance"
+msgstr ""
+
+#: tasks.py:139
+msgid "Debian packages in contrib or non-free"
+msgstr ""
+
+#: tasks.py:140
+msgid "Debian package in contrib/non-free"
+msgstr ""
+
+#: tasks.py:141
+msgid "Debian packages in experimental"
+msgstr ""
+
+#: tasks.py:142
+msgid "Debian package in experimental"
+msgstr ""
+
+#: tasks.py:143
+msgid "Debian packages in New queue (hopefully available soon)"
+msgstr ""
+
+#: tasks.py:144
+msgid "New Debian package"
+msgstr ""
+
+#: tasks.py:145
+msgid ""
+"Packaging has started and developers might try the packaging code in VCS"
+msgstr ""
+
+#: tasks.py:146
+msgid "Unofficial Debian package"
+msgstr ""
+
+#: tasks.py:147
+msgid "Unofficial packages built by somebody else"
+msgstr ""
+
+#: tasks.py:149
+msgid "No known packages available"
+msgstr ""
+
+#: tasks.py:151
+msgid "No known packages available but some record of interest (WNPP bug)"
+msgstr ""
+
+#: tasks.py:200
+msgid "Maintainer"
+msgstr ""
+
+#: tasks.py:202
+msgid "Responsible"
+msgstr ""
+
+#: tasks.py:224 bugs.py:106
+msgid "Links to other tasks"
+msgstr ""
+
+#: tasks.py:225
+msgid "Index of all tasks"
+msgstr ""
+
+#: bugs.py:107
+msgid "Tasks"
+msgstr ""
+
+#: bugs.py:108
+msgid "Tasks overview"
+msgstr ""
+
+#: bugs.py:109
+msgid "Legend"
+msgstr ""
+
+#: bugs.py:110
+msgid "Bugs of package"
+msgstr ""
+
+#: bugs.py:111
+msgid "Total bugs"
+msgstr ""
+
+#: bugs.py:112
+msgid "Open bugs"
+msgstr ""
+
+#: bugs.py:113
+msgid "Fixed bugs"
+msgstr ""
+
+#: bugs.py:115
+#, python-format
+msgid ""
+"A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+"a set of packages that might help users to solve certain tasks of their "
+"work.  This page should be helpful\n"
+"to track down the bugs of packages that are interesting for the %s project "
+"to enable developers a quick\n"
+"overview about possible problems."
+msgstr ""
+
+#: bugs.py:121
+msgid "Bugs page"
+msgstr ""
+
+#: bugs.py:122
+msgid ""
+"This is a list of metapackages.  The links are leading to the respective "
+"bugs page."
+msgstr ""
+
+#: bugs.py:124
+msgid ""
+"To estimate the overall status of the packages in the dependencies of\n"
+"a metapackage a weighted severity is calculated.  Done bugs are ignored and "
+"bugs in dependent and\n"
+"recommended packages are weighted by factor three compared to suggested "
+"packages.  Release critical\n"
+"bugs have a much larger weight than important, while the contribution of "
+"normal bugs is even smaller\n"
+"and minor bugs have a very small weight.  Wishlist bugs are ignored in this "
+"calculation.  The resulting\n"
+"sum is compared to some boundaries to find a verbal form.  The actual "
+"numbers need some adjustment\n"
+"to make real sense - this evaluation method is in testing phase."
+msgstr ""
+
+#: bugs.py:131
+msgid "The severities of bugs are weighted as follows"
+msgstr ""
+
+#: bugs.py:222
+msgid "Metapackage is in excellent shape"
+msgstr ""
+
+#: bugs.py:225
+msgid "Metapackage is in very good shape"
+msgstr ""
+
+#: bugs.py:228
+msgid "Metapackage is in good shape"
+msgstr ""
+
+#: bugs.py:231
+msgid "Consider looking into bugs of this metapackage"
+msgstr ""
+
+#: bugs.py:234
+msgid "Looking into bugs of this metapackage is recommended"
+msgstr ""
+
+#: bugs.py:237
+msgid ""
+"Immediately looking into bugs of the dependencies of this metapackage is "
+"advised"
+msgstr ""
+
+#: bugs.py:242
+msgid "Open bugs in dependent packages"
+msgstr ""
+
+#: bugs.py:243
+msgid "Open bugs in suggested packages"
+msgstr ""
+
+#: bugs.py:244
+msgid "Done bugs"
+msgstr ""
+
+#: bugs.py:246
+msgid "No open bugs in dependent packages"
+msgstr ""
+
+#: bugs.py:247
+msgid "No open bugs in suggested packages"
+msgstr ""
+
+#: bugs.py:248
+msgid "No done bugs"
+msgstr ""
+
+#: bugs.py:263
+msgid "Not maintained in Vcs"
+msgstr ""
+
+#: bugs.py:264
+msgid "Vcs"
+msgstr ""
+
+#: webconf/debian-med.conf:13
+msgid "Help us to see Debian used by medical practitioners and biomedical researchers! Join us on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr""
diff --git a/webtools/po/cs.po b/webtools/po/cs.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/cs.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/da.po b/webtools/po/da.po
new file mode 100644
index 0000000..6a1198d
--- /dev/null
+++ b/webtools/po/da.po
@@ -0,0 +1,611 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2008 Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid   ""
+msgstr  "Project-Id-Version: blends-webtools 0.1.1\n"
+        "Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+        "POT-Creation-Date: 2011-02-06 22:26+0100\n"
+        "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+        "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+        "Language-Team: LANGUAGE <LL at li.org>\n"
+        "Language: \n"
+        "MIME-Version: 1.0\n"
+        "Content-Type: text/plain; charset=UTF-8\n"
+        "Content-Transfer-Encoding: 8bit\n"
+
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
+
+#~ msgid        "Hello world"
+#~ msgstr       "Hej verden"
diff --git a/webtools/po/de.po b/webtools/po/de.po
new file mode 100644
index 0000000..5d5b1ab
--- /dev/null
+++ b/webtools/po/de.po
@@ -0,0 +1,624 @@
+# Translation file for Debian Pure Blends webtools.
+# Copyright (C) 2007, Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the GNU General Public License v2+.
+# David Paleino <d.paleino at gmail.com>, 2007.
+#
+#, fuzzy
+msgid   ""
+msgstr  "Project-Id-Version: 0.1\n"
+        "Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+        "POT-Creation-Date: 2011-02-06 22:26+0100\n"
+        "PO-Revision-Date: 2011-01-30 23:13:51+0200\n"
+        "Last-Translator: Andreas Tille <tille at debian.org>\n"
+        "Language-Team: German <de at li.org>\n"
+        "Language: de\n"
+        "MIME-Version: 1.0\n"
+        "Content-Type: text/plain; charset=UTF-8\n"
+        "Content-Transfer-Encoding: 8bit\n"
+
+#: tasks.py:90
+msgid   "License"
+msgstr  "Lizenz"
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  "Version"
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  "Zusammenfassung"
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  "Zuletzt aktualisiert:"
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  "Debianpaket nicht verfügbar"
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  "Um einen besseren Überblick über die Verfügbarkeit der Projekte als Debian Paket zu "
+        "geben, hat jede Kopfzeile einen Farbcode entsprechend diesem Schema:"
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  "Wenn Sie ein Projekt entdecken, das ein guter Kandidat für %s zu sein scheint, oder wenn "
+        "Sie ein inoffizielles Debianpaket erstellt haben, zögern Sie bitte nicht eine "
+        "Beschreibung des Projekts an die <a href=\"mailto:%s\">%s Mailingliste</a> zu schicken."
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  "Die Liste auf der rechten Seite enthält verschiedene Softwareprojekte, die für das %s "
+        "Projekt von Interesse sind. Derzeit sind nur einige von diesen als Debianpakete "
+        "verfügbar. Zielsetzung ist es jedoch, all die Software für %s zu paketieren, um einen "
+        "qualitativ hochwertiges Debian Pure Blend (interne Anpassung von Debian an spezielle "
+        "Bedürfnisse) zu erstellen."
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  "Aufgaben Seite"
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  "Projekt"
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  "Dies ist die Liste der Aufgaben des %s Projekts:"
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  "Diese Seite gibt es auch in den folgenden Sprachen:"
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  "Wie stellt man <a href=\"%s\">die Standardsprache</a> ein"
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  "Homepage nicht verfügbar"
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  "Beschreibung übersetzen"
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  "Korrigiere Übersetzung"
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  "Pupularitätswetbewerbsergebnisse: Anzahl der Nutzer, die das Paket regelmäßig nutzen "
+        "(Anzahl der Nutzer, die das Paket kürzlich aktualisiert haben) von insgesamt"
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  "Inhaltsverzeichnis"
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  "komplette Paketliste"
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  "Pakete"
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  "Ein %sDebian Pure Blend%s ist ein internes Debianprojekt, das einen Satz von Paketen "
+        "zusammenstellt, der Nutzern hilft, bestimmte Aufgaben Ihrer Arbeit zu bewältigen.  Die "
+        "Liste rechts zeigt Aufgaben, die durch %s zusammengestellt wurden."
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  "Offizielle Debianpakete mit hoher Relevanz"
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  "Offizielles Debianpaket"
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  "Offizielle Debianpakete mit niedriger Relevanz"
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  "Debianpakete in contrib oder non-free"
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  "Debianpaket in contrib/non-free"
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  "Debianpakete in experimental"
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  "Debianpaket in experimental"
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  "Debianpakete in der New Queue (hoffentlich bald verfügbar)"
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  "Neues Debianpaket"
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  "Paketierung hat begonnen und Entwickler könnten einen Versuch mit dem Code im VCS starten"
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  "Inoffizielles Debianpaket"
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  "Inoffizielle Pakete, die nicht durch das Debian Projekt erstellt wurden"
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  "Keine bekannten Pakete verfügbar"
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  "Keine information über verfügbare Pakete, aber Interesse bekundet (WNPP bug)"
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  "Betreuer"
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  "Verantwortlich"
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  "Links zu Aufgaben"
+
+# # 'anderen' wird hier weggelassen - sonst wird das Layout vermurkst
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  "Index aller Aufgaben"
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  "Arbeitsgebiete"
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  "Arbeitsgebiete Überblick"
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  "Legende"
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  "Fehler des Pakets"
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  "Alle Fehler"
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  "Unerledigte Fehler"
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  "Erledigte Fehler"
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  "Ein %sDebian Pure Blend%s ist ein internes Debianprojekt, das einen Satz von Paketen "
+        "zusammenstellt, der Nutzern hilft, bestimmte Aufgabenbereiche Ihrer Arbeit zu "
+        "bewältigen.  Diese Seite soll dabei helfen\n"
+        "den Entwicklern des Projekts %s einen schnellen Überblick über mögliche Probleme zu geben."
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  "Fehlerseite"
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  "Unerledigte Fehler"
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  "Hilf uns dabei, Debian für Ärzte und Forscher in der Biomedizin attraktiv zu machen!\n"
+        "Du kannst dem Projekt auf der <a href=\"http://alioth.debian.org/projects/debian-med"
+        "\">Alioth Seite</a> beitreten."
+
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  "Zusammenfassung"
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  "Bugs des Pakets"
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  "Zuletzt aktualisiert"
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  "Diese Seite wird automatisch zweimal am Tag aktualisiert: zu Mitternacht und um Mittag."
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  "Bugs Übersicht"
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  "DDTP Statistiken"
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  "Zusammenfassung des Pakets"
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  "Information"
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  "Entwickler, bitte besucht die"
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  "Debian Med Wiki Seiten"
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  "Das Debian Med Projekt präsentiert Pakete für die<ul><li>Medizin</li><li>Vorklinik</"
+        "li><li>Biowissenschaften.</li></ul> Aktuelle Pakete kommen aus den Bereichen "
+        "<ul><li>Praxisverwaltung</li><li>Bildverarbeitung</li><li>Bioinformatik</li></ul>und von "
+        "jedem Debian-Rechner direkt zu installieren."
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  "Warnung"
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  "Dein Browser verwendet eine noch nicht berücksichtigte Ländereinstellung.<br />Wenn die "
+        "hierzu benötigten ein bis zwei Stunden irgendwie abzweigbar sind, so hilf uns bitte mit "
+        "einer entsprechenden Übersetzung unserer Seiten. %sHier%s steht wie dies funktioniert."
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  "Besuchen Sie die %sÜbersetzungsseite%s"
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  "Seiten"
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  "Gruppenrichtlinien"
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  "Gemeldete Probleme"
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  "SVN Repository"
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  "Übersetzung"
+
+#: ../index.php:54
+msgid   "members"
+msgstr  "Es machen mit"
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  "Administrator"
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  "Entwickler"
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  "Green Wheel"
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  "Grey Wheel"
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  "UTC Zeitzone"
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  "Bäpperle"
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  "Gültiges XHTML 1.1"
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  "Gültiges CSS 2"
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  "Gerade erst passiert"
+
+#: ../index.php:138
+msgid   "date"
+msgstr  "Datum"
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  "Autor"
+
+#: ../index.php:140
+msgid   "content"
+msgstr  "Inhalt"
+
+#: ../index.php:141
+msgid   "link"
+msgstr  "Link"
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  "Zu tun"
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  "Die Gemeinschaft betreibt diese Webseite gemeinsam über einen SVN server. Dies mag "
+        "mitunter Schwierigkeiten hervorrufen, dafür sind wir immer aktuell."
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  "Spracheinstellung"
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  "Priorität"
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  "Mehr Informationen dazu, wie Du dem Projekt zuarbeiten kannst, können auf der Seite %sHow "
+        "to Contribute%s abgerufen werden."
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  "Übersetzung"
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  "Dezeit gewählte Sprache"
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  "locale"
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  "Status der Übersetzung"
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  "Team"
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  "Füge neue Sprache hinzu"
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  "Die Liste auf der rechten Seite enthält verschiedene Softwareprojekte, die für das Debian-"
+        "Med Projekt von Interesse sind."
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  "Derzeit sind noch nicht alle als Debian-Paket verfügbar."
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  "Es ist jedoch unser Ziel, diese Software in Debian Med zu integrieren, um eine qualitativ "
+        "hochwertige Debian Pure Blend zu erstellen."
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  "Wenn Sie ein Projekt entdecken, das ein guter Kandidat für Debian Med zu sein scheint, "
+        "oder wenn Sie ein inoffizielles Debianpaket erstellt haben, zögern Sie bitte nicht eine "
+        "Beschreibung des Projekts an die %sDebian Med Mailingliste%s zu schicken."
+
+#
+# These strings are manually added, they
+# come from inside the update-bugs Python
+# script
+#
+# Please keep the static.pot file.
+#
+msgid   "Subject"
+msgstr  "Betreff"
+
+msgid   "Sender"
+msgstr  "Von"
+
+msgid   "Tags"
+msgstr  "Tags"
+
+msgid   "Date"
+msgstr  "Datum"
+
+msgid   "Severity"
+msgstr  "Schweregrad"
+
+msgid   "Found in"
+msgstr  "Bezug auf"
+
+msgid   "Fixed in"
+msgstr  "Behoben in"
+
+msgid   "translation not available"
+msgstr  "Keine Übersetzung verfügbar"
+
+msgid   "yes"
+msgstr  "ja"
+
+msgid   "translated"
+msgstr  "übersetzt"
+
+msgid   "edit"
+msgstr  "bearbeiten"
+
+msgid   "edit translation"
+msgstr  "bearbeite Übersetzung"
+
+msgid   "untranslated"
+msgstr  "unübersetzt"
+
+msgid   "Please follow the link below to start translating"
+msgstr  "Bitte folge dem unten angegebenen Link, um eine erste Übersetzung einzugeben."
diff --git a/webtools/po/es.po b/webtools/po/es.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/es.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/fi.po b/webtools/po/fi.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/fi.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/fr.po b/webtools/po/fr.po
new file mode 100644
index 0000000..b0fcad1
--- /dev/null
+++ b/webtools/po/fr.po
@@ -0,0 +1,629 @@
+# translation of messages.po to français
+# Translation file for Debian Pure Blends webtools.
+# Copyright (C) 2008, Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the GNU General Public License v2+.
+#
+# David Paleino <d.paleino at gmail.com>, 2007.
+# Charles Plessy <charles-debian-nospam at plessy.org>, 2007.
+# Eric Maeker <eric.maeker at gmail.com>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: messages\n"
+"Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+"POT-Creation-Date: 2011-02-06 22:26+0100\n"
+"PO-Revision-Date: 2012-07-24 23:00+0100\n"
+"Last-Translator: Eric Maeker <eric.maeker at gmail.com>\n"
+"Language-Team: français <fr at li.org.example>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: tasks.py:90
+msgid "License"
+msgstr "Licence"
+
+#: tasks.py:91
+msgid "Version"
+msgstr "Version"
+
+#: tasks.py:92
+#: bugs.py:114
+msgid "Summary"
+msgstr "Résumé"
+
+#: tasks.py:93
+#: bugs.py:123
+msgid "Last update:"
+msgstr "Dernière mise à jour :"
+
+#: tasks.py:94
+#: tasks.py:150
+msgid "Debian package not available"
+msgstr "Paquet Debian indisponible"
+
+#: tasks.py:96
+msgid "For a better overview of the project's availability as a Debian package, each head row has a color code according to this scheme:"
+msgstr "Pour un meilleur aperçu de la disponibilité du projet comme paquet Debian, toutes les entêtes ont un code couleur selon le schéma suivant :"
+
+#: tasks.py:97
+#, python-format
+msgid ""
+"If you discover a project which looks like a good candidate for %s\n"
+"                              to you, or if you have prepared an unofficial Debian package, please do not hesitate to\n"
+"                              send a description of that project to the <a href=\"mailto:%s\">%s mailing list</a>"
+msgstr ""
+"Si vous découvrez un projet qui pourrait être un bon candidat pour %s,\n"
+"                              ou si vous avez préparé un paquet non officiel pour Debian, n'hésitez pas à\n"
+"                              nous envoyer une description de ce projet sur <a href=\"mailto:%s\">la liste de diffusion %s</a>"
+
+#: tasks.py:101
+#, python-format
+msgid "The list to the right includes various software projects which are of some interest to the %s Project. Currently, only a few of them are available as Debian packages. It is our goal, however, to include all software in %s which can sensibly add to a high quality Debian Pure Blend."
+msgstr "La liste de droite comprend divers projets logiciels qui sont d'un certain intérêt au projet %s. Actuellement, seuls quelques-uns d'entre eux sont disponibles sous forme de paquets Debian. Notre objectif est d'inclure tous les logiciels dans %s, qui peuvent raisonnablement participer à un Debian Pure Blend de haute qualité."
+
+#: tasks.py:102
+msgid "Tasks page"
+msgstr "Page des tâches"
+
+#: tasks.py:103
+msgid "Project"
+msgstr "Projet"
+
+#: tasks.py:104
+#, python-format
+msgid "This is a list of the Tasks %s is made of:"
+msgstr "Ceci est la liste des tâches dont est constitué %s :"
+
+#: tasks.py:105
+msgid "This page is also available in the following languages:"
+msgstr "Cette page est aussi disponible dans les langages suivants :"
+
+#: tasks.py:106
+#, python-format
+msgid "How to set <a href=\"%s\">the default document language</a>"
+msgstr "Comment définir la <a href=\"%s\">langue par défaut de ce document</a>"
+
+#: tasks.py:108
+#: bugs.py:262
+msgid "Homepage not available"
+msgstr "Page d'accueil indisponible"
+
+#: tasks.py:109
+msgid "Translate description"
+msgstr "Traduire la description"
+
+#: tasks.py:110
+msgid "Fix translated description"
+msgstr "Corriger la traduction de la description"
+
+#: tasks.py:111
+msgid "Popularitycontest results: number of people who use this package regularly (number of people who upgraded this package recently) out of"
+msgstr "Résultats de popularité : nombre de personnes qui utilisent régulièrement ce paquet (nombre de personnes qui ont mis à jour ce paquet récemment) sur"
+
+#: tasks.py:112
+msgid "Table of contents"
+msgstr "Table des matières"
+
+#: tasks.py:113
+msgid "complete packagelist"
+msgstr "list complète des paquets"
+
+#: tasks.py:125
+msgid "Packages"
+msgstr "Paquets"
+
+#: tasks.py:126
+#, python-format
+msgid ""
+"A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+"a set of packages that might help users to solve certain tasks of their work.  The list on\n"
+"the right shows the tasks of %s."
+msgstr ""
+"Un %sDebian Pure Blend%s est un projet Debian interne qui assemble \n"
+"un ensemble de paquets qui pourraient aider les utilisateurs à résoudre certaines tâches de leur travail. La liste de \n"
+"de droite montre les tâches de %s."
+
+#: tasks.py:133
+msgid "Official Debian packages with high relevance"
+msgstr "Paquets Debian officiels avec une haute priorité"
+
+#: tasks.py:136
+msgid "Official Debian package"
+msgstr "Paquet Debian officiel"
+
+#: tasks.py:137
+msgid "Official Debian packages with lower relevance"
+msgstr "Paquets Debian officiels avec une faible priorité"
+
+#: tasks.py:139
+msgid "Debian packages in contrib or non-free"
+msgstr "Paquets Debian dans contrib ou non-free"
+
+#: tasks.py:140
+msgid "Debian package in contrib/non-free"
+msgstr "Paquet Debian dans contrib ou non-free"
+
+#: tasks.py:141
+msgid "Debian packages in experimental"
+msgstr "Paquets Debian dans experimental"
+
+#: tasks.py:142
+msgid "Debian package in experimental"
+msgstr "Paquet Debian dans experimental"
+
+#: tasks.py:143
+msgid "Debian packages in New queue (hopefully available soon)"
+msgstr "Paquet Debian dans la file d'attente des nouveaux (on l'espère bientôt disponible)"
+
+#: tasks.py:144
+msgid "New Debian package"
+msgstr "Nouveau paquet Debian"
+
+#: tasks.py:145
+msgid "Packaging has started and developers might try the packaging code in VCS"
+msgstr "Construction du paquet débuté, les développeurs peuvent tester le code de construction sur le gestionnaire de version"
+
+#: tasks.py:146
+msgid "Unofficial Debian package"
+msgstr "Paquet non-officiel de Debian"
+
+#: tasks.py:147
+msgid "Unofficial packages built by somebody else"
+msgstr "Paquet non-officiel construit par quelqu'un d'autre"
+
+#: tasks.py:149
+msgid "No known packages available"
+msgstr "Pas de paquet connu disponible"
+
+#: tasks.py:151
+msgid "No known packages available but some record of interest (WNPP bug)"
+msgstr "Pas de paquet disponible mais un intérêt signalé (bogue WNPP)"
+
+#: tasks.py:200
+msgid "Maintainer"
+msgstr "Mainteneur"
+
+#: tasks.py:202
+msgid "Responsible"
+msgstr "Responsable"
+
+#: tasks.py:224
+#: bugs.py:106
+msgid "Links to other tasks"
+msgstr "Liens vers les autres tâches"
+
+#: tasks.py:225
+msgid "Index of all tasks"
+msgstr "Index de toutes les tâches"
+
+#: bugs.py:107
+msgid "Tasks"
+msgstr "Tâches"
+
+#: bugs.py:108
+msgid "Tasks overview"
+msgstr "Aperçu des tâches"
+
+#: bugs.py:109
+msgid "Legend"
+msgstr "Légende"
+
+#: bugs.py:110
+msgid "Bugs of package"
+msgstr "Bogues du paquet"
+
+#: bugs.py:111
+msgid "Total bugs"
+msgstr "Bogues totaux"
+
+#: bugs.py:112
+msgid "Open bugs"
+msgstr "Bogues ouverts"
+
+#: bugs.py:113
+msgid "Fixed bugs"
+msgstr "Bogues corrigés"
+
+#: bugs.py:115
+#, python-format
+msgid ""
+"A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+"a set of packages that might help users to solve certain tasks of their work.  This page should be helpful\n"
+"to track down the bugs of packages that are interesting for the %s project to enable developers a quick\n"
+"overview about possible problems."
+msgstr ""
+"Un %sDebian Pure Blend%s est un projet Debian interne qui assemble \n"
+"un ensemble de paquets qui pourraient aider les utilisateurs à résoudre certaines tâches de leur travail. Cette page peut être utile \n"
+"pour traquer les bogues de paquets qui sont intéressants pour le projet %s et pour permettre aux développeurs un aperçu rapide sur les problèmes éventuels."
+
+#: bugs.py:121
+msgid "Bugs page"
+msgstr "Page des bogues"
+
+#: bugs.py:122
+msgid "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr "Ceci est une liste de méta-paquets. Les liens mènent vers la page des bogues correspondante."
+
+#: bugs.py:124
+msgid ""
+"To estimate the overall status of the packages in the dependencies of\n"
+"a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in dependent and\n"
+"recommended packages are weighted by factor three compared to suggested packages.  Release critical\n"
+"bugs have a much larger weight than important, while the contribution of normal bugs is even smaller\n"
+"and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  The resulting\n"
+"sum is compared to some boundaries to find a verbal form.  The actual numbers need some adjustment\n"
+"to make real sense - this evaluation method is in testing phase."
+msgstr ""
+
+#: bugs.py:131
+msgid "The severities of bugs are weighted as follows"
+msgstr "La sévérité des bogues est pondéré comme suit"
+
+#: bugs.py:222
+msgid "Metapackage is in excellent shape"
+msgstr "Méta-paquet en excellente forme"
+
+#: bugs.py:225
+msgid "Metapackage is in very good shape"
+msgstr "Méta-paquet en très bonne forme"
+
+#: bugs.py:228
+msgid "Metapackage is in good shape"
+msgstr "Méta-paquet en bonne forme"
+
+#: bugs.py:231
+msgid "Consider looking into bugs of this metapackage"
+msgstr "Pensez à vérifier les bogues de ce méta-paquet"
+
+#: bugs.py:234
+msgid "Looking into bugs of this metapackage is recommended"
+msgstr "Vérifier les bogues de ce méta-paquet est recommandé"
+
+#: bugs.py:237
+msgid "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr "Vérification immédiate des bogues des dépendances de méta-paquet est conseillé"
+
+#: bugs.py:242
+msgid "Open bugs in dependent packages"
+msgstr "Bogues ouverts dans les paquets dépendants"
+
+#: bugs.py:243
+msgid "Open bugs in suggested packages"
+msgstr "Bogues ouverts dans les paquets suggérés"
+
+#: bugs.py:244
+msgid "Done bugs"
+msgstr "Bogues résolus"
+
+#: bugs.py:246
+msgid "No open bugs in dependent packages"
+msgstr "Pas de bogues ouvert dans les paquets dépendants"
+
+#: bugs.py:247
+msgid "No open bugs in suggested packages"
+msgstr "Pas de bogues ouvert dans les paquets suggérés"
+
+#: bugs.py:248
+msgid "No done bugs"
+msgstr "Pas de bogues résolus"
+
+#: bugs.py:263
+msgid "Not maintained in Vcs"
+msgstr "Non maintenu dans un gestionnaire de version"
+
+#: bugs.py:264
+msgid "Vcs"
+msgstr "Gestionnaire de version"
+
+#: webconf/debian-med.conf:13
+msgid "Help us to see Debian used by medical practitioners and biomedical researchers! Join us on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr "Aidez-nous à montrer Debian utilisé par des médecins et les chercheurs bio-médicaux ! Rejoignez-nous sur le <a href=\"http://alioth.debian.org/projects/debian-med\">site d'Alioth</a>."
+
+#: ../bug_details.tmpl:8
+#: ../bugs.tmpl:7
+#: ../ddtp.tmpl:7
+#: ../ddtp_details.tmpl:8
+#: ../locales.php:7
+#: ../tasks.tmpl:8
+#: ../tasks_idx.tmpl:8
+msgid "summary"
+msgstr "résumé"
+
+#: ../bug_details.tmpl:12
+#: ../bugs.tmpl:11
+msgid "Bugs for package"
+msgstr "Bogues pur le paquet"
+
+#: ../bug_details.tmpl:40
+#: ../bugs.tmpl:66
+#: ../ddtp.tmpl:30
+#: ../ddtp_details.tmpl:34
+#: ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid "Last update"
+msgstr "Dernière mise à jour"
+
+#: ../bug_details.tmpl:41
+#: ../bugs.tmpl:67
+#: ../ddtp.tmpl:31
+#: ../ddtp_details.tmpl:35
+#: ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr "Notez que cette page est automatiquement mise à jour deux fois par jour, à 00:00 et 12:00 UTC"
+
+#: ../bugs.tmpl:19
+#: ../bugs.tmpl:31
+msgid "Summary bugs page"
+msgstr "Page résumé des bogues"
+
+#: ../ddtp.tmpl:15
+msgid "DDTP Statistics"
+msgstr "Statistiques DDTP"
+
+#: ../ddtp_details.tmpl:12
+msgid "Summary for package"
+msgstr "Résumé pour la paquet"
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid "Help us to see Debian used by medical practicioners and researchers! Join us on the %sAlioth page%s."
+msgstr "Aidez-nous à montrer Debian utilisé par des médecins et les chercheurs bio-médicaux ! Rejoignez-nous sur le %ssite d'Alioth%s."
+
+#: ../index.php:7
+msgid "information"
+msgstr "Information"
+
+#: ../index.php:11
+msgid "Developers please visit our"
+msgstr "Développeurs, visitez notre"
+
+#: ../index.php:12
+msgid "Wiki page"
+msgstr "page Wiki"
+
+#: ../index.php:15
+msgid "The Debian Med project presents packages that are associated with <ul><li>medicine</li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</li><li>bioinformatics</li></ul>and can be installed directly from every Debian installation."
+msgstr "Le projet Debian Med propose des paquets relatifs<ul><li>à la médecine ;</li><li>à la recherche pré-clinique ;</li><li>aux sciences de la vie.</li></ul> Son activité se concentre en ce moment dans trois domaines ;<ul><li>la pratique médicale ;</li><li>l'imagerie ;</li><li>la bio-informatique.</li></ul>"
+
+#: ../index.php:22
+msgid "warning"
+msgstr "attention"
+
+#: ../index.php:24
+#: ../locales.php:26
+#, php-format
+msgid "Your browser uses language settings that we could not yet provide translations for.<br />If you can spare one to two hours then please consider to help us in translating our pages for your people, too. Instructions are found %shere%s."
+msgstr "Votre navigateur utilise les paramètres de langue pour lequel nous ne pouvons pas encore de fournir des traductions.<br />Si vous pouvez participer une à deux heures vous pouvez nous aider à traduire nos pages pour votre peuple. Les instructions se trouvent %sici%s."
+
+#: ../index.php:29
+#, php-format
+msgid "Visit the %sLocalization page%s."
+msgstr "Visitez la <q>%sLocalization page%s</q>"
+
+#: ../index.php:37
+msgid "pages"
+msgstr "Liens"
+
+#: ../index.php:42
+msgid "Group policy"
+msgstr "Politique du groupe"
+
+#: ../index.php:43
+msgid "Bugs"
+msgstr "Suivi des bogues"
+
+#: ../index.php:44
+msgid "Quality Assurance"
+msgstr "Assurance de la qualité"
+
+#: ../index.php:45
+msgid "Debian Description Translation Project"
+msgstr "projet de traduction de descriptions de Debian — DDTP"
+
+#: ../index.php:46
+msgid "Tasks of our Blend"
+msgstr "Tâches pour notre Blend"
+
+#: ../index.php:47
+msgid "SVN repository"
+msgstr "Dépôt SVN"
+
+#: ../index.php:49
+msgid "Localizations"
+msgstr "Localisations"
+
+#: ../index.php:54
+msgid "members"
+msgstr "Membres"
+
+#: ../index.php:72
+#: ../index.php:92
+msgid "Project Administrator"
+msgstr "Administrateur"
+
+#: ../index.php:77
+#: ../index.php:96
+msgid "Project Developer"
+msgstr "Développeur du projet"
+
+#: ../index.php:91
+msgid "Green Wheel"
+msgstr "Roue Verte"
+
+#: ../index.php:95
+msgid "Grey Wheel"
+msgstr "Roue Grise"
+
+#: ../index.php:101
+msgid "UTC time"
+msgstr "Date (UTC)"
+
+#: ../index.php:107
+msgid "badges"
+msgstr "badges"
+
+#: ../index.php:113
+msgid "Valid XHTML 1.1"
+msgstr "XHTML 1.1 valide"
+
+#: ../index.php:118
+msgid "Valid CSS 2"
+msgstr "Valide CSS 2"
+
+#: ../index.php:125
+msgid "Berkeley Open Infrastructure for Network Computing"
+msgstr "Infrastructure non propriétaire de Berkeley dédiée au calcul en réseau (BOINC)"
+
+#: ../index.php:132
+msgid "recent activity"
+msgstr "activité récente"
+
+#: ../index.php:138
+msgid "date"
+msgstr "Date"
+
+#: ../index.php:139
+#: ../locales.php:50
+msgid "author"
+msgstr "Auteur"
+
+#: ../index.php:140
+msgid "content"
+msgstr "Contenu"
+
+#: ../index.php:141
+msgid "link"
+msgstr "Lien"
+
+#: ../index.php:170
+msgid "todo"
+msgstr "À faire"
+
+#: ../index.php:220
+msgid "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr "Ce site est directement synchronisé avec notre dépôt Subversion ; il peut y avoir des dysfonctionnements pendant les mises à jours."
+
+#: ../locales.php:11
+msgid "Current locale"
+msgstr "Langue utilisée"
+
+#: ../locales.php:15
+msgid "Priority"
+msgstr "Priorité"
+
+#: ../locales.php:31
+#, php-format
+msgid "More information on how to contribute to the Debian Med project, can be found in the %sHow to Contribute%s page."
+msgstr "Vous pouvez trouver plus d'information sur les moyens de participer à Debian Med dans la page <q>%sHow to Contribute%s</q>."
+
+#: ../locales.php:41
+msgid "localization"
+msgstr "localisation"
+
+#: ../locales.php:45
+msgid "Currently installed locales"
+msgstr "Localisations disponibles"
+
+#: ../locales.php:48
+msgid "locale"
+msgstr "localisation"
+
+#: ../locales.php:49
+msgid "translation status"
+msgstr "état de la traduction"
+
+#: ../locales.php:51
+msgid "team"
+msgstr "équipe"
+
+#: ../locales.php:92
+msgid "Add new locale"
+msgstr "Ajouter une nouvelle localisation"
+
+#: ../tasks.tmpl:18
+msgid "The list to the right includes various software projects which are of some interest to the Debian Med Project."
+msgstr "La liste de droite comprend divers projets logiciels qui sont de quelque intérêt pour le projet Debian Med."
+
+#: ../tasks.tmpl:19
+msgid "Currently, only a few of them are available as Debian packages."
+msgstr "Actuellement, seuls quelques-uns d'entre eux sont disponibles sous la forme de paquets Debian."
+
+#: ../tasks.tmpl:20
+msgid "It is our goal, however, to include all software in Debian Med which can sensibly add to a high quality Debian Pure Blend."
+msgstr "Notre objectif est d'inclure tous les logiciels dans Debian Med qui peuvent raisonnablement participer à un Debian Pure Blend de haute qualité."
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid "If you discover a project which looks like a good candidate for Debian Med to you, or if you have prepared an inofficial Debian package, please do not hesitate to send a description of that project to the %sDebian Med mailing list%s"
+msgstr "Si vous découvrez un projet qui pourrait être un bon candidat pour Debian Med, ou si vous avez préparé un paquet non officiel pour Debian, n'hésitez pas à nous envoyer une description de ce projet sur %sla liste de diffusion%s"
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid "Subject"
+msgstr "Sujet"
+
+msgid "Sender"
+msgstr "Expéditeur"
+
+msgid "Tags"
+msgstr "Étiquettes"
+
+msgid "Date"
+msgstr "Date"
+
+msgid "Severity"
+msgstr "Sévérité"
+
+msgid "Found in"
+msgstr "Trouvé dans"
+
+msgid "Fixed in"
+msgstr "Corrigé dans"
+
+msgid "translation not available"
+msgstr "traduction indisponible"
+
+msgid "yes"
+msgstr "oui"
+
+msgid "translated"
+msgstr "traduit"
+
+msgid "edit"
+msgstr "éditer"
+
+msgid "edit translation"
+msgstr "éditer la traduction"
+
+msgid "untranslated"
+msgstr "non traduit"
+
+msgid "Please follow the link below to start translating"
+msgstr "Veuillez suivre le lien suivant pour commencer à traduire"
+
+#, fuzzy
+#~ msgid        "Packaging Vcs"
+#~ msgstr       "Liens"
+
+#, fuzzy
+#~ msgid        "QA page"
+#~ msgstr       "Liens"
+
+#~ msgid        "Locales page"
+#~ msgstr       "Localisation"
+
+#~ msgid        "Join us! Help us in making Doctors use Debian! See the %sAlioth page%s."
+#~ msgstr       "Rejoignez-nous ! Pour nous aider à populariser Debian dans le monde "
+#~      "médical, voyez la page <q>%sAlioth page%s</q>"
diff --git a/webtools/po/it.po b/webtools/po/it.po
new file mode 100644
index 0000000..db1f06c
--- /dev/null
+++ b/webtools/po/it.po
@@ -0,0 +1,699 @@
+# Translation file for Debian Pure Blends webtools.
+# Copyright (C) 2007, Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the GNU General Public License v2+.
+# David Paleino <d.paleino at gmail.com>, 2007.
+#
+#, fuzzy
+msgid   ""
+msgstr  "Project-Id-Version: 0.1\n"
+        "Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+        "POT-Creation-Date: 2011-02-06 22:26+0100\n"
+        "PO-Revision-Date: 2008-02-17 13:30+0100\n"
+        "Last-Translator: David Paleino <d.paleino at gmail.com>\n"
+        "Language-Team: Italian <it at li.org>\n"
+        "Language: it\n"
+        "MIME-Version: 1.0\n"
+        "Content-Type: text/plain; charset=UTF-8\n"
+        "Content-Transfer-Encoding: 8bit\n"
+
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+#, fuzzy
+msgid   "Version"
+msgstr  "Revisione"
+
+#: tasks.py:92 bugs.py:114
+#, fuzzy
+msgid   "Summary"
+msgstr  "riassunto"
+
+#: tasks.py:93 bugs.py:123
+#, fuzzy
+msgid   "Last update:"
+msgstr  "Ultimo aggiornamento"
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  "Per una migliore visione d'insieme della disponibilità del progetto come pacchetto "
+        "Debian, ogni riga ha un colore codificato secondo il seguente schema:"
+
+#: tasks.py:97
+#, fuzzy, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  "Se hai trovato un progetto che sembra essere un buon candidato per Debian Med, o se hai "
+        "preparato un pacchetto Debian non ufficiale, non esitare a mandare una descrizione di "
+        "quel progetto alla %smailing list Debian Med%s"
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  "Tasks della Blend"
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+#, fuzzy
+msgid   "Homepage not available"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:109
+#, fuzzy
+msgid   "Translate description"
+msgstr  "Descrizione breve"
+
+#: tasks.py:110
+#, fuzzy
+msgid   "Fix translated description"
+msgstr  "Descrizione breve"
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+#, fuzzy
+msgid   "Packages"
+msgstr  "pagine"
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+#, fuzzy
+msgid   "Official Debian packages with high relevance"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+#, fuzzy
+msgid   "Debian packages in contrib or non-free"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:140
+#, fuzzy
+msgid   "Debian package in contrib/non-free"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:141
+#, fuzzy
+msgid   "Debian packages in experimental"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:142
+#, fuzzy
+msgid   "Debian package in experimental"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:143
+#, fuzzy
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:144
+#, fuzzy
+msgid   "New Debian package"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+#, fuzzy
+msgid   "No known packages available"
+msgstr  "pacchetto Debian non disponibile"
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  "Responsabile"
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+#, fuzzy
+msgid   "Tasks"
+msgstr  "Tasks della Blend"
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+#, fuzzy
+msgid   "Bugs of package"
+msgstr  "Bugs per il pacchetto"
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  "Bugs totali"
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  "Bugs aperti"
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  "Bugs risolti"
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+#, fuzzy
+msgid   "Bugs page"
+msgstr  "Bugs per il pacchetto"
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+#, fuzzy
+msgid   "Done bugs"
+msgstr  "Bugs aperti"
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+#, fuzzy
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  "Aiutaci a vedere Debian usata dai medici e dai ricercatori! Unisciti a noi sulla %spagina "
+        "Alioth%s."
+
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  "riassunto"
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  "Bugs per il pacchetto"
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  "Ultimo aggiornamento"
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  "Nota che questa pagina viene automaticamente generata due volte al giorno, alle 00:00 e "
+        "alle 12:00 UTC."
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  "Pagina riassunto bug"
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  "Statistiche DDTP"
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  "Riassunto per il pacchetto"
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  "Aiutaci a vedere Debian usata dai medici e dai ricercatori! Unisciti a noi sulla %spagina "
+        "Alioth%s."
+
+#: ../index.php:7
+msgid   "information"
+msgstr  "informazioni"
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  "Sviluppatori, visitate la nostra"
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  "pagina Wiki"
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  "Il progetto Debian Med presenta pacchetti che sono associati con <ul><li>la medicina</"
+        "li><li>la ricerca pre-clinica</li><li>le scienze della vita.</li></ul> Il suo sviluppo "
+        "è principalmente concentrato su tre aree per il momento: <ul><li>attività "
+        "mediche</li><li>imaging</li><li>bioinformatica</li></ul> e possono essere installati "
+        "direttamente da qualsiasi installazione Debian."
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  "attenzione"
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  "Il tuo browser utilizza impostazioni di linguaggio per cui non forniamo ancora "
+        "unatraduzione.<br />Se puoi impiegare una o due ore di tempo, allora considera di "
+        "aiutarci nellatraduzione delle pagine per la tua lingua. Puoi trovare le istruzioni %squi"
+        "%s."
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  "Visita la %spagina Localizzazione%s."
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  "pagine"
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  "Politica del Gruppo"
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  "Bugs"
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  "Controllo Qualità"
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  "Progetto Traduzione Descrizioni Debian"
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  "Tasks della Blend"
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  "Repository SVN"
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  "Localizzazioni"
+
+#: ../index.php:54
+msgid   "members"
+msgstr  "membri"
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  "Amministratore Progetto"
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  "Sviluppatore Progetto"
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  "Ingranaggio Verde"
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  "Ingranaggio Grigio"
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  "orario UTC"
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  "medagliette"
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  "XHTML 1.1 Valido"
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  "CSS 2 Valido"
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  "Berkeley Open Infrastructure for Network Computing"
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  "attività recenti"
+
+#: ../index.php:138
+msgid   "date"
+msgstr  "data"
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  "autore"
+
+#: ../index.php:140
+msgid   "content"
+msgstr  "contenuto"
+
+#: ../index.php:141
+msgid   "link"
+msgstr  "link"
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  "da fare"
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  "Per favore, nota che questo è un export SVN del nostro sito web. Potrebbe avere "
+        "dei problemi durante gli aggiornamenti."
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  "Locale attuale"
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  "Priorità"
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  "Maggiori informazioni su come contribuire al progetto Debian Med possono essere trovate "
+        "nella pagina %sCome contribuire%s."
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  "localizzazione"
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  "Locale attualmente installati"
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  "locale"
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  "stato traduzione"
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  "team"
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  "Aggiungi nuovo locale"
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  "L'elenco sulla destra include vari progetti software che sono di qualche interesse al "
+        "Progetto Debian Med."
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  "Attualmente, solo alcuni sono disponibili come pacchetti Debian."
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  "È nostro obiettivo, comunque, includere in Debian Med tutto il software che può "
+        "sensibilmente contribuire a una Debian Pure Blend di qualità."
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  "Se hai trovato un progetto che sembra essere un buon candidato per Debian Med, o se hai "
+        "preparato un pacchetto Debian non ufficiale, non esitare a mandare una descrizione di "
+        "quel progetto alla %smailing list Debian Med%s"
+
+#
+# These strings are manually added, they
+# come from inside the update-bugs Python
+# script
+#
+# Please keep the static.pot file.
+#
+msgid   "Subject"
+msgstr  "Oggetto"
+
+msgid   "Sender"
+msgstr  "Mittente"
+
+msgid   "Tags"
+msgstr  "Tags"
+
+msgid   "Date"
+msgstr  "Data"
+
+msgid   "Severity"
+msgstr  "Gravità"
+
+msgid   "Found in"
+msgstr  "Trovato in"
+
+msgid   "Fixed in"
+msgstr  "Risolto in"
+
+msgid   "translation not available"
+msgstr  "traduzione non disponibile"
+
+msgid   "yes"
+msgstr  "sì"
+
+msgid   "translated"
+msgstr  "tradotto"
+
+msgid   "edit"
+msgstr  "modifica"
+
+msgid   "edit translation"
+msgstr  "modifica traduzione"
+
+msgid   "untranslated"
+msgstr  "non tradotto"
+
+msgid   "Please follow the link below to start translating"
+msgstr  "Per favore segui il link di seguito per iniziare la traduzione"
+
+#, fuzzy
+#~ msgid        "Packaging Vcs"
+#~ msgstr       "pagine"
+
+#, fuzzy
+#~ msgid        "Debian packaging files in Vcs"
+#~ msgstr       "pacchetto Debian non disponibile"
+
+#, fuzzy
+#~ msgid        "Green: The project is <a href=\"#official-debs\">available as an official Debian "
+#~      "package</a>"
+#~ msgstr       "Verde: Il progetto è %sdisponibile come pacchetto Debian ufficiale%s"
+
+#, fuzzy
+#~ msgid        "Yellow: The project is <a href=\"#unofficial-debs\">available in experimental, as "
+#~      "an unofficial Debian package or has packaging files in Vcs</a>"
+#~ msgstr       "Giallo: Il progetto è %sdisponibile come pacchetto Debian non ufficiale%s"
+
+#, fuzzy
+#~ msgid        "Red: The project is <a href=\"#prospective-debs\">not (yet) available as a Debian "
+#~      "package</a>"
+#~ msgstr       "Rosso: Il progetto %snon è (ancora) disponibile come pacchetto Debian%s"
+
+#, fuzzy
+#~ msgid        "Recommended"
+#~ msgstr       "Ricevuto"
+
+#, fuzzy
+#~ msgid        "Debian packaging stuff in Vcs"
+#~ msgstr       "pacchetto Debian non disponibile"
+
+#, fuzzy
+#~ msgid        "Help us to see Debian used by medical practicioners and researchers!\n"
+#~      "Join us on the\n"
+#~      "<a href=\"%s\">Alioth page</a>."
+#~ msgstr       "Aiutaci a vedere Debian usata dai medici e dai ricercatori! Unisciti a noi sulla "
+#~      "%spagina Alioth%s."
+
+#~ msgid        "QA page"
+#~ msgstr       "Controllo di Qualità"
+
+#~ msgid        "DDTP page"
+#~ msgstr       "Progetto Traduzione delle Descrizioni"
+
+#~ msgid        "Locales page"
+#~ msgstr       "Localizzazioni"
+
+#~ msgid        "Long description"
+#~ msgstr       "Descrizione lunga"
+
+#~ msgid        "Join us! Help us in making Doctors use Debian! See the %sAlioth page%s."
+#~ msgstr       "Unisciti a noi! Aiutaci a diffondere Debian tra i Medici! Guarda la %spagina "
+#~      "Alioth%s."
+
+#~ msgid        "Commit Message"
+#~ msgstr       "Messaggio di Commit"
+
+#~ msgid        "Author"
+#~ msgstr       "Autore"
+
+#~ msgid        "Modified Files"
+#~ msgstr       "File Modificati"
diff --git a/webtools/po/ja.po b/webtools/po/ja.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/ja.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/ko.po b/webtools/po/ko.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/ko.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/nl.po b/webtools/po/nl.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/nl.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/php-message-strings.pot b/webtools/po/php-message-strings.pot
new file mode 100644
index 0000000..b92e9ab
--- /dev/null
+++ b/webtools/po/php-message-strings.pot
@@ -0,0 +1,229 @@
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7 ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid "summary"
+msgstr ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid "Bugs for package"
+msgstr ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112 ../tasks_idx.tmpl:29
+msgid "Last update"
+msgstr ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113 ../tasks_idx.tmpl:30
+msgid "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid "Summary bugs page"
+msgstr ""
+
+#: ../ddtp.tmpl:15
+msgid "DDTP Statistics"
+msgstr ""
+
+#: ../ddtp_details.tmpl:12
+msgid "Summary for package"
+msgstr ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid "Help us to see Debian used by medical practicioners and researchers! Join us on the %sAlioth page%s."
+msgstr ""
+
+#: ../index.php:7
+msgid "information"
+msgstr ""
+
+#: ../index.php:11
+msgid "Developers please visit our"
+msgstr ""
+
+#: ../index.php:12
+msgid "Wiki page"
+msgstr ""
+
+#: ../index.php:15
+msgid ""
+"The Debian Med project presents packages that are associated with <ul><li>medicine</li><li>pre-clinical research</li><li>life science.</li></ul> "
+"Its developments are mostly focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</li><li>bioinformatics</li></ul>and can "
+"be installed directly from every Debian installation."
+msgstr ""
+
+#: ../index.php:22
+msgid "warning"
+msgstr ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid ""
+"Your browser uses language settings that we could not yet provide translations for.<br />If you can spare one to two hours then please consider to "
+"help us in translating our pages for your people, too. Instructions are found %shere%s."
+msgstr ""
+
+#: ../index.php:29
+#, php-format
+msgid "Visit the %sLocalization page%s."
+msgstr ""
+
+#: ../index.php:37
+msgid "pages"
+msgstr ""
+
+#: ../index.php:42
+msgid "Group policy"
+msgstr ""
+
+#: ../index.php:43
+msgid "Bugs"
+msgstr ""
+
+#: ../index.php:44
+msgid "Quality Assurance"
+msgstr ""
+
+#: ../index.php:45
+msgid "Debian Description Translation Project"
+msgstr ""
+
+#: ../index.php:46
+msgid "Tasks of our Blend"
+msgstr ""
+
+#: ../index.php:47
+msgid "SVN repository"
+msgstr ""
+
+#: ../index.php:49
+msgid "Localizations"
+msgstr ""
+
+#: ../index.php:54
+msgid "members"
+msgstr ""
+
+#: ../index.php:72 ../index.php:92
+msgid "Project Administrator"
+msgstr ""
+
+#: ../index.php:77 ../index.php:96
+msgid "Project Developer"
+msgstr ""
+
+#: ../index.php:91
+msgid "Green Wheel"
+msgstr ""
+
+#: ../index.php:95
+msgid "Grey Wheel"
+msgstr ""
+
+#: ../index.php:101
+msgid "UTC time"
+msgstr ""
+
+#: ../index.php:107
+msgid "badges"
+msgstr ""
+
+#: ../index.php:113
+msgid "Valid XHTML 1.1"
+msgstr ""
+
+#: ../index.php:118
+msgid "Valid CSS 2"
+msgstr ""
+
+#: ../index.php:125
+msgid "Berkeley Open Infrastructure for Network Computing"
+msgstr ""
+
+#: ../index.php:132
+msgid "recent activity"
+msgstr ""
+
+#: ../index.php:138
+msgid "date"
+msgstr ""
+
+#: ../index.php:139 ../locales.php:50
+msgid "author"
+msgstr ""
+
+#: ../index.php:140
+msgid "content"
+msgstr ""
+
+#: ../index.php:141
+msgid "link"
+msgstr ""
+
+#: ../index.php:170
+msgid "todo"
+msgstr ""
+
+#: ../index.php:220
+msgid "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr ""
+
+#: ../locales.php:11
+msgid "Current locale"
+msgstr ""
+
+#: ../locales.php:15
+msgid "Priority"
+msgstr ""
+
+#: ../locales.php:31
+#, php-format
+msgid "More information on how to contribute to the Debian Med project, can be found in the %sHow to Contribute%s page."
+msgstr ""
+
+#: ../locales.php:41
+msgid "localization"
+msgstr ""
+
+#: ../locales.php:45
+msgid "Currently installed locales"
+msgstr ""
+
+#: ../locales.php:48
+msgid "locale"
+msgstr ""
+
+#: ../locales.php:49
+msgid "translation status"
+msgstr ""
+
+#: ../locales.php:51
+msgid "team"
+msgstr ""
+
+#: ../locales.php:92
+msgid "Add new locale"
+msgstr ""
+
+#: ../tasks.tmpl:18
+msgid "The list to the right includes various software projects which are of some interest to the Debian Med Project."
+msgstr ""
+
+#: ../tasks.tmpl:19
+msgid "Currently, only a few of them are available as Debian packages."
+msgstr ""
+
+#: ../tasks.tmpl:20
+msgid "It is our goal, however, to include all software in Debian Med which can sensibly add to a high quality Debian Pure Blend."
+msgstr ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid ""
+"If you discover a project which looks like a good candidate for Debian Med to you, or if you have prepared an inofficial Debian package, please do "
+"not hesitate to send a description of that project to the %sDebian Med mailing list%s"
+msgstr ""
diff --git a/webtools/po/pl.po b/webtools/po/pl.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/pl.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/pt.po b/webtools/po/pt.po
new file mode 100644
index 0000000..6bb6ebf
--- /dev/null
+++ b/webtools/po/pt.po
@@ -0,0 +1,681 @@
+# Translation file for Debian Pure Blends webtools.
+# Copyright (C) 2007, Debian Pure Blends Team <debian-custom at lists.debian.org>
+# This file is distributed under the GNU General Public License v2+.
+# David Paleino <d.paleino at gmail.com>, 2007.
+# Nelson A. de Oliveira <naoliv at debian.org>, 2007-2008.
+#
+msgid   ""
+msgstr  "Project-Id-Version: \n"
+        "Report-Msgid-Bugs-To: debian-custom at lists.debian.org\n"
+        "POT-Creation-Date: 2011-02-06 22:26+0100\n"
+        "PO-Revision-Date: 2008-02-10 21:36-0300\n"
+        "Last-Translator: Nelson A. de Oliveira <naoliv at debian.org>\n"
+        "Language-Team: Debian i10n Português <debian-l10n-portuguese at lists.debian.org>\n"
+        "Language: \n"
+        "MIME-Version: 1.0\n"
+        "Content-Type: text/plain; charset=UTF-8\n"
+        "Content-Transfer-Encoding: 8bit\n"
+
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+#, fuzzy
+msgid   "Version"
+msgstr  "Revisão"
+
+#: tasks.py:92 bugs.py:114
+#, fuzzy
+msgid   "Summary"
+msgstr  "sumário"
+
+#: tasks.py:93 bugs.py:123
+#, fuzzy
+msgid   "Last update:"
+msgstr  "Última atualização"
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+#, fuzzy
+msgid   "Tasks page"
+msgstr  "Página de traduções"
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+#, fuzzy
+msgid   "Homepage not available"
+msgstr  "status das traduções"
+
+#: tasks.py:109
+#, fuzzy
+msgid   "Translate description"
+msgstr  "Descrição resumida"
+
+#: tasks.py:110
+#, fuzzy
+msgid   "Fix translated description"
+msgstr  "Descrição resumida"
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+#, fuzzy
+msgid   "Packages"
+msgstr  "links"
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+#, fuzzy
+msgid   "Official Debian packages with high relevance"
+msgstr  "status das traduções"
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+#, fuzzy
+msgid   "Debian packages in contrib or non-free"
+msgstr  "status das traduções"
+
+#: tasks.py:140
+#, fuzzy
+msgid   "Debian package in contrib/non-free"
+msgstr  "status das traduções"
+
+#: tasks.py:141
+#, fuzzy
+msgid   "Debian packages in experimental"
+msgstr  "status das traduções"
+
+#: tasks.py:142
+#, fuzzy
+msgid   "Debian package in experimental"
+msgstr  "status das traduções"
+
+#: tasks.py:143
+#, fuzzy
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  "status das traduções"
+
+#: tasks.py:144
+#, fuzzy
+msgid   "New Debian package"
+msgstr  "status das traduções"
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+#, fuzzy
+msgid   "No known packages available"
+msgstr  "status das traduções"
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+#, fuzzy
+msgid   "Tasks"
+msgstr  "Página de traduções"
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+#, fuzzy
+msgid   "Bugs of package"
+msgstr  "Bugs do pacote"
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  "Total de bugs"
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  "Bugs abertos"
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  "Bugs corrigidos"
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+#, fuzzy
+msgid   "Bugs page"
+msgstr  "Bugs do pacote"
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+#, fuzzy
+msgid   "Done bugs"
+msgstr  "Bugs abertos"
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  "sumário"
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  "Bugs do pacote"
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  "Última atualização"
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  "Nota: esta página é atualizada automaticamente duas vezes ao dia, às "
+        "00:00 e 12:00 UTC."
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  "Sumário da página de bugs"
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  "Estatísticas do DDTP"
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  "Sumário do pacote"
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  "informação"
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  "Desenvolvedores, visitem nossa"
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  "Página Wiki"
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  "O projeto Debian Med disponibiliza pacotes que estão associados com "
+        "<ul><li>medicina</li><li>avaliação pré-clínica</"
+        "li><li>ciência da vida.</li></ul> Seu desenvolvimento é focado em três "
+        "áreas no momento: <ul><li>prática médica</li><li>imagem</"
+        "li><li>bioinformática.</li></ul> e podem ser instalados diretamente à "
+        "partir de qualquer instalação do Debian."
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  "aviso"
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  "O seu navegador utiliza uma configuração de linguagem para o qual ainda "
+        "não possuímos tradução.<br />Se você dispor de uma ou "
+        "duas horas então, por favor, considere em nos ajudar a traduzir nossas pá"
+        "ginas para a sua língua. Instruções podem ser encontradas em %saqui"
+        "%s."
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  "Visite a %spágina de localização%s."
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  "links"
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+#, fuzzy
+msgid   "Bugs"
+msgstr  "Página de bugs"
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+#, fuzzy
+msgid   "Localizations"
+msgstr  "localização"
+
+#: ../index.php:54
+msgid   "members"
+msgstr  "membros"
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  "Administrador"
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  "Desenvolvedor"
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  "Engrenagem Verde"
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  "Engrenagem Cinza"
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  "Tempo UTC"
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  "emblemas"
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  "XHTML 1.1 válido"
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  "CSS 2 válido"
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  "Berkeley Open Infrastructure for Network Computing"
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  "atividade recente"
+
+#: ../index.php:138
+msgid   "date"
+msgstr  "data"
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  "autor"
+
+#: ../index.php:140
+msgid   "content"
+msgstr  "conteúdo"
+
+#: ../index.php:141
+msgid   "link"
+msgstr  "link"
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  "fazer"
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  "Por favor, note que este site é uma cópia das páginas do nosso SVN. "
+        "Ele pode não funcionar corretamente durante as atualizações."
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  "Localização atual"
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  "Prioridade"
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  "Mais informações sobre como contribuir para o projeto Debian Med podem ser "
+        "encontradas na página %sComo Contribuir%s."
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  "localização"
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  "Localizações disponíveis"
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  "localização"
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  "status das traduções"
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  "equipe"
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  "Adicionar nova localização"
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+#, fuzzy
+msgid   "Tags"
+msgstr  "links"
+
+#, fuzzy
+msgid   "Date"
+msgstr  "data"
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+#, fuzzy
+msgid   "Fixed in"
+msgstr  "Bugs corrigidos"
+
+#, fuzzy
+msgid   "translation not available"
+msgstr  "status das traduções"
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+#, fuzzy
+msgid   "edit translation"
+msgstr  "status das traduções"
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
+
+#, fuzzy
+#~ msgid        "Packaging Vcs"
+#~ msgstr       "links"
+
+#, fuzzy
+#~ msgid        "Debian packaging files in Vcs"
+#~ msgstr       "status das traduções"
+
+#, fuzzy
+#~ msgid        "Recommended"
+#~ msgstr       "Recebido"
+
+#, fuzzy
+#~ msgid        "Debian packaging stuff in Vcs"
+#~ msgstr       "status das traduções"
+
+#, fuzzy
+#~ msgid        "QA page"
+#~ msgstr       "links"
+
+#~ msgid        "DDTP page"
+#~ msgstr       "Página do DDTP"
+
+#~ msgid        "Locales page"
+#~ msgstr       "Página de traduções"
+
+#~ msgid        "Long description"
+#~ msgstr       "Descrição completa"
+
+#~ msgid        "Join us! Help us in making Doctors use Debian! See the %sAlioth page%s."
+#~ msgstr       "Junte-se a nós! Ajude-nos a fazer os Médicos utilizarem Debian! "
+#~      "Veja a %spágina do Alioth%s."
+
+#~ msgid        "Commit Message"
+#~ msgstr       "Mensagem de revisão"
+
+#~ msgid        "Author"
+#~ msgstr       "Autor"
+
+#~ msgid        "Modified Files"
+#~ msgstr       "Arquivos modificados"
diff --git a/webtools/po/ru.po b/webtools/po/ru.po
new file mode 100644
index 0000000..f1fc8c4
--- /dev/null
+++ b/webtools/po/ru.po
@@ -0,0 +1,590 @@
+#: tasks.py:90
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:91
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:92 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:93 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:94 tasks.py:150
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:96
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:97
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:"
+        "%s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:101
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:102
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:103
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:104
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:105
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:106
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:108 bugs.py:262
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:109
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:110
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:112
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:113
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:133
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:136
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:137
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:139
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:140
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:141
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:142
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:143
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:144
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:146
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:147
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:149
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:151
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:200
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:202
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:224 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:225
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:237
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:242
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:246
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:247
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:248
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:263
+msgid   "Not maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:264
+msgid   "Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:13
+msgid   "Help us to see Debian used by medical practitioners and biomedical researchers! Join us "
+        "on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the "
+        "%sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the "
+        "%sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/static.pot b/webtools/po/static.pot
new file mode 100644
index 0000000..6590646
--- /dev/null
+++ b/webtools/po/static.pot
@@ -0,0 +1,56 @@
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+
+#
+# update-bugs
+#
+msgid "Subject"
+msgstr ""
+
+msgid "Sender"
+msgstr ""
+
+msgid "Tags"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Severity"
+msgstr ""
+
+msgid "Found in"
+msgstr ""
+
+msgid "Fixed in"
+msgstr ""
+
+#
+# update-ddtp
+#
+msgid "translation not available"
+msgstr ""
+
+msgid "yes"
+msgstr ""
+
+msgid "translated"
+msgstr ""
+
+msgid "edit"
+msgstr ""
+
+msgid "edit translation"
+msgstr ""
+
+msgid "untranslated"
+msgstr ""
+
+msgid "Please follow the link below to start translating"
+msgstr ""
+
diff --git a/webtools/po/zh_CN.po b/webtools/po/zh_CN.po
new file mode 100644
index 0000000..b615456
--- /dev/null
+++ b/webtools/po/zh_CN.po
@@ -0,0 +1,590 @@
+#: tasks.py:110
+msgid   "License"
+msgstr  ""
+
+#: tasks.py:111
+msgid   "Version"
+msgstr  ""
+
+#: tasks.py:112 bugs.py:114
+msgid   "Summary"
+msgstr  ""
+
+#: tasks.py:113 bugs.py:123
+msgid   "Last update:"
+msgstr  ""
+
+#: tasks.py:114 tasks.py:168
+msgid   "Debian package not available"
+msgstr  ""
+
+#: tasks.py:116
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+#: tasks.py:117
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:%"
+        "s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:121
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:122
+msgid   "Tasks page"
+msgstr  ""
+
+#: tasks.py:123
+msgid   "Project"
+msgstr  ""
+
+#: tasks.py:124
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "This page is also available in the following languages:"
+msgstr  ""
+
+#: tasks.py:126
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:128 bugs.py:259
+msgid   "Homepage not available"
+msgstr  ""
+
+#: tasks.py:129
+msgid   "Translate description"
+msgstr  ""
+
+#: tasks.py:130
+msgid   "Fix translated description"
+msgstr  ""
+
+#: tasks.py:131
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  ""
+
+#: tasks.py:132
+msgid   "Table of contents"
+msgstr  ""
+
+#: tasks.py:133
+msgid   "complete packagelist"
+msgstr  ""
+
+#: tasks.py:145
+msgid   "Packages"
+msgstr  ""
+
+#: tasks.py:146
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:153
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:154
+msgid   "Official Debian package"
+msgstr  ""
+
+#: tasks.py:155
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:157
+msgid   "Debian packages in contrib or non-free"
+msgstr  ""
+
+#: tasks.py:158
+msgid   "Debian package in contrib/non-free"
+msgstr  ""
+
+#: tasks.py:159
+msgid   "Debian packages in experimental"
+msgstr  ""
+
+#: tasks.py:160
+msgid   "Debian package in experimental"
+msgstr  ""
+
+#: tasks.py:161
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  ""
+
+#: tasks.py:162
+msgid   "New Debian package"
+msgstr  ""
+
+#: tasks.py:163
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:164
+msgid   "Unofficial Debian package"
+msgstr  ""
+
+#: tasks.py:165
+msgid   "Unofficial packages built by somebody else"
+msgstr  ""
+
+#: tasks.py:167
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:169
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:218
+msgid   "Maintainer"
+msgstr  ""
+
+#: tasks.py:220
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:242 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:243
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:219
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:239
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:240
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:241
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:245
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:260
+msgid   "Package seems not to be maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:261
+msgid   "Packaging Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:14
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the <a "
+        "href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the %"
+        "sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the %"
+        "sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/po/zh_TW.po b/webtools/po/zh_TW.po
new file mode 100644
index 0000000..97d01ca
--- /dev/null
+++ b/webtools/po/zh_TW.po
@@ -0,0 +1,591 @@
+#: tasks.py:110
+msgid   "License"
+msgstr  "授權方式"
+
+#: tasks.py:111
+msgid   "Version"
+msgstr  "版本"
+
+#: tasks.py:112 bugs.py:114
+msgid   "Summary"
+msgstr  "摘要"
+
+#: tasks.py:113 bugs.py:123
+msgid   "Last update:"
+msgstr  "最後更新"
+
+#: tasks.py:114 tasks.py:168
+msgid   "Debian package not available"
+msgstr  "尚未進入 Debian 的套件"
+
+#: tasks.py:116
+msgid   "For a better overview of the project's availability as a Debian package, each head row "
+        "has a color code according to this scheme:"
+msgstr  ""
+
+
+#: tasks.py:117
+#, python-format
+msgid   "If you discover a project which looks like a good candidate for %s\n"
+        "                              to you, or if you have prepared an unofficial Debian "
+        "package, please do not hesitate to\n"
+        "                              send a description of that project to the <a href=\"mailto:%"
+        "s\">%s mailing list</a>"
+msgstr  ""
+
+#: tasks.py:121
+#, python-format
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the %s Project. Currently, only a few of them are available as Debian packages. It is our "
+        "goal, however, to include all software in %s which can sensibly add to a high quality "
+        "Debian Pure Blend."
+msgstr  ""
+
+#: tasks.py:122
+msgid   "Tasks page"
+msgstr  "套件項目網頁"
+
+#: tasks.py:123
+msgid   "Project"
+msgstr  "計畫"
+
+#: tasks.py:124
+#, python-format
+msgid   "This is a list of the Tasks %s is made of:"
+msgstr  ""
+
+#: tasks.py:125
+msgid   "This page is also available in the following languages:"
+msgstr  "此頁面也有下列語言版本"
+
+#: tasks.py:126
+#, python-format
+msgid   "How to set <a href=\"%s\">the default document language</a>"
+msgstr  ""
+
+#: tasks.py:128 bugs.py:259
+msgid   "Homepage not available"
+msgstr  "網站尚未完成"
+
+#: tasks.py:129
+msgid   "Translate description"
+msgstr  "翻譯描述"
+
+#: tasks.py:130
+msgid   "Fix translated description"
+msgstr  "修正翻譯描述"
+
+#: tasks.py:131
+msgid   "Popularitycontest results: number of people who use this package regularly (number of "
+        "people who upgraded this package recently) out of"
+msgstr  "套件流行調查結果:有多少人常常使用此套件(最近有多少人升級此套件)"
+
+#: tasks.py:132
+msgid   "Table of contents"
+msgstr  "內容列表"
+
+#: tasks.py:133
+msgid   "complete packagelist"
+msgstr  "完整套件列表"
+
+#: tasks.py:145
+msgid   "Packages"
+msgstr  "套件"
+
+#: tasks.py:146
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  The list "
+        "on\n"
+        "the right shows the tasks of %s."
+msgstr  ""
+
+#: tasks.py:153
+msgid   "Official Debian packages with high relevance"
+msgstr  ""
+
+#: tasks.py:154
+msgid   "Official Debian package"
+msgstr  "正式 Debian 套件"
+
+#: tasks.py:155
+msgid   "Official Debian packages with lower relevance"
+msgstr  ""
+
+#: tasks.py:157
+msgid   "Debian packages in contrib or non-free"
+msgstr  "在 contrib 或 non-free 的 Debian 套件"
+
+#: tasks.py:158
+msgid   "Debian package in contrib/non-free"
+msgstr  "在 contrib/non-free 的 Debian 套件"
+
+#: tasks.py:159
+msgid   "Debian packages in experimental"
+msgstr  "在 experimental 的 Debian 套件"
+
+#: tasks.py:160
+msgid   "Debian package in experimental"
+msgstr  "在 experimental 的 Debian 套件"
+
+#: tasks.py:161
+msgid   "Debian packages in New queue (hopefully available soon)"
+msgstr  "在 NEW 佇列中的 Debian 套件(期待完成)"
+
+#: tasks.py:162
+msgid   "New Debian package"
+msgstr  "新 Debian 套件"
+
+#: tasks.py:163
+msgid   "Packaging has started and developers might try the packaging code in VCS"
+msgstr  ""
+
+#: tasks.py:164
+msgid   "Unofficial Debian package"
+msgstr  "非正式 Debian 套件"
+
+#: tasks.py:165
+msgid   "Unofficial packages built by somebody else"
+msgstr  "由某人建立的非正式套件"
+
+#: tasks.py:167
+msgid   "No known packages available"
+msgstr  ""
+
+#: tasks.py:169
+msgid   "No known packages available but some record of interest (WNPP bug)"
+msgstr  ""
+
+#: tasks.py:218
+msgid   "Maintainer"
+msgstr  "維護者"
+
+#: tasks.py:220
+msgid   "Responsible"
+msgstr  ""
+
+#: tasks.py:242 bugs.py:106
+msgid   "Links to other tasks"
+msgstr  ""
+
+#: tasks.py:243
+msgid   "Index of all tasks"
+msgstr  ""
+
+#: bugs.py:107
+msgid   "Tasks"
+msgstr  ""
+
+#: bugs.py:108
+msgid   "Tasks overview"
+msgstr  ""
+
+#: bugs.py:109
+msgid   "Legend"
+msgstr  ""
+
+#: bugs.py:110
+msgid   "Bugs of package"
+msgstr  ""
+
+#: bugs.py:111
+msgid   "Total bugs"
+msgstr  ""
+
+#: bugs.py:112
+msgid   "Open bugs"
+msgstr  ""
+
+#: bugs.py:113
+msgid   "Fixed bugs"
+msgstr  ""
+
+#: bugs.py:115
+#, python-format
+msgid   "A %sDebian Pure Blend%s is a Debian internal project which assembles\n"
+        "a set of packages that might help users to solve certain tasks of their work.  This page "
+        "should be helpful\n"
+        "to track down the bugs of packages that are interesting for the %s project to enable "
+        "developers a quick\n"
+        "overview about possible problems."
+msgstr  ""
+
+#: bugs.py:121
+msgid   "Bugs page"
+msgstr  ""
+
+#: bugs.py:122
+msgid   "This is a list of metapackages.  The links are leading to the respective bugs page."
+msgstr  ""
+
+#: bugs.py:124
+msgid   "To estimate the overall status of the packages in the dependencies of\n"
+        "a metapackage a weighted severity is calculated.  Done bugs are ignored and bugs in "
+        "dependent and\n"
+        "recommended packages are weighted by factor three compared to suggested packages.  "
+        "Release critical\n"
+        "bugs have a much larger weight than important, while the contribution of normal bugs is "
+        "even smaller\n"
+        "and minor bugs have a very small weight.  Wishlist bugs are ignored in this calculation.  "
+        "The resulting\n"
+        "sum is compared to some boundaries to find a verbal form.  The actual numbers need some "
+        "adjustment\n"
+        "to make real sense - this evaluation method is in testing phase."
+msgstr  ""
+
+#: bugs.py:131
+msgid   "The severities of bugs are weighted as follows"
+msgstr  ""
+
+#: bugs.py:219
+msgid   "Metapackage is in excellent shape"
+msgstr  ""
+
+#: bugs.py:222
+msgid   "Metapackage is in very good shape"
+msgstr  ""
+
+#: bugs.py:225
+msgid   "Metapackage is in good shape"
+msgstr  ""
+
+#: bugs.py:228
+msgid   "Consider looking into bugs of this metapackage"
+msgstr  ""
+
+#: bugs.py:231
+msgid   "Looking into bugs of this metapackage is recommended"
+msgstr  ""
+
+#: bugs.py:234
+msgid   "Immediately looking into bugs of the dependencies of this metapackage is advised"
+msgstr  ""
+
+#: bugs.py:239
+msgid   "Open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:240
+msgid   "Open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:241
+msgid   "Done bugs"
+msgstr  ""
+
+#: bugs.py:243
+msgid   "No open bugs in dependent packages"
+msgstr  ""
+
+#: bugs.py:244
+msgid   "No open bugs in suggested packages"
+msgstr  ""
+
+#: bugs.py:245
+msgid   "No done bugs"
+msgstr  ""
+
+#: bugs.py:260
+msgid   "Package seems not to be maintained in Vcs"
+msgstr  ""
+
+#: bugs.py:261
+msgid   "Packaging Vcs"
+msgstr  ""
+
+#: webconf/debian-med.conf:14
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the <a "
+        "href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>."
+msgstr  ""
+
+#
+# These strings occured in the old *.php files and the translations should be
+# preserved for later use.
+# Just keep this file
+#
+#: ../bug_details.tmpl:8 ../bugs.tmpl:7 ../ddtp.tmpl:7 ../ddtp_details.tmpl:8 ../locales.php:7
+#: ../tasks.tmpl:8 ../tasks_idx.tmpl:8
+msgid   "summary"
+msgstr  ""
+
+#: ../bug_details.tmpl:12 ../bugs.tmpl:11
+msgid   "Bugs for package"
+msgstr  ""
+
+#: ../bug_details.tmpl:40 ../bugs.tmpl:66 ../ddtp.tmpl:30 ../ddtp_details.tmpl:34 ../tasks.tmpl:112
+#: ../tasks_idx.tmpl:29
+msgid   "Last update"
+msgstr  ""
+
+#: ../bug_details.tmpl:41 ../bugs.tmpl:67 ../ddtp.tmpl:31 ../ddtp_details.tmpl:35 ../tasks.tmpl:113
+#: ../tasks_idx.tmpl:30
+msgid   "Please note: this page gets automatically updated twice a day, on 00:00 and 12:00 UTC."
+msgstr  ""
+
+#: ../bugs.tmpl:19 ../bugs.tmpl:31
+msgid   "Summary bugs page"
+msgstr  ""
+
+#: ../ddtp.tmpl:15
+msgid   "DDTP Statistics"
+msgstr  ""
+
+#: ../ddtp_details.tmpl:12
+msgid   "Summary for package"
+msgstr  ""
+
+#: ../inc/header.inc.php:34
+#, php-format
+msgid   "Help us to see Debian used by medical practicioners and researchers! Join us on the %"
+        "sAlioth page%s."
+msgstr  ""
+
+#: ../index.php:7
+msgid   "information"
+msgstr  ""
+
+#: ../index.php:11
+msgid   "Developers please visit our"
+msgstr  ""
+
+#: ../index.php:12
+msgid   "Wiki page"
+msgstr  ""
+
+#: ../index.php:15
+msgid   "The Debian Med project presents packages that are associated with <ul><li>medicine</"
+        "li><li>pre-clinical research</li><li>life science.</li></ul> Its developments are mostly "
+        "focused on three areas for the moment: <ul><li>medical practice</li><li>imaging</"
+        "li><li>bioinformatics</li></ul>and can be installed directly from every Debian "
+        "installation."
+msgstr  ""
+
+#: ../index.php:22
+msgid   "warning"
+msgstr  ""
+
+#: ../index.php:24 ../locales.php:26
+#, php-format
+msgid   "Your browser uses language settings that we could not yet provide translations for.<br /"
+        ">If you can spare one to two hours then please consider to help us in translating our "
+        "pages for your people, too. Instructions are found %shere%s."
+msgstr  ""
+
+#: ../index.php:29
+#, php-format
+msgid   "Visit the %sLocalization page%s."
+msgstr  ""
+
+#: ../index.php:37
+msgid   "pages"
+msgstr  ""
+
+#: ../index.php:42
+msgid   "Group policy"
+msgstr  ""
+
+#: ../index.php:43
+msgid   "Bugs"
+msgstr  ""
+
+#: ../index.php:44
+msgid   "Quality Assurance"
+msgstr  ""
+
+#: ../index.php:45
+msgid   "Debian Description Translation Project"
+msgstr  ""
+
+#: ../index.php:46
+msgid   "Tasks of our Blend"
+msgstr  ""
+
+#: ../index.php:47
+msgid   "SVN repository"
+msgstr  ""
+
+#: ../index.php:49
+msgid   "Localizations"
+msgstr  ""
+
+#: ../index.php:54
+msgid   "members"
+msgstr  ""
+
+#: ../index.php:72 ../index.php:92
+msgid   "Project Administrator"
+msgstr  ""
+
+#: ../index.php:77 ../index.php:96
+msgid   "Project Developer"
+msgstr  ""
+
+#: ../index.php:91
+msgid   "Green Wheel"
+msgstr  ""
+
+#: ../index.php:95
+msgid   "Grey Wheel"
+msgstr  ""
+
+#: ../index.php:101
+msgid   "UTC time"
+msgstr  ""
+
+#: ../index.php:107
+msgid   "badges"
+msgstr  ""
+
+#: ../index.php:113
+msgid   "Valid XHTML 1.1"
+msgstr  ""
+
+#: ../index.php:118
+msgid   "Valid CSS 2"
+msgstr  ""
+
+#: ../index.php:125
+msgid   "Berkeley Open Infrastructure for Network Computing"
+msgstr  ""
+
+#: ../index.php:132
+msgid   "recent activity"
+msgstr  ""
+
+#: ../index.php:138
+msgid   "date"
+msgstr  ""
+
+#: ../index.php:139 ../locales.php:50
+msgid   "author"
+msgstr  ""
+
+#: ../index.php:140
+msgid   "content"
+msgstr  ""
+
+#: ../index.php:141
+msgid   "link"
+msgstr  ""
+
+#: ../index.php:170
+msgid   "todo"
+msgstr  ""
+
+#: ../index.php:220
+msgid   "Please, note that this is a SVN export of our website. It might break during SVN commits."
+msgstr  ""
+
+#: ../locales.php:11
+msgid   "Current locale"
+msgstr  ""
+
+#: ../locales.php:15
+msgid   "Priority"
+msgstr  ""
+
+#: ../locales.php:31
+#, php-format
+msgid   "More information on how to contribute to the Debian Med project, can be found in the %"
+        "sHow to Contribute%s page."
+msgstr  ""
+
+#: ../locales.php:41
+msgid   "localization"
+msgstr  ""
+
+#: ../locales.php:45
+msgid   "Currently installed locales"
+msgstr  ""
+
+#: ../locales.php:48
+msgid   "locale"
+msgstr  ""
+
+#: ../locales.php:49
+msgid   "translation status"
+msgstr  ""
+
+#: ../locales.php:51
+msgid   "team"
+msgstr  ""
+
+#: ../locales.php:92
+msgid   "Add new locale"
+msgstr  ""
+
+#: ../tasks.tmpl:18
+msgid   "The list to the right includes various software projects which are of some interest to "
+        "the Debian Med Project."
+msgstr  ""
+
+#: ../tasks.tmpl:19
+msgid   "Currently, only a few of them are available as Debian packages."
+msgstr  ""
+
+#: ../tasks.tmpl:20
+msgid   "It is our goal, however, to include all software in Debian Med which can sensibly add to "
+        "a high quality Debian Pure Blend."
+msgstr  ""
+
+#: ../tasks.tmpl:31
+#, php-format
+msgid   "If you discover a project which looks like a good candidate for Debian Med to you, or if "
+        "you have prepared an inofficial Debian package, please do not hesitate to send a "
+        "description of that project to the %sDebian Med mailing list%s"
+msgstr  ""
+
+#
+# These strings are manually added, they
+# come from inside the Python scripts on
+# Alioth.
+#
+# Please keep the static.pot file.
+#
+#
+# update-bugs
+#
+msgid   "Subject"
+msgstr  ""
+
+msgid   "Sender"
+msgstr  ""
+
+msgid   "Tags"
+msgstr  ""
+
+msgid   "Date"
+msgstr  ""
+
+msgid   "Severity"
+msgstr  ""
+
+msgid   "Found in"
+msgstr  ""
+
+msgid   "Fixed in"
+msgstr  ""
+
+#
+# update-ddtp
+#
+msgid   "translation not available"
+msgstr  ""
+
+msgid   "yes"
+msgstr  ""
+
+msgid   "translated"
+msgstr  ""
+
+msgid   "edit"
+msgstr  ""
+
+msgid   "edit translation"
+msgstr  ""
+
+msgid   "untranslated"
+msgstr  ""
+
+msgid   "Please follow the link below to start translating"
+msgstr  ""
diff --git a/webtools/tasks.py b/webtools/tasks.py
index 936bfa6..89137c9 100755
--- a/webtools/tasks.py
+++ b/webtools/tasks.py
@@ -17,40 +17,16 @@ from genshi.template import TemplateLoader
 from genshi import Markup
 from genshi.template.eval import UndefinedError
 
-from blendstasktools import Tasks, GetDependencies2Use, pkgstatus, pkgstatus_sortedkeys
-from blendsunicode import to_unicode
-
-# The keys of the following dictionary are used to address the translation files of DDTP
-# The values contain dictionaries in turn with the following meaning:
-#  'short'    = shortcut of language as extension of the output files
-#  'htaccess' = language definition in htaccess
-#  'title'    = English name of the language used in title attribut of link
-#  'printed'  = printed name for links
-language_dict = { 'en'    : {'short':'en', 'htaccess':'en'   , 'title':'English',         'printed':Markup('English')},
-                  'cs'    : {'short':'cs', 'htaccess':'cs'   , 'title':'Czech',           'printed':Markup('česky')},
-                  'da'    : {'short':'da', 'htaccess':'da'   , 'title':'Danish' ,         'printed':Markup('dansk')},
-                  'de'    : {'short':'de', 'htaccess':'de'   , 'title':'German',          'printed':Markup('Deutsch')},
-                  'es'    : {'short':'es', 'htaccess':'es'   , 'title':'Spanish',         'printed':Markup('español')},
-                  'fi'    : {'short':'fi', 'htaccess':'fi'   , 'title':'Finnish',         'printed':Markup('suomi')},
-                  'fr'    : {'short':'fr', 'htaccess':'fr'   , 'title':'French',          'printed':Markup('français')},
-                  'it'    : {'short':'it', 'htaccess':'it'   , 'title':'Italian',         'printed':Markup('Italiano')},
-                  'ja'    : {'short':'ja', 'htaccess':'ja'   , 'title':'Japanese',        'printed':Markup('日本語 (Nihongo)')},
-                  'ko'    : {'short':'ko', 'htaccess':'ko'   , 'title':'Korean',          'printed':Markup('한국어 (Hangul)')},
-                  'nl'    : {'short':'nl', 'htaccess':'nl'   , 'title':'Dutch',           'printed':Markup('Nederlands')},
-                  'pl'    : {'short':'pl', 'htaccess':'pl'   , 'title':'Polish',          'printed':Markup('polski')},
-                  'pt_BR' : {'short':'pt', 'htaccess':'pt-BR', 'title':'Portuguese',      'printed':Markup('Português')},
-                  'ru'    : {'short':'ru', 'htaccess':'ru'   , 'title':'Russian',         'printed':Markup('Русский (Russkij)')},
-                  'zh_CN' : {'short':'zh_cn', 'htaccess':'zh-CN', 'title':'Chinese (China)',  'printed':Markup('中文(简)')},
-                  'zh_TW' : {'short':'zh_tw', 'htaccess':'zh-TW', 'title':'Chinese (Taiwan)', 'printed':Markup('中文(正)')},
-                }
-languages = language_dict.keys()
-languages.sort()
+from blendstasktools import Tasks, GetDependencies2Use, pkgstatus, pkgstatus_sortedkeys, UnlockBlendsTools
+from blendsunicode   import to_unicode
+from blendslanguages import languages, language_dict
 
 if len(argv) <= 1:
 	print >>stderr, "Usage: %s <Blend name>\n       The <Blend name> needs a matching config file webconf/<Blend name>.conf"\
                         % argv[0]
 	exit(-1)
 
+# LockBlendsTools() #  logger handler not defined at this moment, needs rethinking ... FIXME
 tasks    = Tasks(argv[1])
 tasks.GetAllDependencies()
 packages = tasks.GetNamesOnlyDict()
@@ -319,3 +295,5 @@ for lang in languages:
 print >> htafp
 
 htafp.close()
+
+UnlockBlendsTools()
diff --git a/webtools/templates/bugs.xhtml b/webtools/templates/bugs.xhtml
new file mode 100644
index 0000000..dde95e2
--- /dev/null
+++ b/webtools/templates/bugs.xhtml
@@ -0,0 +1,156 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} bugs</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project" height="93" /></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+	<td class="left">
+		<span class="section">Summary</span>
+		<div class="section">
+			<div class="sectionTop"/>
+			<div class="row">
+                            $bugsofpackage
+			    <strong>${tasks[task].metapkg.pkg}</strong>
+                        </div>
+			<div class="row">
+			    $totalbugs:
+			    <strong>${nbugs[task]+ndone[task]}</strong>
+                        </div>
+			<div class="row">
+			    $openbugs:
+			    <strong>${nbugs[task]}</strong>
+                        </div>
+			<div class="row">
+			    Fixed bugs:
+			    <strong>${ndone[task]}</strong>
+                        </div>
+		</div>
+
+		<span class="section">${othertasks}</span>
+		<div class="section">
+			<div class="sectionTop"/>
+			<div class="row">
+                            <div class="link"><a href="index.html">${bugslink}</a></div>
+                          <py:for each="t in taskskeys">
+                            <div py:choose="t">
+                              <span py:when="task"
+                              class="curlink"><a href="${t}.html">${tasks[t].metapkg.PrintedName.capitalize()}</a> ${nbugs[t]} (${weighttask[t]})</span>
+                              <span py:otherwise="" class="link ${weightedclass[t]}"><a href="${t}.html">${tasks[t].metapkg.PrintedName.capitalize()}</a> ${nbugs[t]} (${weighttask[t]})</span>
+                            </div>
+                          </py:for>
+                        </div>
+		</div>
+
+		<span class="section">${legend}</span>
+		<div class="section">
+		  <div class="sectionTop"/>
+		  <div class="row">
+		    <table>
+		      <tr><th>Severity</th><th>Dependent</th><th>Suggested</th></tr>
+                      <py:for each="s in severities">
+                        <tr>
+			  <td class="severity ${s}">${s}</td>
+			  <td class="bugid ${s}">${severitystat[DEPENDENT][s]}</td>
+			  <td class="bugid ${s}">${severitystat[SUGGESTED][s]}</td>
+			</tr>
+                      </py:for>
+		    </table>
+                  </div>
+		</div>
+	</td>
+	<td class="main">
+		<div class="pageBody">
+
+<h1>Summary bugs page of ${tasks[task].metapkg.PrintedName.capitalize()} meta package</h1>
+
+<div class="severitysummary">${weightedsev}<sup>*</sup></div>
+
+<span py:choose="">
+  <span py:when="nbugs[task]+ndone[task] != 0">
+    <py:for each="cat in buglistcat">
+      <span py:choose="">
+	<span py:when="buglist[cat].pkgbugs != []">
+	  <h2>${headings[cat]}</h2>
+            <div class="severitylist" py:if="severitysummary[cat] != ''">
+                ${severitysummary[cat]}
+	    </div>
+	  <table class="${cssclass[cat]}">
+	    <py:for each="pkgbug in buglist[cat].pkgbugs">
+	      <span py:if="pkgbug.nbugs > 0">
+		<tr>
+		  <td class="bugid" colspan="3">
+		    <div class="bugsheadertable">
+		      <div class="bugsheadertr">
+			<span class="bugsheaderpackagetd" id="bugsheaderpackagetd"><a href="http://packages.qa.debian.org/${pkgbug.source[0]}/${pkgbug.source}.html">${pkgbug.pkgname}</a> (${pkgbug.nbugs})</span>
+                        <span class="bugsheaderhomepagetd" id="bugsheaderhomepagetd" py:choose="pkgbug.homepage">
+                          <span py:when="'#'">${nohomepage}</span>
+                          <span py:otherwise=""><a href="$pkgbug.homepage">Homepage: ${pkgbug.homepage}</a></span>
+			</span>
+                        <span class="bugvcsbrowser" id="bugvcsbrowser" py:choose="pkgbug.vcsbrowser">
+                          <span py:when="'#'">${novcsbrowser}</span>
+                          <span py:otherwise=""><a href="$pkgbug.vcsbrowser">${vcslocation}</a></span>
+			</span>
+                        <span class="bugsmaintainer" id="bugsmaintainer" py:choose="">
+                          <span py:when="pkgbug.maintainer != None">${pkgbug.maintainer}</span>
+                          <span py:otherwise="">unknown maintainer</span>
+			</span>
+		      </div>
+                    </div>
+		  </td>
+		</tr>
+		<py:for each="bug in pkgbug.bugs">
+		  <tr>
+		    <td class="bugid ${bug.severity}"><a href="http://bugs.debian.org/${bug.bug}">${bug.bug}</a></td>
+		    <td class="summary ${bug.severity}">${bug.summary}</td>
+		    <td class="severity ${bug.severity}">${bug.tags}</td>
+		  </tr>
+		</py:for>
+	      </span>
+	    </py:for>
+	  </table>
+	</span>
+	<span py:otherwise=""><h2>${nobugs[cat]}</h2></span>
+      </span>
+    </py:for>
+   </span>
+  <span py:otherwise=""><h2>$projectname
+  ${tasks[task].metapkg.PrintedName.capitalize()} has no known nbugs =
+  ${nbugs[task]}  ndone = ${ndone[task]}</h2></span>
+</span>
+<div class="footnotecontent">
+  <sup>*</sup>${weightexplanation}
+  <br />
+  ${weightdetails}:
+  <br />
+  <table class="footnotecontent">
+    <py:for each="s in severities">
+      <tr><td class="footnotecontent">${s}</td><td class="footnotecontent">${weight[s]}</td></tr>
+    </py:for>
+  </table>
+</div>
+		</div>
+	</td>
+</tr>
+</table>
+<div class="footnote">
+  <address>${updatetimestamp}</address>
+</div>
+</body>
+</html>
diff --git a/webtools/templates/bugs_idx.xhtml b/webtools/templates/bugs_idx.xhtml
new file mode 100644
index 0000000..d56ce2a
--- /dev/null
+++ b/webtools/templates/bugs_idx.xhtml
@@ -0,0 +1,81 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname bugs</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project" height="93" /></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+	<td class="left">
+		<span class="section">$summary</span>
+		<div class="section">
+			<div class="sectionTop"></div>
+			<div class="row">${bugssummary}</div>
+		</div>
+		<span class="section">${legend}</span>
+		<div class="section">
+		  <div class="sectionTop"/>
+		  <div class="row">
+		    <table>
+		      <tr><th>Assessment</th><th>Limit</th></tr>
+                      <py:for each="a in assessments">
+                        <tr>
+			  <td class="${a[1]}">${a[1]}</td>
+			  <td class="${a[1]}">${a[0]}</td>
+			</tr>
+                      </py:for>
+		    </table>
+                  </div>
+		</div>
+	</td>
+	<td class="main">
+		<div class="pageBody">
+			<h1>$gtstrBugsPage</h1>
+			<p>$gtstrListOfBugspages</p>
+			<dl>
+                             <py:for each="task in taskskeys">
+                                <dt class="${weightedclass[task]}"><a href="${task}.html" name="${task}" id="${task}">${tasks[task].metapkg.PrintedName.capitalize()} - <span py:choose="">
+	           <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['short']}</span>
+	           <span py:otherwise="">${tasks[task].metapkg.desc['en']['short']}</span>
+                 </span></a> (${weighttask[task]}<sup>*</sup>)</dt>
+				<dd><span py:choose="">
+	           <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['long']}</span>
+	           <span py:otherwise="">${tasks[task].metapkg.desc['en']['long']}</span>
+                 </span></dd>
+                             </py:for>
+			</dl>
+<div class="footnotecontent">
+  <sup>*</sup>${weightexplanation}
+  <br />
+  ${weightdetails}:
+  <br />
+  <table class="footnotecontent">
+    <py:for each="s in severities">
+      <tr><td class="footnotecontent">${s}</td><td class="footnotecontent">${weight[s]}</td></tr>
+    </py:for>
+  </table>
+</div>
+		</div>
+	</td>
+</tr>
+</table>
+<div id="footer">
+  <address>${updatetimestamp}</address>
+</div>
+</body>
+</html>
diff --git a/webtools/templates/packagelist.xhtml b/webtools/templates/packagelist.xhtml
new file mode 100644
index 0000000..1297b76
--- /dev/null
+++ b/webtools/templates/packagelist.xhtml
@@ -0,0 +1,90 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname $packagelist</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project" height="93" /></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+  <td class="left">
+    <span class="section">$summary</span>
+    <div class="section">
+      <div class="sectionTop"></div>
+      <div class="row">${idxsummary}</div>
+    </div>
+  </td>
+  <td class="main">
+    <div class="pageBody">
+      <h1>$gtstrTasksPage</h1>
+      <p>$gtstrThisIsAList</p>
+
+      <h2>$tableofcontents</h2>
+      <ul>
+	<py:for each="task in taskskeys">
+	  <li><a href="#${task}">${tasks[task].metapkg.PrintedName.capitalize()}</a></li>
+	</py:for>
+      </ul>
+
+      <py:for each="task in taskskeys">
+	<a name="${task}" id="${task}"/>
+	<h2><a href="${task}" name="${task}" id="${task}">${tasks[task].metapkg.PrintedName.capitalize()} - <span py:choose="">
+	<span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['short']}</span>
+	<span py:otherwise="">${tasks[task].metapkg.desc['en']['short']}</span>
+	</span></a></h2>
+	<p py:choose="">
+	  <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['long']}</span>
+	  <span py:otherwise="">${tasks[task].metapkg.desc['en']['long']}</span>
+	</p>
+	<py:for each="pstatus in dependencies[task]">
+	  <h3>${headline[pstatus]}</h3>
+	  <dl>
+	  <py:for each="project in projects[task][pstatus]">
+		  <dt><span py:choose="project.properties['homepage']">
+		    <span py:when="'#'">${project.pkg.capitalize()}</span>
+		    <span py:otherwise=""><a href="${project.properties['homepage']}">${project.pkg.capitalize()}</a></span>
+		  </span>
+                  <span py:choose="">
+		    <span py:when="len(project.properties['stable_testing_version'])>0">(<py:for each="version in project.properties['stable_testing_version']">${version[3]} <a href="http://packages.debian.org/${version[0]}/${project.pkg}">${version[2]}</a></py:for>)</span>
+                  </span>
+		  </dt>
+		  <dd><span py:choose="">
+		    <span py:when="project.desc.has_key(lang)">${project.desc[lang]['short']}</span>
+		    <span py:otherwise="">${project.desc['en']['short']}</span>
+		  </span>
+		  </dd>
+	    </py:for>
+	  </dl>
+	</py:for>
+      </py:for>
+    </div>
+  </td>
+</tr>
+</table>
+<div id="footer">
+  <hr class="hidecss" />
+<p>${langavail}</p>
+<py:for each="l in languages">
+  <span py:if="lang != l" class="navpara">
+    <a href="packagelist.${language_dict[l]['short']}.html" title="${language_dict[l]['title']}" hreflang="${language_dict[l]['htaccess']}" lang="${language_dict[l]['htaccess']}" rel="alternate">${language_dict[l]['printed']}</a>
+  </span>
+</py:for>
+<p>${howtosetlang}</p>
+  <address>${updatetimestamp}</address>
+</div>
+</body>
+</html>
diff --git a/webtools/templates/tasks.xhtml b/webtools/templates/tasks.xhtml
new file mode 100644
index 0000000..b4180d8
--- /dev/null
+++ b/webtools/templates/tasks.xhtml
@@ -0,0 +1,247 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} packages</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<script type="text/javascript" src="../inc/wz_tooltip.js"></script>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project" height="93" /></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+	<td class="left">
+		<span class="section">${summary}</span>
+		<div class="section">
+			<div class="sectionTop"/>
+			<div class="row">
+				<div class="pkgname">${tasks[task].metapkg.PrintedName.capitalize()}</div>
+				<div class="pkgdesc" py:choose="">
+				  <div py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['short']}</div>
+				  <div py:otherwise="">${tasks[task].metapkg.desc['en']['short']}</div>
+				</div>
+				<p><span py:choose="">
+	           <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['long']}
+                     <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.org/ddtss/index.cgi/${lang}/forexternalreview/${tasks[task].metapkg.pkg}">${fixtranslation}</a></div>
+                   </span>
+	           <span py:otherwise="">${tasks[task].metapkg.desc['en']['long']}
+                     <div class="transmpkg" py:if="lang != 'en'"><a href="http://ddtp.debian.org/ddtss/index.cgi/${lang}/fetch?package=${tasks[task].metapkg.pkg}">${translatedesc}</a></div>
+                   </span>
+                 </span></p>
+			</div>
+			<div class="row">
+				<p>${description}
+				</p>
+				<p>${legend}</p>
+				<ul>
+				   <py:for each="pstatus in dependencies[task]">
+				     <li class="deb-${pstatus}"><a href="#${pstatus}-debs">${headline[pstatus]}</a></li>
+				   </py:for>
+				</ul>
+				<p>${discovery}</p>
+			</div>
+		</div>
+
+		<span class="section">${othertasks}</span>
+		<div class="section">
+			<div class="sectionTop"/>
+			<div class="row">
+                            <div class="link"><a href="index">${indexlink}</a></div>
+                          <py:for each="t in taskskeys">
+                            <div py:choose="t">
+                              <span py:when="task" class="curlink"><a href="${t}">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
+                              <span py:otherwise="" class="link"><a href="${t}">${tasks[t].metapkg.PrintedName.capitalize()}</a></span>
+                            </div>
+                          </py:for>
+                        </div>
+		</div>
+	</td>
+	<td class="main">
+		<div class="pageBody">
+			<h1>$projectname ${tasks[task].metapkg.PrintedName.capitalize()} packages</h1>
+<py:for each="pstatus in dependencies[task]">
+			<h2><a id="${pstatus}-debs" name="${pstatus}-debs"/>${headline[pstatus]}</h2>
+   <py:for each="project in projects[task][pstatus]">
+     <table class="project" summary="${project.pkg}">
+       <tbody>
+	 <tr class="deb-${pstatus}">
+	   <td class="project-name">
+	     <a name="${project.pkg}" id="${project.pkg}"/>
+	     <div class="pkgname">${project.pkg.capitalize()}
+	       <span class="wnpp" py:if="project.properties.has_key('wnpp')"> - <a href="http://bugs.debian.org/${project.properties['wnpp']}">wnpp</a></span>
+	     </div>
+	     <div class="pkgdesc" py:choose="">
+	           <div py:when="project.desc.has_key(lang)">${project.desc[lang]['short']}</div>
+	           <div py:otherwise="">${project.desc['en']['short']}</div>
+	     </div>
+	     <div py:choose="project.properties['homepage']">
+                <span py:when="'#'">${nohomepage}</span>
+                <span py:otherwise=""><a href="${project.properties['homepage']}">${project.properties['homepage']}</a></span>
+             </div>
+	     <div py:if="project.responsible != None">${maintainer[pstatus]}:
+               ${project.responsible} <span py:if="project.properties.has_key('changed_by')">(${project.properties['changed_by']})</span>
+             </div>
+	   </td>
+	   <td py:if="project.component and project.pkgstatus != 'new' and project.pkgstatus != 'pkgvcs'" class="project-info">
+	     <span py:if="project.version != []" class="tooltip" id="${project.pkg}-versions">
+	       <table class="versionclass">
+		 <tr><th colspan="3" class="versionclass"><strong>Versions of package ${project.pkg}</strong></th></tr>
+		 <tr><th class="release">Release</th><th class="version">Version</th><th class="archs">Architectures</th></tr>
+		 <py:for each="version in project.version">
+		   <tr><td class="release">${version['release']}</td><td class="version">${version['version']}</td><td class="archs">${version['archs']}</td></tr>
+		 </py:for>
+                 <tr py:if="project.outdated != {}"><td class="outdated">${project.outdated['release']}</td><td class="outdated">${project.outdated['version']}</td>
+                 </tr>
+	       </table>
+	     </span>
+	     <span py:if="project.debtags != []" class="tooltip" id="${project.pkg}-debtags">
+	       <table class="versionclass">
+		 <tr><th colspan="2" class="versionclass"><strong>Debtags of package ${project.pkg}:</strong></th></tr>
+		 <py:for each="debtag in project.debtags">
+		   <tr><td class="release">${debtag['tag']}</td><td class="version">${debtag['value']}</td></tr>
+		 </py:for>
+	       </table>
+	     </span>
+	     <div py:if="project.popcon != {}"
+	     class="popcon"><a href="http://qa.debian.org/popcon-png.php?packages=${project.pkg}%26show_vote=on%26show_recent=on%26want_legend=on">Popcon</a>:
+	     ${project.popcon['vote']} users (${project.popcon['recent']} upd.)<sup><a href="#popconexplanation">*</a></sup></div>
+	     <div py:if="project.version != []">
+	       <div py:choose="">
+		 <div py:when="project.outdated == {}" class="project-info" onmouseover="TagToTip('${project.pkg}-versions', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()">Versions and Archs</div>
+		 <div py:otherwise="" class="project-infomissing" onmouseover="TagToTip('${project.pkg}-versions', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()">Newer upstream!</div>
+	       </div>
+	     </div>
+	     <div py:choose="">
+	       <div py:when="project.debtags != []" class="project-info" onmouseover="TagToTip('${project.pkg}-debtags', FIX, ['${project.pkg}', 0, 0])" onmouseout="UnTip()">Debtags</div>
+               <div py:otherwise="">
+		 <div class="project-infomissing"><a href="http://debtags.alioth.debian.org/edit.html?pkg=${project.pkg}">Go tagging</a></div>
+	       </div>
+	     </div>
+           </td>
+           <td class="project-license">
+             <em>${license}: ${project.properties['license']}</em>
+	     <div py:choose="project.properties['pkg-url']">
+                <span py:when="'#'">${nopkgavail}</span>
+                <span py:otherwise=""><a href="${project.properties['pkg-url']}">${pdolinkname[pstatus]}</a></span>
+             </div>
+	     <div py:if="project.properties['vcs-browser'] != '#'">
+	       <span py:choose="">
+		 <span py:when="project.properties.has_key('vcs-url')"><a href="${project.properties['vcs-browser']}" title="${project.properties['vcs-url']}">${project.properties['vcs-type']}</a></span>
+		 <span py:otherwise=""><a href="${project.properties['vcs-browser']}">${project.properties['vcs-type']}</a></span>
+	       </span>
+	     </div>
+            <div py:if="lang != 'en' and project.component == 'main' and project.pkgstatus != 'new' and project.pkgstatus != 'pkgvcs'">
+	       <div py:choose="">
+	           <div class="trans" py:when="project.desc.has_key(lang)"><a href="http://ddtp.debian.org/ddtss/index.cgi/${lang}/forexternalreview/${project.pkg}">${fixtranslation}</a></div>
+	           <div class="trans-missing" py:otherwise=""><a href="http://ddtp.debian.org/ddtss/index.cgi/${lang}/fetch?package=${project.pkg}">${translatedesc}</a></div>
+               </div>
+            </div>
+            <div class="language" py:if="project.properties.has_key('language') and project.component != 'main'">Language: ${project.properties['language']}</div>
+            <div py:if="project.version != [] and (project.pkgstatus == 'new' or project.pkgstatus == 'pkgvcs')">Version: ${project.version[0]}</div>
+           </td>
+         </tr>
+         <tr>
+           <td colspan="2" class="project-description"><span py:choose="">
+	           <span py:when="project.desc.has_key(lang)">${project.desc[lang]['long']}</span>
+	           <span py:otherwise="">${project.desc['en']['long']}</span>
+	         </span>
+	     <div class="enhanced-by" py:if="project.properties['Enhances'] != {}">
+	       The package is enhanced by the following packages: <py:for each="enh in project.properties['Enhances'].keys()">
+		 <a href="${project.properties['Enhances'][enh]}">${enh}</a>
+	       </py:for>
+	     </div>
+	     <div class="registration" py:if="project.properties.has_key('registration')">
+	       <span class="registrationlink" >Please register by following <a
+	       href="${project.properties['registration']}">this link</a></span> if you are using ${project.pkg}.
+	     </div>
+	     <div class="published"
+	     py:if="project.properties.has_key('published')">Please cite:
+	       <span class="authors" py:if="project.properties['published'].has_key('authors')">${project.properties['published']['authors']}:</span>
+	       <span py:choose="">
+		 <span py:when="project.properties['published'].has_key('url')">
+		   <span py:choose="">
+                     <span class="title"
+			   py:when="project.properties['published'].has_key('title')"><a href="${project.properties['published']['url']}">${project.properties['published']['title']}.</a></span>
+		     <span py:otherwise=""><a href="${project.properties['published']['url']}">Link
+			 to publication</a></span>
+		   </span>
+		 </span>
+		 <span py:when="project.properties['published'].has_key('doi')">
+		   <span py:choose="">
+                     <span class="title"
+			   py:when="project.properties['published'].has_key('title')"><a href="http://dx.doi.org/${project.properties['published']['doi']}">${project.properties['published']['title']}.</a></span>
+		     <span py:otherwise=""><a href="http://dx.doi.org/${project.properties['published']['doi']}">Link
+			 to publication</a></span>
+		   </span>
+		 </span>
+		 <span py:otherwise=""><span class="title" py:if="project.properties['published'].has_key('title')">${project.properties['published']['title']}</span>
+		 </span>
+	       </span>
+               <span py:if="project.properties['published'].has_key('pubmed')">(<a href="http://www.ncbi.nlm.nih.gov/pubmed/${project.properties['published']['pubmed']}">PubMed</a></span><span py:if="project.properties['published'].has_key('pubmed') and project.properties['published'].has_key('eprint')">,</span><span py:if="not project.properties['published'].has_key('pubmed') and project.properties['published'].has_key('eprint')">(</span><span py:if="project.properties['published'].has_key('eprint')"><a href="${project.properties['published']['eprint']}">eprint</a></span><span py:if="project.properties['published'].has_key('pubmed') or project.properties['published'].has_key('eprint')">)</span>
+	       <span class="journal" py:if="project.properties['published'].has_key('journal')">${project.properties['published']['journal']}</span>
+	       <span class="journal" py:if="project.properties['published'].has_key('volume')">${project.properties['published']['volume']}</span><span class="journal" py:if="project.properties['published'].has_key('number')">(${project.properties['published']['number']})</span><span class="journal" py:if="project.properties['published'].has_key('pages')">:${project.properties['published']['pages']}</span>
+	       <span class="year" py:if="project.properties['published'].has_key('year')">(${project.properties['published']['year']})</span>
+	     </div>
+	   </td>
+	   <td py:if="project.component and project.pkgstatus != 'new' and project.pkgstatus != 'pkgvcs'" class="project-icon">
+	     <div py:choose="">
+	       <div py:when="project.icon != None">
+		 <span class="tooltip" id="${project.pkg}-screenshot">
+		   <img src="${project.image}" />
+		   <table py:if="project.screenshots != []" class="versionclass">
+		     <tr><th colspan="3"
+		     class="versionclass"><strong>Other screenshots of package ${project.pkg}</strong></th></tr>
+		     <tr><th class="version">Version</th><th class="archs">URL</th></tr>
+		     <py:for each="screenshot in project.screenshots">
+		       <tr><td class="version">${screenshot['version']}</td><td class="archs"><a href="${screenshot['url']}">${screenshot['url']}</a></td></tr>
+		     </py:for>
+		   </table>
+		 </span>
+                 <a href="http://screenshots.debian.net/package/${project.pkg}"><img class="icon" src="${project.icon}" width="300" alt="Screenshots of package ${project.pkg}" onmouseover="TagToTip('${project.pkg}-screenshot', FIX, ['${project.pkg}', 80, -100])" onmouseout="UnTip()" /></a>
+               </div>
+	       <div py:otherwise="" class="project-infomissing"><a href="http://screenshots.debian.net/uploadfile?packagename=${project.pkg}">Upload screenshot</a></div>
+             </div>
+           </td>
+         </tr>
+	 <tr py:if="project.remark">
+	   <td colspan="3" class="remark">
+	     <div py:if="project.remark['short']"><strong>Remark of ${projectname} team:</strong> ${project.remark['short']}</div>
+	     <div py:if="project.remark['long']">${project.remark['long']}</div>
+	   </td>
+	 </tr>
+       </tbody>
+     </table>
+   </py:for>
+</py:for>
+		</div>
+	</td>
+</tr>
+</table>
+<div class="footnotecontent" id="popconexplanation">
+  <sup>*</sup>${popconexplanation} ${popconsubmit}
+</div>
+<div id="footer">
+  <hr class="hidecss" />
+<p>${langavail}</p>
+<py:for each="l in languages">
+  <span py:if="lang != l" class="navpara">
+    <a href="${task}.${language_dict[l]['short']}.html" title="${language_dict[l]['title']}" hreflang="${language_dict[l]['htaccess']}" lang="${language_dict[l]['htaccess']}" rel="alternate">${language_dict[l]['printed']}</a>
+  </span>
+</py:for>
+<p>${howtosetlang}</p>
+  <address>${updatetimestamp}</address>
+</div>
+</body>
+</html>
diff --git a/webtools/templates/tasks_idx.xhtml b/webtools/templates/tasks_idx.xhtml
new file mode 100644
index 0000000..90ad2c6
--- /dev/null
+++ b/webtools/templates/tasks_idx.xhtml
@@ -0,0 +1,63 @@
+<!DOCTYPE html
+     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="${lang}" lang="${lang}"
+      xmlns:py="http://genshi.edgewall.org/">
+<head>
+<title>$projectname</title>
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
+<link href="$css" type="text/css" rel="stylesheet"/>
+</head>
+<body>
+<div style="text-align: center;">
+<a href="$projecturl"><span py:choose="logourl">
+	           <span py:when="None">${projectname} Project</span>
+	           <span py:otherwise=""><img src="$logourl" alt="$projectname Project" height="93" /></span>
+                 </span>
+</a>
+</div>
+<div class="heading" py:if="projectadvertising">
+	<div class="tabBar" style="text-align: center;">$projectadvertising</div>
+</div>
+<table class="columns">
+<tr>
+	<td class="left">
+		<span class="section">$summary</span>
+		<div class="section">
+			<div class="sectionTop"></div>
+			<div class="row">${idxsummary}</div>
+		</div>
+	</td>
+	<td class="main">
+		<div class="pageBody">
+			<h1>$gtstrTasksPage</h1>
+			<p>$gtstrThisIsAList</p>
+			<dl>
+                             <py:for each="task in taskskeys">
+                                <dt><a href="${task}" name="${task}" id="${task}">${tasks[task].metapkg.PrintedName.capitalize()} - <span py:choose="">
+	           <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['short']}</span>
+	           <span py:otherwise="">${tasks[task].metapkg.desc['en']['short']}</span>
+                 </span></a></dt>
+				<dd><span py:choose="">
+	           <span py:when="tasks[task].metapkg.desc.has_key(lang)">${tasks[task].metapkg.desc[lang]['long']}</span>
+	           <span py:otherwise="">${tasks[task].metapkg.desc['en']['long']}</span>
+                 </span></dd>
+                             </py:for>
+			</dl>
+		</div>
+	</td>
+</tr>
+</table>
+<div id="footer">
+  <hr class="hidecss" />
+<p>${langavail}</p>
+<py:for each="l in languages">
+  <span py:if="lang != l" class="navpara">
+    <a href="index.${language_dict[l]['short']}.html" title="${language_dict[l]['title']}" hreflang="${language_dict[l]['htaccess']}" lang="${language_dict[l]['htaccess']}" rel="alternate">${language_dict[l]['printed']}</a>
+  </span>
+</py:for>
+<p>${howtosetlang}</p>
+  <address>${updatetimestamp}</address>
+</div>
+</body>
+</html>
diff --git a/webtools/update-all-tasks b/webtools/update-all-tasks
index 5558603..6cc2786 100755
--- a/webtools/update-all-tasks
+++ b/webtools/update-all-tasks
@@ -58,8 +58,9 @@ cd `dirname $0`
 mkdir -p logs
 for blend in `ls webconf/*.conf | grep -v -e debug -e rest-test | sed 's?webconf/\(.*\)\.conf?\1?'` ; do
     starttime=`date "+%s"`
-    time ./tasks.py $blend 2> logs/${blend}.err > logs/${blend}.out
+    # time
+    ./tasks.py $blend 2> logs/${blend}.err > logs/${blend}.out
     endtime=`date "+%s"`
-    echo "Rendering Blend '$blend' took $((endtime-starttime)) seconds"
+    echo "Rendering Blend '$blend' took $((endtime-starttime)) seconds" >> logs/${blend}.out
 done
 
diff --git a/webtools/webconf/brdesktop.conf b/webtools/webconf/brdesktop.conf
new file mode 100644
index 0000000..2ea6f2e
--- /dev/null
+++ b/webtools/webconf/brdesktop.conf
@@ -0,0 +1,11 @@
+Blend:       brdesktop
+ProjectName: BrDesktop
+ProjectUrl:  http://brdesktop.org/
+Homepage:    http://brdesktop.org/
+AliothUrl:   http://qa.debian.org/developer.php?login=devel@listas.brdesktop.org
+ProjectList: devel at listas.brdesktop.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/brdesktop
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/brdesktop
+VcsDir:      /svn/blends/projects/brdesktop/trunk/brdesktop
+CSS:         ../inc/style.css
+PkgList:     devel at listas.brdesktop.org
diff --git a/webtools/webconf/debian-accessibility.conf b/webtools/webconf/debian-accessibility.conf
new file mode 100644
index 0000000..fc900e8
--- /dev/null
+++ b/webtools/webconf/debian-accessibility.conf
@@ -0,0 +1,11 @@
+Blend:       debian-accessibility
+ProjectName: Debian Accessibility
+ProjectUrl:  http://www.debian.org/devel/debian-accessibility
+Homepage:    http://www.debian.org/devel/debian-accessibility
+AliothUrl:   http://alioth.debian.org/projects/accessibility
+ProjectList: debian-accessibility at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/accessibility
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/accessibility
+VcsDir:      /svn/blends/projects/accessibility/trunk/debian-accessibility
+CSS:         ../inc/style.css
+PkgList:     debian-accessibility at lists.debian.org
diff --git a/webtools/webconf/debian-edu.conf b/webtools/webconf/debian-edu.conf
new file mode 100644
index 0000000..6e6e5dc
--- /dev/null
+++ b/webtools/webconf/debian-edu.conf
@@ -0,0 +1,14 @@
+Blend:       debian-edu
+ProjectName: Debian Edu
+ProjectUrl:  http://debian-edu.alioth.debian.org/
+Homepage:    http://wiki.debian.org/DebianEdu
+AliothUrl:   http://alioth.debian.org/projects/debian-edu
+ProjectList: debian-edu at lists.debian.org
+LogoUrl:     http://blends.alioth.debian.org/edu/img/slx-tux.png
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/edu
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/edu
+#VcsDir:      /svn/blends/projects/edu/trunk/debian-edu
+VcsDir:      /svn/debian-edu/branches/wheezy/debian-edu
+CSS:         ../inc/style.css
+PkgList:     debian-edu at lists.debian.org
+DehsMail:    tille at debian.org
diff --git a/webtools/webconf/debian-ezgo.conf b/webtools/webconf/debian-ezgo.conf
new file mode 100644
index 0000000..555fa51
--- /dev/null
+++ b/webtools/webconf/debian-ezgo.conf
@@ -0,0 +1,11 @@
+Blend:       debian-ezgo
+ProjectName: Debian EzGo
+ProjectUrl:  http://blends.alioth.debian.org/ezgo
+Homepage:    http://ossacc.moe.edu.tw/uploads/datafile/ezgo7_linux/index.html
+AliothUrl:   http://debian-ezgo.alioth.debian.org/
+ProjectList: ajqlee at debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/ezgo
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/ezgo
+VcsDir:      /svn/blends/projects/ezgo/trunk/debian-ezgo
+CSS:         ../inc/style.css
+PkgList:     ajqlee at debian.org
diff --git a/webtools/webconf/debian-games.conf b/webtools/webconf/debian-games.conf
new file mode 100644
index 0000000..ebe9e09
--- /dev/null
+++ b/webtools/webconf/debian-games.conf
@@ -0,0 +1,11 @@
+Blend:       debian-games
+ProjectName: Debian Games
+ProjectUrl:  http://blends.alioth.debian.org/projects/debian-games
+Homepage:    http://www.debian.org/devel/debian-games
+AliothUrl:   
+ProjectList: debian-games at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/games
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/games
+VcsDir:      /svn/blends/projects/games/trunk/debian-games
+CSS:         ../inc/style.css
+PkgList:     pkg-games-devel at lists.alioth.debian.org
diff --git a/webtools/webconf/debian-gis.conf b/webtools/webconf/debian-gis.conf
new file mode 100644
index 0000000..cb83974
--- /dev/null
+++ b/webtools/webconf/debian-gis.conf
@@ -0,0 +1,13 @@
+Blend:       debian-gis
+ProjectName: Debian GIS
+ProjectUrl:  http://pkg-grass.alioth.debian.org/
+Homepage:    http://wiki.debian.org/DebianGis
+AliothUrl:   http://alioth.debian.org/projects/debian-edu
+ProjectList: pkg-grass-devel at lists.alioth.debian.org
+LogoUrl:     http://blends.alioth.debian.org/gis/img/debiangis_mollweide.png
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/gis
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/gis
+X-Old-VcsDir:      /svn/pkg-grass/packages/debian-gis
+VcsDir:      /svn/blends/projects/gis/trunk/debian-gis
+CSS:         ../inc/style.css
+PkgList:     pkg-grass-devel at lists.alioth.debian.org
diff --git a/webtools/webconf/debian-imaging.conf b/webtools/webconf/debian-imaging.conf
new file mode 100644
index 0000000..edc6c44
--- /dev/null
+++ b/webtools/webconf/debian-imaging.conf
@@ -0,0 +1,11 @@
+Blend:       debian-imaging
+ProjectName: Debian Imaging
+ProjectUrl:  http://blends.alioth.debian.org/imaging
+Homepage:    http://blends.alioth.debian.org/imaging
+AliothUrl:   http://blends.alioth.debian.org/imaging
+ProjectList: tille at debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/imaging
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/debian-imaging
+VcsDir:      /svn/blends/projects/imaging/trunk/debian-imaging
+CSS:         ../inc/style.css
+PkgList:     tille at debian.org
diff --git a/webtools/webconf/debian-junior.conf b/webtools/webconf/debian-junior.conf
new file mode 100644
index 0000000..3703e89
--- /dev/null
+++ b/webtools/webconf/debian-junior.conf
@@ -0,0 +1,11 @@
+Blend:       debian-junior
+ProjectName: Debian Junior
+ProjectUrl:  http://blends.alioth.debian.org/projects/debian-jr
+Homepage:    http://www.debian.org/devel/debian-jr
+AliothUrl:   
+ProjectList: debian-junior at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/junior
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/junior
+VcsDir:      /svn/blends/projects/junior/trunk/debian-junior
+CSS:         ../inc/style.css
+PkgList:     debian-jr at lists.debian.org
diff --git a/webtools/webconf/debian-lex.conf b/webtools/webconf/debian-lex.conf
new file mode 100644
index 0000000..8adb944
--- /dev/null
+++ b/webtools/webconf/debian-lex.conf
@@ -0,0 +1,11 @@
+Blend:       debian-lex
+ProjectName: Debian Lex
+ProjectUrl:  http://alioth.debian.org/projects/debian-lex
+Homepage:    http://www.debian.org/devel/debian-lex/
+AliothUrl:   http://blends.alioth.debian.org/lex
+ProjectList: debian-lex at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/lex
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/lex
+VcsDir:      /svn/blends/projects/lex/trunk/debian-lex
+CSS:         ../inc/style.css
+PkgList:     debian-lex at lists.debian.org
diff --git a/webtools/webconf/debian-med.conf b/webtools/webconf/debian-med.conf
new file mode 100644
index 0000000..b4d8386
--- /dev/null
+++ b/webtools/webconf/debian-med.conf
@@ -0,0 +1,15 @@
+Blend:       debian-med
+ProjectName: Debian Med
+ProjectUrl:  http://debian-med.alioth.debian.org/
+Homepage:    http://www.debian.org/devel/debian-med
+AliothUrl:   http://alioth.debian.org/projects/debian-med
+ProjectList: debian-med at lists.debian.org
+LogoUrl:     http://debian-med.alioth.debian.org/img/logo.png
+Ignore:      alternative Logo: http://people.debian.org/~tille/debian-med/logos/med-06.jpg
+OutputDir:   /var/lib/gforge/chroot/home/groups/debian-med/htdocs
+DataDir:     /var/lib/gforge/chroot/home/groups/debian-med/data
+VcsDir:      /svn/blends/projects/med/trunk/debian-med
+CSS:         ../inc/style.css
+Advertising: _('Help us to see Debian used by medical practitioners and biomedical researchers! Join us on the <a href=\"http://alioth.debian.org/projects/debian-med\">Alioth page</a>.')
+PkgList:     debian-med-packaging at lists.alioth.debian.org
+DehsMail:    tille at debian.org
diff --git a/webtools/webconf/debian-multimedia.conf b/webtools/webconf/debian-multimedia.conf
new file mode 100644
index 0000000..305007e
--- /dev/null
+++ b/webtools/webconf/debian-multimedia.conf
@@ -0,0 +1,11 @@
+Blend:       debian-multimedia
+ProjectName: Debian Multimedia
+ProjectUrl:  http://blends.alioth.debian.org/multimedia
+Homepage:    http://blends.alioth.debian.org/multimedia
+AliothUrl:   http://blends.alioth.debian.org/multimedia
+ProjectList: pkg-multimedia-maintainers at lists.alioth.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/multimedia
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/debian-multimedia
+VcsDir:      /svn/blends/projects/multimedia/trunk/debian-multimedia
+CSS:         ../inc/style.css
+PkgList:     pkg-multimedia-maintainers at lists.alioth.debian.org
diff --git a/webtools/webconf/debian-pan.conf b/webtools/webconf/debian-pan.conf
new file mode 100644
index 0000000..dda916b
--- /dev/null
+++ b/webtools/webconf/debian-pan.conf
@@ -0,0 +1,12 @@
+Blend:       debian-pan
+ProjectName: PAN Blend
+ProjectUrl:  http://wiki.debian.org/SynchrotronRadiationSoftware
+Homepage:    http://wiki.debian.org/SynchrotronRadiationSoftware
+AliothUrl:   http://alioth.debian.org/projects/debian-science
+ProjectList: debian-science at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/pan
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/pan
+VcsDir:      /svn/blends/projects/pan/trunk/debian-pan
+CSS:         ../inc/style.css
+PkgList:     debian-science-maintainers at lists.alioth.debian.org
+DehsMail:    tille at debian.org
diff --git a/webtools/webconf/debian-science.conf b/webtools/webconf/debian-science.conf
new file mode 100644
index 0000000..e5f0fa7
--- /dev/null
+++ b/webtools/webconf/debian-science.conf
@@ -0,0 +1,12 @@
+Blend:       debian-science
+ProjectName: Debian Science
+ProjectUrl:  http://wiki.debian.org/DebianScience
+Homepage:    http://wiki.debian.org/DebianScience
+AliothUrl:   http://alioth.debian.org/projects/debian-science
+ProjectList: debian-science at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/science
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/science
+VcsDir:      /svn/blends/projects/science/trunk/debian-science
+CSS:         ../inc/style.css
+PkgList:     debian-science-maintainers at lists.alioth.debian.org
+DehsMail:    tille at debian.org
diff --git a/webtools/webconf/debichem.conf b/webtools/webconf/debichem.conf
new file mode 100644
index 0000000..c1062ae
--- /dev/null
+++ b/webtools/webconf/debichem.conf
@@ -0,0 +1,11 @@
+Blend:       debichem
+ProjectName: DebiChem
+ProjectUrl:  http://alioth.debian.org/projects/debichem
+Homepage:    http://debichem.alioth.debian.org/
+AliothUrl:   http://alioth.debian.org/projects/debichem
+ProjectList: debichem-devel at lists.alioth.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/debichem
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/debichem
+VcsDir:      /svn/blends/projects/debichem/trunk/debichem
+CSS:         ../inc/style.css
+PkgList:     debichem-devel at lists.alioth.debian.org
diff --git a/webtools/webconf/debug.conf b/webtools/webconf/debug.conf
new file mode 100644
index 0000000..cb551d0
--- /dev/null
+++ b/webtools/webconf/debug.conf
@@ -0,0 +1,11 @@
+Blend:       debug
+ProjectName: Debug
+ProjectUrl:  http://blends.debian.net/debug
+Homepage:    http://blends.debian.net/debug
+AliothUrl:   http://alioth.debian.org/projects/blends
+ProjectList: none at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/debug
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/debug
+VcsDir:      /svn/blends/projects/debug
+CSS:         ../inc/style.css
+PkgList:     tillea at gmail.com
diff --git a/webtools/webconf/rest-test.conf b/webtools/webconf/rest-test.conf
new file mode 100644
index 0000000..869b9e5
--- /dev/null
+++ b/webtools/webconf/rest-test.conf
@@ -0,0 +1,12 @@
+Blend:       rest-test
+ProjectName: Test reST formatting
+ProjectUrl:  http://blends.debian.net/rest-test
+Homepage:    http://blends.debian.net/rest-test
+AliothUrl:   http://alioth.debian.org/projects/blends
+ProjectList: none at lists.debian.org
+OutputDir:   /var/lib/gforge/chroot/home/groups/blends/htdocs/rest-test
+DataDir:     /var/lib/gforge/chroot/home/groups/blends/data/rest-test
+VcsDir:      /svn/blends/projects/debug
+CSS:         ../inc/style.css
+PkgList:     tillea at gmail.com
+RenderingLib: rest

-- 
Static and dynamic websites for Debian Pure Blends



More information about the Blends-commit mailing list