[Python-checkins] r67598 - in doctools/trunk/sphinx: __init__.py application.py builder.py cmdline.py config.py directives/desc.py directives/other.py environment.py ext/autodoc.py ext/pngmath.py ext/todo.py htmlhelp.py htmlwriter.py latexwriter.py linkcheck.py locale/cs/LC_MESSAGES/sphinx.js locale/cs/LC_MESSAGES/sphinx.mo locale/cs/LC_MESSAGES/sphinx.po locale/de/LC_MESSAGES/sphinx.js locale/de/LC_MESSAGES/sphinx.mo locale/de/LC_MESSAGES/sphinx.po locale/es/LC_MESSAGES/sphinx.js locale/es/LC_MESSAGES/sphinx.mo locale/es/LC_MESSAGES/sphinx.po locale/fr/LC_MESSAGES/sphinx.js locale/fr/LC_MESSAGES/sphinx.mo locale/fr/LC_MESSAGES/sphinx.po locale/ja/LC_MESSAGES/sphinx.js locale/ja/LC_MESSAGES/sphinx.mo locale/ja/LC_MESSAGES/sphinx.po locale/nl locale/nl/LC_MESSAGES locale/nl/LC_MESSAGES/sphinx.js locale/nl/LC_MESSAGES/sphinx.mo locale/nl/LC_MESSAGES/sphinx.po locale/pl/LC_MESSAGES/sphinx.js locale/pl/LC_MESSAGES/sphinx.mo locale/pl/LC_MESSAGES/sphinx.po locale/pt_BR locale/pt_BR/LC_MESSAGES locale/pt_BR/LC_MESSAGES/sphinx.js locale/pt_BR/LC_MESSAGES/sphinx.mo locale/pt_BR/LC_MESSAGES/sphinx.po locale/sl locale/sl/LC_MESSAGES locale/sl/LC_MESSAGES/sphinx.js locale/sl/LC_MESSAGES/sphinx.mo locale/sl/LC_MESSAGES/sphinx.po locale/sphinx.pot locale/zh_TW locale/zh_TW/LC_MESSAGES locale/zh_TW/LC_MESSAGES/sphinx.js locale/zh_TW/LC_MESSAGES/sphinx.mo locale/zh_TW/LC_MESSAGES/sphinx.po quickstart.py roles.py static/default.css static/sphinxdoc.css templates/changes/frameset.html templates/changes/rstsource.html templates/changes/versionchanges.html templates/defindex.html templates/layout.html templates/modindex.html templates/opensearch.xml templates/search.html texinputs/sphinx.sty textwriter.py util/__init__.py util/jsdump.py

georg.brandl python-checkins at python.org
Fri Dec 5 20:10:43 CET 2008


Author: georg.brandl
Date: Fri Dec  5 20:10:41 2008
New Revision: 67598

Log:
Update from Sphinx 0.5 branch.


Added:
   doctools/trunk/sphinx/cmdline.py   (contents, props changed)
   doctools/trunk/sphinx/ext/todo.py   (contents, props changed)
   doctools/trunk/sphinx/locale/nl/
   doctools/trunk/sphinx/locale/nl/LC_MESSAGES/
   doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.js   (contents, props changed)
   doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.mo   (contents, props changed)
   doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.po   (contents, props changed)
   doctools/trunk/sphinx/locale/pt_BR/
   doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/
   doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js   (contents, props changed)
   doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo   (contents, props changed)
   doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po   (contents, props changed)
   doctools/trunk/sphinx/locale/sl/
   doctools/trunk/sphinx/locale/sl/LC_MESSAGES/
   doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.js   (contents, props changed)
   doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.mo   (contents, props changed)
   doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.po   (contents, props changed)
   doctools/trunk/sphinx/locale/zh_TW/
   doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/
   doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js   (contents, props changed)
   doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo   (contents, props changed)
   doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po   (contents, props changed)
Modified:
   doctools/trunk/sphinx/__init__.py
   doctools/trunk/sphinx/application.py
   doctools/trunk/sphinx/builder.py
   doctools/trunk/sphinx/config.py
   doctools/trunk/sphinx/directives/desc.py
   doctools/trunk/sphinx/directives/other.py
   doctools/trunk/sphinx/environment.py
   doctools/trunk/sphinx/ext/autodoc.py
   doctools/trunk/sphinx/ext/pngmath.py
   doctools/trunk/sphinx/htmlhelp.py
   doctools/trunk/sphinx/htmlwriter.py
   doctools/trunk/sphinx/latexwriter.py
   doctools/trunk/sphinx/linkcheck.py
   doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.js
   doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.mo
   doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.po
   doctools/trunk/sphinx/locale/sphinx.pot
   doctools/trunk/sphinx/quickstart.py
   doctools/trunk/sphinx/roles.py
   doctools/trunk/sphinx/static/default.css
   doctools/trunk/sphinx/static/sphinxdoc.css
   doctools/trunk/sphinx/templates/changes/frameset.html
   doctools/trunk/sphinx/templates/changes/rstsource.html
   doctools/trunk/sphinx/templates/changes/versionchanges.html
   doctools/trunk/sphinx/templates/defindex.html
   doctools/trunk/sphinx/templates/layout.html
   doctools/trunk/sphinx/templates/modindex.html
   doctools/trunk/sphinx/templates/opensearch.xml
   doctools/trunk/sphinx/templates/search.html
   doctools/trunk/sphinx/texinputs/sphinx.sty
   doctools/trunk/sphinx/textwriter.py
   doctools/trunk/sphinx/util/__init__.py
   doctools/trunk/sphinx/util/jsdump.py

Modified: doctools/trunk/sphinx/__init__.py
==============================================================================
--- doctools/trunk/sphinx/__init__.py	(original)
+++ doctools/trunk/sphinx/__init__.py	Fri Dec  5 20:10:41 2008
@@ -9,182 +9,39 @@
     :license: BSD.
 """
 
-import os
 import sys
-import getopt
-import traceback
-from os import path
-from cStringIO import StringIO
-
-from sphinx.util import format_exception_cut_frames, save_traceback
-from sphinx.util.console import darkred, nocolor, color_terminal
 
 __revision__ = '$Revision$'
 __version__ = '0.5'
-__released__ = '0.5 (hg)'
-
-
-def usage(argv, msg=None):
-    if msg:
-        print >>sys.stderr, msg
-        print >>sys.stderr
-    print >>sys.stderr, """\
-Sphinx v%s
-Usage: %s [options] sourcedir outdir [filenames...]
-Options: -b <builder> -- builder to use; default is html
-         -a        -- write all files; default is to only write new and changed files
-         -E        -- don't use a saved environment, always read all files
-         -d <path> -- path for the cached environment and doctree files
-                      (default: outdir/.doctrees)
-         -c <path> -- path where configuration file (conf.py) is located
-                      (default: same as sourcedir)
-         -D <setting=value> -- override a setting in configuration
-         -A <name=value>    -- pass a value into the templates, for HTML builder
-         -N        -- do not do colored output
-         -q        -- no output on stdout, just warnings on stderr
-         -Q        -- no output at all, not even warnings
-         -P        -- run Pdb on exception
-Modi:
-* without -a and without filenames, write new and changed files.
-* with -a, write all files.
-* with filenames, write these.""" % (__version__, argv[0])
+__released__ = '0.5'
 
 
 def main(argv=sys.argv):
-    # delay-import these to be able to get sphinx.__version__ from setup.py
-    # even without docutils installed
-    from sphinx.application import Sphinx, SphinxError
-    from docutils.utils import SystemMessage
-
-    if not sys.stdout.isatty() or not color_terminal():
-        # Windows' poor cmd box doesn't understand ANSI sequences
-        nocolor()
-
-    try:
-        opts, args = getopt.getopt(argv[1:], 'ab:d:c:D:A:NEqP')
-        srcdir = confdir = path.abspath(args[0])
-        if not path.isdir(srcdir):
-            print >>sys.stderr, 'Error: Cannot find source directory.'
-            return 1
-        if not path.isfile(path.join(srcdir, 'conf.py')) and \
-               '-c' not in (opt[0] for opt in opts):
-            print >>sys.stderr, 'Error: Source directory doesn\'t contain conf.py file.'
-            return 1
-        outdir = path.abspath(args[1])
-        if not path.isdir(outdir):
-            print >>sys.stderr, 'Making output directory...'
-            os.makedirs(outdir)
-    except (IndexError, getopt.error):
-        usage(argv)
-        return 1
-
-    filenames = args[2:]
-    err = 0
-    for filename in filenames:
-        if not path.isfile(filename):
-            print >>sys.stderr, 'Cannot find file %r.' % filename
-            err = 1
-    if err:
+    if sys.version_info[:3] < (2, 4, 0):
+        print >>sys.stderr, \
+              'Error: Sphinx requires at least Python 2.4 to run.'
         return 1
 
-    buildername = all_files = None
-    freshenv = use_pdb = False
-    status = sys.stdout
-    warning = sys.stderr
-    confoverrides = {}
-    htmlcontext = {}
-    doctreedir = path.join(outdir, '.doctrees')
-    for opt, val in opts:
-        if opt == '-b':
-            buildername = val
-        elif opt == '-a':
-            if filenames:
-                usage(argv, 'Cannot combine -a option and filenames.')
-                return 1
-            all_files = True
-        elif opt == '-d':
-            doctreedir = path.abspath(val)
-        elif opt == '-c':
-            confdir = path.abspath(val)
-            if not path.isfile(path.join(confdir, 'conf.py')):
-                print >>sys.stderr, \
-                      'Error: Configuration directory doesn\'t contain conf.py file.'
-                return 1
-        elif opt == '-D':
-            try:
-                key, val = val.split('=')
-            except ValueError:
-                print >>sys.stderr, \
-                      'Error: -D option argument must be in the form name=value.'
-                return 1
-            try:
-                val = int(val)
-            except ValueError:
-                pass
-            confoverrides[key] = val
-        elif opt == '-A':
-            try:
-                key, val = val.split('=')
-            except ValueError:
-                print >>sys.stderr, \
-                      'Error: -A option argument must be in the form name=value.'
-                return 1
-            try:
-                val = int(val)
-            except ValueError:
-                pass
-            htmlcontext[key] = val
-        elif opt == '-N':
-            nocolor()
-        elif opt == '-E':
-            freshenv = True
-        elif opt == '-q':
-            status = StringIO()
-        elif opt == '-Q':
-            status = StringIO()
-            warning = StringIO()
-        elif opt == '-P':
-            use_pdb = True
-    confoverrides['html_context'] = htmlcontext
-
     try:
-        app = Sphinx(srcdir, confdir, outdir, doctreedir, buildername,
-                     confoverrides, status, warning, freshenv)
-        app.build(all_files, filenames)
-    except KeyboardInterrupt:
-        if use_pdb:
-            import pdb
-            print >>sys.stderr, darkred('Interrupted while building, starting debugger:')
-            traceback.print_exc()
-            pdb.post_mortem(sys.exc_info()[2])
-        return 1
-    except Exception, err:
-        if use_pdb:
-            import pdb
-            print >>sys.stderr, darkred('Exception occurred while building, '
-                                        'starting debugger:')
-            traceback.print_exc()
-            pdb.post_mortem(sys.exc_info()[2])
-        else:
-            if isinstance(err, SystemMessage):
-                print >>sys.stderr, darkred('reST markup error:')
-                print >>sys.stderr, err.args[0].encode('ascii', 'backslashreplace')
-            elif isinstance(err, SphinxError):
-                print >>sys.stderr, darkred('%s:' % err.category)
-                print >>sys.stderr, err
+        from sphinx import cmdline
+    except ImportError, err:
+        errstr = str(err)
+        if errstr.lower().startswith('no module named'):
+            whichmod = errstr[16:]
+            if whichmod.startswith('docutils'):
+                whichmod = 'Docutils library'
+            elif whichmod.startswith('jinja'):
+                whichmod = 'Jinja library'
+            elif whichmod == 'roman':
+                whichmod = 'roman module (which is distributed with Docutils)'
             else:
-                print >>sys.stderr, darkred('Exception occurred:')
-                print >>sys.stderr, format_exception_cut_frames().rstrip()
-                tbpath = save_traceback()
-                print >>sys.stderr, darkred('The full traceback has been saved '
-                                            'in %s, if you want to report the '
-                                            'issue to the author.' % tbpath)
-                print >>sys.stderr, ('Please also report this if it was a user '
-                                     'error, so that a better error message '
-                                     'can be provided next time.')
-                print >>sys.stderr, ('Send reports to sphinx-dev at googlegroups.com. '
-                                     'Thanks!')
+                whichmod += ' module'
+            print >>sys.stderr, \
+                  'Error: The %s cannot be found. Did you install Sphinx '\
+                  'and its dependencies correctly?' % whichmod
             return 1
+        raise
+    return cmdline.main(argv)
 
 
 if __name__ == '__main__':

Modified: doctools/trunk/sphinx/application.py
==============================================================================
--- doctools/trunk/sphinx/application.py	(original)
+++ doctools/trunk/sphinx/application.py	Fri Dec  5 20:10:41 2008
@@ -14,6 +14,7 @@
 
 import sys
 import posixpath
+from cStringIO import StringIO
 
 from docutils import nodes
 from docutils.parsers.rst import directives, roles
@@ -58,6 +59,7 @@
 # List of all known core events. Maps name to arguments description.
 events = {
     'builder-inited': '',
+    'env-purge-doc': 'env, docname',
     'source-read': 'docname, source text',
     'doctree-read': 'the doctree before being pickled',
     'missing-reference': 'env, node, contnode',
@@ -83,12 +85,23 @@
         self.outdir = outdir
         self.doctreedir = doctreedir
 
-        self._status = status
-        self._warning = warning
+        if status is None:
+            self._status = StringIO()
+            self.quiet = True
+        else:
+            self._status = status
+            self.quiet = False
+        if warning is None:
+            self._warning = StringIO()
+        else:
+            self._warning = warning
         self._warncount = 0
 
         self._events = events.copy()
 
+        # status code for command-line application
+        self.statuscode = 0
+
         # read config
         self.config = Config(confdir, CONFIG_FILENAME, confoverrides)
 

Modified: doctools/trunk/sphinx/builder.py
==============================================================================
--- doctools/trunk/sphinx/builder.py	(original)
+++ doctools/trunk/sphinx/builder.py	Fri Dec  5 20:10:41 2008
@@ -26,7 +26,7 @@
 from docutils.readers.doctree import Reader as DoctreeReader
 
 from sphinx import addnodes, locale, __version__
-from sphinx.util import ensuredir, relative_uri, SEP, os_path, texescape
+from sphinx.util import ensuredir, relative_uri, SEP, os_path, texescape, ustrftime
 from sphinx.htmlhelp import build_hhx
 from sphinx.htmlwriter import HTMLWriter, HTMLTranslator, SmartyPantsHTMLTranslator
 from sphinx.textwriter import TextWriter
@@ -40,7 +40,7 @@
     import json
 except ImportError:
     try:
-        import ssimplejson as json
+        import simplejson as json
     except ImportError:
         json = None
 
@@ -405,7 +405,7 @@
         # typically doesn't include the time of day
         lufmt = self.config.html_last_updated_fmt
         if lufmt is not None:
-            self.last_updated = time.strftime(lufmt or _('%b %d, %Y'))
+            self.last_updated = ustrftime(lufmt or _('%b %d, %Y'))
         else:
             self.last_updated = None
 

Added: doctools/trunk/sphinx/cmdline.py
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/cmdline.py	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,186 @@
+# -*- coding: utf-8 -*-
+"""
+    sphinx.cmdline
+    ~~~~~~~~~~~~~~
+
+    sphinx-build command-line handling.
+
+    :copyright: 2008 by Georg Brandl.
+    :license: BSD.
+"""
+
+import os
+import sys
+import getopt
+import traceback
+from os import path
+
+from docutils.utils import SystemMessage
+
+from sphinx import __version__
+from sphinx.application import Sphinx, SphinxError
+from sphinx.util import format_exception_cut_frames, save_traceback
+from sphinx.util.console import darkred, nocolor, color_terminal
+
+
+def usage(argv, msg=None):
+    if msg:
+        print >>sys.stderr, msg
+        print >>sys.stderr
+    print >>sys.stderr, """\
+Sphinx v%s
+Usage: %s [options] sourcedir outdir [filenames...]
+Options: -b <builder> -- builder to use; default is html
+         -a        -- write all files; default is to only write new and changed files
+         -E        -- don't use a saved environment, always read all files
+         -d <path> -- path for the cached environment and doctree files
+                      (default: outdir/.doctrees)
+         -c <path> -- path where configuration file (conf.py) is located
+                      (default: same as sourcedir)
+         -C        -- use no config file at all, only -D options
+         -D <setting=value> -- override a setting in configuration
+         -A <name=value>    -- pass a value into the templates, for HTML builder
+         -N        -- do not do colored output
+         -q        -- no output on stdout, just warnings on stderr
+         -Q        -- no output at all, not even warnings
+         -P        -- run Pdb on exception
+Modi:
+* without -a and without filenames, write new and changed files.
+* with -a, write all files.
+* with filenames, write these.""" % (__version__, argv[0])
+
+
+def main(argv):
+    if not sys.stdout.isatty() or not color_terminal():
+        # Windows' poor cmd box doesn't understand ANSI sequences
+        nocolor()
+
+    try:
+        opts, args = getopt.getopt(argv[1:], 'ab:d:c:CD:A:NEqP')
+        allopts = set(opt[0] for opt in opts)
+        srcdir = confdir = path.abspath(args[0])
+        if not path.isdir(srcdir):
+            print >>sys.stderr, 'Error: Cannot find source directory.'
+            return 1
+        if not path.isfile(path.join(srcdir, 'conf.py')) and \
+               '-c' not in allopts and '-C' not in allopts:
+            print >>sys.stderr, 'Error: Source directory doesn\'t contain conf.py file.'
+            return 1
+        outdir = path.abspath(args[1])
+        if not path.isdir(outdir):
+            print >>sys.stderr, 'Making output directory...'
+            os.makedirs(outdir)
+    except (IndexError, getopt.error):
+        usage(argv)
+        return 1
+
+    filenames = args[2:]
+    err = 0
+    for filename in filenames:
+        if not path.isfile(filename):
+            print >>sys.stderr, 'Cannot find file %r.' % filename
+            err = 1
+    if err:
+        return 1
+
+    buildername = all_files = None
+    freshenv = use_pdb = False
+    status = sys.stdout
+    warning = sys.stderr
+    confoverrides = {}
+    htmlcontext = {}
+    doctreedir = path.join(outdir, '.doctrees')
+    for opt, val in opts:
+        if opt == '-b':
+            buildername = val
+        elif opt == '-a':
+            if filenames:
+                usage(argv, 'Cannot combine -a option and filenames.')
+                return 1
+            all_files = True
+        elif opt == '-d':
+            doctreedir = path.abspath(val)
+        elif opt == '-c':
+            confdir = path.abspath(val)
+            if not path.isfile(path.join(confdir, 'conf.py')):
+                print >>sys.stderr, \
+                      'Error: Configuration directory doesn\'t contain conf.py file.'
+                return 1
+        elif opt == '-C':
+            confdir = None
+        elif opt == '-D':
+            try:
+                key, val = val.split('=')
+            except ValueError:
+                print >>sys.stderr, \
+                      'Error: -D option argument must be in the form name=value.'
+                return 1
+            try:
+                val = int(val)
+            except ValueError:
+                pass
+            confoverrides[key] = val
+        elif opt == '-A':
+            try:
+                key, val = val.split('=')
+            except ValueError:
+                print >>sys.stderr, \
+                      'Error: -A option argument must be in the form name=value.'
+                return 1
+            try:
+                val = int(val)
+            except ValueError:
+                pass
+            htmlcontext[key] = val
+        elif opt == '-N':
+            nocolor()
+        elif opt == '-E':
+            freshenv = True
+        elif opt == '-q':
+            status = None
+        elif opt == '-Q':
+            status = None
+            warning = None
+        elif opt == '-P':
+            use_pdb = True
+    confoverrides['html_context'] = htmlcontext
+
+    try:
+        app = Sphinx(srcdir, confdir, outdir, doctreedir, buildername,
+                     confoverrides, status, warning, freshenv)
+        app.build(all_files, filenames)
+        return app.statuscode
+    except KeyboardInterrupt:
+        if use_pdb:
+            import pdb
+            print >>sys.stderr, darkred('Interrupted while building, starting debugger:')
+            traceback.print_exc()
+            pdb.post_mortem(sys.exc_info()[2])
+        return 1
+    except Exception, err:
+        if use_pdb:
+            import pdb
+            print >>sys.stderr, darkred('Exception occurred while building, '
+                                        'starting debugger:')
+            traceback.print_exc()
+            pdb.post_mortem(sys.exc_info()[2])
+        else:
+            if isinstance(err, SystemMessage):
+                print >>sys.stderr, darkred('reST markup error:')
+                print >>sys.stderr, err.args[0].encode('ascii', 'backslashreplace')
+            elif isinstance(err, SphinxError):
+                print >>sys.stderr, darkred('%s:' % err.category)
+                print >>sys.stderr, err
+            else:
+                print >>sys.stderr, darkred('Exception occurred:')
+                print >>sys.stderr, format_exception_cut_frames().rstrip()
+                tbpath = save_traceback()
+                print >>sys.stderr, darkred('The full traceback has been saved '
+                                            'in %s, if you want to report the '
+                                            'issue to the author.' % tbpath)
+                print >>sys.stderr, ('Please also report this if it was a user '
+                                     'error, so that a better error message '
+                                     'can be provided next time.')
+                print >>sys.stderr, ('Send reports to sphinx-dev at googlegroups.com. '
+                                     'Thanks!')
+            return 1

Modified: doctools/trunk/sphinx/config.py
==============================================================================
--- doctools/trunk/sphinx/config.py	(original)
+++ doctools/trunk/sphinx/config.py	Fri Dec  5 20:10:41 2008
@@ -94,13 +94,15 @@
     def __init__(self, dirname, filename, overrides):
         self.overrides = overrides
         self.values = Config.config_values.copy()
-        config = {'__file__': path.join(dirname, filename)}
-        olddir = os.getcwd()
-        try:
-            os.chdir(dirname)
-            execfile(config['__file__'], config)
-        finally:
-            os.chdir(olddir)
+        config = {}
+        if dirname is not None:
+            config['__file__'] = path.join(dirname, filename)
+            olddir = os.getcwd()
+            try:
+                os.chdir(dirname)
+                execfile(config['__file__'], config)
+            finally:
+                os.chdir(olddir)
         self._raw_config = config
         # these two must be preinitialized because extensions can add their
         # own config values

Modified: doctools/trunk/sphinx/directives/desc.py
==============================================================================
--- doctools/trunk/sphinx/directives/desc.py	(original)
+++ doctools/trunk/sphinx/directives/desc.py	Fri Dec  5 20:10:41 2008
@@ -14,10 +14,9 @@
 from docutils.parsers.rst import directives
 
 from sphinx import addnodes
+from sphinx.util import ws_re
 
 
-ws_re = re.compile(r'\s+')
-
 # ------ information units ---------------------------------------------------------
 
 def desc_index_text(desctype, module, name, add_modules):
@@ -109,6 +108,8 @@
     'return': 'Returns',
 }
 
+doc_fields_with_linked_arg = ('raises', 'raise', 'exception', 'except')
+
 doc_fields_without_arg = {
     'returns': 'Returns',
     'return': 'Returns',
@@ -117,7 +118,7 @@
 
 del _
 
-def handle_doc_fields(node):
+def handle_doc_fields(node, env):
     # don't traverse, only handle field lists that are immediate children
     for child in node.children:
         if not isinstance(child, nodes.field_list):
@@ -130,13 +131,13 @@
             fname, fbody = field
             try:
                 typ, obj = fname.astext().split(None, 1)
-                typ = _(doc_fields_with_arg[typ])
+                typdesc = _(doc_fields_with_arg[typ])
                 if len(fbody.children) == 1 and \
                    isinstance(fbody.children[0], nodes.paragraph):
                     children = fbody.children[0].children
                 else:
                     children = fbody.children
-                if typ == '%param':
+                if typdesc == '%param':
                     if not params:
                         pfield = nodes.field()
                         pfield += nodes.field_name('', _('Parameters'))
@@ -152,12 +153,22 @@
                     param_nodes[obj] = dlpar
                     dlitem += dlpar
                     params += dlitem
-                elif typ == '%type':
+                elif typdesc == '%type':
                     param_types[obj] = fbody.astext()
                 else:
-                    fieldname = typ + ' ' + obj
+                    fieldname = typdesc + ' '
                     nfield = nodes.field()
-                    nfield += nodes.field_name(fieldname, fieldname)
+                    nfieldname = nodes.field_name(fieldname, fieldname)
+                    nfield += nfieldname
+                    node = nfieldname
+                    if typ in doc_fields_with_linked_arg:
+                        node = addnodes.pending_xref(obj, reftype='obj',
+                                                     refcaption=False,
+                                                     reftarget=obj,
+                                                     modname=env.currmodule,
+                                                     classname=env.currclass)
+                        nfieldname += node
+                    node += nodes.Text(obj, obj)
                     nfield += nodes.field_body()
                     nfield[1] += fbody.children
                     new_list += nfield
@@ -352,17 +363,17 @@
 
 
 option_desc_re = re.compile(
-    r'(/|-|--)([-_a-zA-Z0-9]+)(\s*.*?)(?=,\s+(?:/|-|--)|$)')
+    r'((?:/|-|--)[-_a-zA-Z0-9]+)(\s*.*?)(?=,\s+(?:/|-|--)|$)')
 
 def parse_option_desc(signode, sig):
     """Transform an option description into RST nodes."""
     count = 0
     firstname = ''
     for m in option_desc_re.finditer(sig):
-        prefix, optname, args = m.groups()
+        optname, args = m.groups()
         if count:
             signode += addnodes.desc_addname(', ', ', ')
-        signode += addnodes.desc_name(prefix+optname, prefix+optname)
+        signode += addnodes.desc_name(optname, optname)
         signode += addnodes.desc_addname(args, args)
         if not count:
             firstname = optname
@@ -372,6 +383,8 @@
     return firstname
 
 
+strip_backslash_re = re.compile(r'\\(?=[^\\])')
+
 def desc_directive(desctype, arguments, options, content, lineno,
                    content_offset, block_text, state, state_machine):
     env = state.document.settings.env
@@ -382,7 +395,8 @@
     noindex = ('noindex' in options)
     node['noindex'] = noindex
     # remove backslashes to support (dummy) escapes; helps Vim's highlighting
-    signatures = map(lambda s: s.strip().replace('\\', ''), arguments[0].split('\n'))
+    signatures = map(lambda s: strip_backslash_re.sub('', s.strip()),
+                     arguments[0].split('\n'))
     names = []
     clsname = None
     module = options.get('module', env.currmodule)
@@ -402,12 +416,17 @@
             elif desctype == 'cmdoption':
                 optname = parse_option_desc(signode, sig)
                 if not noindex:
-                    targetname = 'cmdoption-' + optname
+                    targetname = optname.replace('/', '-')
+                    if env.currprogram:
+                        targetname = '-' + env.currprogram + targetname
+                    targetname = 'cmdoption' + targetname
                     signode['ids'].append(targetname)
                     state.document.note_explicit_target(signode)
-                    inode['entries'].append(('pair', _('command line option; %s') % sig,
-                                             targetname, targetname))
-                    env.note_reftarget('option', optname, targetname)
+                    inode['entries'].append(
+                        ('pair', _('%scommand line option; %s') %
+                         ((env.currprogram and env.currprogram + ' ' or ''), sig),
+                         targetname, targetname))
+                    env.note_progoption(optname, targetname)
                 continue
             elif desctype == 'describe':
                 signode.clear()
@@ -475,7 +494,7 @@
     if names:
         env.currdesc = names[0]
     state.nested_parse(content, content_offset, subnode)
-    handle_doc_fields(subnode)
+    handle_doc_fields(subnode, env)
     if clsname_set:
         env.currclass = None
     env.currdesc = None

Modified: doctools/trunk/sphinx/directives/other.py
==============================================================================
--- doctools/trunk/sphinx/directives/other.py	(original)
+++ doctools/trunk/sphinx/directives/other.py	Fri Dec  5 20:10:41 2008
@@ -14,9 +14,8 @@
 from docutils.parsers.rst import directives
 
 from sphinx import addnodes
-from sphinx.util import patfilter
-from sphinx.roles import caption_ref_re
 from sphinx.locale import pairindextypes
+from sphinx.util import patfilter, ws_re, caption_ref_re
 from sphinx.util.compat import make_admonition
 
 
@@ -159,6 +158,20 @@
 directives.register_directive('moduleauthor', author_directive)
 
 
+def program_directive(name, arguments, options, content, lineno,
+                      content_offset, block_text, state, state_machine):
+    env = state.document.settings.env
+    program = ws_re.sub('-', arguments[0].strip())
+    if program == 'None':
+        env.currprogram = None
+    else:
+        env.currprogram = program
+    return []
+
+program_directive.arguments = (1, 0, 1)
+directives.register_directive('program', program_directive)
+
+
 # ------ index markup --------------------------------------------------------------
 
 indextypes = [
@@ -192,7 +205,10 @@
             # shorthand notation for single entries
             else:
                 for value in entry.split(','):
-                    ne.append(('single', value.strip(), targetid, value.strip()))
+                    value = value.strip()
+                    if not value:
+                        continue
+                    ne.append(('single', value, targetid, value))
     return [indexnode, targetnode]
 
 index_directive.arguments = (1, 0, 1)

Modified: doctools/trunk/sphinx/environment.py
==============================================================================
--- doctools/trunk/sphinx/environment.py	(original)
+++ doctools/trunk/sphinx/environment.py	Fri Dec  5 20:10:41 2008
@@ -42,7 +42,7 @@
 from docutils.transforms.parts import ContentsFilter
 
 from sphinx import addnodes
-from sphinx.util import get_matching_docs, SEP
+from sphinx.util import get_matching_docs, SEP, ustrftime
 from sphinx.directives import additional_xref_types
 
 default_settings = {
@@ -57,7 +57,7 @@
 
 # This is increased every time an environment attribute is added
 # or changed to properly invalidate pickle files.
-ENV_VERSION = 25
+ENV_VERSION = 26
 
 
 default_substitutions = set([
@@ -99,7 +99,7 @@
                 text = config[refname]
                 if refname == 'today' and not text:
                     # special handling: can also specify a strftime format
-                    text = time.strftime(config.today_fmt or _('%B %d, %Y'))
+                    text = ustrftime(config.today_fmt or _('%B %d, %Y'))
                 ref.replace_self(nodes.Text(text, text))
 
 
@@ -171,7 +171,8 @@
     within table-of-contents link nodes.
     """
     def visit_pending_xref(self, node):
-        self.parent.append(nodes.literal(node['reftarget'], node['reftarget']))
+        text = node.astext()
+        self.parent.append(nodes.literal(text, text))
         raise nodes.SkipNode
 
 
@@ -266,8 +267,9 @@
         self.modules = {}           # modname -> docname, synopsis, platform, deprecated
         self.labels = {}            # labelname -> docname, labelid, sectionname
         self.anonlabels = {}        # labelname -> docname, labelid
+        self.progoptions = {}       # (program, name) -> docname, labelid
         self.reftargets = {}        # (type, name) -> docname, labelid
-                                    # where type is term, token, option, envvar, citation
+                                    # where type is term, token, envvar, citation
 
         # Other inventories
         self.indexentries = {}      # docname -> list of
@@ -281,6 +283,7 @@
         self.currmodule = None      # current module name
         self.currclass = None       # current class name
         self.currdesc = None        # current descref name
+        self.currprogram = None     # current program name
         self.index_num = 0          # autonumber for index targets
         self.gloss_entries = set()  # existing definition labels
 
@@ -331,6 +334,9 @@
             for key, (fn, _) in self.reftargets.items():
                 if fn == docname:
                     del self.reftargets[key]
+            for key, (fn, _) in self.progoptions.items():
+                if fn == docname:
+                    del self.progoptions[key]
             for version, changes in self.versionchanges.items():
                 new = [change for change in changes if change[1] != docname]
                 changes[:] = new
@@ -460,6 +466,8 @@
 
         # clear all files no longer present
         for docname in removed:
+            if app:
+                app.emit('env-purge-doc', self, docname)
             self.clear_doc(docname)
 
         # read all new and changed files
@@ -490,6 +498,8 @@
         If srcpath is given, read from a different source file.
         """
         # remove all inventory entries for that file
+        if app:
+            app.emit('env-purge-doc', self, docname)
         self.clear_doc(docname)
 
         if src_path is None:
@@ -822,6 +832,9 @@
         self.modules[modname] = (self.docname, synopsis, platform, deprecated)
         self.filemodules.setdefault(self.docname, []).append(modname)
 
+    def note_progoption(self, optname, labelid):
+        self.progoptions[self.currprogram, optname] = (self.docname, labelid)
+
     def note_reftarget(self, type, name, labelid):
         self.reftargets[type, name] = (self.docname, labelid)
 
@@ -890,9 +903,10 @@
             """Utility: Cut a TOC at a specified depth."""
             for subnode in node.children[:]:
                 if isinstance(subnode, (addnodes.compact_paragraph, nodes.list_item)):
+                    subnode['classes'].append('toctree-l%d' % (depth-1))
                     _walk_depth(subnode, depth, maxdepth, titleoverrides)
                 elif isinstance(subnode, nodes.bullet_list):
-                    if depth > maxdepth:
+                    if maxdepth > 0 and depth > maxdepth:
                         subnode.parent.replace(subnode, [])
                     else:
                         _walk_depth(subnode, depth+1, maxdepth, titleoverrides)
@@ -946,9 +960,8 @@
 
         newnode = addnodes.compact_paragraph('', '', *tocentries)
         newnode['toctree'] = True
-        # prune the tree to maxdepth and replace titles
-        if maxdepth > 0 and prune:
-            _walk_depth(newnode, 1, maxdepth, titleoverrides)
+        # prune the tree to maxdepth and replace titles, also set level classes
+        _walk_depth(newnode, 1, prune and maxdepth or 0, titleoverrides)
         # replace titles, if needed, and set the target paths in the
         # toctrees (they are not known at TOC generation time)
         for refnode in newnode.traverse(nodes.reference):
@@ -964,7 +977,7 @@
                            'meth', 'cfunc', 'cmember', 'cdata', 'ctype', 'cmacro'))
 
     def resolve_references(self, doctree, fromdocname, builder):
-        reftarget_roles = set(('token', 'term', 'option', 'citation'))
+        reftarget_roles = set(('token', 'term', 'citation'))
         # add all custom xref types too
         reftarget_roles.update(i[0] for i in additional_xref_types.values())
 
@@ -1024,6 +1037,19 @@
                             newnode['refuri'] = builder.get_relative_uri(
                                 fromdocname, docname) + '#' + labelid
                         newnode.append(contnode)
+                elif typ == 'option':
+                    progname = node['refprogram']
+                    docname, labelid = self.progoptions.get((progname, target), ('', ''))
+                    if not docname:
+                        newnode = contnode
+                    else:
+                        newnode = nodes.reference('', '')
+                        if docname == fromdocname:
+                            newnode['refid'] = labelid
+                        else:
+                            newnode['refuri'] = builder.get_relative_uri(
+                                fromdocname, docname) + '#' + labelid
+                        newnode.append(contnode)
                 elif typ in reftarget_roles:
                     docname, labelid = self.reftargets.get((typ, target), ('', ''))
                     if not docname:
@@ -1045,10 +1071,6 @@
                 elif typ == 'mod':
                     docname, synopsis, platform, deprecated = \
                         self.modules.get(target, ('','','', ''))
-                    # just link to an anchor if there are multiple modules in one file
-                    # because the anchor is generally below the heading which is ugly
-                    # but can't be helped easily
-                    anchor = ''
                     if not docname:
                         newnode = builder.app.emit_firstresult('missing-reference',
                                                                self, node, contnode)
@@ -1058,11 +1080,9 @@
                         # don't link to self
                         newnode = contnode
                     else:
-                        if len(self.filemodules[docname]) > 1:
-                            anchor = '#' + 'module-' + target
                         newnode = nodes.reference('', '')
-                        newnode['refuri'] = (
-                            builder.get_relative_uri(fromdocname, docname) + anchor)
+                        newnode['refuri'] = builder.get_relative_uri(
+                            fromdocname, docname) + '#module-' + target
                         newnode['reftitle'] = '%s%s%s' % (
                             (platform and '(%s) ' % platform),
                             synopsis, (deprecated and ' (deprecated)' or ''))
@@ -1117,25 +1137,42 @@
                     pass
 
         for fn, entries in self.indexentries.iteritems():
-            # new entry types must be listed in directives.py!
+            # new entry types must be listed in directives/other.py!
             for type, string, tid, alias in entries:
                 if type == 'single':
                     try:
                         entry, subentry = string.split(';', 1)
                     except ValueError:
                         entry, subentry = string, ''
+                    if not entry:
+                        self.warn(fn, 'invalid index entry %r' % string)
+                        continue
                     add_entry(entry.strip(), subentry.strip())
                 elif type == 'pair':
-                    first, second = map(lambda x: x.strip(), string.split(';', 1))
+                    try:
+                        first, second = map(lambda x: x.strip(),
+                                            string.split(';', 1))
+                        if not first or not second:
+                            raise ValueError
+                    except ValueError:
+                        self.warn(fn, 'invalid pair index entry %r' % string)
+                        continue
                     add_entry(first, second)
                     add_entry(second, first)
                 elif type == 'triple':
-                    first, second, third = map(lambda x: x.strip(), string.split(';', 2))
+                    try:
+                        first, second, third = map(lambda x: x.strip(),
+                                                   string.split(';', 2))
+                        if not first or not second or not third:
+                            raise ValueError
+                    except ValueError:
+                        self.warn(fn, 'invalid triple index entry %r' % string)
+                        continue
                     add_entry(first, second+' '+third)
                     add_entry(second, third+', '+first)
                     add_entry(third, first+' '+second)
                 else:
-                    self.warn(fn, "unknown index entry type %r" % type)
+                    self.warn(fn, 'unknown index entry type %r' % type)
 
         newlist = new.items()
         newlist.sort(key=lambda t: t[0].lower())

Modified: doctools/trunk/sphinx/ext/autodoc.py
==============================================================================
--- doctools/trunk/sphinx/ext/autodoc.py	(original)
+++ doctools/trunk/sphinx/ext/autodoc.py	Fri Dec  5 20:10:41 2008
@@ -22,7 +22,7 @@
 from docutils.parsers.rst import directives
 from docutils.statemachine import ViewList
 
-from sphinx.util import rpartition
+from sphinx.util import rpartition, nested_parse_with_titles
 from sphinx.directives.desc import py_sig_re
 
 try:
@@ -541,7 +541,8 @@
                 continue
 
             if what == 'module':
-                if isinstance(member, types.FunctionType):
+                if isinstance(member, (types.FunctionType,
+                                       types.BuiltinFunctionType)):
                     memberwhat = 'function'
                 elif isinstance(member, types.ClassType) or \
                      isinstance(member, type):
@@ -600,14 +601,7 @@
     state.memo.reporter = AutodocReporter(generator.result, state.memo.reporter)
     if dirname == 'automodule':
         node = nodes.section()
-        # hack around title style bookkeeping
-        surrounding_title_styles = state.memo.title_styles
-        surrounding_section_level = state.memo.section_level
-        state.memo.title_styles = []
-        state.memo.section_level = 0
-        state.nested_parse(generator.result, 0, node, match_titles=1)
-        state.memo.title_styles = surrounding_title_styles
-        state.memo.section_level = surrounding_section_level
+        nested_parse_with_titles(state, generator.result, node)
     else:
         node = nodes.paragraph()
         state.nested_parse(generator.result, 0, node)

Modified: doctools/trunk/sphinx/ext/pngmath.py
==============================================================================
--- doctools/trunk/sphinx/ext/pngmath.py	(original)
+++ doctools/trunk/sphinx/ext/pngmath.py	Fri Dec  5 20:10:41 2008
@@ -75,9 +75,11 @@
     """
     use_preview = self.builder.config.pngmath_use_preview
 
-    shasum = "%s.png" % sha(math).hexdigest()
+    shasum = "%s.png" % sha(math.encode('utf-8')).hexdigest()
     relfn = posixpath.join(self.builder.imgpath, 'math', shasum)
     outfn = path.join(self.builder.outdir, '_images', 'math', shasum)
+    if path.isfile(outfn):
+        return relfn, self.builder.env._pngmath_depth.get(shasum, None)
 
     latex = DOC_HEAD + self.builder.config.pngmath_latex_preamble
     latex += (use_preview and DOC_BODY_PREVIEW or DOC_BODY) % math
@@ -156,10 +158,15 @@
             m = depth_re.match(line)
             if m:
                 depth = int(m.group(1))
+                self.builder.env._pngmath_depth[shasum] = depth
                 break
 
     return relfn, depth
 
+def ensure_depthcache(app, env):
+    if not hasattr(env, '_pngmath_depth'):
+        env._pngmath_depth = {}
+
 def cleanup_tempdir(app, exc):
     if exc:
         return
@@ -171,9 +178,16 @@
         pass
 
 def html_visit_math(self, node):
-    fname, depth = render_math(self, '$'+node['latex']+'$')
-    self.body.append('<img src="%s" alt="%s" %s/>' %
-                     (fname, self.encode(node['latex']),
+    try:
+        fname, depth = render_math(self, '$'+node['latex']+'$')
+    except MathExtError, exc:
+        sm = nodes.system_message(str(exc), type='WARNING', level=2,
+                                  backrefs=[], source=node['latex'])
+        sm.walkabout(self)
+        self.builder.warn('display latex %r: ' % node['latex'] + str(exc))
+        raise nodes.SkipNode
+    self.body.append('<img class="math" src="%s" alt="%s" %s/>' %
+                     (fname, self.encode(node['latex']).strip(),
                       depth and 'style="vertical-align: %dpx" ' % (-depth) or ''))
     raise nodes.SkipNode
 
@@ -182,13 +196,20 @@
         latex = node['latex']
     else:
         latex = wrap_displaymath(node['latex'], None)
-    fname, depth = render_math(self, latex)
+    try:
+        fname, depth = render_math(self, latex)
+    except MathExtError, exc:
+        sm = nodes.system_message(str(exc), type='WARNING', level=2,
+                                  backrefs=[], source=node['latex'])
+        sm.walkabout(self)
+        self.builder.warn('inline latex %r: ' % node['latex'] + str(exc))
+        raise nodes.SkipNode
     self.body.append(self.starttag(node, 'div', CLASS='math'))
     self.body.append('<p>')
     if node['number']:
         self.body.append('<span class="eqno">(%s)</span>' % node['number'])
     self.body.append('<img src="%s" alt="%s" />\n</div>' %
-                     (fname, self.encode(node['latex'])))
+                     (fname, self.encode(node['latex']).strip()))
     self.body.append('</p>')
     raise nodes.SkipNode
 
@@ -198,6 +219,7 @@
     app.add_config_value('pngmath_dvipng', 'dvipng', False)
     app.add_config_value('pngmath_latex', 'latex', False)
     app.add_config_value('pngmath_use_preview', False, False)
-    app.add_config_value('pngmath_dvipng_args', [], False)
+    app.add_config_value('pngmath_dvipng_args', ['-gamma 1.5', '-D 110'], False)
     app.add_config_value('pngmath_latex_preamble', '', False)
+    app.connect('env-updated', ensure_depthcache)
     app.connect('build-finished', cleanup_tempdir)

Added: doctools/trunk/sphinx/ext/todo.py
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/ext/todo.py	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,123 @@
+# -*- coding: utf-8 -*-
+"""
+    sphinx.ext.todo
+    ~~~~~~~~~~~~~~~
+
+    Allow todos to be inserted into your documentation.  Inclusion of todos can
+    be switched of by a configuration variable.  The todolist directive collects
+    all todos of your project and lists them along with a backlink to the
+    original location.
+
+    :copyright: 2008 Daniel Bültmann.
+    :license: BSD.
+"""
+
+from docutils import nodes
+
+from sphinx.util.compat import make_admonition
+
+class todo_node(nodes.Admonition, nodes.Element): pass
+class todolist(nodes.General, nodes.Element): pass
+
+
+def todo_directive(name, arguments, options, content, lineno,
+                   content_offset, block_text, state, state_machine):
+    env = state.document.settings.env
+
+    targetid = "todo-%s" % env.index_num
+    env.index_num += 1
+    targetnode = nodes.target('', '', ids=[targetid])
+
+    ad = make_admonition(todo_node, name, [_('Todo')], options, content, lineno,
+                         content_offset, block_text, state, state_machine)
+
+    # Attach a list of all todos to the environment,
+    # the todolist works with the collected todo nodes
+    if not hasattr(env, 'todo_all_todos'):
+        env.todo_all_todos = []
+    env.todo_all_todos.append({
+        'docname': env.docname,
+        'lineno': lineno,
+        'todo': ad[0].deepcopy(),
+        'target': targetnode,
+    })
+
+    return [targetnode] + ad
+
+
+def todolist_directive(name, arguments, options, content, lineno,
+                       content_offset, block_text, state, state_machine):
+    # Simply insert an empty todolist node which will be replaced later
+    # when process_todo_nodes is called
+    return [todolist('')]
+
+
+def process_todo_nodes(app, doctree, fromdocname):
+    if not app.config['todo_include_todos']:
+        for node in doctree.traverse(todo_node):
+            node.parent.remove(node)
+
+    # Replace all todolist nodes with a list of the collected todos.
+    # Augment each todo with a backlink to the original location.
+    env = app.builder.env
+
+    for node in doctree.traverse(todolist):
+        if not app.config['todo_include_todos']:
+            node.replace_self([])
+            continue
+
+        content = []
+
+        for todo_info in env.todo_all_todos:
+            para = nodes.paragraph()
+            filename = env.doc2path(todo_info['docname'], base=None)
+            description = (
+                _('(The original entry is located in %s, line %d and can be found ') %
+                (filename, todo_info['lineno']))
+            para += nodes.Text(description, description)
+
+            # Create a reference
+            newnode = nodes.reference('', '')
+            innernode = nodes.emphasis(_('here'), _('here'))
+            newnode['refdocname'] = todo_info['docname']
+            newnode['refuri'] = app.builder.get_relative_uri(
+                fromdocname, todo_info['docname'])
+            newnode['refuri'] += '#' + todo_info['target']['refid']
+            newnode.append(innernode)
+            para += newnode
+            para += nodes.Text('.)', '.)')
+
+            # Insert into the todolist
+            content.append(todo_info['todo'])
+            content.append(para)
+
+        node.replace_self(content)
+
+
+def purge_todos(app, env, docname):
+    if not hasattr(env, 'todo_all_todos'):
+        return
+    env.todo_all_todos = [todo for todo in env.todo_all_todos
+                          if todo['docname'] != docname]
+
+
+def visit_todo_node(self, node):
+    self.visit_admonition(node)
+
+def depart_todo_node(self, node):
+    self.depart_admonition(node)
+
+def setup(app):
+    app.add_config_value('todo_include_todos', False, False)
+
+    app.add_node(todolist)
+    app.add_node(todo_node,
+                 html=(visit_todo_node, depart_todo_node),
+                 latex=(visit_todo_node, depart_todo_node),
+                 text=(visit_todo_node, depart_todo_node))
+
+    app.add_directive('todo', todo_directive, 1, (0, 0, 1))
+    app.add_directive('todolist', todolist_directive, 0, (0, 0, 0))
+    app.connect('doctree-resolved', process_todo_nodes)
+    app.connect('env-purge-doc', purge_todos)
+

Modified: doctools/trunk/sphinx/htmlhelp.py
==============================================================================
--- doctools/trunk/sphinx/htmlhelp.py	(original)
+++ doctools/trunk/sphinx/htmlhelp.py	Fri Dec  5 20:10:41 2008
@@ -55,6 +55,7 @@
 project_template = '''\
 [OPTIONS]
 Binary TOC=Yes
+Binary Index=No
 Compiled file=%(outname)s.chm
 Contents file=%(outname)s.hhc
 Default Window=%(outname)s
@@ -191,12 +192,21 @@
     try:
         f.write('<UL>\n')
         def write_index(title, refs, subitems):
-            if refs:
-                f.write('<LI> ')
-                item = object_sitemap % (cgi.escape(title), refs[0])
+            def write_param(name, value):
+                item = '    <param name="%s" value="%s">\n' % (name, value)
                 f.write(item.encode('ascii', 'xmlcharrefreplace'))
-                for ref in refs[1:]:
-                    f.write(object_sitemap % ('[Link]', ref))
+            title = cgi.escape(title)
+            f.write('<LI> <OBJECT type="text/sitemap">\n')
+            write_param('Keyword', title)
+            if len(refs) == 0:
+                write_param('See Also', title)
+            elif len(refs) == 1:
+                write_param('Local', refs[0])
+            else:
+                for i, ref in enumerate(refs):
+                    write_param('Name', '[%d] %s' % (i, ref)) # XXX: better title?
+                    write_param('Local', ref)
+            f.write('</OBJECT>\n')
             if subitems:
                 f.write('<UL> ')
                 for subitem in subitems:

Modified: doctools/trunk/sphinx/htmlwriter.py
==============================================================================
--- doctools/trunk/sphinx/htmlwriter.py	(original)
+++ doctools/trunk/sphinx/htmlwriter.py	Fri Dec  5 20:10:41 2008
@@ -194,11 +194,8 @@
         if node.has_key('linenos'):
             linenos = node['linenos']
         highlighted = self.highlighter.highlight_block(node.rawsource, lang, linenos)
-        starttag = self.starttag(node, 'div', suffix='')
-        if starttag != '<div>':
-            self.body.append(starttag + highlighted + '</div>\n')
-        else:
-            self.body.append(highlighted)
+        starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang)
+        self.body.append(starttag + highlighted + '</div>\n')
         raise nodes.SkipNode
 
     def visit_doctest_block(self, node):

Modified: doctools/trunk/sphinx/latexwriter.py
==============================================================================
--- doctools/trunk/sphinx/latexwriter.py	(original)
+++ doctools/trunk/sphinx/latexwriter.py	Fri Dec  5 20:10:41 2008
@@ -15,7 +15,6 @@
 import re
 import sys
 from os import path
-from time import strftime
 
 from docutils import nodes, writers
 from docutils.writers.latex2e import Babel
@@ -23,6 +22,7 @@
 from sphinx import addnodes
 from sphinx import highlighting
 from sphinx.locale import admonitionlabels, versionlabels
+from sphinx.util import ustrftime
 from sphinx.util.texescape import tex_escape_map
 from sphinx.util.smartypants import educateQuotesLatex
 
@@ -90,10 +90,14 @@
 
 class ExtBabel(Babel):
     def get_shorthandoff(self):
-        if self.language == 'de':
+        shortlang = self.language.split('_')[0]
+        if shortlang in ('de', 'sl', 'pt', 'es', 'nl', 'pl'):
             return '\\shorthandoff{"}'
         return ''
 
+    _ISO639_TO_BABEL = Babel._ISO639_TO_BABEL.copy()
+    _ISO639_TO_BABEL['sl'] = 'slovene'
+
 
 class Table(object):
     def __init__(self):
@@ -102,6 +106,7 @@
         self.colspec = None
         self.had_head = False
         self.has_verbatim = False
+        self.caption = None
 
 
 class Desc(object):
@@ -161,7 +166,7 @@
             'pointsize':    builder.config.latex_font_size,
             # if empty, the title is set to the first section title
             'title':        document.settings.title,
-            'date':         strftime(builder.config.today_fmt or _('%B %d, %Y')),
+            'date':         ustrftime(builder.config.today_fmt or _('%B %d, %Y')),
             'release':      builder.config.release,
             'author':       document.settings.author,
             'releasename':  _('Release'),
@@ -174,7 +179,12 @@
                                     path.basename(builder.config.latex_logo)
         if builder.config.language:
             babel = ExtBabel(builder.config.language)
-            self.elements['classoptions'] += ',' + babel.get_language()
+            lang = babel.get_language()
+            if lang:
+                self.elements['classoptions'] += ',' + babel.get_language()
+            else:
+                self.builder.warn('no Babel option known for language %r' %
+                                  builder.config.language)
             self.elements['shorthandoff'] = babel.get_shorthandoff()
             self.elements['fncychap'] = '\\usepackage[Sonny]{fncychap}'
         else:
@@ -211,6 +221,7 @@
         self.first_document = 1
         self.this_is_the_title = 1
         self.literal_whitespace = 0
+        self.no_contractions = 0
 
     def astext(self):
         return (HEADER % self.elements + self.highlighter.get_stylesheet() +
@@ -330,7 +341,8 @@
         pass
 
     def visit_title(self, node):
-        if isinstance(node.parent, addnodes.seealso):
+        parent = node.parent
+        if isinstance(parent, addnodes.seealso):
             # the environment already handles this
             raise nodes.SkipNode
         elif self.this_is_the_title:
@@ -342,17 +354,28 @@
                 self.elements['title'] = node.astext().translate(tex_escape_map)
             self.this_is_the_title = 0
             raise nodes.SkipNode
-        elif isinstance(node.parent, nodes.section):
-            self.body.append(r'\%s{' % self.sectionnames[self.sectionlevel])
+        elif isinstance(parent, nodes.section):
+            try:
+                self.body.append(r'\%s{' % self.sectionnames[self.sectionlevel])
+            except IndexError:
+                from sphinx.application import SphinxError
+                raise SphinxError('too many nesting section levels for LaTeX, '
+                                  'at heading: %s' % node.astext())
             self.context.append('}\n')
-        elif isinstance(node.parent, (nodes.topic, nodes.sidebar, nodes.admonition)):
+        elif isinstance(parent, (nodes.topic, nodes.sidebar)):
             self.body.append(r'\textbf{')
             self.context.append('}\n\n\medskip\n\n')
+        elif isinstance(parent, nodes.Admonition):
+            self.body.append('{')
+            self.context.append('}\n')
+        elif isinstance(parent, nodes.table):
+            self.table.caption = self.encode(node.astext())
+            raise nodes.SkipNode
         else:
-            self.builder.warn('encountered title node not in section, topic, admonition'
-                              ' or sidebar')
+            self.builder.warn('encountered title node not in section, topic, '
+                              'table, admonition or sidebar')
             self.body.append('\\textbf{')
-            self.context.append('}')
+            self.context.append('}\n')
         self.in_title = 1
     def depart_title(self, node):
         self.in_title = 0
@@ -492,7 +515,7 @@
         self.body.append("}\\\\")
 
     def visit_desc_content(self, node):
-        if node.children and isinstance(node.children[0], addnodes.desc):
+        if node.children and not isinstance(node.children[0], nodes.paragraph):
             # avoid empty desc environment which causes a formatting bug
             self.body.append('~')
     def depart_desc_content(self, node):
@@ -535,6 +558,9 @@
         self.body = self.tablebody
     def depart_table(self, node):
         self.body = self._body
+        if self.table.caption is not None:
+            self.body.append('\n\\begin{threeparttable}\n'
+                             '\\caption{%s}\n' % self.table.caption)
         if self.table.has_verbatim:
             self.body.append('\n\\begin{tabular}')
         else:
@@ -553,6 +579,8 @@
             self.body.append('\\end{tabular}\n\n')
         else:
             self.body.append('\\end{tabulary}\n\n')
+        if self.table.caption is not None:
+            self.body.append('\\end{threeparttable}\n\n')
         self.table = None
         self.tablebody = None
 
@@ -698,9 +726,9 @@
             return width_str
         res = width_str
         amount, unit = match.groups()[:2]
-        if unit == "px":
-            # LaTeX does not know pixels but points
-            res = "%spt" % amount
+        if not unit or unit == "px":
+            # pixels: let LaTeX alone
+            return None
         elif unit == "%":
             res = "%.3f\\linewidth" % (float(amount) / 100.0)
         return res
@@ -717,11 +745,12 @@
             pre.append('\\scalebox{%f}{' % (attrs['scale'] / 100.0,))
             post.append('}')
         if attrs.has_key('width'):
-            include_graphics_options.append('width=%s' % (
-                            self.latex_image_length(attrs['width']), ))
+            w = self.latex_image_length(attrs['width'])
+            if w:
+                include_graphics_options.append('width=%s' % w)
         if attrs.has_key('height'):
-            include_graphics_options.append('height=%s' % (
-                            self.latex_image_length(attrs['height']), ))
+            h = self.latex_image_length(attrs['height'])
+            include_graphics_options.append('height=%s' % h)
         if attrs.has_key('align'):
             align_prepost = {
                 # By default latex aligns the top of an image.
@@ -788,9 +817,9 @@
         self.body.append('}')
 
     def visit_admonition(self, node):
-        self.body.append('\n\\begin{quote}')
+        self.body.append('\n\\begin{notice}{note}')
     def depart_admonition(self, node):
-        self.body.append('\\end{quote}\n')
+        self.body.append('\\end{notice}\n')
 
     def _make_visit_admonition(name):
         def visit_admonition(self, node):
@@ -863,10 +892,16 @@
                 self.body.append(r'\index{%s}' % scre.sub('!', self.encode(string)))
             elif type == 'pair':
                 parts = tuple(self.encode(x.strip()) for x in string.split(';', 1))
-                self.body.append(r'\indexii{%s}{%s}' % parts)
+                try:
+                    self.body.append(r'\indexii{%s}{%s}' % parts)
+                except TypeError:
+                    self.builder.warn('invalid pair index entry %r' % string)
             elif type == 'triple':
                 parts = tuple(self.encode(x.strip()) for x in string.split(';', 2))
-                self.body.append(r'\indexiii{%s}{%s}{%s}' % parts)
+                try:
+                    self.body.append(r'\indexiii{%s}{%s}{%s}' % parts)
+                except TypeError:
+                    self.builder.warn('invalid triple index entry %r' % string)
             else:
                 self.builder.warn('unknown index entry type %s found' % type)
         raise nodes.SkipNode
@@ -911,8 +946,10 @@
 
     def visit_literal_emphasis(self, node):
         self.body.append(r'\emph{\texttt{')
+        self.no_contractions += 1
     def depart_literal_emphasis(self, node):
         self.body.append('}}')
+        self.no_contractions -= 1
 
     def visit_strong(self, node):
         self.body.append(r'\textbf{')
@@ -1010,7 +1047,10 @@
             # no output in this line -- add a nonbreaking space, else the
             # \\ command will give an error
             self.body.append('~')
-        self.body.append('\\\\\n')
+        if self.table is not None:
+            self.body.append('\\newline\n')
+        else:
+            self.body.append('\\\\\n')
 
     def visit_block_quote(self, node):
         # If the block quote contains a single object and that object
@@ -1070,7 +1110,7 @@
 
     def visit_option_string(self, node):
         ostring = node.astext()
-        self.body.append(self.encode(ostring.replace('--', u'--')))
+        self.body.append(self.encode(ostring.replace('--', u'-{-}')))
         raise nodes.SkipNode
 
     def visit_description(self, node):
@@ -1122,6 +1162,8 @@
             # Insert a blank before the newline, to avoid
             # ! LaTeX Error: There's no line here to end.
             text = text.replace(u'\n', u'~\\\\\n').replace(u' ', u'~')
+        if self.no_contractions:
+            text = text.replace('--', u'-{-}')
         return text
 
     def visit_Text(self, node):

Modified: doctools/trunk/sphinx/linkcheck.py
==============================================================================
--- doctools/trunk/sphinx/linkcheck.py	(original)
+++ doctools/trunk/sphinx/linkcheck.py	Fri Dec  5 20:10:41 2008
@@ -84,20 +84,25 @@
                 self.good.add(uri)
             elif r == 2:
                 self.info(' - ' + red('broken: ') + s)
-                self.broken[uri] = (r, s)
                 self.write_entry('broken', docname, lineno, uri + ': ' + s)
+                self.broken[uri] = (r, s)
+                if self.app.quiet:
+                    self.warn('%s:%s: broken link: %s' % (docname, lineno, uri))
             else:
                 self.info(' - ' + purple('redirected') + ' to ' + s)
-                self.redirected[uri] = (r, s)
                 self.write_entry('redirected', docname, lineno, uri + ' to ' + s)
-
+                self.redirected[uri] = (r, s)
         elif len(uri) == 0 or uri[0:7] == 'mailto:' or uri[0:4] == 'ftp:':
             return
         else:
-            self.info(uri + ' - ' + red('malformed!'))
+            self.warn(uri + ' - ' + red('malformed!'))
             self.write_entry('malformed', docname, lineno, uri)
+            if self.app.quiet:
+                self.warn('%s:%s: malformed link: %s' % (docname, lineno, uri))
+            self.app.statuscode = 1
 
-        return
+        if self.broken:
+            self.app.statuscode = 1
 
     def write_entry(self, what, docname, line, uri):
         output = open(path.join(self.outdir, 'output.txt'), 'a')

Modified: doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "cs", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Search Results": "V\u00fdsledky hled\u00e1n\u00ed", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "", "Getting search index...": "", "Permalink to this headline": "Trval\u00fd odkaz na tento nadpis", "Searching": "hledej", "Permalink to this definition": "Trval\u00fd odkaz na tuto definici", "Hide Search Matches": "", "Search finished, found %s page(s) matching the search query.": ""}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "cs", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"module, in ": "modul", "Preparing search...": "", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "", "Search finished, found %s page(s) matching the search query.": "", ", in ": "", "Permalink to this headline": "Trval\u00fd odkaz na tento nadpis", "Searching": "hledej", "Permalink to this definition": "Trval\u00fd odkaz na tuto definici", "Hide Search Matches": "", "Search Results": "V\u00fdsledky hled\u00e1n\u00ed"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.mo	(original) and doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.mo	Fri Dec  5 20:10:41 2008 differ

Modified: doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/cs/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -8,7 +8,7 @@
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
 "POT-Creation-Date: 2008-08-10 11:43+0000\n"
-"PO-Revision-Date: 2008-09-06 19:10+0200\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
 "Last-Translator: Pavel Kosina <pavel.kosina at gmail.com>\n"
 "Language-Team: Pavel Kosina <pavel.kosina at gmail.com>\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
@@ -16,225 +16,255 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:391
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%d.%m.%Y"
 
-#: sphinx/builder.py:410 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "Rejstřík indexů"
 
-#: sphinx/builder.py:410
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "index"
 
-#: sphinx/builder.py:412 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "Rejstřík modulů"
 
-#: sphinx/builder.py:412
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "moduly"
 
-#: sphinx/builder.py:448
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "další"
 
-#: sphinx/builder.py:455
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "předchozí"
 
-#: sphinx/builder.py:1092
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr "Vestavěné funkce"
 
-#: sphinx/builder.py:1094
+#: sphinx/builder.py:1131
 msgid "Module level"
 msgstr "Úroveň modulů"
 
-#: sphinx/environment.py:108 sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr "%d.%m.%Y"
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:143
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Index"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+#, fuzzy
+msgid "Module Index"
+msgstr "Rejstřík modulů"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+#, fuzzy
+msgid "Search Page"
+msgstr "Vyhledávací stránka"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "Trvalý odkaz na tuto definici"
 
-#: sphinx/htmlwriter.py:379 sphinx/static/doctools.js:136
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "Trvalý odkaz na tento nadpis"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
 msgstr "Vydání"
 
-#: sphinx/latexwriter.py:188
-msgid "Module index"
-msgstr "Rejstřík modulů"
-
-#: sphinx/latexwriter.py:190 sphinx/templates/genindex-single.html:2
-#: sphinx/templates/genindex-split.html:2
-#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
-#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
-msgid "Index"
-msgstr "Index"
-
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "promměná prostředí, %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr "Platforma: %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[obrázek]"
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (vestavěná funkce)"
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (v modulu %s)"
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr "%s() (vestavěná proměnná)"
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s() (v modulu %s)"
 
 #: sphinx/directives/desc.py:33
+#, fuzzy, python-format
+msgid "%s (built-in class)"
+msgstr "%s() (vestavěná proměnná)"
+
+#: sphinx/directives/desc.py:34
 #, python-format
 msgid "%s (class in %s)"
 msgstr "%s() (třída v %s)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (metoda %s.%s)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (metoda %s)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (statická metoda %s.%s)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (statická metoda %s)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s() (atribut %s.%s)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s() (atribut %s)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (C funkce)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (člen C)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (C makro)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (C typ)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (C proměnná)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "Vyvolá"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "Proměnná"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "Vrací"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr "Typ navrácené hodnoty"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "Parametry"
 
-#: sphinx/directives/desc.py:402
-#, python-format
-msgid "command line option; %s"
-msgstr "parametry příkazového řádku; %s"
+#: sphinx/directives/desc.py:423
+#, fuzzy, python-format
+msgid "%scommand line option; %s"
+msgstr "%sparametry příkazového řádku; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "Platformy: "
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr "%s (module)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "Autor sekce: "
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "Autor modulu: "
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "Autor: "
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "Viz také"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "Výstraha"
@@ -318,30 +348,39 @@
 msgid "built-in function"
 msgstr "vestavěná funkce"
 
-#: sphinx/static/doctools.js:172
+#: sphinx/static/doctools.js:174
 msgid "Hide Search Matches"
 msgstr ""
 
-#: sphinx/static/searchtools.js:242
+#: sphinx/static/searchtools.js:274
 #, fuzzy
 msgid "Searching"
 msgstr "hledej"
 
-#: sphinx/static/searchtools.js:246
-msgid "Getting search index..."
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr ""
+
+#: sphinx/static/searchtools.js:338
+#, fuzzy
+msgid "module, in "
+msgstr "modul"
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
 msgstr ""
 
-#: sphinx/static/searchtools.js:384 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "Výsledky hledání"
 
-#: sphinx/static/searchtools.js:386
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
 msgstr ""
 
-#: sphinx/static/searchtools.js:389
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
 msgstr ""
@@ -362,10 +401,6 @@
 msgid "lists all sections and subsections"
 msgstr "seznam všech sekcí a podsekcí"
 
-#: sphinx/templates/defindex.html:16
-msgid "Search page"
-msgstr "Vyhledávací stránka"
-
 #: sphinx/templates/defindex.html:17
 msgid "search this documentation"
 msgstr "prohledej tuto dokumentaci"
@@ -449,23 +484,15 @@
 msgid "Enter a module, class or function name."
 msgstr "Zadej jméno modulu, třídy nebo funkce."
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "Hledání uvnitř %(docstitle)s"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "O těchto dokumentech"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "Celkový obsah"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "Celkový index"
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -527,11 +554,12 @@
 "nepovedlo se."
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
+"    containing fewer words won't appear in the result list."
 msgstr ""
 "Toto je vyhledávací stránka. Zadejte klíčová slova    do pole níže a "
 "klikněte na \"hledej\". \n"

Modified: doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "de", "plural_expr": "(n != 1)", "messages": {"Search Results": "Suchergebnisse", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Es wurden keine Dokumente gefunden. Haben Sie alle Suchworte richtig geschrieben und gen\u00fcgend Kategorien ausgew\u00e4hlt?", "Getting search index...": "Suchindex wird geladen...", "Permalink to this headline": "Permalink zu dieser \u00dcberschrift", "Searching": "Suchen...", "Permalink to this definition": "Permalink zu dieser Definition", "Hide Search Matches": "Suchergebnisse ausblenden", "Search finished, found %s page(s) matching the search query.": "Suche beendet, %s Seite(n) mit Ergebnissen wurden gefunden."}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "de", "plural_expr": "(n != 1)", "messages": {"module, in ": "Modul, in ", "Preparing search...": "Suche wird vorbereitet...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Es wurden keine Dokumente gefunden. Haben Sie alle Suchworte richtig geschrieben und gen\u00fcgend Kategorien ausgew\u00e4hlt?", "Search finished, found %s page(s) matching the search query.": "Suche beendet, %s Seite(n) mit Ergebnissen wurden gefunden.", ", in ": "", "Permalink to this headline": "Permalink zu dieser \u00dcberschrift", "Searching": "Suchen...", "Permalink to this definition": "Permalink zu dieser Definition", "Hide Search Matches": "Suchergebnisse ausblenden", "Search Results": "Suchergebnisse"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files. No diff available.

Modified: doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/de/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -7,232 +7,260 @@
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
 "POT-Creation-Date: 2008-08-07 21:40+0200\n"
-"PO-Revision-Date: 2008-09-06 19:13+0200\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
 "Last-Translator: Horst Gutmann <zerok at zerokspot.com>\n"
 "Language-Team: de <LL at li.org>\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:391
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%d. %m. %Y"
 
-#: sphinx/builder.py:410 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "Allgemeiner Index"
 
-#: sphinx/builder.py:410
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "Index"
 
-#: sphinx/builder.py:412 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "Globaler Modulindex"
 
-#: sphinx/builder.py:412
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "Module"
 
-#: sphinx/builder.py:448
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "weiter"
 
-#: sphinx/builder.py:455
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "zurück"
 
-#: sphinx/builder.py:1092
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr "Builtins"
 
-#: sphinx/builder.py:1094
+#: sphinx/builder.py:1131
 msgid "Module level"
 msgstr "Modulebene"
 
-#: sphinx/environment.py:108 sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr "%d. %m. %Y"
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:143
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Stichwortverzeichnis"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "Modulindex"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "Suche"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "Permalink zu dieser Definition"
 
-#: sphinx/htmlwriter.py:379 sphinx/static/doctools.js:136
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "Permalink zu dieser Überschrift"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
 msgstr "Release"
 
-#: sphinx/latexwriter.py:188
-msgid "Module index"
-msgstr "Modulindex"
-
-#: sphinx/latexwriter.py:190 sphinx/templates/genindex-single.html:2
-#: sphinx/templates/genindex-split.html:2
-#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
-#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
-msgid "Index"
-msgstr "Stichwortverzeichnis"
-
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "Umgebungsvariable; %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr "Plattform: %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[Bild]"
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (eingebaute Funktion)"
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (in Modul %s)"
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr "%s (eingebaute Variable)"
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s (in Modul %s)"
 
 #: sphinx/directives/desc.py:33
 #, python-format
+msgid "%s (built-in class)"
+msgstr "%s (eingebaute Klasse)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
 msgid "%s (class in %s)"
 msgstr "%s (Klasse in %s)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (Methode von %s.%s)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (Methode von %s)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (statische Methode von %s.%s)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (statische Methode von %s)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s (Attribut von %s.%s)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s (Attribut von %s)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (C-Funktion)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (C-Member)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (C-Makro)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (C-Typ)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (C-Variable)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "Verursacht:"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "Variable"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "Rückgabe"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr "Rückgabetyp"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "Parameter"
 
-#: sphinx/directives/desc.py:402
+#: sphinx/directives/desc.py:423
 #, python-format
-msgid "command line option; %s"
-msgstr "Kommandozeilenoption; %s"
+msgid "%scommand line option; %s"
+msgstr "%sKommandozeilenoption; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "Plattformen: "
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr "%s (Modul)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "Autor des Abschnitts: "
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "Autor des Moduls: "
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "Autor: "
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "Siehe auch"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "Achtung"
@@ -316,30 +344,39 @@
 msgid "built-in function"
 msgstr "eingebaute Funktion"
 
-#: sphinx/static/doctools.js:172
+#: sphinx/static/doctools.js:174
 msgid "Hide Search Matches"
 msgstr "Suchergebnisse ausblenden"
 
-#: sphinx/static/searchtools.js:242
-#, fuzzy
+#: sphinx/static/searchtools.js:274
 msgid "Searching"
 msgstr "Suchen..."
 
-#: sphinx/static/searchtools.js:246
-msgid "Getting search index..."
-msgstr "Suchindex wird geladen..."
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "Suche wird vorbereitet..."
+
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr "Modul, in "
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
 
-#: sphinx/static/searchtools.js:384 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "Suchergebnisse"
 
-#: sphinx/static/searchtools.js:386
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
-msgstr "Es wurden keine Dokumente gefunden. Haben Sie alle Suchworte richtig geschrieben und genügend Kategorien ausgewählt?"
+msgstr ""
+"Es wurden keine Dokumente gefunden. Haben Sie alle Suchworte richtig "
+"geschrieben und genügend Kategorien ausgewählt?"
 
-#: sphinx/static/searchtools.js:389
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
 msgstr "Suche beendet, %s Seite(n) mit Ergebnissen wurden gefunden."
@@ -360,10 +397,6 @@
 msgid "lists all sections and subsections"
 msgstr "Liste aller Kapitel und Unterkapitel"
 
-#: sphinx/templates/defindex.html:16
-msgid "Search page"
-msgstr "Suche"
-
 #: sphinx/templates/defindex.html:17
 msgid "search this documentation"
 msgstr "Durchsuche diese Dokumentation"
@@ -447,23 +480,15 @@
 msgid "Enter a module, class or function name."
 msgstr "Gib einen Modul-, Klassen- oder Funktionsnamen an."
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "Suche in %(docstitle)s"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "Über diese Dokumentation"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "Globales Inhaltsverzeichnis"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "Globale Stichwortverzeichnis"
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -525,11 +550,12 @@
 "dieser Seite umzuleiten, aber dies muss nicht die richtige Seite sein."
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
+"    containing fewer words won't appear in the result list."
 msgstr ""
 "Von hier aus kannst du die Dokumentation durchsuchen. Gib deine "
 "Suchbegriffe in das untenstehende Feld ein und klicke auf \"suchen\". "

Modified: doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "es", "plural_expr": "(n != 1)", "messages": {"Search Results": "Resultados de la b\u00fasqueda", "Preparing search...": "Preparando la b\u00fasqueda", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "La b\u00fasqueda no dio ning\u00fan resultado.  Por favor aseg\u00farese que escribi\u00f3 todas las palabras correctamente y que ha seleccionado suficientes categor\u00edas", "Search finished, found %s page(s) matching the search query.": "B\u00fasqueda finalizada, se han encontrado %s p\u00e1gina(s) que concuerdan con su consulta", "Permalink to this headline": "Enlazar permanentemente con este t\u00edtulo", "Searching": "Buscando", "Permalink to this definition": "Enlazar permanentemente con esta definici\u00f3n", "Hide Search Matches": "Coincidencias de la b\u00fasqueda"}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "es", "plural_expr": "(n != 1)", "messages": {"module, in ": "m\u00f3dulo", "Preparing search...": "Preparando la b\u00fasqueda", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "La b\u00fasqueda no dio ning\u00fan resultado.  Por favor aseg\u00farese que escribi\u00f3 todas las palabras correctamente y que ha seleccionado suficientes categor\u00edas", "Search finished, found %s page(s) matching the search query.": "B\u00fasqueda finalizada, se han encontrado %s p\u00e1gina(s) que concuerdan con su consulta", ", in ": "", "Permalink to this headline": "Enlazar permanentemente con este t\u00edtulo", "Searching": "Buscando", "Permalink to this definition": "Enlazar permanentemente con esta definici\u00f3n", "Hide Search Matches": "Coincidencias de la b\u00fasqueda", "Search Results": "Resultados de la b\u00fasqueda"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files. No diff available.

Modified: doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/es/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -1,4 +1,4 @@
-# Translations template for Sphinx.
+# Spanish translations for Sphinx.
 # Copyright (C) 2008 ORGANIZATION
 # This file is distributed under the same license as the Sphinx project.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
@@ -8,240 +8,264 @@
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: guillem at torroja.dmt.upm.es\n"
 "POT-Creation-Date: 2008-09-11 23:58+0200\n"
-"PO-Revision-Date: 2008-10-23 22:11+0200\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
 "Last-Translator: Guillem Borrell <guillem at torroja.dmt.upm.es>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"Language-Team: es <LL at li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:400
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%d %b, %Y"
 
-#: sphinx/builder.py:419 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "Índice General"
 
-#: sphinx/builder.py:419
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "índice"
 
-#: sphinx/builder.py:421 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "Índice Global de Módulos"
 
-#: sphinx/builder.py:421
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "módulos"
 
-#: sphinx/builder.py:457
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "siguiente"
 
-#: sphinx/builder.py:464
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "anterior"
 
-#: sphinx/builder.py:1108
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 #, fuzzy
 msgid "Builtins"
 msgstr "Funciones de base"
 
-#: sphinx/builder.py:1110
+#: sphinx/builder.py:1131
 #, fuzzy
 msgid "Module level"
 msgstr "Módulos"
 
-#: sphinx/environment.py:107 sphinx/latexwriter.py:129
-#, python-format, fuzzy
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
+#, fuzzy, python-format
 msgid "%B %d, %Y"
 msgstr "%d de %B de %Y"
 
-#: sphinx/environment.py:270 sphinx/latexwriter.py:190
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
 #: sphinx/templates/genindex-single.html:2
 #: sphinx/templates/genindex-split.html:2
 #: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
 #: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
 msgid "Index"
 msgstr "Índice"
 
-#: sphinx/environment.py:271 sphinx/latexwriter.py:188
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
 msgid "Module Index"
 msgstr "Índice de Módulos"
 
-#: sphinx/environment.py:272 sphinx/templates/defindex.html:16
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
 msgid "Search Page"
 msgstr "Página de Búsqueda"
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:145
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "Enlazar permanentemente con esta definición"
 
-#: sphinx/htmlwriter.py:375 sphinx/static/doctools.js:139
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "Enlazar permanentemente con este título"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 #, fuzzy
 msgid "Release"
 msgstr "Versión"
 
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "variables de entorno; %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr "Plataforma: %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[imagen]"
 
-#: sphinx/directives/desc.py:26
-#, python-format, fuzzy
+#: sphinx/directives/desc.py:25
+#, fuzzy, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (función de base)"
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (en el módulo %s)"
 
-#: sphinx/directives/desc.py:30
-#, python-format, fuzzy
+#: sphinx/directives/desc.py:29
+#, fuzzy, python-format
 msgid "%s (built-in variable)"
 msgstr "%s (variable de base)"
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s (en el módulo %s)"
 
 #: sphinx/directives/desc.py:33
+#, fuzzy, python-format
+msgid "%s (built-in class)"
+msgstr "%s (variable de base)"
+
+#: sphinx/directives/desc.py:34
 #, python-format
 msgid "%s (class in %s)"
 msgstr "%s (clase en %s)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (%s.%s método)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (%s método)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (%s.%s método estático)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (%s método estático)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s (%s.%s atributo)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s (%s atributo)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (función C)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (miembro C)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (macro C)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (tipo C)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (variable C)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "Muestra"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "Variable"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "Devuelve"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 #, fuzzy
 msgid "Return type"
 msgstr "Tipo del argumento devuelto"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "Parámetros"
 
-#: sphinx/directives/desc.py:402
-#, python-format
-msgid "command line option; %s"
-msgstr "Opciones en línea de comandos; %s"
+#: sphinx/directives/desc.py:423
+#, fuzzy, python-format
+msgid "%scommand line option; %s"
+msgstr "%sOpciones en línea de comandos; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "Plataformas:"
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr "%s (módulo)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "Autor de la sección"
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "Autor del módulo"
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "Autor:"
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "Ver también"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "Atención"
@@ -339,20 +363,34 @@
 msgid "Preparing search..."
 msgstr "Preparando la búsqueda"
 
-#: sphinx/static/searchtools.js:401 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:338
+#, fuzzy
+msgid "module, in "
+msgstr "módulo"
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "Resultados de la búsqueda"
 
-#: sphinx/static/searchtools.js:403
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
-msgstr "La búsqueda no dio ningún resultado.  Por favor asegúrese que escribió todas las palabras correctamente y que ha seleccionado suficientes categorías"
+msgstr ""
+"La búsqueda no dio ningún resultado.  Por favor asegúrese que escribió "
+"todas las palabras correctamente y que ha seleccionado suficientes "
+"categorías"
 
-#: sphinx/static/searchtools.js:405
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
-msgstr "Búsqueda finalizada, se han encontrado %s página(s) que concuerdan con su consulta"
+msgstr ""
+"Búsqueda finalizada, se han encontrado %s página(s) que concuerdan con su"
+" consulta"
 
 #: sphinx/templates/defindex.html:2
 msgid "Overview"
@@ -453,23 +491,15 @@
 msgid "Enter a module, class or function name."
 msgstr "Introducir en nombre de un módulo, clase o función"
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "Buscar en %(docstitle)s"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "Sobre este documento"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "Índice General"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "Índice Global"
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -499,7 +529,9 @@
 msgid ""
 "Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
 "%(sphinx_version)s."
-msgstr "Creado con <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> %(sphinx_version)s."
+msgstr ""
+"Creado con <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
 
 #: sphinx/templates/modindex.html:15
 msgid "Most popular modules:"
@@ -523,15 +555,23 @@
 "<strong>Note:</strong> You requested an out-of-date URL from this server."
 " We've tried to redirect you to the new location of this page, but it may"
 " not be the right one."
-msgstr "<strong>Nota:</strong> Has solicitado una dirección desactualizada a este servidor.  Hemos intentado redirigirte a la nueva dirección de la misma página pero puede no ser la correcta."
+msgstr ""
+"<strong>Nota:</strong> Has solicitado una dirección desactualizada a este"
+" servidor.  Hemos intentado redirigirte a la nueva dirección de la misma "
+"página pero puede no ser la correcta."
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
-msgstr "Este es el diálogo de búsqueda.  Introduce los términos en el diálogo siguiente y pulsa \"buscar\".  El asistente buscará automáticamente todas las palabras.  Las páginas que contengan menos palabras no aparecerán en la lista de resultados."
+"    containing fewer words won't appear in the result list."
+msgstr ""
+"Este es el diálogo de búsqueda.  Introduce los términos en el diálogo "
+"siguiente y pulsa \"buscar\".  El asistente buscará automáticamente todas"
+" las palabras.  Las páginas que contengan menos palabras no aparecerán en"
+" la lista de resultados."
 
 #: sphinx/templates/search.html:14
 msgid "search"

Modified: doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "fr", "plural_expr": "(n > 1)", "messages": {"Search Results": "R\u00e9sultats de la recherche", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "", "Getting search index...": "", "Permalink to this headline": "Lien permanent vers ce titre", "Searching": "rechercher", "Permalink to this definition": "Lien permanent vers cette d\u00e9finition", "Hide Search Matches": "", "Search finished, found %s page(s) matching the search query.": ""}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "fr", "plural_expr": "(n > 1)", "messages": {"module, in ": "module, dans", "Preparing search...": "Pr\u00e9paration de la recherche...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Votre recherche ne correspond \u00e0 aucun document. V\u00e9rifiez l'orthographe des termes de recherche et que vous avez s\u00e9lectionn\u00e9 suffisamment de cat\u00e9gories.", "Search finished, found %s page(s) matching the search query.": "La recherche est termin\u00e9e, %s page(s) correspond(ent) \u00e0 la requ\u00eate.", ", in ": ", dans", "Permalink to this headline": "Lien permanent vers ce titre", "Searching": "En cours de recherche", "Permalink to this definition": "Lien permanent vers cette d\u00e9finition", "Hide Search Matches": "Cacher les r\u00e9sultats de la recherche", "Search Results": "R\u00e9sultats de la recherche"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files. No diff available.

Modified: doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/fr/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -2,240 +2,267 @@
 # Copyright (C) 2008 ORGANIZATION
 # This file is distributed under the same license as the Sphinx project.
 # David Larlet <larlet at gmail.com>, 2008.
+# Sebastien Douche <sdouche at gmail.com>, 2008.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: larlet at gmail.com\n"
 "POT-Creation-Date: 2008-08-08 12:39+0000\n"
-"PO-Revision-Date: 2008-09-06 19:10+0200\n"
-"Last-Translator: David Larlet <larlet at gmail.com>\n"
-"Language-Team: fr <LL at li.org>\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
+"Last-Translator: Sébastien Douche <sdouche at gmail.com>\n"
+"Language-Team: French Translation Team <sphinx-dev at googlegroups.com>\n"
 "Plural-Forms: nplurals=2; plural=(n > 1)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:391
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%d %b %Y"
 
-#: sphinx/builder.py:410 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "Index général"
 
-#: sphinx/builder.py:410
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "index"
 
-#: sphinx/builder.py:412 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "Index général des modules"
 
-#: sphinx/builder.py:412
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "modules"
 
-#: sphinx/builder.py:448
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "suivant"
 
-#: sphinx/builder.py:455
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "précédent"
 
-#: sphinx/builder.py:1092
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr "(dans"
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr "Fonctions de base"
 
-#: sphinx/builder.py:1094
-#, fuzzy
+#: sphinx/builder.py:1131
 msgid "Module level"
-msgstr "Modules"
+msgstr "Module"
 
-#: sphinx/environment.py:108 sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr "%d %B %Y"
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:143
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Index"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "Index du module"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "Page de recherche"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "Lien permanent vers cette définition"
 
-#: sphinx/htmlwriter.py:379 sphinx/static/doctools.js:136
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "Lien permanent vers ce titre"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
-msgstr "Release"
-
-#: sphinx/latexwriter.py:188
-#, fuzzy
-msgid "Module index"
-msgstr "Index général des modules"
+msgstr "Version"
 
-#: sphinx/latexwriter.py:190 sphinx/templates/genindex-single.html:2
-#: sphinx/templates/genindex-split.html:2
-#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
-#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
-msgid "Index"
-msgstr "Index"
-
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "variable d'environnement; %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
-msgstr "Plateforme: %s"
+msgstr "Plateforme : %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[image]"
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (fonction de base)"
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (dans le module %s)"
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr "%s (variable de base)"
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s (dans le module %s)"
 
 #: sphinx/directives/desc.py:33
 #, python-format
+msgid "%s (built-in class)"
+msgstr "%s (classe de base)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
 msgid "%s (class in %s)"
 msgstr "%s (classe dans %s)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (méthode %s.%s)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (méthode %s)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (méthode statique %s.%s)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (méthode statique %s)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s (attribut %s.%s)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s (attribut %s)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (fonction C)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (membre C)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (macro C)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (type C)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (variable C)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "Lève"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "Variable"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "Retourne"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr "Type retourné"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "Paramètres"
 
-#: sphinx/directives/desc.py:402
+#: sphinx/directives/desc.py:423
 #, python-format
-msgid "command line option; %s"
-msgstr "option de ligne de commande; %s"
+msgid "%scommand line option; %s"
+msgstr "%soption de ligne de commande; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "Plateformes : "
 
-#: sphinx/directives/other.py:107
-#, fuzzy, python-format
+#: sphinx/directives/other.py:106
+#, python-format
 msgid "%s (module)"
 msgstr "%s (module)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "Auteur de la section : "
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "Auteur du module : "
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "Auteur : "
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "Voir aussi"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr "A faire"
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr "(L'entrée orginale se trouve dans %s, à la ligne %d et peut être trouvé"
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr "ici"
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "Attention"
@@ -319,33 +346,43 @@
 msgid "built-in function"
 msgstr "fonction de base"
 
-#: sphinx/static/doctools.js:172
+#: sphinx/static/doctools.js:174
 msgid "Hide Search Matches"
-msgstr ""
+msgstr "Cacher les résultats de la recherche"
 
-#: sphinx/static/searchtools.js:242
-#, fuzzy
+#: sphinx/static/searchtools.js:274
 msgid "Searching"
-msgstr "rechercher"
+msgstr "En cours de recherche"
 
-#: sphinx/static/searchtools.js:246
-msgid "Getting search index..."
-msgstr ""
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "Préparation de la recherche..."
+
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr "module, dans"
 
-#: sphinx/static/searchtools.js:384 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ", dans"
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "Résultats de la recherche"
 
-#: sphinx/static/searchtools.js:386
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
 msgstr ""
+"Votre recherche ne correspond à aucun document. Vérifiez l'orthographe "
+"des termes de recherche et que vous avez sélectionné suffisamment de "
+"catégories."
 
-#: sphinx/static/searchtools.js:389
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
-msgstr ""
+msgstr "La recherche est terminée, %s page(s) correspond(ent) à la requête."
 
 #: sphinx/templates/defindex.html:2
 msgid "Overview"
@@ -363,10 +400,6 @@
 msgid "lists all sections and subsections"
 msgstr "lister l'ensemble des sections et sous-sections"
 
-#: sphinx/templates/defindex.html:16
-msgid "Search page"
-msgstr "Page de recherche"
-
 #: sphinx/templates/defindex.html:17
 msgid "search this documentation"
 msgstr "rechercher dans cette documentation"
@@ -450,23 +483,15 @@
 msgid "Enter a module, class or function name."
 msgstr "Saisissez un nom de module, classe ou fonction."
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "Recherchez dans %(docstitle)s"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "À propos de ces documents"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "Table des matières générale"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "Index général"
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -528,11 +553,12 @@
 "cette page, mais ce n'est peut-être pas la bonne."
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
+"    containing fewer words won't appear in the result list."
 msgstr ""
 "Vous pouvez effectuer une recherche au sein des documents. Saisissez les "
 "termes\n"

Modified: doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "ja", "plural_expr": "0", "messages": {"Search Results": "\u691c\u7d22\u7d50\u679c", "Preparing search...": "\u691c\u7d22\u306e\u6e96\u5099\u4e2d...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "\u691c\u7d22\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u691c\u7d22\u3057\u305f\u3044\u8a00\u8449\u3092\u6b63\u3057\u3044\u3064\u3065\u308a\u3067\u5165\u529b\u3057\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u6b63\u3057\u3044\u30ab\u30c6\u30b4\u30ea\u306e\u691c\u7d22\u3092\u884c\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "Search finished, found %s page(s) matching the search query.": "\u691c\u7d22\u304c\u7d42\u4e86\u3057\u3001\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30da\u30fc\u30b8\u304c %s \u500b\u307f\u3064\u304b\u308a\u307e\u3057\u305f\u3002", "Permalink to this headline": "\u3053\u306e\u30d8\u30c3\u30c9\u30e9\u30a4\u30f3\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af", "Searching": "\u691c\u7d22\u4e2d", "Permalink to this definition": "\u3053\u306e\u5b9a\u7fa9\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af", "Hide Search Matches": "\u691c\u7d22\u7d50\u679c\u3092\u96a0\u3059"}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "ja", "plural_expr": "0", "messages": {"module, in ": "\u30e2\u30b8\u30e5\u30fc\u30eb", "Preparing search...": "\u691c\u7d22\u306e\u6e96\u5099\u4e2d...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "\u691c\u7d22\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u691c\u7d22\u3057\u305f\u3044\u8a00\u8449\u3092\u6b63\u3057\u3044\u3064\u3065\u308a\u3067\u5165\u529b\u3057\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u6b63\u3057\u3044\u30ab\u30c6\u30b4\u30ea\u306e\u691c\u7d22\u3092\u884c\u3063\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "Search finished, found %s page(s) matching the search query.": "\u691c\u7d22\u304c\u7d42\u4e86\u3057\u3001\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30da\u30fc\u30b8\u304c %s \u500b\u307f\u3064\u304b\u308a\u307e\u3057\u305f\u3002", ", in ": "", "Permalink to this headline": "\u3053\u306e\u30d8\u30c3\u30c9\u30e9\u30a4\u30f3\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af", "Searching": "\u691c\u7d22\u4e2d", "Permalink to this definition": "\u3053\u306e\u5b9a\u7fa9\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af", "Hide Search Matches": "\u691c\u7d22\u7d50\u679c\u3092\u96a0\u3059", "Search Results": "\u691c\u7d22\u7d50\u679c"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files. No diff available.

Modified: doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/ja/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -3,244 +3,265 @@
 # This file is distributed under the same license as the Sphinx project.
 # Yasushi Masuda <whosaysni at gmail.com>, 2008.
 #
-#
 msgid ""
 msgstr ""
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
 "POT-Creation-Date: 2008-09-11 23:58+0200\n"
-"PO-Revision-Date: 2008-09-17 12:00:00+0900\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
 "Last-Translator: Yasushi MASUDA <whosaysni at gmail.com>\n"
 "Language-Team: ja <LL at li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:400
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%Y 年 %m 月 %d 日"
 
-#: sphinx/builder.py:419 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "総合索引"
 
-#: sphinx/builder.py:419
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "索引"
 
-
-#: sphinx/builder.py:421 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "モジュール総索引"
 
-#: sphinx/builder.py:421
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "モジュール"
 
-#: sphinx/builder.py:457
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "次へ"
 
-#: sphinx/builder.py:464
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "前へ"
 
-#: sphinx/builder.py:1108
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr "組み込み"
 
-#: sphinx/builder.py:1110
+#: sphinx/builder.py:1131
 msgid "Module level"
 msgstr "モジュールレベル"
 
-
-#: sphinx/environment.py:107 sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr "%Y 年 %m 月 %d 日"
 
-#: sphinx/environment.py:270 sphinx/latexwriter.py:190
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
 #: sphinx/templates/genindex-single.html:2
 #: sphinx/templates/genindex-split.html:2
 #: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
 #: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
 msgid "Index"
 msgstr "索引"
 
-#: sphinx/environment.py:271 sphinx/latexwriter.py:188
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
 msgid "Module Index"
 msgstr "モジュール索引"
 
-#: sphinx/environment.py:272 sphinx/templates/defindex.html:16
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
 msgid "Search Page"
 msgstr "検索ページ"
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:145
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "この定義へのパーマリンク"
 
-#: sphinx/htmlwriter.py:375 sphinx/static/doctools.js:139
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "このヘッドラインへのパーマリンク"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
 msgstr "リリース"
 
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "環境変数; %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr "プラットフォーム: %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[画像]"
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (組み込み関数)"
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (%s モジュール)"
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr "%s (組み込み変数)"
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s (%s モジュール)"
 
 #: sphinx/directives/desc.py:33
+#, fuzzy, python-format
+msgid "%s (built-in class)"
+msgstr "%s (組み込み変数)"
+
+#: sphinx/directives/desc.py:34
 #, python-format
 msgid "%s (class in %s)"
 msgstr "%s (%s のクラス)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (%s.%s のメソッド)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (%s のメソッド)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (%s.%s の静的メソッド)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (%s の静的メソッド)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s (%s.%s の属性)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s (%s の属性)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (C の関数)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (C のメンバ変数)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (C のマクロ)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (C のデータ型)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (C の変数)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "例外"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "変数"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "戻り値"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr "戻り値の型"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "パラメタ"
 
-#: sphinx/directives/desc.py:402
-#, python-format
-msgid "command line option; %s"
-msgstr "コマンドラインオプション; %s"
+#: sphinx/directives/desc.py:423
+#, fuzzy, python-format
+msgid "%scommand line option; %s"
+msgstr "%sコマンドラインオプション; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "プラットフォーム: "
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr "%s (モジュール)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "この節の作者: "
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "モジュールの作者: "
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "作者: "
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "参考"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "注意"
@@ -336,20 +357,26 @@
 msgid "Preparing search..."
 msgstr "検索の準備中..."
 
-#: sphinx/static/searchtools.js:401 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:338
+#, fuzzy
+msgid "module, in "
+msgstr "モジュール"
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "検索結果"
 
-#: sphinx/static/searchtools.js:403
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
-msgstr ""
-"検索条件に一致するドキュメントはありませんでした。検索したい言葉を"
-"正しいつづりで入力しているか確認してください。また、正しいカテゴリ"
-"の検索を行っているか確認してください。"
+msgstr "検索条件に一致するドキュメントはありませんでした。検索したい言葉を正しいつづりで入力しているか確認してください。また、正しいカテゴリの検索を行っているか確認してください。"
 
-#: sphinx/static/searchtools.js:405
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
 msgstr "検索が終了し、条件に一致するページが %s 個みつかりました。"
@@ -453,23 +480,15 @@
 msgid "Enter a module, class or function name."
 msgstr "モジュール、クラス、または関数名を入力してください"
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "%(docstitle)s 内を検索"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "このドキュメントについて"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "総目次"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "総合索引"
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -526,21 +545,17 @@
 " We've tried to redirect you to the new location of this page, but it may"
 " not be the right one."
 msgstr ""
-"<strong>注意:</strong> あなたが表示しようとしているのは古い URL です。"
-"このページに対応する新しい URL へのリダイレクトを試みますが、"
-"適切なリダイレクト先でないかもしれないので注意してください。"
+"<strong>注意:</strong> あなたが表示しようとしているのは古い URL です。このページに対応する新しい URL "
+"へのリダイレクトを試みますが、適切なリダイレクト先でないかもしれないので注意してください。"
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
-msgstr ""
-"このページからドキュメントを検索できます。キーワードを下のボックスに入力"
-"して、「検索」をクリックしてください。入力された全てのキーワードを含む"
-"ページが検索されます。一部のキーワードしか含まないページは検索結果に"
-"表示されないので注意してください。"
+"    containing fewer words won't appear in the result list."
+msgstr "このページからドキュメントを検索できます。キーワードを下のボックスに入力して、「検索」をクリックしてください。入力された全てのキーワードを含むページが検索されます。一部のキーワードしか含まないページは検索結果に表示されないので注意してください。"
 
 #: sphinx/templates/search.html:14
 msgid "search"

Added: doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.js
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -0,0 +1 @@
+Documentation.addTranslations({"locale": "nl", "plural_expr": "(n != 1)", "messages": {"module, in ": "module", "Preparing search...": "Het zoeken wordt voorbereid", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Uw zoekopdracht leverde geen resultaten op.  Controleer of alle woordencorrect gespeld zijn en dat u genoeg categori\u00ebn hebt geselecteerd.", "Search finished, found %s page(s) matching the search query.": "Zoeken voltooid, %s pagina(s) gevonden.", ", in ": "", "Permalink to this headline": "Permanente link naar deze titel", "Searching": "Zoeken", "Permalink to this definition": "Permanente link naar deze definitie", "Hide Search Matches": "Zoekresultaten verbergen", "Search Results": "Zoekresultaten"}});
\ No newline at end of file

Added: doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.mo
==============================================================================
Binary file. No diff available.

Added: doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.po
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/nl/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,603 @@
+# Copyright (C) 2008 ORGANIZATION
+# This file is distributed under the same license as the Sphinx project.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Sphinx 0.5\n"
+"Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
+"POT-Creation-Date: 2008-09-11 23:58+0200\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
+"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"Language-Team: nl <LL at li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.4\n"
+
+#: sphinx/builder.py:408
+#, python-format
+msgid "%b %d, %Y"
+msgstr "%d.%b.%Y"
+
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
+msgid "General Index"
+msgstr "Algemene index"
+
+#: sphinx/builder.py:427
+msgid "index"
+msgstr "Index"
+
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
+#: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
+#: sphinx/templates/modindex.html:13
+msgid "Global Module Index"
+msgstr "Globale Module-index"
+
+#: sphinx/builder.py:429
+msgid "modules"
+msgstr "modules"
+
+#: sphinx/builder.py:466
+msgid "next"
+msgstr "volgende"
+
+#: sphinx/builder.py:473
+msgid "previous"
+msgstr "vorige"
+
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
+msgid "Builtins"
+msgstr "Builtins"
+
+#: sphinx/builder.py:1131
+msgid "Module level"
+msgstr "Moduleniveau"
+
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
+#, python-format
+msgid "%B %d, %Y"
+msgstr "%d. %B %Y"
+
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Index"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "Module-index"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "Zoekpagina"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
+msgid "Permalink to this definition"
+msgstr "Permanente link naar deze definitie"
+
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
+msgid "Permalink to this headline"
+msgstr "Permanente link naar deze titel"
+
+#: sphinx/latexwriter.py:172
+msgid "Release"
+msgstr "Release"
+
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
+#, python-format
+msgid "environment variable; %s"
+msgstr "Omgevingsvariabele; %s"
+
+#: sphinx/roles.py:60
+#, python-format
+msgid "Python Enhancement Proposals!PEP %s"
+msgstr "Python Enhancement Proposals!PEP %s"
+
+#: sphinx/textwriter.py:166
+#, python-format
+msgid "Platform: %s"
+msgstr "Platform: %s"
+
+#: sphinx/textwriter.py:422
+msgid "[image]"
+msgstr "[afbeelding]"
+
+#: sphinx/directives/desc.py:25
+#, python-format
+msgid "%s() (built-in function)"
+msgstr "%s() (geïntegreerde functie)"
+
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
+#, python-format
+msgid "%s() (in module %s)"
+msgstr "%s() (in module %s)"
+
+#: sphinx/directives/desc.py:29
+#, python-format
+msgid "%s (built-in variable)"
+msgstr "%s (geïntegreerde variabele)"
+
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
+#, python-format
+msgid "%s (in module %s)"
+msgstr "%s (in module %s)"
+
+#: sphinx/directives/desc.py:33
+#, fuzzy, python-format
+msgid "%s (built-in class)"
+msgstr "%s (geïntegreerde variabele)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
+msgid "%s (class in %s)"
+msgstr "%s (klasse in %s)"
+
+#: sphinx/directives/desc.py:46
+#, python-format
+msgid "%s() (%s.%s method)"
+msgstr "%s() (%s.%s methode)"
+
+#: sphinx/directives/desc.py:48
+#, python-format
+msgid "%s() (%s method)"
+msgstr "%s() (%s methode)"
+
+#: sphinx/directives/desc.py:58
+#, python-format
+msgid "%s() (%s.%s static method)"
+msgstr "%s() (%s.%s statische methode)"
+
+#: sphinx/directives/desc.py:60
+#, python-format
+msgid "%s() (%s static method)"
+msgstr "%s() (%s statische methode)"
+
+#: sphinx/directives/desc.py:70
+#, python-format
+msgid "%s (%s.%s attribute)"
+msgstr "%s (%s.%s attribuut)"
+
+#: sphinx/directives/desc.py:72
+#, python-format
+msgid "%s (%s attribute)"
+msgstr "%s (%s attribuut)"
+
+#: sphinx/directives/desc.py:74
+#, python-format
+msgid "%s (C function)"
+msgstr "%s (C-functie)"
+
+#: sphinx/directives/desc.py:76
+#, python-format
+msgid "%s (C member)"
+msgstr "%s (C member)"
+
+#: sphinx/directives/desc.py:78
+#, python-format
+msgid "%s (C macro)"
+msgstr "%s (C-macro)"
+
+#: sphinx/directives/desc.py:80
+#, python-format
+msgid "%s (C type)"
+msgstr "%s (C type)"
+
+#: sphinx/directives/desc.py:82
+#, python-format
+msgid "%s (C variable)"
+msgstr "%s (C-variabele)"
+
+#: sphinx/directives/desc.py:100
+msgid "Raises"
+msgstr "Veroorzaakt"
+
+#: sphinx/directives/desc.py:104
+msgid "Variable"
+msgstr "Variabele"
+
+#: sphinx/directives/desc.py:107
+msgid "Returns"
+msgstr "Returns"
+
+#: sphinx/directives/desc.py:116
+msgid "Return type"
+msgstr "Return type"
+
+#: sphinx/directives/desc.py:143
+msgid "Parameters"
+msgstr "Parameters"
+
+#: sphinx/directives/desc.py:423
+#, fuzzy, python-format
+msgid "%scommand line option; %s"
+msgstr "%scommandolijn optie; %s"
+
+#: sphinx/directives/other.py:101
+msgid "Platforms: "
+msgstr "Platformen: "
+
+#: sphinx/directives/other.py:106
+#, python-format
+msgid "%s (module)"
+msgstr "%s (module)"
+
+#: sphinx/directives/other.py:146
+msgid "Section author: "
+msgstr "Auteur van deze sectie: "
+
+#: sphinx/directives/other.py:148
+msgid "Module author: "
+msgstr "Auteur van deze module: "
+
+#: sphinx/directives/other.py:150
+msgid "Author: "
+msgstr "Auteur: "
+
+#: sphinx/directives/other.py:246
+msgid "See also"
+msgstr "Zie ook"
+
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
+#: sphinx/locale/__init__.py:15
+msgid "Attention"
+msgstr "Let op!"
+
+#: sphinx/locale/__init__.py:16
+msgid "Caution"
+msgstr "Pas op!"
+
+#: sphinx/locale/__init__.py:17
+msgid "Danger"
+msgstr "Gevaar"
+
+#: sphinx/locale/__init__.py:18
+msgid "Error"
+msgstr "Fout"
+
+#: sphinx/locale/__init__.py:19
+msgid "Hint"
+msgstr "Hint"
+
+#: sphinx/locale/__init__.py:20
+msgid "Important"
+msgstr "Belangrijk"
+
+#: sphinx/locale/__init__.py:21
+msgid "Note"
+msgstr "Notitie"
+
+#: sphinx/locale/__init__.py:22
+msgid "See Also"
+msgstr "Zie Ook"
+
+#: sphinx/locale/__init__.py:23
+msgid "Tip"
+msgstr "Tip"
+
+#: sphinx/locale/__init__.py:24
+msgid "Warning"
+msgstr "Waarschuwing"
+
+#: sphinx/locale/__init__.py:28
+#, python-format
+msgid "New in version %s"
+msgstr "Nieuw in versie %s"
+
+#: sphinx/locale/__init__.py:29
+#, python-format
+msgid "Changed in version %s"
+msgstr "Veranderd in versie %s"
+
+#: sphinx/locale/__init__.py:30
+#, python-format
+msgid "Deprecated since version %s"
+msgstr "Verouderd sinds versie %s"
+
+#: sphinx/locale/__init__.py:34
+msgid "module"
+msgstr "module"
+
+#: sphinx/locale/__init__.py:35
+msgid "keyword"
+msgstr "trefwoord"
+
+#: sphinx/locale/__init__.py:36
+msgid "operator"
+msgstr "operator"
+
+#: sphinx/locale/__init__.py:37
+msgid "object"
+msgstr "object"
+
+#: sphinx/locale/__init__.py:38
+msgid "exception"
+msgstr "foutmelding"
+
+#: sphinx/locale/__init__.py:39
+msgid "statement"
+msgstr "statement"
+
+#: sphinx/locale/__init__.py:40
+msgid "built-in function"
+msgstr "geïntegreerde functie"
+
+#: sphinx/static/doctools.js:174
+msgid "Hide Search Matches"
+msgstr "Zoekresultaten verbergen"
+
+#: sphinx/static/searchtools.js:274
+msgid "Searching"
+msgstr "Zoeken"
+
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "Het zoeken wordt voorbereid"
+
+#: sphinx/static/searchtools.js:338
+#, fuzzy
+msgid "module, in "
+msgstr "module"
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
+msgid "Search Results"
+msgstr "Zoekresultaten"
+
+#: sphinx/static/searchtools.js:449
+msgid ""
+"Your search did not match any documents. Please make sure that all words "
+"are spelled correctly and that you've selected enough categories."
+msgstr ""
+"Uw zoekopdracht leverde geen resultaten op.  Controleer of alle "
+"woordencorrect gespeld zijn en dat u genoeg categoriën hebt geselecteerd."
+
+#: sphinx/static/searchtools.js:451
+#, python-format
+msgid "Search finished, found %s page(s) matching the search query."
+msgstr "Zoeken voltooid, %s pagina(s) gevonden."
+
+#: sphinx/templates/defindex.html:2
+msgid "Overview"
+msgstr "Overzicht"
+
+#: sphinx/templates/defindex.html:11
+msgid "Indices and tables:"
+msgstr "Indices en tabellen:"
+
+#: sphinx/templates/defindex.html:14
+msgid "Complete Table of Contents"
+msgstr "Volledige inhoudstafel"
+
+#: sphinx/templates/defindex.html:15
+msgid "lists all sections and subsections"
+msgstr "geeft alle secties en subsecties weer"
+
+#: sphinx/templates/defindex.html:17
+msgid "search this documentation"
+msgstr "zoeken in deze documentatie"
+
+#: sphinx/templates/defindex.html:20
+msgid "quick access to all modules"
+msgstr "sneltoegang naar alle modules"
+
+#: sphinx/templates/defindex.html:22
+msgid "all functions, classes, terms"
+msgstr "alle functies, klasses en begrippen"
+
+#: sphinx/templates/genindex-single.html:5
+#, python-format
+msgid "Index &ndash; %(key)s"
+msgstr "Index &ndash; %(key)s"
+
+#: sphinx/templates/genindex-single.html:44
+#: sphinx/templates/genindex-split.html:14
+#: sphinx/templates/genindex-split.html:27 sphinx/templates/genindex.html:54
+msgid "Full index on one page"
+msgstr "Volledige index op een pagina"
+
+#: sphinx/templates/genindex-split.html:7
+msgid "Index pages by letter"
+msgstr "Index pagineerd per letter"
+
+#: sphinx/templates/genindex-split.html:15
+msgid "can be huge"
+msgstr "kan heel groot zijn"
+
+#: sphinx/templates/layout.html:9
+msgid "Navigation"
+msgstr "Navigatie"
+
+#: sphinx/templates/layout.html:40
+msgid "Table Of Contents"
+msgstr "Inhoudstafel"
+
+#: sphinx/templates/layout.html:46
+msgid "Previous topic"
+msgstr "Vorig onderwerp"
+
+#: sphinx/templates/layout.html:47
+msgid "previous chapter"
+msgstr "Vorig hoofdstuk"
+
+#: sphinx/templates/layout.html:50
+msgid "Next topic"
+msgstr "Volgend onderwerp"
+
+#: sphinx/templates/layout.html:51
+msgid "next chapter"
+msgstr "volgend hoofdstuk"
+
+#: sphinx/templates/layout.html:55
+msgid "This Page"
+msgstr "Deze Pagina"
+
+#: sphinx/templates/layout.html:59
+msgid "Suggest Change"
+msgstr "Wijziging Voorstellen"
+
+#: sphinx/templates/layout.html:60 sphinx/templates/layout.html:62
+msgid "Show Source"
+msgstr "Broncode weergeven"
+
+#: sphinx/templates/layout.html:71
+msgid "Quick search"
+msgstr "Snel zoeken"
+
+#: sphinx/templates/layout.html:71
+msgid "Keyword search"
+msgstr "Trefwoord opzoeken"
+
+#: sphinx/templates/layout.html:73
+msgid "Go"
+msgstr "Go"
+
+#: sphinx/templates/layout.html:78
+msgid "Enter a module, class or function name."
+msgstr "Geef de naam van een module, klasse of functie."
+
+#: sphinx/templates/layout.html:119
+#, python-format
+msgid "Search within %(docstitle)s"
+msgstr "Zoeken in %(docstitle)s"
+
+#: sphinx/templates/layout.html:128
+msgid "About these documents"
+msgstr "Over deze documenten"
+
+#: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
+#: sphinx/templates/search.html:5
+msgid "Search"
+msgstr "Zoeken"
+
+#: sphinx/templates/layout.html:133
+msgid "Copyright"
+msgstr "Copyright"
+
+#: sphinx/templates/layout.html:178
+#, python-format
+msgid "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+msgstr "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+
+#: sphinx/templates/layout.html:180
+#, python-format
+msgid "&copy; Copyright %(copyright)s."
+msgstr "&copy; Copyright %(copyright)s."
+
+#: sphinx/templates/layout.html:183
+#, python-format
+msgid "Last updated on %(last_updated)s."
+msgstr "Laatste aanpassing op %(last_updated)s."
+
+#: sphinx/templates/layout.html:186
+#, python-format
+msgid ""
+"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+msgstr ""
+"Aangemaakt met <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+
+#: sphinx/templates/modindex.html:15
+msgid "Most popular modules:"
+msgstr "Populairste modules:"
+
+#: sphinx/templates/modindex.html:24
+msgid "Show modules only available on these platforms"
+msgstr "Enkel modules weergeven die op deze platformen beschikbaar zijn"
+
+#: sphinx/templates/modindex.html:56
+msgid "Deprecated"
+msgstr "Verouderd"
+
+#: sphinx/templates/opensearch.xml:4
+#, python-format
+msgid "Search %(docstitle)s"
+msgstr "Zoeken %(docstitle)s"
+
+#: sphinx/templates/page.html:8
+msgid ""
+"<strong>Note:</strong> You requested an out-of-date URL from this server."
+" We've tried to redirect you to the new location of this page, but it may"
+" not be the right one."
+msgstr ""
+"<strong>Opgelet:</strong> U heeft een verouderde URL aangevraagd op deze "
+"server. Wij hebben probeerd u door te verwijzen naar de nieuwe locatie "
+"van deze pagina,  maar dat is misschien niet gelukt."
+
+#: sphinx/templates/search.html:7
+#, fuzzy
+msgid ""
+"From here you can search these documents. Enter your search\n"
+"    words into the box below and click \"search\". Note that the search\n"
+"    function will automatically search for all of the words. Pages\n"
+"    containing fewer words won't appear in the result list."
+msgstr ""
+"Hier kan u de documenten doorzoeken.  Geef enkele trefwoorden\n"
+"    in het veld hieronder en klik \"zoeken\".  Merk op dat de zoekfunctie"
+"\n"
+"    steeds naar alle woorden zoekt.  Pagina's die minder woorden bevatten"
+"\n"
+"    zullen niet tussen de resultaten verschijnen."
+
+#: sphinx/templates/search.html:14
+msgid "search"
+msgstr "zoeken"
+
+#: sphinx/templates/search.html:20
+msgid "Your search did not match any results."
+msgstr "Uw zoekopdracht leverde geen resultaten op."
+
+#: sphinx/templates/changes/frameset.html:5
+#: sphinx/templates/changes/versionchanges.html:12
+#, python-format
+msgid "Changes in Version %(version)s &mdash; %(docstitle)s"
+msgstr "Veranderingen in versie %(version)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/rstsource.html:5
+#, python-format
+msgid "%(filename)s &mdash; %(docstitle)s"
+msgstr "%(filename)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/versionchanges.html:17
+#, python-format
+msgid "Automatically generated list of changes in version %(version)s"
+msgstr "Automatisch genereerde lijst van veranderingen in versie %(version)s"
+
+#: sphinx/templates/changes/versionchanges.html:18
+msgid "Library changes"
+msgstr "Veranderingen in de bibliotheek"
+
+#: sphinx/templates/changes/versionchanges.html:23
+msgid "C API changes"
+msgstr "Veranderingen in de C-API"
+
+#: sphinx/templates/changes/versionchanges.html:25
+msgid "Other changes"
+msgstr "Andere veranderingen"
+

Modified: doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.js
==============================================================================
--- doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.js	(original)
+++ doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -1 +1 @@
-Documentation.addTranslations({"locale": "pl", "plural_expr": "(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Search Results": "Wyniki wyszukiwania", "Preparing search...": "Przygotowanie wyszukiwania...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Nie znaleziono \u017cadnych pasuj\u0105cych dokument\u00f3w. Upewnij si\u0119, \u017ce wszystkie s\u0142owa s\u0105 poprawnie wpisane i \u017ce wybra\u0142e\u015b wystarczaj\u0105c\u0105liczb\u0119 kategorii.", "Search finished, found %s page(s) matching the search query.": "Przeszukiwanie zako\u0144czone, znaleziono %s pasuj\u0105cych stron.", "Permalink to this headline": "Sta\u0142y odno\u015bnik do tego nag\u0142\u00f3wka", "Searching": "Wyszukiwanie", "Permalink to this definition": "Sta\u0142y odno\u015bnik do tej definicji", "Hide Search Matches": "Ukryj wyniki wyszukiwania"}});
\ No newline at end of file
+Documentation.addTranslations({"locale": "pl", "plural_expr": "(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"module, in ": "modu\u0142", "Preparing search...": "Przygotowanie wyszukiwania...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Nie znaleziono \u017cadnych pasuj\u0105cych dokument\u00f3w. Upewnij si\u0119, \u017ce wszystkie s\u0142owa s\u0105 poprawnie wpisane i \u017ce wybra\u0142e\u015b wystarczaj\u0105c\u0105liczb\u0119 kategorii.", "Search finished, found %s page(s) matching the search query.": "Przeszukiwanie zako\u0144czone, znaleziono %s pasuj\u0105cych stron.", ", in ": "", "Permalink to this headline": "Sta\u0142y odno\u015bnik do tego nag\u0142\u00f3wka", "Searching": "Wyszukiwanie", "Permalink to this definition": "Sta\u0142y odno\u015bnik do tej definicji", "Hide Search Matches": "Ukryj wyniki wyszukiwania", "Search Results": "Wyniki wyszukiwania"}});
\ No newline at end of file

Modified: doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.mo
==============================================================================
Binary files. No diff available.

Modified: doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.po
==============================================================================
--- doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.po	(original)
+++ doctools/trunk/sphinx/locale/pl/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -1,9 +1,10 @@
+
 msgid ""
 msgstr ""
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
 "POT-Creation-Date: 2008-08-10 11:43+0000\n"
-"PO-Revision-Date: 2008-09-16 15:47+0100\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
 "Last-Translator: Michał Kandulski <Michal.Kandulski at poczta.onet.pl>\n"
 "Language-Team: \n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && "
@@ -11,244 +12,253 @@
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:400
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr "%b %d %Y"
 
-#: sphinx/builder.py:419
-#: sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr "Indeks ogólny"
 
-#: sphinx/builder.py:419
+#: sphinx/builder.py:427
 msgid "index"
 msgstr "indeks"
 
-#: sphinx/builder.py:421
-#: sphinx/htmlhelp.py:155
-#: sphinx/templates/defindex.html:19
-#: sphinx/templates/modindex.html:2
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
+#: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr "Indeks modułów"
 
-#: sphinx/builder.py:421
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr "moduły"
 
-#: sphinx/builder.py:457
+#: sphinx/builder.py:466
 msgid "next"
 msgstr "dalej"
 
-#: sphinx/builder.py:464
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr "wstecz"
 
-#: sphinx/builder.py:1108
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr "Wbudowane"
 
-#: sphinx/builder.py:1110
+#: sphinx/builder.py:1131
 msgid "Module level"
 msgstr "Poziom modułu"
 
-#: sphinx/environment.py:107
-#: sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr "%B %d %Y"
 
-#: sphinx/environment.py:270
-#: sphinx/latexwriter.py:190
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
 #: sphinx/templates/genindex-single.html:2
 #: sphinx/templates/genindex-split.html:2
-#: sphinx/templates/genindex-split.html:5
-#: sphinx/templates/genindex.html:2
-#: sphinx/templates/genindex.html:5
-#: sphinx/templates/genindex.html:48
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
 msgid "Index"
 msgstr "Indeks"
 
-#: sphinx/environment.py:271
-#: sphinx/latexwriter.py:188
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
 msgid "Module Index"
 msgstr "Indeks modułów"
 
-#: sphinx/environment.py:272
-#: sphinx/templates/defindex.html:16
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
 msgid "Search Page"
 msgstr "Wyszukiwanie"
 
-#: sphinx/htmlwriter.py:73
-#: sphinx/static/doctools.js:145
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr "Stały odnośnik do tej definicji"
 
-#: sphinx/htmlwriter.py:375
-#: sphinx/static/doctools.js:139
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr "Stały odnośnik do tego nagłówka"
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
 msgstr "Wydanie"
 
-#: sphinx/roles.py:52
-#: sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr "zmienna środowiskowa; %s"
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr "Python Enhancement Proposals!PEP %s"
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr "Platforma: %s"
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr "[obrazek]"
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr "%s() (funkcja wbudowana)"
 
-#: sphinx/directives/desc.py:27
-#: sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr "%s() (w module %s)"
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr "%s (zmienna wbudowana)"
 
-#: sphinx/directives/desc.py:31
-#: sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr "%s (w module %s)"
 
 #: sphinx/directives/desc.py:33
+#, fuzzy, python-format
+msgid "%s (built-in class)"
+msgstr "%s (zmienna wbudowana)"
+
+#: sphinx/directives/desc.py:34
 #, python-format
 msgid "%s (class in %s)"
 msgstr "%s (w klasie %s)"
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr "%s() (%s.%s metoda)"
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr "%s() (%s metoda)"
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr "%s() (%s.%s statyczna metoda)"
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr "%s() (%s statyczna metoda)"
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr "%s (%s.%s atrybut)"
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr "%s (%s atrybut)"
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr "%s (funkcja C)"
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr "%s (pole C)"
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr "%s (makro C)"
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr "%s (typ C)"
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr "%s (zmienna C)"
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr "Wyrzuca"
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr "Zmienna"
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr "Zwraca"
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr "Typ zwracany"
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr "Parametry"
 
-#: sphinx/directives/desc.py:402
-#, python-format
-msgid "command line option; %s"
-msgstr "opcja linii komend; %s"
+#: sphinx/directives/desc.py:423
+#, fuzzy, python-format
+msgid "%scommand line option; %s"
+msgstr "%sopcja linii komend; %s"
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr "Platformy: "
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr "%s (moduł)"
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr "Autor rozdziału: "
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr "Autor modułu: "
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr "Autor: "
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr "Zobacz także"
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr "Uwaga"
@@ -344,21 +354,28 @@
 msgid "Preparing search..."
 msgstr "Przygotowanie wyszukiwania..."
 
-#: sphinx/static/searchtools.js:401
-#: sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:338
+#, fuzzy
+msgid "module, in "
+msgstr "moduł"
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr "Wyniki wyszukiwania"
 
-#: sphinx/static/searchtools.js:403
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
 msgstr ""
-"Nie znaleziono żadnych pasujących dokumentów. Upewnij się, że "
-"wszystkie słowa są poprawnie wpisane i że wybrałeś wystarczającą"
-"liczbę kategorii."
+"Nie znaleziono żadnych pasujących dokumentów. Upewnij się, że wszystkie "
+"słowa są poprawnie wpisane i że wybrałeś wystarczającąliczbę kategorii."
 
-#: sphinx/static/searchtools.js:405
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
 msgstr "Przeszukiwanie zakończone, znaleziono %s pasujących stron."
@@ -398,8 +415,7 @@
 
 #: sphinx/templates/genindex-single.html:44
 #: sphinx/templates/genindex-split.html:14
-#: sphinx/templates/genindex-split.html:27
-#: sphinx/templates/genindex.html:54
+#: sphinx/templates/genindex-split.html:27 sphinx/templates/genindex.html:54
 msgid "Full index on one page"
 msgstr "Cały indeks na jednej stronie"
 
@@ -443,8 +459,7 @@
 msgid "Suggest Change"
 msgstr "Zasugeruj zmianę"
 
-#: sphinx/templates/layout.html:60
-#: sphinx/templates/layout.html:62
+#: sphinx/templates/layout.html:60 sphinx/templates/layout.html:62
 msgid "Show Source"
 msgstr "Pokaż źródło"
 
@@ -464,25 +479,16 @@
 msgid "Enter a module, class or function name."
 msgstr "Wprowadź nazwę modułu, klasy lub funkcji."
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr "Szukaj pośród %(docstitle)s"
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr "O tych dokumentach"
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr "Globalny spis treści"
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr "Globalny indeks"
-
-#: sphinx/templates/layout.html:131
-#: sphinx/templates/search.html:2
+#: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
 msgstr "Szukaj"
@@ -538,22 +544,23 @@
 " We've tried to redirect you to the new location of this page, but it may"
 " not be the right one."
 msgstr ""
-"<strong>Uwaga:</strong> Zażądano przedawnionego URL'a z tego serwera."
-" Nastąpiła próba przekierowania do nowej lokalizacji, ale może ona "
-"być niewłaściwa."
+"<strong>Uwaga:</strong> Zażądano przedawnionego URL'a z tego serwera. "
+"Nastąpiła próba przekierowania do nowej lokalizacji, ale może ona być "
+"niewłaściwa."
 
 #: sphinx/templates/search.html:7
+#, fuzzy
 msgid ""
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
+"    containing fewer words won't appear in the result list."
 msgstr ""
 "Stąd możesz przeszukać dokumentację. Wprowadź szukane\n"
 "    słowa w poniższym okienku i kliknij \"Szukaj\". Zwróć uwagę, że\n"
-"    funkcja szukająca będzie automatycznie szukała wszystkich słów. "
-"    Strony nie zawierające wszystkich słów nie znajdą się na wynikowej "
-"    liście."
+"    funkcja szukająca będzie automatycznie szukała wszystkich słów.     "
+"Strony nie zawierające wszystkich słów nie znajdą się na wynikowej     "
+"liście."
 
 #: sphinx/templates/search.html:14
 msgid "search"

Added: doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -0,0 +1 @@
+Documentation.addTranslations({"locale": "pt_BR", "plural_expr": "(n > 1)", "messages": {"module, in ": "m\u00f3dulo, em ", "Preparing search...": "Preparando pesquisa...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Sua pesquisa n\u00e3o encontrou nenhum documento. Por favor assegure-se de que todas as palavras foram digitadas corretamente e de que voc\u00ea tenha selecionado o m\u00ednimo de categorias.", "Search finished, found %s page(s) matching the search query.": "Pesquisa finalizada, foram encontrada(s) %s p\u00e1gina(s) que conferem com o crit\u00e9rio de pesquisa.", ", in ": ", em ", "Permalink to this headline": "Link permanente para este t\u00edtulo", "Searching": "Pesquisando", "Permalink to this definition": "Link permanente para esta defini\u00e7\u00e3o", "Hide Search Matches": "Esconder Resultados da Pesquisa", "Search Results": "Resultados da Pesquisa"}});
\ No newline at end of file

Added: doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo
==============================================================================
Binary file. No diff available.

Added: doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,606 @@
+# Portuguese (Brazil) translations for Sphinx.
+# Copyright (C) 2008 ORGANIZATION
+# This file is distributed under the same license as the Sphinx project.
+# FIRST AUTHOR <roger.demetrescu at gmail.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Sphinx 0.5\n"
+"Report-Msgid-Bugs-To: roger.demetrescu at gmail.com\n"
+"POT-Creation-Date: 2008-11-09 19:46+0100\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
+"Last-Translator: Roger Demetrescu <roger.demetrescu at gmail.com>\n"
+"Language-Team: pt_BR <roger.demetrescu at gmail.com>\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.4\n"
+
+#: sphinx/builder.py:408
+#, python-format
+msgid "%b %d, %Y"
+msgstr "%d/%m/%Y"
+
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
+msgid "General Index"
+msgstr "Índice Geral"
+
+#: sphinx/builder.py:427
+msgid "index"
+msgstr "índice"
+
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
+#: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
+#: sphinx/templates/modindex.html:13
+msgid "Global Module Index"
+msgstr "Índice Global de Módulos"
+
+#: sphinx/builder.py:429
+msgid "modules"
+msgstr "módulos"
+
+#: sphinx/builder.py:466
+msgid "next"
+msgstr "próximo"
+
+#: sphinx/builder.py:473
+msgid "previous"
+msgstr "anterior"
+
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr " (em "
+
+#: sphinx/builder.py:1129
+msgid "Builtins"
+msgstr "Internos"
+
+#: sphinx/builder.py:1131
+msgid "Module level"
+msgstr "Módulo"
+
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
+#, python-format
+msgid "%B %d, %Y"
+msgstr "%d/%m/%Y"
+
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Índice"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "Índice do Módulo"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "Página de Pesquisa"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
+msgid "Permalink to this definition"
+msgstr "Link permanente para esta definição"
+
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
+msgid "Permalink to this headline"
+msgstr "Link permanente para este título"
+
+#: sphinx/latexwriter.py:172
+msgid "Release"
+msgstr "Versão"
+
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
+#, python-format
+msgid "environment variable; %s"
+msgstr "váriavel de ambiente; %s"
+
+#: sphinx/roles.py:60
+#, python-format
+msgid "Python Enhancement Proposals!PEP %s"
+msgstr "Python Enhancement Proposals!PEP %s"
+
+#: sphinx/textwriter.py:166
+#, python-format
+msgid "Platform: %s"
+msgstr "Plataforma: %s"
+
+#: sphinx/textwriter.py:422
+msgid "[image]"
+msgstr "[imagem]"
+
+#: sphinx/directives/desc.py:25
+#, python-format
+msgid "%s() (built-in function)"
+msgstr "%s() (função interna)"
+
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
+#, python-format
+msgid "%s() (in module %s)"
+msgstr "%s() (no módulo %s)"
+
+#: sphinx/directives/desc.py:29
+#, python-format
+msgid "%s (built-in variable)"
+msgstr "%s (variável interna)"
+
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
+#, python-format
+msgid "%s (in module %s)"
+msgstr "%s (no módulo %s)"
+
+#: sphinx/directives/desc.py:33
+#, python-format
+msgid "%s (built-in class)"
+msgstr "%s (classe interna)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
+msgid "%s (class in %s)"
+msgstr "%s (classe em %s)"
+
+#: sphinx/directives/desc.py:46
+#, python-format
+msgid "%s() (%s.%s method)"
+msgstr "%s() (método %s.%s)"
+
+#: sphinx/directives/desc.py:48
+#, python-format
+msgid "%s() (%s method)"
+msgstr "%s() (método %s)"
+
+#: sphinx/directives/desc.py:58
+#, python-format
+msgid "%s() (%s.%s static method)"
+msgstr "%s() (método estático %s.%s)"
+
+#: sphinx/directives/desc.py:60
+#, python-format
+msgid "%s() (%s static method)"
+msgstr "%s() (método estático %s)"
+
+#: sphinx/directives/desc.py:70
+#, python-format
+msgid "%s (%s.%s attribute)"
+msgstr "%s (atributo %s.%s)"
+
+#: sphinx/directives/desc.py:72
+#, python-format
+msgid "%s (%s attribute)"
+msgstr "%s (atributo %s)"
+
+#: sphinx/directives/desc.py:74
+#, python-format
+msgid "%s (C function)"
+msgstr "%s (função C)"
+
+#: sphinx/directives/desc.py:76
+#, python-format
+msgid "%s (C member)"
+msgstr "%s (membro C)"
+
+#: sphinx/directives/desc.py:78
+#, python-format
+msgid "%s (C macro)"
+msgstr "%s (macro C)"
+
+#: sphinx/directives/desc.py:80
+#, python-format
+msgid "%s (C type)"
+msgstr "%s (tipo C)"
+
+#: sphinx/directives/desc.py:82
+#, python-format
+msgid "%s (C variable)"
+msgstr "%s (variável C)"
+
+#: sphinx/directives/desc.py:100
+msgid "Raises"
+msgstr "Levanta"
+
+#: sphinx/directives/desc.py:104
+msgid "Variable"
+msgstr "Variável"
+
+#: sphinx/directives/desc.py:107
+msgid "Returns"
+msgstr "Retorna"
+
+#: sphinx/directives/desc.py:116
+msgid "Return type"
+msgstr "Tipo de retorno"
+
+#: sphinx/directives/desc.py:143
+msgid "Parameters"
+msgstr "Parâmetros"
+
+#: sphinx/directives/desc.py:423
+#, python-format
+msgid "%scommand line option; %s"
+msgstr "%sopção de linha de comando; %s"
+
+#: sphinx/directives/other.py:101
+msgid "Platforms: "
+msgstr "Plataformas: "
+
+#: sphinx/directives/other.py:106
+#, python-format
+msgid "%s (module)"
+msgstr "%s (módulo)"
+
+#: sphinx/directives/other.py:146
+msgid "Section author: "
+msgstr "Autor da seção: "
+
+#: sphinx/directives/other.py:148
+msgid "Module author: "
+msgstr "Autor do módulo: "
+
+#: sphinx/directives/other.py:150
+msgid "Author: "
+msgstr "Autor: "
+
+#: sphinx/directives/other.py:246
+msgid "See also"
+msgstr "Veja também"
+
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr "Por fazer"
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr "(A entrada original está localizada em %s, linha %d e pode ser encontrada "
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr "aqui"
+
+#: sphinx/locale/__init__.py:15
+msgid "Attention"
+msgstr "Atenção"
+
+#: sphinx/locale/__init__.py:16
+msgid "Caution"
+msgstr "Cuidado"
+
+#: sphinx/locale/__init__.py:17
+msgid "Danger"
+msgstr "Perigo"
+
+#: sphinx/locale/__init__.py:18
+msgid "Error"
+msgstr "Erro"
+
+#: sphinx/locale/__init__.py:19
+msgid "Hint"
+msgstr "Dica"
+
+#: sphinx/locale/__init__.py:20
+msgid "Important"
+msgstr "Importante"
+
+#: sphinx/locale/__init__.py:21
+msgid "Note"
+msgstr "Nota"
+
+#: sphinx/locale/__init__.py:22
+msgid "See Also"
+msgstr "Veja Também"
+
+#: sphinx/locale/__init__.py:23
+msgid "Tip"
+msgstr "Dica"
+
+#: sphinx/locale/__init__.py:24
+msgid "Warning"
+msgstr "Aviso"
+
+#: sphinx/locale/__init__.py:28
+#, python-format
+msgid "New in version %s"
+msgstr "Novo na versão %s"
+
+#: sphinx/locale/__init__.py:29
+#, python-format
+msgid "Changed in version %s"
+msgstr "Alterado na versão %s"
+
+#: sphinx/locale/__init__.py:30
+#, python-format
+msgid "Deprecated since version %s"
+msgstr "Obsoleto desde a versão %s"
+
+#: sphinx/locale/__init__.py:34
+msgid "module"
+msgstr "módulo"
+
+#: sphinx/locale/__init__.py:35
+msgid "keyword"
+msgstr "palavra-chave"
+
+#: sphinx/locale/__init__.py:36
+msgid "operator"
+msgstr "operador"
+
+#: sphinx/locale/__init__.py:37
+msgid "object"
+msgstr "objeto"
+
+#: sphinx/locale/__init__.py:38
+msgid "exception"
+msgstr "exceção"
+
+#: sphinx/locale/__init__.py:39
+msgid "statement"
+msgstr "comando"
+
+#: sphinx/locale/__init__.py:40
+msgid "built-in function"
+msgstr "função interna"
+
+#: sphinx/static/doctools.js:174
+msgid "Hide Search Matches"
+msgstr "Esconder Resultados da Pesquisa"
+
+#: sphinx/static/searchtools.js:274
+msgid "Searching"
+msgstr "Pesquisando"
+
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "Preparando pesquisa..."
+
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr "módulo, em "
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ", em "
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
+msgid "Search Results"
+msgstr "Resultados da Pesquisa"
+
+#: sphinx/static/searchtools.js:449
+msgid ""
+"Your search did not match any documents. Please make sure that all words "
+"are spelled correctly and that you've selected enough categories."
+msgstr ""
+"Sua pesquisa não encontrou nenhum documento. Por favor assegure-se de que"
+" todas as palavras foram digitadas corretamente e de que você tenha "
+"selecionado o mínimo de categorias."
+
+#: sphinx/static/searchtools.js:451
+#, python-format
+msgid "Search finished, found %s page(s) matching the search query."
+msgstr ""
+"Pesquisa finalizada, foram encontrada(s) %s página(s) que conferem com o "
+"critério de pesquisa."
+
+#: sphinx/templates/defindex.html:2
+msgid "Overview"
+msgstr "Visão geral"
+
+#: sphinx/templates/defindex.html:11
+msgid "Indices and tables:"
+msgstr "Índices e tabelas:"
+
+#: sphinx/templates/defindex.html:14
+msgid "Complete Table of Contents"
+msgstr "Tabela de Conteúdo Completa"
+
+#: sphinx/templates/defindex.html:15
+msgid "lists all sections and subsections"
+msgstr "Lista todas seções e subseções"
+
+#: sphinx/templates/defindex.html:17
+msgid "search this documentation"
+msgstr "Pesquisar esta documentação"
+
+#: sphinx/templates/defindex.html:20
+msgid "quick access to all modules"
+msgstr "acesso rápido para todos os módulos"
+
+#: sphinx/templates/defindex.html:22
+msgid "all functions, classes, terms"
+msgstr "todas funções, classes, termos"
+
+#: sphinx/templates/genindex-single.html:5
+#, python-format
+msgid "Index &ndash; %(key)s"
+msgstr "Índice &ndash; %(key)s"
+
+#: sphinx/templates/genindex-single.html:44
+#: sphinx/templates/genindex-split.html:14
+#: sphinx/templates/genindex-split.html:27 sphinx/templates/genindex.html:54
+msgid "Full index on one page"
+msgstr "Índice completo em uma página"
+
+#: sphinx/templates/genindex-split.html:7
+msgid "Index pages by letter"
+msgstr "Paginas de índice por letra"
+
+#: sphinx/templates/genindex-split.html:15
+msgid "can be huge"
+msgstr "pode ser enorme"
+
+#: sphinx/templates/layout.html:9
+msgid "Navigation"
+msgstr "Navegação"
+
+#: sphinx/templates/layout.html:40
+msgid "Table Of Contents"
+msgstr "Tabela de Conteúdo"
+
+#: sphinx/templates/layout.html:46
+msgid "Previous topic"
+msgstr "Tópico anterior"
+
+#: sphinx/templates/layout.html:47
+msgid "previous chapter"
+msgstr "capítulo anterior"
+
+#: sphinx/templates/layout.html:50
+msgid "Next topic"
+msgstr "Próximo tópico"
+
+#: sphinx/templates/layout.html:51
+msgid "next chapter"
+msgstr "próximo capítulo"
+
+#: sphinx/templates/layout.html:55
+msgid "This Page"
+msgstr "Esta Página"
+
+#: sphinx/templates/layout.html:59
+msgid "Suggest Change"
+msgstr "Sugerir Alteração"
+
+#: sphinx/templates/layout.html:60 sphinx/templates/layout.html:62
+msgid "Show Source"
+msgstr "Exibir Fonte"
+
+#: sphinx/templates/layout.html:71
+msgid "Quick search"
+msgstr "Pesquisa rápida"
+
+#: sphinx/templates/layout.html:71
+msgid "Keyword search"
+msgstr "Pesquisa de palavras-chave"
+
+#: sphinx/templates/layout.html:73
+msgid "Go"
+msgstr "Ir"
+
+#: sphinx/templates/layout.html:78
+msgid "Enter a module, class or function name."
+msgstr "Informe o nome de um módulo, classe ou função."
+
+#: sphinx/templates/layout.html:119
+#, python-format
+msgid "Search within %(docstitle)s"
+msgstr "Pesquisar dentro de %(docstitle)s"
+
+#: sphinx/templates/layout.html:128
+msgid "About these documents"
+msgstr "Sobre estes documentos"
+
+#: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
+#: sphinx/templates/search.html:5
+msgid "Search"
+msgstr "Pesquisar"
+
+#: sphinx/templates/layout.html:133
+msgid "Copyright"
+msgstr "Copyright"
+
+#: sphinx/templates/layout.html:178
+#, python-format
+msgid "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+msgstr "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+
+#: sphinx/templates/layout.html:180
+#, python-format
+msgid "&copy; Copyright %(copyright)s."
+msgstr "&copy; Copyright %(copyright)s."
+
+#: sphinx/templates/layout.html:183
+#, python-format
+msgid "Last updated on %(last_updated)s."
+msgstr "Última atualização em %(last_updated)s."
+
+#: sphinx/templates/layout.html:186
+#, python-format
+msgid ""
+"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+msgstr ""
+"Criado com <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+
+#: sphinx/templates/modindex.html:15
+msgid "Most popular modules:"
+msgstr "Módulos mais populares:"
+
+#: sphinx/templates/modindex.html:24
+msgid "Show modules only available on these platforms"
+msgstr "Exibir somente módulos disponíveis nestas plataformas"
+
+#: sphinx/templates/modindex.html:56
+msgid "Deprecated"
+msgstr "Obsoleto"
+
+#: sphinx/templates/opensearch.xml:4
+#, python-format
+msgid "Search %(docstitle)s"
+msgstr "Pesquisar em %(docstitle)s"
+
+#: sphinx/templates/page.html:8
+msgid ""
+"<strong>Note:</strong> You requested an out-of-date URL from this server."
+" We've tried to redirect you to the new location of this page, but it may"
+" not be the right one."
+msgstr ""
+"<strong>Nota:</strong> Você requisitou uma URL desatualizada deste "
+"servidor. Tentamos redirecioná-lo para um novo endereço desta página, "
+"porém é possível que o mesmo não seja o correto."
+
+#: sphinx/templates/search.html:7
+#, fuzzy
+msgid ""
+"From here you can search these documents. Enter your search\n"
+"    words into the box below and click \"search\". Note that the search\n"
+"    function will automatically search for all of the words. Pages\n"
+"    containing fewer words won't appear in the result list."
+msgstr ""
+"A partir daqui você pode pesquisar estes documentos. Preencha suas \n"
+"    palavras de pesquisa na caixa abaixo e clique em  \"pesquisar\". "
+"Observe que a função de pesquisa\n"
+"    irá pesquisar automaticamente por todas as palavras.\n"
+"    Páginas contendo menos palavras não irão aparecer na lista de "
+"resultado."
+
+#: sphinx/templates/search.html:14
+msgid "search"
+msgstr "pesquisar"
+
+#: sphinx/templates/search.html:20
+msgid "Your search did not match any results."
+msgstr "Sua pesquisa não encontrou nenhum resultado."
+
+#: sphinx/templates/changes/frameset.html:5
+#: sphinx/templates/changes/versionchanges.html:12
+#, python-format
+msgid "Changes in Version %(version)s &mdash; %(docstitle)s"
+msgstr "Alterações na Versão%(version)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/rstsource.html:5
+#, python-format
+msgid "%(filename)s &mdash; %(docstitle)s"
+msgstr "%(filename)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/versionchanges.html:17
+#, python-format
+msgid "Automatically generated list of changes in version %(version)s"
+msgstr "Lista de alterações na versão %(version)s gerada automaticamente"
+
+#: sphinx/templates/changes/versionchanges.html:18
+msgid "Library changes"
+msgstr "Alterações na biblioteca"
+
+#: sphinx/templates/changes/versionchanges.html:23
+msgid "C API changes"
+msgstr "Alterações na API C"
+
+#: sphinx/templates/changes/versionchanges.html:25
+msgid "Other changes"
+msgstr "Outras alterações"
+

Added: doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.js
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -0,0 +1 @@
+Documentation.addTranslations({"locale": "sl", "plural_expr": "0", "messages": {"module, in ": "modul, v ", "Preparing search...": "Pripravljam iskanje...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "Za va\u0161e iskanje ni rezultatov. Prosimo preglejte ali so vse besede pravilno \u010drkovane in ali ste izbrali dovolj kategorij.", "Search finished, found %s page(s) matching the search query.": "Iskanje kon\u010dano, najdeno %s strani, ki ustrezajo iskalnemu nizu.", ", in ": ", v ", "Permalink to this headline": "Povezava na naslov", "Searching": "I\u0161\u010dem", "Permalink to this definition": "Povezava na to definicijo", "Hide Search Matches": "Skrij Resultate Iskanja", "Search Results": "Rezultati Iskanja"}});
\ No newline at end of file

Added: doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.mo
==============================================================================
Binary file. No diff available.

Added: doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.po
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/sl/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,597 @@
+
+msgid ""
+msgstr ""
+"Project-Id-Version:  Sphinx\n"
+"Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
+"POT-Creation-Date: 2008-09-11 23:58+0200\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
+"Last-Translator: Rok Garbas <rok.garbas at gmail.com>\n"
+"Language-Team: Rok Garbas <rok.garbas at gmail.com>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.4\n"
+
+#: sphinx/builder.py:408
+#, python-format
+msgid "%b %d, %Y"
+msgstr "%d %b, %Y"
+
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
+msgid "General Index"
+msgstr "Splošni abecedni seznam"
+
+#: sphinx/builder.py:427
+msgid "index"
+msgstr "abecedni seznam"
+
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
+#: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
+#: sphinx/templates/modindex.html:13
+msgid "Global Module Index"
+msgstr "Splošen Seznam Modulov"
+
+#: sphinx/builder.py:429
+msgid "modules"
+msgstr "Moduli"
+
+#: sphinx/builder.py:466
+msgid "next"
+msgstr "naprej"
+
+#: sphinx/builder.py:473
+msgid "previous"
+msgstr "nazaj"
+
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr "(v "
+
+#: sphinx/builder.py:1129
+msgid "Builtins"
+msgstr "Vgrajeni deli"
+
+#: sphinx/builder.py:1131
+msgid "Module level"
+msgstr "Nivo modula"
+
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
+#, python-format
+msgid "%B %d, %Y"
+msgstr "%d %B, %Y"
+
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "Abecedni seznam"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "Seznam modulov"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "Iskalna stran"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
+msgid "Permalink to this definition"
+msgstr "Povezava na to definicijo"
+
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
+msgid "Permalink to this headline"
+msgstr "Povezava na naslov"
+
+#: sphinx/latexwriter.py:172
+msgid "Release"
+msgstr "Izdaja"
+
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
+#, python-format
+msgid "environment variable; %s"
+msgstr "globalna spremenljivka; %s"
+
+#: sphinx/roles.py:60
+#, python-format
+msgid "Python Enhancement Proposals!PEP %s"
+msgstr "Python Enhancement Proposals!PEP %s"
+
+#: sphinx/textwriter.py:166
+#, python-format
+msgid "Platform: %s"
+msgstr "Platforma: %s"
+
+#: sphinx/textwriter.py:422
+msgid "[image]"
+msgstr "[slika]"
+
+#: sphinx/directives/desc.py:25
+#, python-format
+msgid "%s() (built-in function)"
+msgstr "%s() (vgrajene funkcije)"
+
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
+#, python-format
+msgid "%s() (in module %s)"
+msgstr "%s() (v modulu %s)"
+
+#: sphinx/directives/desc.py:29
+#, python-format
+msgid "%s (built-in variable)"
+msgstr "%s (vgrajene spremenljivke)"
+
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
+#, python-format
+msgid "%s (in module %s)"
+msgstr "%s (v modulu %s)"
+
+#: sphinx/directives/desc.py:33
+#, python-format
+msgid "%s (built-in class)"
+msgstr "%s (vgrajen razred)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
+msgid "%s (class in %s)"
+msgstr "%s (razred v %s)"
+
+#: sphinx/directives/desc.py:46
+#, python-format
+msgid "%s() (%s.%s method)"
+msgstr "%s() (%s.%s metoda)"
+
+#: sphinx/directives/desc.py:48
+#, python-format
+msgid "%s() (%s method)"
+msgstr "%s() (%s metoda)"
+
+#: sphinx/directives/desc.py:58
+#, python-format
+msgid "%s() (%s.%s static method)"
+msgstr "%s() (%s.%s statična metoda)"
+
+#: sphinx/directives/desc.py:60
+#, python-format
+msgid "%s() (%s static method)"
+msgstr "%s() (%s statična metoda)"
+
+#: sphinx/directives/desc.py:70
+#, python-format
+msgid "%s (%s.%s attribute)"
+msgstr "%s (%s.%s atribut)"
+
+#: sphinx/directives/desc.py:72
+#, python-format
+msgid "%s (%s attribute)"
+msgstr "%s (%s atribut)"
+
+#: sphinx/directives/desc.py:74
+#, python-format
+msgid "%s (C function)"
+msgstr "%s (C funkcija)"
+
+#: sphinx/directives/desc.py:76
+#, python-format
+msgid "%s (C member)"
+msgstr "%s (C član)"
+
+#: sphinx/directives/desc.py:78
+#, python-format
+msgid "%s (C macro)"
+msgstr "%s (C makro)"
+
+#: sphinx/directives/desc.py:80
+#, python-format
+msgid "%s (C type)"
+msgstr "%s (C tip)"
+
+#: sphinx/directives/desc.py:82
+#, python-format
+msgid "%s (C variable)"
+msgstr "%s (C spremenljivka)"
+
+#: sphinx/directives/desc.py:100
+msgid "Raises"
+msgstr "Javi"
+
+#: sphinx/directives/desc.py:104
+msgid "Variable"
+msgstr "Spremenljivka"
+
+#: sphinx/directives/desc.py:107
+msgid "Returns"
+msgstr "Vrne"
+
+#: sphinx/directives/desc.py:116
+msgid "Return type"
+msgstr "Vrne tip"
+
+#: sphinx/directives/desc.py:143
+msgid "Parameters"
+msgstr "Parametri"
+
+#: sphinx/directives/desc.py:423
+#, python-format
+msgid "%scommand line option; %s"
+msgstr "%sopcija komandne linije; %s"
+
+#: sphinx/directives/other.py:101
+msgid "Platforms: "
+msgstr "Platforma:"
+
+#: sphinx/directives/other.py:106
+#, python-format
+msgid "%s (module)"
+msgstr "%s (modul)"
+
+#: sphinx/directives/other.py:146
+msgid "Section author: "
+msgstr "Avtor sekcije:"
+
+#: sphinx/directives/other.py:148
+msgid "Module author: "
+msgstr "Avtor modula:"
+
+#: sphinx/directives/other.py:150
+msgid "Author: "
+msgstr "Avtor:"
+
+#: sphinx/directives/other.py:246
+msgid "See also"
+msgstr "Poglej tudi"
+
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr "Naredi"
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr "(Originalen vnos se nahajana v %s, vrstica %d in jo je moč poiskati "
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr "tukaj"
+
+#: sphinx/locale/__init__.py:15
+msgid "Attention"
+msgstr "Pozor"
+
+#: sphinx/locale/__init__.py:16
+msgid "Caution"
+msgstr "Previdno"
+
+#: sphinx/locale/__init__.py:17
+msgid "Danger"
+msgstr "Navarno"
+
+#: sphinx/locale/__init__.py:18
+msgid "Error"
+msgstr "Napaka"
+
+#: sphinx/locale/__init__.py:19
+msgid "Hint"
+msgstr "Nasvet"
+
+#: sphinx/locale/__init__.py:20
+msgid "Important"
+msgstr "Pomembno"
+
+#: sphinx/locale/__init__.py:21
+msgid "Note"
+msgstr "Opomba"
+
+#: sphinx/locale/__init__.py:22
+msgid "See Also"
+msgstr "Poglej Tudi"
+
+#: sphinx/locale/__init__.py:23
+msgid "Tip"
+msgstr "Nasvet"
+
+#: sphinx/locale/__init__.py:24
+msgid "Warning"
+msgstr "Opozorilo"
+
+#: sphinx/locale/__init__.py:28
+#, python-format
+msgid "New in version %s"
+msgstr "Novo v verziji %s"
+
+#: sphinx/locale/__init__.py:29
+#, python-format
+msgid "Changed in version %s"
+msgstr "Spemenjeno v verziji %s"
+
+#: sphinx/locale/__init__.py:30
+#, python-format
+msgid "Deprecated since version %s"
+msgstr "Zastarelo od verzije %s"
+
+#: sphinx/locale/__init__.py:34
+msgid "module"
+msgstr "modul"
+
+#: sphinx/locale/__init__.py:35
+msgid "keyword"
+msgstr "kllučna beseda"
+
+#: sphinx/locale/__init__.py:36
+msgid "operator"
+msgstr "operator"
+
+#: sphinx/locale/__init__.py:37
+msgid "object"
+msgstr "objekt"
+
+#: sphinx/locale/__init__.py:38
+msgid "exception"
+msgstr "izjema"
+
+#: sphinx/locale/__init__.py:39
+msgid "statement"
+msgstr "izjava"
+
+#: sphinx/locale/__init__.py:40
+msgid "built-in function"
+msgstr "vgrajene funkcije"
+
+#: sphinx/static/doctools.js:174
+msgid "Hide Search Matches"
+msgstr "Skrij Resultate Iskanja"
+
+#: sphinx/static/searchtools.js:274
+msgid "Searching"
+msgstr "Iščem"
+
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "Pripravljam iskanje..."
+
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr "modul, v "
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ", v "
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
+msgid "Search Results"
+msgstr "Rezultati Iskanja"
+
+#: sphinx/static/searchtools.js:449
+msgid ""
+"Your search did not match any documents. Please make sure that all words "
+"are spelled correctly and that you've selected enough categories."
+msgstr ""
+"Za vaše iskanje ni rezultatov. Prosimo preglejte ali so vse besede "
+"pravilno črkovane in ali ste izbrali dovolj kategorij."
+
+#: sphinx/static/searchtools.js:451
+#, python-format
+msgid "Search finished, found %s page(s) matching the search query."
+msgstr "Iskanje končano, najdeno %s strani, ki ustrezajo iskalnemu nizu."
+
+#: sphinx/templates/defindex.html:2
+msgid "Overview"
+msgstr "Pregled"
+
+#: sphinx/templates/defindex.html:11
+msgid "Indices and tables:"
+msgstr "Kazalo in tabele:"
+
+#: sphinx/templates/defindex.html:14
+msgid "Complete Table of Contents"
+msgstr "Popoln Seznam Vsebine"
+
+#: sphinx/templates/defindex.html:15
+msgid "lists all sections and subsections"
+msgstr "prikazi vse sekcije in podsekcije"
+
+#: sphinx/templates/defindex.html:17
+msgid "search this documentation"
+msgstr "isči po dokumentaciji"
+
+#: sphinx/templates/defindex.html:20
+msgid "quick access to all modules"
+msgstr "hiter dostop do vseh modulov"
+
+#: sphinx/templates/defindex.html:22
+msgid "all functions, classes, terms"
+msgstr "vse funkcije, rezredi, termini"
+
+#: sphinx/templates/genindex-single.html:5
+#, python-format
+msgid "Index &ndash; %(key)s"
+msgstr "Seznam &ndash; %(key)s"
+
+#: sphinx/templates/genindex-single.html:44
+#: sphinx/templates/genindex-split.html:14
+#: sphinx/templates/genindex-split.html:27 sphinx/templates/genindex.html:54
+msgid "Full index on one page"
+msgstr "Poln indeks na eni strani"
+
+#: sphinx/templates/genindex-split.html:7
+msgid "Index pages by letter"
+msgstr "Indeksiraj strani po črki"
+
+#: sphinx/templates/genindex-split.html:15
+msgid "can be huge"
+msgstr "lahko je veliko"
+
+#: sphinx/templates/layout.html:9
+msgid "Navigation"
+msgstr "Navigacija"
+
+#: sphinx/templates/layout.html:40
+msgid "Table Of Contents"
+msgstr "Seznam Vsebine"
+
+#: sphinx/templates/layout.html:46
+msgid "Previous topic"
+msgstr "Prejšnja tema"
+
+#: sphinx/templates/layout.html:47
+msgid "previous chapter"
+msgstr "prejšnje poglavje"
+
+#: sphinx/templates/layout.html:50
+msgid "Next topic"
+msgstr "Naslednja tema"
+
+#: sphinx/templates/layout.html:51
+msgid "next chapter"
+msgstr "naslednje poglavje"
+
+#: sphinx/templates/layout.html:55
+msgid "This Page"
+msgstr "Ta stran"
+
+#: sphinx/templates/layout.html:59
+msgid "Suggest Change"
+msgstr "Predlagaj spremembo"
+
+#: sphinx/templates/layout.html:60 sphinx/templates/layout.html:62
+msgid "Show Source"
+msgstr "Prikaži izvorno kodo"
+
+#: sphinx/templates/layout.html:71
+msgid "Quick search"
+msgstr "Hitro iskanje"
+
+#: sphinx/templates/layout.html:71
+msgid "Keyword search"
+msgstr "Iskanje po ključniih besedah"
+
+#: sphinx/templates/layout.html:73
+msgid "Go"
+msgstr "Potrdi"
+
+#: sphinx/templates/layout.html:78
+msgid "Enter a module, class or function name."
+msgstr "Vnesi ime mudla, razreda ali funkcije."
+
+#: sphinx/templates/layout.html:119
+#, python-format
+msgid "Search within %(docstitle)s"
+msgstr "Išči med %(docstitle)s"
+
+#: sphinx/templates/layout.html:128
+msgid "About these documents"
+msgstr "O teh dokumentih"
+
+#: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
+#: sphinx/templates/search.html:5
+msgid "Search"
+msgstr "Išči"
+
+#: sphinx/templates/layout.html:133
+msgid "Copyright"
+msgstr "Vse pravice pridržane"
+
+#: sphinx/templates/layout.html:178
+#, python-format
+msgid "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+msgstr "&copy; <a href=\"%(path)s\">Vse pravice pridržane</a> %(copyright)s."
+
+#: sphinx/templates/layout.html:180
+#, python-format
+msgid "&copy; Copyright %(copyright)s."
+msgstr "&copy; Vse pravice pridržane %(copyright)s."
+
+#: sphinx/templates/layout.html:183
+#, python-format
+msgid "Last updated on %(last_updated)s."
+msgstr "Zadnjič posodobljeno na %(last_updated)s."
+
+#: sphinx/templates/layout.html:186
+#, python-format
+msgid ""
+"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+msgstr ""
+"Narejeno s <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+
+#: sphinx/templates/modindex.html:15
+msgid "Most popular modules:"
+msgstr "Najbolj popularni moduli:"
+
+#: sphinx/templates/modindex.html:24
+msgid "Show modules only available on these platforms"
+msgstr "Prikaži module na razpolago na platformah"
+
+#: sphinx/templates/modindex.html:56
+msgid "Deprecated"
+msgstr "Zastarelo"
+
+#: sphinx/templates/opensearch.xml:4
+#, python-format
+msgid "Search %(docstitle)s"
+msgstr "Išči %(docstitle)s"
+
+#: sphinx/templates/page.html:8
+msgid ""
+"<strong>Note:</strong> You requested an out-of-date URL from this server."
+" We've tried to redirect you to the new location of this page, but it may"
+" not be the right one."
+msgstr ""
+"<strong>Opomba:</strong> Vaš zahtevek za URL s tega streznika je "
+"zastaral. Poskušali smo vas preusmeriti na novo lokacijo, vendar utegne "
+"biti napačna."
+
+#: sphinx/templates/search.html:7
+#, fuzzy
+msgid ""
+"From here you can search these documents. Enter your search\n"
+"    words into the box below and click \"search\". Note that the search\n"
+"    function will automatically search for all of the words. Pages\n"
+"    containing fewer words won't appear in the result list."
+msgstr ""
+"O tukaj lahko isčete dokumente. Vnesite iskalni\n"
+"    niz v polje spodaj in pritisnite \"išči\". Sproženo iskanje\n"
+"    bo iskalo po vseh besedah v iskalnem nizu. Strani, ki ne\n"
+"    vsebujejo vseh besed ne bodo prikazane na seznamu rezultatov."
+
+#: sphinx/templates/search.html:14
+msgid "search"
+msgstr "išči"
+
+#: sphinx/templates/search.html:20
+msgid "Your search did not match any results."
+msgstr "Vaše iskanje ni imelo nobenega zadetka."
+
+#: sphinx/templates/changes/frameset.html:5
+#: sphinx/templates/changes/versionchanges.html:12
+#, python-format
+msgid "Changes in Version %(version)s &mdash; %(docstitle)s"
+msgstr "Spremembe v Verziji %(version)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/rstsource.html:5
+#, python-format
+msgid "%(filename)s &mdash; %(docstitle)s"
+msgstr "%(filename)s &mdash; %(docstitle)s"
+
+#: sphinx/templates/changes/versionchanges.html:17
+#, python-format
+msgid "Automatically generated list of changes in version %(version)s"
+msgstr "Avtomatsko generiran seznam sprememb v verziji %(version)s"
+
+#: sphinx/templates/changes/versionchanges.html:18
+msgid "Library changes"
+msgstr "Spremembe knjižnice"
+
+#: sphinx/templates/changes/versionchanges.html:23
+msgid "C API changes"
+msgstr "C API spremembe"
+
+#: sphinx/templates/changes/versionchanges.html:25
+msgid "Other changes"
+msgstr "Ostale spremembe"
+

Modified: doctools/trunk/sphinx/locale/sphinx.pot
==============================================================================
--- doctools/trunk/sphinx/locale/sphinx.pot	(original)
+++ doctools/trunk/sphinx/locale/sphinx.pot	Fri Dec  5 20:10:41 2008
@@ -8,237 +8,260 @@
 msgstr ""
 "Project-Id-Version: Sphinx 0.5\n"
 "Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
-"POT-Creation-Date: 2008-09-11 23:58+0200\n"
+"POT-Creation-Date: 2008-11-27 18:39+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"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.3\n"
+"Generated-By: Babel 0.9.4\n"
 
-#: sphinx/builder.py:400
+#: sphinx/builder.py:408
 #, python-format
 msgid "%b %d, %Y"
 msgstr ""
 
-#: sphinx/builder.py:419 sphinx/templates/defindex.html:21
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
 msgid "General Index"
 msgstr ""
 
-#: sphinx/builder.py:419
+#: sphinx/builder.py:427
 msgid "index"
 msgstr ""
 
-#: sphinx/builder.py:421 sphinx/htmlhelp.py:155
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
 #: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
 #: sphinx/templates/modindex.html:13
 msgid "Global Module Index"
 msgstr ""
 
-#: sphinx/builder.py:421
+#: sphinx/builder.py:429
 msgid "modules"
 msgstr ""
 
-#: sphinx/builder.py:457
+#: sphinx/builder.py:466
 msgid "next"
 msgstr ""
 
-#: sphinx/builder.py:464
+#: sphinx/builder.py:473
 msgid "previous"
 msgstr ""
 
-#: sphinx/builder.py:1108
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
 msgid "Builtins"
 msgstr ""
 
-#: sphinx/builder.py:1110
+#: sphinx/builder.py:1131
 msgid "Module level"
 msgstr ""
 
-#: sphinx/environment.py:107 sphinx/latexwriter.py:129
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
 #, python-format
 msgid "%B %d, %Y"
 msgstr ""
 
-#: sphinx/environment.py:270 sphinx/latexwriter.py:190
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
 #: sphinx/templates/genindex-single.html:2
 #: sphinx/templates/genindex-split.html:2
 #: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
 #: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
 msgid "Index"
 msgstr ""
 
-#: sphinx/environment.py:271 sphinx/latexwriter.py:188
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
 msgid "Module Index"
 msgstr ""
 
-#: sphinx/environment.py:272 sphinx/templates/defindex.html:16
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
 msgid "Search Page"
 msgstr ""
 
-#: sphinx/htmlwriter.py:73 sphinx/static/doctools.js:145
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
 msgid "Permalink to this definition"
 msgstr ""
 
-#: sphinx/htmlwriter.py:375 sphinx/static/doctools.js:139
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
 msgid "Permalink to this headline"
 msgstr ""
 
-#: sphinx/latexwriter.py:143
+#: sphinx/latexwriter.py:172
 msgid "Release"
 msgstr ""
 
-#: sphinx/roles.py:52 sphinx/directives/desc.py:514
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
 #, python-format
 msgid "environment variable; %s"
 msgstr ""
 
-#: sphinx/roles.py:59
+#: sphinx/roles.py:60
 #, python-format
 msgid "Python Enhancement Proposals!PEP %s"
 msgstr ""
 
-#: sphinx/textwriter.py:151
+#: sphinx/textwriter.py:166
 #, python-format
 msgid "Platform: %s"
 msgstr ""
 
-#: sphinx/textwriter.py:353
+#: sphinx/textwriter.py:422
 msgid "[image]"
 msgstr ""
 
-#: sphinx/directives/desc.py:26
+#: sphinx/directives/desc.py:25
 #, python-format
 msgid "%s() (built-in function)"
 msgstr ""
 
-#: sphinx/directives/desc.py:27 sphinx/directives/desc.py:41
-#: sphinx/directives/desc.py:53
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
 #, python-format
 msgid "%s() (in module %s)"
 msgstr ""
 
-#: sphinx/directives/desc.py:30
+#: sphinx/directives/desc.py:29
 #, python-format
 msgid "%s (built-in variable)"
 msgstr ""
 
-#: sphinx/directives/desc.py:31 sphinx/directives/desc.py:65
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
 #, python-format
 msgid "%s (in module %s)"
 msgstr ""
 
 #: sphinx/directives/desc.py:33
 #, python-format
+msgid "%s (built-in class)"
+msgstr ""
+
+#: sphinx/directives/desc.py:34
+#, python-format
 msgid "%s (class in %s)"
 msgstr ""
 
-#: sphinx/directives/desc.py:45
+#: sphinx/directives/desc.py:46
 #, python-format
 msgid "%s() (%s.%s method)"
 msgstr ""
 
-#: sphinx/directives/desc.py:47
+#: sphinx/directives/desc.py:48
 #, python-format
 msgid "%s() (%s method)"
 msgstr ""
 
-#: sphinx/directives/desc.py:57
+#: sphinx/directives/desc.py:58
 #, python-format
 msgid "%s() (%s.%s static method)"
 msgstr ""
 
-#: sphinx/directives/desc.py:59
+#: sphinx/directives/desc.py:60
 #, python-format
 msgid "%s() (%s static method)"
 msgstr ""
 
-#: sphinx/directives/desc.py:69
+#: sphinx/directives/desc.py:70
 #, python-format
 msgid "%s (%s.%s attribute)"
 msgstr ""
 
-#: sphinx/directives/desc.py:71
+#: sphinx/directives/desc.py:72
 #, python-format
 msgid "%s (%s attribute)"
 msgstr ""
 
-#: sphinx/directives/desc.py:73
+#: sphinx/directives/desc.py:74
 #, python-format
 msgid "%s (C function)"
 msgstr ""
 
-#: sphinx/directives/desc.py:75
+#: sphinx/directives/desc.py:76
 #, python-format
 msgid "%s (C member)"
 msgstr ""
 
-#: sphinx/directives/desc.py:77
+#: sphinx/directives/desc.py:78
 #, python-format
 msgid "%s (C macro)"
 msgstr ""
 
-#: sphinx/directives/desc.py:79
+#: sphinx/directives/desc.py:80
 #, python-format
 msgid "%s (C type)"
 msgstr ""
 
-#: sphinx/directives/desc.py:81
+#: sphinx/directives/desc.py:82
 #, python-format
 msgid "%s (C variable)"
 msgstr ""
 
-#: sphinx/directives/desc.py:99
+#: sphinx/directives/desc.py:100
 msgid "Raises"
 msgstr ""
 
-#: sphinx/directives/desc.py:103
+#: sphinx/directives/desc.py:104
 msgid "Variable"
 msgstr ""
 
-#: sphinx/directives/desc.py:106
+#: sphinx/directives/desc.py:107
 msgid "Returns"
 msgstr ""
 
-#: sphinx/directives/desc.py:113
+#: sphinx/directives/desc.py:116
 msgid "Return type"
 msgstr ""
 
-#: sphinx/directives/desc.py:140
+#: sphinx/directives/desc.py:143
 msgid "Parameters"
 msgstr ""
 
-#: sphinx/directives/desc.py:402
+#: sphinx/directives/desc.py:423
 #, python-format
-msgid "command line option; %s"
+msgid "%scommand line option; %s"
 msgstr ""
 
-#: sphinx/directives/other.py:102
+#: sphinx/directives/other.py:101
 msgid "Platforms: "
 msgstr ""
 
-#: sphinx/directives/other.py:107
+#: sphinx/directives/other.py:106
 #, python-format
 msgid "%s (module)"
 msgstr ""
 
-#: sphinx/directives/other.py:147
+#: sphinx/directives/other.py:146
 msgid "Section author: "
 msgstr ""
 
-#: sphinx/directives/other.py:149
+#: sphinx/directives/other.py:148
 msgid "Module author: "
 msgstr ""
 
-#: sphinx/directives/other.py:151
+#: sphinx/directives/other.py:150
 msgid "Author: "
 msgstr ""
 
-#: sphinx/directives/other.py:233
+#: sphinx/directives/other.py:246
 msgid "See also"
 msgstr ""
 
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr ""
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
 #: sphinx/locale/__init__.py:15
 msgid "Attention"
 msgstr ""
@@ -334,17 +357,25 @@
 msgid "Preparing search..."
 msgstr ""
 
-#: sphinx/static/searchtools.js:401 sphinx/templates/search.html:18
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
 msgid "Search Results"
 msgstr ""
 
-#: sphinx/static/searchtools.js:403
+#: sphinx/static/searchtools.js:449
 msgid ""
 "Your search did not match any documents. Please make sure that all words "
 "are spelled correctly and that you've selected enough categories."
 msgstr ""
 
-#: sphinx/static/searchtools.js:405
+#: sphinx/static/searchtools.js:451
 #, python-format
 msgid "Search finished, found %s page(s) matching the search query."
 msgstr ""
@@ -448,23 +479,15 @@
 msgid "Enter a module, class or function name."
 msgstr ""
 
-#: sphinx/templates/layout.html:118
+#: sphinx/templates/layout.html:119
 #, python-format
 msgid "Search within %(docstitle)s"
 msgstr ""
 
-#: sphinx/templates/layout.html:127
+#: sphinx/templates/layout.html:128
 msgid "About these documents"
 msgstr ""
 
-#: sphinx/templates/layout.html:129
-msgid "Global table of contents"
-msgstr ""
-
-#: sphinx/templates/layout.html:130
-msgid "Global index"
-msgstr ""
-
 #: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
 #: sphinx/templates/search.html:5
 msgid "Search"
@@ -525,7 +548,7 @@
 "From here you can search these documents. Enter your search\n"
 "    words into the box below and click \"search\". Note that the search\n"
 "    function will automatically search for all of the words. Pages\n"
-"    containing less words won't appear in the result list."
+"    containing fewer words won't appear in the result list."
 msgstr ""
 
 #: sphinx/templates/search.html:14

Added: doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js	Fri Dec  5 20:10:41 2008
@@ -0,0 +1 @@
+Documentation.addTranslations({"locale": "zh_TW", "plural_expr": "0", "messages": {"module, in ": "", "Preparing search...": "\u6e96\u5099\u641c\u5c0b...", "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "", "Search finished, found %s page(s) matching the search query.": "", ", in ": "", "Permalink to this headline": "", "Searching": "\u641c\u5c0b\u4e2d", "Permalink to this definition": "", "Hide Search Matches": "", "Search Results": "\u641c\u5c0b\u7d50\u679c"}});
\ No newline at end of file

Added: doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo
==============================================================================
Binary file. No diff available.

Added: doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po
==============================================================================
--- (empty file)
+++ doctools/trunk/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po	Fri Dec  5 20:10:41 2008
@@ -0,0 +1,598 @@
+# Chinese (Taiwan) translations for Sphinx.
+# Copyright (C) 2008 ORGANIZATION
+# This file is distributed under the same license as the Sphinx project.
+# Fred Lin <gasolin at gmail.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Sphinx 0.5\n"
+"Report-Msgid-Bugs-To: EMAIL at ADDRESS\n"
+"POT-Creation-Date: 2008-11-09 19:46+0100\n"
+"PO-Revision-Date: 2008-11-27 18:40+0100\n"
+"Last-Translator: Fred Lin <gasolin at gmail.com>\n"
+"Language-Team: tw <LL at li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.4\n"
+
+#: sphinx/builder.py:408
+#, python-format
+msgid "%b %d, %Y"
+msgstr "%Y 年 %m 月 %d 日"
+
+#: sphinx/builder.py:427 sphinx/templates/defindex.html:21
+msgid "General Index"
+msgstr "總索引"
+
+#: sphinx/builder.py:427
+msgid "index"
+msgstr "索引"
+
+#: sphinx/builder.py:429 sphinx/htmlhelp.py:156
+#: sphinx/templates/defindex.html:19 sphinx/templates/modindex.html:2
+#: sphinx/templates/modindex.html:13
+msgid "Global Module Index"
+msgstr ""
+
+#: sphinx/builder.py:429
+msgid "modules"
+msgstr "模組"
+
+#: sphinx/builder.py:466
+msgid "next"
+msgstr "下一頁"
+
+#: sphinx/builder.py:473
+msgid "previous"
+msgstr "上一頁"
+
+#: sphinx/builder.py:1054
+msgid " (in "
+msgstr ""
+
+#: sphinx/builder.py:1129
+msgid "Builtins"
+msgstr ""
+
+#: sphinx/builder.py:1131
+msgid "Module level"
+msgstr ""
+
+#: sphinx/environment.py:102 sphinx/latexwriter.py:169
+#, python-format
+msgid "%B %d, %Y"
+msgstr "%Y 年 %m 月 %d 日"
+
+#: sphinx/environment.py:291 sphinx/latexwriter.py:175
+#: sphinx/templates/genindex-single.html:2
+#: sphinx/templates/genindex-split.html:2
+#: sphinx/templates/genindex-split.html:5 sphinx/templates/genindex.html:2
+#: sphinx/templates/genindex.html:5 sphinx/templates/genindex.html:48
+#: sphinx/templates/layout.html:130
+msgid "Index"
+msgstr "索引"
+
+#: sphinx/environment.py:292 sphinx/latexwriter.py:174
+msgid "Module Index"
+msgstr "模組索引"
+
+#: sphinx/environment.py:293 sphinx/templates/defindex.html:16
+msgid "Search Page"
+msgstr "搜尋頁面"
+
+#: sphinx/htmlwriter.py:79 sphinx/static/doctools.js:145
+msgid "Permalink to this definition"
+msgstr ""
+
+#: sphinx/htmlwriter.py:399 sphinx/static/doctools.js:139
+msgid "Permalink to this headline"
+msgstr ""
+
+#: sphinx/latexwriter.py:172
+msgid "Release"
+msgstr "釋出"
+
+#: sphinx/roles.py:53 sphinx/directives/desc.py:537
+#, python-format
+msgid "environment variable; %s"
+msgstr "環境變數; %s"
+
+#: sphinx/roles.py:60
+#, python-format
+msgid "Python Enhancement Proposals!PEP %s"
+msgstr "Python 建議文件!PEP %s"
+
+#: sphinx/textwriter.py:166
+#, python-format
+msgid "Platform: %s"
+msgstr "平台:%s"
+
+#: sphinx/textwriter.py:422
+msgid "[image]"
+msgstr "[圖片]"
+
+#: sphinx/directives/desc.py:25
+#, python-format
+msgid "%s() (built-in function)"
+msgstr "%s() (內建函式)"
+
+#: sphinx/directives/desc.py:26 sphinx/directives/desc.py:42
+#: sphinx/directives/desc.py:54
+#, python-format
+msgid "%s() (in module %s)"
+msgstr "%s() (在 %s 模組中)"
+
+#: sphinx/directives/desc.py:29
+#, python-format
+msgid "%s (built-in variable)"
+msgstr "%s (內建變數)"
+
+#: sphinx/directives/desc.py:30 sphinx/directives/desc.py:66
+#, python-format
+msgid "%s (in module %s)"
+msgstr "%s() (在 %s 模組中)"
+
+#: sphinx/directives/desc.py:33
+#, python-format
+msgid "%s (built-in class)"
+msgstr "%s (內建類別)"
+
+#: sphinx/directives/desc.py:34
+#, python-format
+msgid "%s (class in %s)"
+msgstr ""
+
+#: sphinx/directives/desc.py:46
+#, python-format
+msgid "%s() (%s.%s method)"
+msgstr "%s() (%s.%s 方法)"
+
+#: sphinx/directives/desc.py:48
+#, python-format
+msgid "%s() (%s method)"
+msgstr "%s() (%s 方法)"
+
+#: sphinx/directives/desc.py:58
+#, python-format
+msgid "%s() (%s.%s static method)"
+msgstr "%s() (%s.%s 靜態方法)"
+
+#: sphinx/directives/desc.py:60
+#, python-format
+msgid "%s() (%s static method)"
+msgstr "%s() (%s 靜態方法)"
+
+#: sphinx/directives/desc.py:70
+#, python-format
+msgid "%s (%s.%s attribute)"
+msgstr "%s (%s.%s 屬性)"
+
+#: sphinx/directives/desc.py:72
+#, python-format
+msgid "%s (%s attribute)"
+msgstr "%s (%s 屬性)"
+
+#: sphinx/directives/desc.py:74
+#, python-format
+msgid "%s (C function)"
+msgstr "%s (C 函式)"
+
+#: sphinx/directives/desc.py:76
+#, python-format
+msgid "%s (C member)"
+msgstr "%s (C 成員)"
+
+#: sphinx/directives/desc.py:78
+#, python-format
+msgid "%s (C macro)"
+msgstr "%s (C 巨集)"
+
+#: sphinx/directives/desc.py:80
+#, python-format
+msgid "%s (C type)"
+msgstr "%s (C 類別)"
+
+#: sphinx/directives/desc.py:82
+#, python-format
+msgid "%s (C variable)"
+msgstr "%s (C 變數)"
+
+#: sphinx/directives/desc.py:100
+msgid "Raises"
+msgstr ""
+
+#: sphinx/directives/desc.py:104
+msgid "Variable"
+msgstr "變數"
+
+#: sphinx/directives/desc.py:107
+msgid "Returns"
+msgstr "返回"
+
+#: sphinx/directives/desc.py:116
+msgid "Return type"
+msgstr "返回類別"
+
+#: sphinx/directives/desc.py:143
+msgid "Parameters"
+msgstr "參數"
+
+#: sphinx/directives/desc.py:423
+#, python-format
+msgid "%scommand line option; %s"
+msgstr "%s命令列選項; %s"
+
+#: sphinx/directives/other.py:101
+msgid "Platforms: "
+msgstr "平台"
+
+#: sphinx/directives/other.py:106
+#, python-format
+msgid "%s (module)"
+msgstr "%s (模組)"
+
+#: sphinx/directives/other.py:146
+msgid "Section author: "
+msgstr "Section 作者:"
+
+#: sphinx/directives/other.py:148
+msgid "Module author: "
+msgstr "模組作者:"
+
+#: sphinx/directives/other.py:150
+msgid "Author: "
+msgstr "作者:"
+
+#: sphinx/directives/other.py:246
+msgid "See also"
+msgstr ""
+
+#: sphinx/ext/todo.py:31
+msgid "Todo"
+msgstr "待辦"
+
+#: sphinx/ext/todo.py:75
+#, python-format
+msgid "(The original entry is located in %s, line %d and can be found "
+msgstr ""
+
+#: sphinx/ext/todo.py:81
+msgid "here"
+msgstr ""
+
+#: sphinx/locale/__init__.py:15
+msgid "Attention"
+msgstr "注意"
+
+#: sphinx/locale/__init__.py:16
+msgid "Caution"
+msgstr "警示"
+
+#: sphinx/locale/__init__.py:17
+msgid "Danger"
+msgstr "危險"
+
+#: sphinx/locale/__init__.py:18
+msgid "Error"
+msgstr "錯誤"
+
+#: sphinx/locale/__init__.py:19
+msgid "Hint"
+msgstr "提示"
+
+#: sphinx/locale/__init__.py:20
+msgid "Important"
+msgstr "重要"
+
+#: sphinx/locale/__init__.py:21
+msgid "Note"
+msgstr "註解"
+
+#: sphinx/locale/__init__.py:22
+msgid "See Also"
+msgstr ""
+
+#: sphinx/locale/__init__.py:23
+msgid "Tip"
+msgstr "小技巧"
+
+#: sphinx/locale/__init__.py:24
+msgid "Warning"
+msgstr "警告"
+
+#: sphinx/locale/__init__.py:28
+#, python-format
+msgid "New in version %s"
+msgstr "%s 版新功能"
+
+#: sphinx/locale/__init__.py:29
+#, python-format
+msgid "Changed in version %s"
+msgstr "在 %s 版改變"
+
+#: sphinx/locale/__init__.py:30
+#, python-format
+msgid "Deprecated since version %s"
+msgstr "%s 版後已移除"
+
+#: sphinx/locale/__init__.py:34
+msgid "module"
+msgstr "模組"
+
+#: sphinx/locale/__init__.py:35
+msgid "keyword"
+msgstr "關鍵字"
+
+#: sphinx/locale/__init__.py:36
+msgid "operator"
+msgstr "運算子"
+
+#: sphinx/locale/__init__.py:37
+msgid "object"
+msgstr "物件"
+
+#: sphinx/locale/__init__.py:38
+msgid "exception"
+msgstr "例外"
+
+#: sphinx/locale/__init__.py:39
+msgid "statement"
+msgstr ""
+
+#: sphinx/locale/__init__.py:40
+msgid "built-in function"
+msgstr "內建函式"
+
+#: sphinx/static/doctools.js:174
+msgid "Hide Search Matches"
+msgstr ""
+
+#: sphinx/static/searchtools.js:274
+msgid "Searching"
+msgstr "搜尋中"
+
+#: sphinx/static/searchtools.js:279
+msgid "Preparing search..."
+msgstr "準備搜尋..."
+
+#: sphinx/static/searchtools.js:338
+msgid "module, in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:347
+msgid ", in "
+msgstr ""
+
+#: sphinx/static/searchtools.js:447 sphinx/templates/search.html:18
+msgid "Search Results"
+msgstr "搜尋結果"
+
+#: sphinx/static/searchtools.js:449
+msgid ""
+"Your search did not match any documents. Please make sure that all words "
+"are spelled correctly and that you've selected enough categories."
+msgstr ""
+
+#: sphinx/static/searchtools.js:451
+#, python-format
+msgid "Search finished, found %s page(s) matching the search query."
+msgstr ""
+
+#: sphinx/templates/defindex.html:2
+msgid "Overview"
+msgstr ""
+
+#: sphinx/templates/defindex.html:11
+msgid "Indices and tables:"
+msgstr ""
+
+#: sphinx/templates/defindex.html:14
+msgid "Complete Table of Contents"
+msgstr ""
+
+#: sphinx/templates/defindex.html:15
+msgid "lists all sections and subsections"
+msgstr ""
+
+#: sphinx/templates/defindex.html:17
+msgid "search this documentation"
+msgstr ""
+
+#: sphinx/templates/defindex.html:20
+msgid "quick access to all modules"
+msgstr ""
+
+#: sphinx/templates/defindex.html:22
+msgid "all functions, classes, terms"
+msgstr ""
+
+#: sphinx/templates/genindex-single.html:5
+#, python-format
+msgid "Index &ndash; %(key)s"
+msgstr ""
+
+#: sphinx/templates/genindex-single.html:44
+#: sphinx/templates/genindex-split.html:14
+#: sphinx/templates/genindex-split.html:27 sphinx/templates/genindex.html:54
+msgid "Full index on one page"
+msgstr ""
+
+#: sphinx/templates/genindex-split.html:7
+msgid "Index pages by letter"
+msgstr ""
+
+#: sphinx/templates/genindex-split.html:15
+msgid "can be huge"
+msgstr ""
+
+#: sphinx/templates/layout.html:9
+msgid "Navigation"
+msgstr "瀏覽"
+
+#: sphinx/templates/layout.html:40
+msgid "Table Of Contents"
+msgstr "內容目錄"
+
+#: sphinx/templates/layout.html:46
+msgid "Previous topic"
+msgstr "上一個主題"
+
+#: sphinx/templates/layout.html:47
+msgid "previous chapter"
+msgstr "上一章"
+
+#: sphinx/templates/layout.html:50
+msgid "Next topic"
+msgstr "下一個主題"
+
+#: sphinx/templates/layout.html:51
+msgid "next chapter"
+msgstr "下一章"
+
+#: sphinx/templates/layout.html:55
+msgid "This Page"
+msgstr "本頁"
+
+#: sphinx/templates/layout.html:59
+msgid "Suggest Change"
+msgstr ""
+
+#: sphinx/templates/layout.html:60 sphinx/templates/layout.html:62
+msgid "Show Source"
+msgstr "顯示原始碼"
+
+#: sphinx/templates/layout.html:71
+msgid "Quick search"
+msgstr "快速搜尋"
+
+#: sphinx/templates/layout.html:71
+msgid "Keyword search"
+msgstr "關鍵字搜尋"
+
+#: sphinx/templates/layout.html:73
+msgid "Go"
+msgstr ""
+
+#: sphinx/templates/layout.html:78
+msgid "Enter a module, class or function name."
+msgstr "輸入一個模組、類別、或是函式名稱."
+
+#: sphinx/templates/layout.html:119
+#, python-format
+msgid "Search within %(docstitle)s"
+msgstr "在 %(docstitle)s 中搜尋"
+
+#: sphinx/templates/layout.html:128
+msgid "About these documents"
+msgstr ""
+
+#: sphinx/templates/layout.html:131 sphinx/templates/search.html:2
+#: sphinx/templates/search.html:5
+msgid "Search"
+msgstr "搜尋"
+
+#: sphinx/templates/layout.html:133
+msgid "Copyright"
+msgstr "版權所有"
+
+#: sphinx/templates/layout.html:178
+#, python-format
+msgid "&copy; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
+msgstr ""
+
+#: sphinx/templates/layout.html:180
+#, python-format
+msgid "&copy; Copyright %(copyright)s."
+msgstr ""
+
+#: sphinx/templates/layout.html:183
+#, python-format
+msgid "Last updated on %(last_updated)s."
+msgstr "最後更新日期是 %(last_updated)s."
+
+#: sphinx/templates/layout.html:186
+#, python-format
+msgid ""
+"Created using <a href=\"http://sphinx.pocoo.org/\">Sphinx</a> "
+"%(sphinx_version)s."
+msgstr ""
+
+#: sphinx/templates/modindex.html:15
+msgid "Most popular modules:"
+msgstr ""
+
+#: sphinx/templates/modindex.html:24
+msgid "Show modules only available on these platforms"
+msgstr ""
+
+#: sphinx/templates/modindex.html:56
+msgid "Deprecated"
+msgstr "已移除"
+
+#: sphinx/templates/opensearch.xml:4
+#, python-format
+msgid "Search %(docstitle)s"
+msgstr "搜尋 %(docstitle)s"
+
+#: sphinx/templates/page.html:8
+msgid ""
+"<strong>Note:</strong> You requested an out-of-date URL from this server."
+" We've tried to redirect you to the new location of this page, but it may"
+" not be the right one."
+msgstr ""
+
+#: sphinx/templates/search.html:7
+msgid ""
+"From here you can search these documents. Enter your search\n"
+"    words into the box below and click \"search\". Note that the search\n"
+"    function will automatically search for all of the words. Pages\n"
+"    containing fewer words won't appear in the result list."
+msgstr ""
+
+#: sphinx/templates/search.html:14
+msgid "search"
+msgstr "搜尋"
+
+#: sphinx/templates/search.html:20
+msgid "Your search did not match any results."
+msgstr ""
+
+#: sphinx/templates/changes/frameset.html:5
+#: sphinx/templates/changes/versionchanges.html:12
+#, python-format
+msgid "Changes in Version %(version)s &mdash; %(docstitle)s"
+msgstr ""
+
+#: sphinx/templates/changes/rstsource.html:5
+#, python-format
+msgid "%(filename)s &mdash; %(docstitle)s"
+msgstr ""
+
+#: sphinx/templates/changes/versionchanges.html:17
+#, python-format
+msgid "Automatically generated list of changes in version %(version)s"
+msgstr ""
+
+#: sphinx/templates/changes/versionchanges.html:18
+msgid "Library changes"
+msgstr ""
+
+#: sphinx/templates/changes/versionchanges.html:23
+msgid "C API changes"
+msgstr "C API 改變"
+
+#: sphinx/templates/changes/versionchanges.html:25
+msgid "Other changes"
+msgstr "其他改變:"
+
+#~ msgid ""
+#~ "From here you can search these documents. Enter your search\n"
+#~ "    words into the box below and"
+#~ " click \"search\". Note that the "
+#~ "search\n"
+#~ "    function will automatically search for all of the words. Pages\n"
+#~ "    containing less words won't appear in the result list."
+#~ msgstr ""
+

Modified: doctools/trunk/sphinx/quickstart.py
==============================================================================
--- doctools/trunk/sphinx/quickstart.py	(original)
+++ doctools/trunk/sphinx/quickstart.py	Fri Dec  5 20:10:41 2008
@@ -32,6 +32,9 @@
 # The contents of this file are pickled, so don't put values in the namespace
 # that aren't pickleable (module imports are okay, they're removed automatically).
 #
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
@@ -509,12 +512,15 @@
     print bold('Finished: An initial directory structure has been created.')
     print '''
 You should now populate your master file %s and create other documentation
-source files. Use the sphinx-build script to build the docs, like so:
-''' % masterfile + (create_makefile and '''
-   make <builder>
-''' or '''
-   sphinx-build -b <builder> %s %s
-''' % (srcdir, builddir))
+source files. ''' % masterfile + (create_makefile and '''\
+Use the Makefile to build the docs, like so:
+   make builder
+''' or '''\
+Use the sphinx-build command to build the docs, like so:
+   sphinx-build -b builder %s %s
+''' % (srcdir, builddir)) + '''\
+where "builder" is one of the supported builders, e.g. html, latex or linkcheck.
+'''
 
 
 def main(argv=sys.argv):

Modified: doctools/trunk/sphinx/roles.py
==============================================================================
--- doctools/trunk/sphinx/roles.py	(original)
+++ doctools/trunk/sphinx/roles.py	Fri Dec  5 20:10:41 2008
@@ -15,9 +15,8 @@
 from docutils.parsers.rst import roles
 
 from sphinx import addnodes
+from sphinx.util import ws_re, caption_ref_re
 
-ws_re = re.compile(r'\s+')
-caption_ref_re = re.compile(r'^([^<]+?)\s*<(.+)>$')
 
 generic_docroles = {
     'command' : nodes.strong,
@@ -143,7 +142,7 @@
             # fallback: everything after '<' is the target
             target = text[brace+1:]
             title = text[:brace]
-    # special target  for Python object cross-references
+    # special target for Python object cross-references
     if typ in ('data', 'exc', 'func', 'class', 'const', 'attr', 'meth', 'mod', 'obj'):
         # fix-up parentheses in link title
         if titleistarget:
@@ -166,9 +165,17 @@
             target = target[1:]
             pnode['refspecific'] = True
     # some other special cases for the target
-    elif typ == 'option' and target[0] in '-/':
-        # strip option marker from target
-        target = target[1:]
+    elif typ == 'option':
+        program = env.currprogram
+        if titleistarget:
+            if ' ' in title and not (title.startswith('/') or title.startswith('-')):
+                program, target = re.split(' (?=-|--|/)', title, 1)
+                program = ws_re.sub('-', program)
+                target = target.strip()
+        elif ' ' in target:
+            program, target = re.split(' (?=-|--|/)', target, 1)
+            program = ws_re.sub('-', program)
+        pnode['refprogram'] = program
     elif typ == 'term':
         # normalize whitespace in definition terms (if the term reference is
         # broken over a line, a newline will be in target)
@@ -217,21 +224,21 @@
     'obj': xfileref_role,
     'cfunc' : xfileref_role,
     'cmember': xfileref_role,
-    'cdata' : xfileref_role,
-    'ctype' : xfileref_role,
-    'cmacro' : xfileref_role,
+    'cdata': xfileref_role,
+    'ctype': xfileref_role,
+    'cmacro': xfileref_role,
 
-    'mod' : xfileref_role,
+    'mod': xfileref_role,
 
     'keyword': xfileref_role,
     'ref': xfileref_role,
-    'token' : xfileref_role,
+    'token': xfileref_role,
     'term': xfileref_role,
     'option': xfileref_role,
 
-    'menuselection' : menusel_role,
-    'file' : emph_literal_role,
-    'samp' : emph_literal_role,
+    'menuselection': menusel_role,
+    'file': emph_literal_role,
+    'samp': emph_literal_role,
 }
 
 for rolename, func in specific_docroles.iteritems():

Modified: doctools/trunk/sphinx/static/default.css
==============================================================================
--- doctools/trunk/sphinx/static/default.css	(original)
+++ doctools/trunk/sphinx/static/default.css	Fri Dec  5 20:10:41 2008
@@ -225,216 +225,6 @@
     font-weight: bold;
 }
 
-/* :::: INLINE COMMENTS :::: */
-
-div.inlinecomments {
-    position: absolute;
-    right: 20px;
-}
-
-div.inlinecomments a.bubble {
-    display: block;
-    float: right;
-    background-image: url(style/comment.png);
-    background-repeat: no-repeat;
-    width: 25px;
-    height: 25px;
-    text-align: center;
-    padding-top: 3px;
-    font-size: 0.9em;
-    line-height: 14px;
-    font-weight: bold;
-    color: black;
-}
-
-div.inlinecomments a.bubble span {
-    display: none;
-}
-
-div.inlinecomments a.emptybubble {
-    background-image: url(style/nocomment.png);
-}
-
-div.inlinecomments a.bubble:hover {
-    background-image: url(style/hovercomment.png);
-    text-decoration: none;
-    color: #3ca0a4;
-}
-
-div.inlinecomments div.comments {
-    float: right;
-    margin: 25px 5px 0 0;
-    max-width: 50em;
-    min-width: 30em;
-    border: 1px solid #2eabb0;
-    background-color: #f2fbfd;
-    z-index: 150;
-}
-
-div#comments {
-    border: 1px solid #2eabb0;
-    margin-top: 20px;
-}
-
-div#comments div.nocomments {
-    padding: 10px;
-    font-weight: bold;
-}
-
-div.inlinecomments div.comments h3,
-div#comments h3 {
-    margin: 0;
-    padding: 0;
-    background-color: #2eabb0;
-    color: white;
-    border: none;
-    padding: 3px;
-}
-
-div.inlinecomments div.comments div.actions {
-    padding: 4px;
-    margin: 0;
-    border-top: none;
-}
-
-div#comments div.comment {
-    margin: 10px;
-    border: 1px solid #2eabb0;
-}
-
-div.inlinecomments div.comment h4,
-div.commentwindow div.comment h4,
-div#comments div.comment h4 {
-    margin: 10px 0 0 0;
-    background-color: #2eabb0;
-    color: white;
-    border: none;
-    padding: 1px 4px 1px 4px;
-}
-
-div#comments div.comment h4 {
-    margin: 0;
-}
-
-div#comments div.comment h4 a {
-    color: #d5f4f4;
-}
-
-div.inlinecomments div.comment div.text,
-div.commentwindow div.comment div.text,
-div#comments div.comment div.text {
-    margin: -5px 0 -5px 0;
-    padding: 0 10px 0 10px;
-}
-
-div.inlinecomments div.comment div.meta,
-div.commentwindow div.comment div.meta,
-div#comments div.comment div.meta {
-    text-align: right;
-    padding: 2px 10px 2px 0;
-    font-size: 95%;
-    color: #538893;
-    border-top: 1px solid #cbe7e5;
-    background-color: #e0f6f4;
-}
-
-div.commentwindow {
-    position: absolute;
-    width: 500px;
-    border: 1px solid #cbe7e5;
-    background-color: #f2fbfd;
-    display: none;
-    z-index: 130;
-}
-
-div.commentwindow h3 {
-    margin: 0;
-    background-color: #2eabb0;
-    color: white;
-    border: none;
-    padding: 5px;
-    font-size: 1.5em;
-    cursor: pointer;
-}
-
-div.commentwindow div.actions {
-    margin: 10px -10px 0 -10px;
-    padding: 4px 10px 4px 10px;
-    color: #538893;
-}
-
-div.commentwindow div.actions input {
-    border: 1px solid #2eabb0;
-    background-color: white;
-    color: #135355;
-    cursor: pointer;
-}
-
-div.commentwindow div.form {
-    padding: 0 10px 0 10px;
-}
-
-div.commentwindow div.form input,
-div.commentwindow div.form textarea {
-    border: 1px solid #3c9ea2;
-    background-color: white;
-    color: black;
-}
-
-div.commentwindow div.error {
-    margin: 10px 5px 10px 5px;
-    background-color: #fbe5dc;
-    display: none;
-}
-
-div.commentwindow div.form textarea {
-    width: 99%;
-}
-
-div.commentwindow div.preview {
-    margin: 10px 0 10px 0;
-    background-color: #70d0d4;
-    padding: 0 1px 1px 25px;
-}
-
-div.commentwindow div.preview h4 {
-    margin: 0 0 -5px -20px;
-    padding: 4px 0 0 4px;
-    color: white;
-    font-size: 1.3em;
-}
-
-div.commentwindow div.preview div.comment {
-    background-color: #f2fbfd;
-}
-
-div.commentwindow div.preview div.comment h4 {
-    margin: 10px 0 0 0!important;
-    padding: 1px 4px 1px 4px!important;
-    font-size: 1.2em;
-}
-
-/* :::: SUGGEST CHANGES :::: */
-div#suggest-changes-box input, div#suggest-changes-box textarea {
-    border: 1px solid #ccc;
-    background-color: white;
-    color: black;
-}
-
-div#suggest-changes-box textarea {
-    width: 99%;
-    height: 400px;
-}
-
-
-/* :::: PREVIEW :::: */
-div.preview {
-    background-image: url(style/preview.png);
-    padding: 0 20px 20px 20px;
-    margin-bottom: 30px;
-}
-
-
 /* :::: INDEX PAGE :::: */
 
 table.contentstable {
@@ -587,12 +377,27 @@
     font-weight: bold;
 }
 
+/* Sidebars */
+
+div.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px 7px 0 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
 /* "Topics" */
 
 div.topic {
     background-color: #eee;
     border: 1px solid #ccc;
-    padding: 0 7px 0 7px;
+    padding: 7px 7px 0 7px;
     margin: 10px 0 10px 0;
 }
 
@@ -817,7 +622,11 @@
     border: 3px solid red;
 }
 
-div.math {
+img.math {
+    vertical-align: middle;
+}
+
+div.math p {
     text-align: center;
 }
 

Modified: doctools/trunk/sphinx/static/sphinxdoc.css
==============================================================================
--- doctools/trunk/sphinx/static/sphinxdoc.css	(original)
+++ doctools/trunk/sphinx/static/sphinxdoc.css	Fri Dec  5 20:10:41 2008
@@ -263,6 +263,39 @@
     font-weight: bold;
 }
 
+div.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px 7px 0 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+}
+
+div.quotebar {
+    background-color: #f8f8f8;
+    max-width: 250px;
+    float: right;
+    padding: 2px 7px;
+    border: 1px solid #ccc;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+div.topic {
+    background-color: #f8f8f8;
+    border: 1px solid #ccc;
+    padding: 7px 7px 0 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+}
+
 h1 {
     margin: 0;
     padding: 0.7em 0 0.3em 0;
@@ -507,6 +540,10 @@
     font-weight: bold;
 }
 
+img.math {
+    vertical-align: center;
+}
+
 div.math {
     text-align: center;
 }

Modified: doctools/trunk/sphinx/templates/changes/frameset.html
==============================================================================
--- doctools/trunk/sphinx/templates/changes/frameset.html	(original)
+++ doctools/trunk/sphinx/templates/changes/frameset.html	Fri Dec  5 20:10:41 2008
@@ -2,7 +2,7 @@
   "http://www.w3.org/TR/html4/frameset.dtd">
 <html>
   <head>
-    <title>{% trans version=version, docstitle=docstitle %}Changes in Version {{ version }} &mdash; {{ docstitle }}{% endtrans %}</title>
+    <title>{% trans version=version|e, docstitle=docstitle|e %}Changes in Version {{ version }} &mdash; {{ docstitle }}{% endtrans %}</title>
   </head>
   <frameset cols="45%,*">
     <frame name="main" src="changes.html">

Modified: doctools/trunk/sphinx/templates/changes/rstsource.html
==============================================================================
--- doctools/trunk/sphinx/templates/changes/rstsource.html	(original)
+++ doctools/trunk/sphinx/templates/changes/rstsource.html	Fri Dec  5 20:10:41 2008
@@ -2,7 +2,7 @@
   "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <head>
-    <title>{% trans filename=filename, docstitle=docstitle %}{{ filename }} &mdash; {{ docstitle }}{% endtrans %}</title>
+    <title>{% trans filename=filename, docstitle=docstitle|e %}{{ filename }} &mdash; {{ docstitle }}{% endtrans %}</title>
     <style type="text/css">
       .hl { background-color: yellow }
     </style>

Modified: doctools/trunk/sphinx/templates/changes/versionchanges.html
==============================================================================
--- doctools/trunk/sphinx/templates/changes/versionchanges.html	(original)
+++ doctools/trunk/sphinx/templates/changes/versionchanges.html	Fri Dec  5 20:10:41 2008
@@ -9,12 +9,12 @@
   <head>
     <link rel="stylesheet" href="default.css">
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>{% trans version=version, docstitle=docstitle %}Changes in Version {{ version }} &mdash; {{ docstitle }}{% endtrans %}</title>
+    <title>{% trans version=version|e, docstitle=docstitle|e %}Changes in Version {{ version }} &mdash; {{ docstitle }}{% endtrans %}</title>
   </head>
   <body>
     <div class="document">
       <div class="body">
-    <h1>{% trans version=version %}Automatically generated list of changes in version {{ version }}{% endtrans %}</h1>
+    <h1>{% trans version=version|e %}Automatically generated list of changes in version {{ version }}{% endtrans %}</h1>
     <h2>{{ _('Library changes') }}</h2>
     {% for modname, changes in libchanges %}
     <h4>{{ modname }}</h4>

Modified: doctools/trunk/sphinx/templates/defindex.html
==============================================================================
--- doctools/trunk/sphinx/templates/defindex.html	(original)
+++ doctools/trunk/sphinx/templates/defindex.html	Fri Dec  5 20:10:41 2008
@@ -1,11 +1,11 @@
 {% extends "layout.html" %}
 {% set title = _('Overview') %}
 {% block body %}
-  <h1>{{ docstitle }}</h1>
+  <h1>{{ docstitle|e }}</h1>
   <p>
     Welcome! This is
-    {% block description %}the documentation for {{ project }}
-    {{ release }}{% if last_updated %}, last updated {{ last_updated }}{% endif %}{% endblock %}.
+    {% block description %}the documentation for {{ project|e }}
+    {{ release|e }}{% if last_updated %}, last updated {{ last_updated|e }}{% endif %}{% endblock %}.
   </p>
   {% block tables %}
   <p><strong>{{ _('Indices and tables:') }}</strong></p>

Modified: doctools/trunk/sphinx/templates/layout.html
==============================================================================
--- doctools/trunk/sphinx/templates/layout.html	(original)
+++ doctools/trunk/sphinx/templates/layout.html	Fri Dec  5 20:10:41 2008
@@ -15,12 +15,12 @@
           {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
         {%- endfor %}
         {%- block rootrellink %}
-        <li><a href="{{ pathto(master_doc) }}">{{ shorttitle }}</a>{{ reldelim1 }}</li>
+        <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
         {%- endblock %}
         {%- for parent in parents %}
           <li><a href="{{ parent.link|e }}" accesskey="U">{{ parent.title }}</a>{{ reldelim1 }}</li>
         {%- endfor %}
-        {%- block relbaritems %}{% endblock %}
+        {%- block relbaritems %} {% endblock %}
       </ul>
     </div>
 {%- endmacro %}
@@ -89,7 +89,7 @@
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     {{ metatags }}
     {%- if builder != 'htmlhelp' %}
-      {%- set titlesuffix = " &mdash; " + docstitle %}
+      {%- set titlesuffix = " &mdash; " + docstitle|e %}
     {%- endif %}
     <title>{{ title|striptags }}{{ titlesuffix }}</title>
     {%- if builder == 'web' %}
@@ -106,7 +106,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
           URL_ROOT:    '{{ pathto("", 1) }}',
-          VERSION:     '{{ release }}',
+          VERSION:     '{{ release|e }}',
           COLLAPSE_MODINDEX: false,
           FILE_SUFFIX: '{{ file_suffix }}'
       };
@@ -116,7 +116,7 @@
     {%- endfor %}
     {%- if use_opensearch %}
     <link rel="search" type="application/opensearchdescription+xml"
-          title="{% trans docstitle=docstitle%}Search within {{ docstitle }}{% endtrans %}"
+          title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
           href="{{ pathto('_static/opensearch.xml', 1) }}"/>
     {%- endif %}
     {%- if favicon %}
@@ -132,7 +132,7 @@
     {%- if hasdoc('copyright') %}
     <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
     {%- endif %}
-    <link rel="top" title="{{ docstitle }}" href="{{ pathto('index') }}" />
+    <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
     {%- if parents %}
     <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
     {%- endif %}
@@ -143,13 +143,13 @@
     <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
     {%- endif %}
 {%- endblock %}
-{%- block extrahead %}{% endblock %}
+{%- block extrahead %} {% endblock %}
   </head>
   <body>
 
 {%- block relbar1 %}{{ relbar() }}{% endblock %}
 
-{%- block sidebar1 %}{# possible location for sidebar #}{% endblock %}
+{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
 
 {%- block document %}
     <div class="document">
@@ -158,7 +158,7 @@
         <div class="bodywrapper">
       {%- endif %}
           <div class="body">
-            {% block body %}{% endblock %}
+            {% block body %} {% endblock %}
           </div>
       {%- if builder != 'htmlhelp' %}
         </div>
@@ -175,15 +175,15 @@
 {%- block footer %}
     <div class="footer">
     {%- if hasdoc('copyright') %}
-      {% trans path=pathto('copyright'), copyright=copyright %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
+      {% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
     {%- else %}
-      {% trans copyright=copyright %}&copy; Copyright {{ copyright }}.{% endtrans %}
+      {% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
     {%- endif %}
     {%- if last_updated %}
-      {% trans last_updated %}Last updated on {{ last_updated }}.{% endtrans %}
+      {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
     {%- endif %}
     {%- if show_sphinx %}
-      {% trans sphinx_version=sphinx_version %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
+      {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
     {%- endif %}
     </div>
 {%- endblock %}

Modified: doctools/trunk/sphinx/templates/modindex.html
==============================================================================
--- doctools/trunk/sphinx/templates/modindex.html	(original)
+++ doctools/trunk/sphinx/templates/modindex.html	Fri Dec  5 20:10:41 2008
@@ -46,7 +46,7 @@
    <tr{% if indent %} class="cg-{{ cgroup }}"{% endif %}>
      <td>{% if collapse -%}
        <img src="{{ pathto('_static/minus.png', 1) }}" id="toggle-{{ cgroup }}"
-            class="toggler" style="display: none" />
+            class="toggler" style="display: none" alt="-" />
          {%- endif %}</td>
      <td>{% if indent %}&nbsp;&nbsp;&nbsp;{% endif %}
      {% if fname %}<a href="{{ fname }}">{% endif -%}

Modified: doctools/trunk/sphinx/templates/opensearch.xml
==============================================================================
--- doctools/trunk/sphinx/templates/opensearch.xml	(original)
+++ doctools/trunk/sphinx/templates/opensearch.xml	Fri Dec  5 20:10:41 2008
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
-  <ShortName>{{ project }}</ShortName>
-  <Description>{% trans docstitle=docstitle %}Search {{ docstitle }}{% endtrans %}</Description>
+  <ShortName>{{ project|e }}</ShortName>
+  <Description>{% trans docstitle=docstitle|e %}Search {{ docstitle }}{% endtrans %}</Description>
   <InputEncoding>utf-8</InputEncoding>
   <Url type="text/html" method="get"
        template="{{ use_opensearch }}/{{ pathto('search') }}?q={searchTerms}&amp;check_keywords=yes&amp;area=default"/>
-  <LongName>{{ docstitle }}</LongName>
-{% block extra %}{# Put e.g. an <Image> element here. #}{% endblock %}
+  <LongName>{{ docstitle|e }}</LongName>
+{% block extra %} {# Put e.g. an <Image> element here. #} {% endblock %}
 </OpenSearchDescription>

Modified: doctools/trunk/sphinx/templates/search.html
==============================================================================
--- doctools/trunk/sphinx/templates/search.html	(original)
+++ doctools/trunk/sphinx/templates/search.html	Fri Dec  5 20:10:41 2008
@@ -7,7 +7,7 @@
     {% trans %}From here you can search these documents. Enter your search
     words into the box below and click "search". Note that the search
     function will automatically search for all of the words. Pages
-    containing less words won't appear in the result list.{% endtrans %}
+    containing fewer words won't appear in the result list.{% endtrans %}
   </p>
   <form action="" method="get">
     <input type="text" name="q" value="" />

Modified: doctools/trunk/sphinx/texinputs/sphinx.sty
==============================================================================
--- doctools/trunk/sphinx/texinputs/sphinx.sty	(original)
+++ doctools/trunk/sphinx/texinputs/sphinx.sty	Fri Dec  5 20:10:41 2008
@@ -18,6 +18,7 @@
 \RequirePackage{framed}
 \RequirePackage{color}
 \RequirePackage{fancyvrb}
+\RequirePackage{threeparttable}
 
 % Redefine these colors to your liking in the preamble.
 \definecolor{TitleColor}{rgb}{0.126,0.263,0.361}

Modified: doctools/trunk/sphinx/textwriter.py
==============================================================================
--- doctools/trunk/sphinx/textwriter.py	(original)
+++ doctools/trunk/sphinx/textwriter.py	Fri Dec  5 20:10:41 2008
@@ -126,11 +126,6 @@
         self.add_text(' ]-')
         self.end_state()
 
-    def visit_sidebar(self, node):
-        pass
-    def depart_sidebar(self, node):
-        pass
-
     def visit_compound(self, node):
         pass
     def depart_compound(self, node):

Modified: doctools/trunk/sphinx/util/__init__.py
==============================================================================
--- doctools/trunk/sphinx/util/__init__.py	(original)
+++ doctools/trunk/sphinx/util/__init__.py	Fri Dec  5 20:10:41 2008
@@ -12,12 +12,18 @@
 import os
 import re
 import sys
+import time
 import fnmatch
 import tempfile
 import traceback
 from os import path
 
 
+# Generally useful regular expressions.
+ws_re = re.compile(r'\s+')
+caption_ref_re = re.compile(r'^([^<]+?)\s*<(.+)>$')
+
+
 # SEP separates path elements in the canonical file names
 #
 # Define SEP as a manifest constant, not so much because we expect it to change
@@ -260,3 +266,19 @@
 
 def make_filename(string):
     return no_fn_re.sub('', string)
+
+
+def nested_parse_with_titles(state, content, node):
+    # hack around title style bookkeeping
+    surrounding_title_styles = state.memo.title_styles
+    surrounding_section_level = state.memo.section_level
+    state.memo.title_styles = []
+    state.memo.section_level = 0
+    state.nested_parse(content, 0, node, match_titles=1)
+    state.memo.title_styles = surrounding_title_styles
+    state.memo.section_level = surrounding_section_level
+
+
+def ustrftime(format, *args):
+    # strftime for unicode strings
+    return time.strftime(unicode(format).encode('utf-8'), *args).decode('utf-8')

Modified: doctools/trunk/sphinx/util/jsdump.py
==============================================================================
--- doctools/trunk/sphinx/util/jsdump.py	(original)
+++ doctools/trunk/sphinx/util/jsdump.py	Fri Dec  5 20:10:41 2008
@@ -124,7 +124,10 @@
             i += 1
         elif c in '}]':
             if key:
-                raise ValueError("unfinished dict")
+                if keys[-1] is not nothing:
+                    raise ValueError("unfinished dict")
+                # empty dict
+                key = False
             oldobj = stack.pop()
             keys.pop()
             if stack:


More information about the Python-checkins mailing list