changeset 4891:42b73b7ae79a

merged moin/1.9-openid repo
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Wed, 22 Jul 2009 21:50:03 +0200
parents 2752a5368008 (diff) 55dc44a8e9ee (current diff)
children 802cc30f1937
files
diffstat 127 files changed, 3995 insertions(+), 2923 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/Page.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/Page.py	Wed Jul 22 21:50:03 2009 +0200
@@ -1064,7 +1064,7 @@
         if 'deprecated' in pi:
             # deprecated page, append last backup version to current contents
             # (which should be a short reason why the page is deprecated)
-            request.theme.add_msg(_('The backed up content of this page is deprecated and will not be included in search results!'), "warning")
+            request.theme.add_msg(_('The backed up content of this page is deprecated and will rank lower in search results!'), "warning")
 
             revisions = self.getRevList()
             if len(revisions) >= 2: # XXX shouldn't that be ever the case!? Looks like not.
@@ -1144,12 +1144,9 @@
                         openid_username = self.pi['openid.user']
                         userid = user.getUserId(request, openid_username)
 
-                    if request.cfg.openid_server_restricted_users_group:
-                        request.dicts.addgroup(request,
-                                               request.cfg.openid_server_restricted_users_group)
-
-                    if userid is not None and not request.cfg.openid_server_restricted_users_group or \
-                      request.dicts.has_member(request.cfg.openid_server_restricted_users_group, openid_username):
+                    openid_group_name = request.cfg.openid_server_restricted_users_group
+                    if userid is not None and not openid_group_name or \
+                            (openid_group_name in request.groups and openid_username in request.groups[openid_group_name]):
                         html_head = '<link rel="openid2.provider" href="%s">' % \
                                         wikiutil.escape(request.getQualifiedURL(self.url(request,
                                                                                 querystr={'action': 'serveopenid'})), True)
@@ -1866,9 +1863,7 @@
             # WARNING: SLOW
             pages = self.getPageList(user='')
         else:
-            pages = self.request.pages
-            if not pages:
-                pages = self._listPages()
+            pages = self._listPages()
         count = len(pages)
         self.request.clock.stop('getPageCount')
 
--- a/MoinMoin/PageEditor.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/PageEditor.py	Wed Jul 22 21:50:03 2009 +0200
@@ -782,8 +782,8 @@
             # Users can define their own variables via
             # UserHomepage/MyDict, which override the default variables.
             userDictPage = u.name + "/MyDict"
-            if request.dicts.has_dict(userDictPage):
-                variables.update(request.dicts.dict(userDictPage))
+            if userDictPage in request.dicts:
+                variables.update(request.dicts[userDictPage])
 
         for name in variables:
             text = text.replace('@%s@' % name, variables[name])
--- a/MoinMoin/_tests/__init__.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/_tests/__init__.py	Wed Jul 22 21:50:03 2009 +0200
@@ -115,3 +115,9 @@
     p.form = request.form
     m = macro.Macro(p)
     return m
+
+def nuke_xapian_index(request):
+    """ completely delete everything in xapian index dir """
+    fpath = os.path.join(request.cfg.cache_dir, 'xapian')
+    if os.path.exists(fpath):
+        shutil.rmtree(fpath, True)
--- a/MoinMoin/_tests/test_PageEditor.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/_tests/test_PageEditor.py	Wed Jul 22 21:50:03 2009 +0200
@@ -147,13 +147,7 @@
 
     def deleteCaches(self):
         """ Force the wiki to scan the test page into the dicts """
-        from MoinMoin import caching
-        caching.CacheEntry(self.request, 'wikidicts', 'dicts_groups', scope='wiki').remove()
-        if hasattr(self.request, 'dicts'):
-            del self.request.dicts
-        if hasattr(self.request.cfg, 'DICTS_DATA'):
-            del self.request.cfg.DICTS_DATA
-        self.request.pages = {}
+        # New dicts does not require cache refresh.
 
     def deleteTestPage(self):
         """ Delete temporary page, bypass logs and notifications """
--- a/MoinMoin/_tests/test_packages.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/_tests/test_packages.py	Wed Jul 22 21:50:03 2009 +0200
@@ -17,7 +17,7 @@
 from MoinMoin.action import AttachFile
 from MoinMoin.action.PackagePages import PackagePages
 from MoinMoin.packages import Package, ScriptEngine, MOIN_PACKAGE_FILE, ZipPackage, packLine, unpackLine
-from MoinMoin._tests import become_superuser, create_page, nuke_page
+from MoinMoin._tests import become_trusted, become_superuser, create_page, nuke_page
 from MoinMoin.Page import Page
 from MoinMoin.PageEditor import PageEditor
 
@@ -91,7 +91,7 @@
 
     def testSearch(self):
         package = PackagePages(self.request.rootpage.page_name, self.request)
-        assert package.searchpackage(self.request, "BadCon") == [u'BadContent']
+        assert package.searchpackage(self.request, "title:BadCon") == [u'BadContent']
 
     def testListCreate(self):
         package = PackagePages(self.request.rootpage.page_name, self.request)
@@ -137,6 +137,7 @@
         return zip_file
 
     def testAttachments_after_page_creation(self):
+        become_trusted(self.request)
         pagename = u'PackageTestPageCreatedFirst'
         page = create_page(self.request, pagename, u"This page has not yet an attachments dir")
         script = u"""MoinMoinPackage|1
@@ -154,6 +155,7 @@
         os.unlink(zip_file)
 
     def testAttachments_without_page_creation(self):
+        become_trusted(self.request)
         pagename = u"PackageAttachmentAttachWithoutPageCreation"
         script = u"""MoinMoinPackage|1
 AddAttachment|1_attachment|my_test.txt|%(pagename)s
--- a/MoinMoin/_tests/test_wikidicts.py	Wed Jul 22 01:43:59 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-"""
-    MoinMoin - MoinMoin.wikidicts tests
-
-    @copyright: 2003-2004 by Juergen Hermann <jh@web.de>,
-                2007 by MoinMoin:ThomasWaldmann
-    @license: GNU GPL, see COPYING for details.
-"""
-
-import py
-import re
-import shutil
-
-from MoinMoin import wikidicts
-from MoinMoin import Page
-from MoinMoin.PageEditor import PageEditor
-from MoinMoin.user import User
-from MoinMoin._tests import append_page, become_trusted, create_page, create_random_string_list, nuke_page, nuke_user
-
-class TestGroupPage:
-
-    def testCamelCase(self):
-        """ wikidicts: initFromText: CamelCase links """
-        text = """
- * CamelCase
-"""
-        assert self.getMembers(text) == ['CamelCase']
-
-    def testExtendedName(self):
-        """ wikidicts: initFromText: extended names """
-        text = """
- * extended name
-"""
-        assert self.getMembers(text) == ['extended name']
-
-    def testExtendedLink(self):
-        """ wikidicts: initFromText: extended link """
-        text = """
- * [[extended link]]
-"""
-        assert self.getMembers(text) == ['extended link']
-
-    def testIgnoreSecondLevelList(self):
-        """ wikidicts: initFromText: ignore non first level items """
-        text = """
-  * second level
-   * third level
-    * forth level
-     * and then some...
-"""
-        assert self.getMembers(text) == []
-
-    def testIgnoreOther(self):
-        """ wikidicts: initFromText: ignore anything but first level list itmes """
-        text = """
-= ignore this =
- * take this
-
-Ignore previous line and this text.
-"""
-        assert self.getMembers(text) == ['take this']
-
-    def testStripWhitespace(self):
-        """ wikidicts: initFromText: strip whitespace around items """
-        text = """
- *   take this
-"""
-        assert self.getMembers(text) == ['take this']
-
-    def getMembers(self, text):
-        group = wikidicts.Group(self.request, '')
-        group.initFromText(text)
-        return group.members()
-
-
-class TestDictPage:
-
-    def testGroupMembers(self):
-        """ wikidicts: create dict from keys and values in text """
-        text = '''
-Text ignored
- * list items ignored
-  * Second level list ignored
- First:: first item
- text with spaces:: second item
-
-Empty lines ignored, so is this text
-Next line has key with empty value
- Empty string::\x20
- Last:: last item
-'''
-        d = wikidicts.Dict(self.request, '')
-        d.initFromText(text)
-        assert d['First'] == 'first item'
-        assert d['text with spaces'] == 'second item'
-        assert d['Empty string'] == '' # XXX fails if trailing blank is missing
-        assert d['Last'] == 'last item'
-        assert len(d) == 4
-
-class TestGroupDicts:
-
-    def testSystemPagesGroupInDicts(self):
-        """ wikidict: names in SystemPagesGroup should be in request.dicts
-
-        Get a list of all pages, and check that the dicts list all of them.
-
-        Assume that the SystemPagesGroup is in the data or the underlay dir.
-        """
-        assert Page.Page(self.request, 'SystemPagesGroup').exists(), "SystemPagesGroup is missing, Can't run test"
-        systemPages = wikidicts.Group(self.request, 'SystemPagesGroup')
-        #print repr(systemPages)
-        #print repr(self.request.dicts['SystemPagesGroup'])
-        for member in systemPages.members():
-            assert self.request.dicts.has_member('SystemPagesGroup', member), '%s should be in request.dict' % member
-
-        members, groups = self.request.dicts.expand_group('SystemPagesGroup')
-        assert 'SystemPagesInEnglishGroup' in groups
-        assert 'RecentChanges' in members
-        assert 'HelpContents' in members
-
-    def testRenameGroupPage(self):
-        """
-         tests if the dict cache for groups is refreshed after renaming a Group page
-        """
-        request = self.request
-        become_trusted(request)
-        page = create_page(request, u'SomeGroup', u" * ExampleUser")
-        page.renamePage('AnotherGroup')
-        group = wikidicts.Group(request, '')
-        isgroup = request.cfg.cache.page_group_regexact.search
-        grouppages = request.rootpage.getPageList(user='', filter=isgroup)
-        result = request.dicts.has_member(u'AnotherGroup', u'ExampleUser')
-        nuke_page(request, u'AnotherGroup')
-
-        assert result is True
-
-    def testCopyGroupPage(self):
-        """
-         tests if the dict cache for groups is refreshed after copying a Group page
-        """
-        request = self.request
-        become_trusted(request)
-        page = create_page(request, u'SomeGroup', u" * ExampleUser")
-        page.copyPage(u'OtherGroup')
-        group = wikidicts.Group(request, '')
-        isgroup = request.cfg.cache.page_group_regexact.search
-        grouppages = request.rootpage.getPageList(user='', filter=isgroup)
-        result = request.dicts.has_member(u'OtherGroup', u'ExampleUser')
-        nuke_page(request, u'OtherGroup')
-        nuke_page(request, u'SomeGroup')
-
-        assert result is True
-
-    def testAppendingGroupPage(self):
-        """
-         tests scalability by appending a name to a large list of group members
-        """
-        # long list of users
-        page_content = [u" * %s" % member for member in create_random_string_list(length=15, count=30000)]
-        request = self.request
-        become_trusted(request)
-        test_user = create_random_string_list(length=15, count=1)[0]
-        page = create_page(request, u'UserGroup', "\n".join(page_content))
-        page = append_page(request, u'UserGroup', u' * %s' % test_user)
-        result = request.dicts.has_member('UserGroup', test_user)
-        nuke_page(request, u'UserGroup')
-
-        assert result is True
-
-    def testUserAppendingGroupPage(self):
-        """
-         tests appending a username to a large list of group members and user creation
-        """
-        # long list of users
-        page_content = [u" * %s" % member for member in create_random_string_list()]
-        request = self.request
-        become_trusted(request)
-        test_user = create_random_string_list(length=15, count=1)[0]
-        page = create_page(request, u'UserGroup', "\n".join(page_content))
-        page = append_page(request, u'UserGroup', u' * %s' % test_user)
-
-        # now shortly later we create a user object
-        user = User(request, name=test_user)
-        if not user.exists():
-            User(request, name=test_user, password=test_user).save()
-
-        result = request.dicts.has_member('UserGroup', test_user)
-        nuke_page(request, u'UserGroup')
-        nuke_user(request, test_user)
-
-        assert result is True
-
-    def testMemberRemovedFromGroupPage(self):
-        """
-         tests appending a member to a large list of group members and recreating the page without the member
-        """
-        # long list of users
-        page_content = [u" * %s" % member for member in create_random_string_list()]
-        page_content = "\n".join(page_content)
-        request = self.request
-        become_trusted(request)
-        test_user = create_random_string_list(length=15, count=1)[0]
-        page = create_page(request, u'UserGroup', page_content)
-        page = append_page(request, u'UserGroup', u' * %s' % test_user)
-        # saves the text without test_user
-        page.saveText(page_content, 0)
-        result = request.dicts.has_member('UserGroup', test_user)
-        nuke_page(request, u'UserGroup')
-
-        assert result is False
-
-    def testGroupPageTrivialChange(self):
-        """
-         tests appending a username to a group page by trivial change
-        """
-        request = self.request
-        become_trusted(request)
-        test_user = create_random_string_list(length=15, count=1)[0]
-        member = u" * %s\n" % test_user
-        page = create_page(request, u'UserGroup', member)
-        # next member saved  as trivial change
-        test_user = create_random_string_list(length=15, count=1)[0]
-        member = u" * %s\n" % test_user
-        page.saveText(member, 0, trivial=1)
-        result = request.dicts.has_member('UserGroup', test_user)
-        nuke_page(request, u'UserGroup')
-
-        assert result is True
-
-coverage_modules = ['MoinMoin.wikidicts']
-
--- a/MoinMoin/_tests/test_wikiutil.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/_tests/test_wikiutil.py	Wed Jul 22 21:50:03 2009 +0200
@@ -85,15 +85,8 @@
             assert wikiutil.join_wiki(baseurl, pagename) == url
 
 
-class TestSystemPagesGroup:
-    def testSystemPagesGroupNotEmpty(self):
-        assert self.request.dicts.members('SystemPagesGroup')
-
 class TestSystemPage:
     systemPages = (
-        # First level, on SystemPagesGroup
-        'SystemPagesInEnglishGroup',
-        # Second level, on one of the pages above
         'RecentChanges',
         'TitleIndex',
         )
--- a/MoinMoin/action/CopyPage.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/action/CopyPage.py	Wed Jul 22 21:50:03 2009 +0200
@@ -13,6 +13,7 @@
 from MoinMoin.Page import Page
 from MoinMoin.PageEditor import PageEditor
 from MoinMoin.action import ActionBase
+from MoinMoin.security.textcha import TextCha
 
 class CopyPage(ActionBase):
     """ Copy page action
@@ -45,6 +46,11 @@
     def do_action(self):
         """ copy this page to "pagename" """
         _ = self._
+        # Currently we only check TextCha for upload (this is what spammers ususally do),
+        # but it could be extended to more/all attachment write access
+        if not TextCha(self.request).check_answer_from_form():
+            return status, _('TextCha: Wrong answer! Go back and try again...')
+
         form = self.form
         newpagename = form.get('newpagename', u'')
         newpagename = wikiutil.normalize_pagename(newpagename, self.cfg)
@@ -83,6 +89,7 @@
             subpages = ' '.join(self.users_subpages)
 
             d = {
+                'textcha': TextCha(self.request).render(),
                 'subpage': subpages,
                 'subpages_checked': ('', 'checked')[self.request.form.get('subpages_checked', '0') == '1'],
                 'subpage_label': _('Copy all /subpages too?'),
@@ -97,6 +104,7 @@
 <strong>%(querytext)s</strong>
 <br>
 <br>
+%(textcha)s
 <table>
     <tr>
     <dd>
@@ -131,12 +139,14 @@
 
         else:
             d = {
+                'textcha': TextCha(self.request).render(),
                 'pagename': wikiutil.escape(self.pagename, True),
                 'newname_label': _("New name"),
                 'comment_label': _("Optional reason for the copying"),
                 'buttons_html': buttons_html,
                 }
             return '''
+%(textcha)s
 <table>
     <tr>
         <td class="label"><label>%(newname_label)s</label></td>
--- a/MoinMoin/action/PackagePages.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/action/PackagePages.py	Wed Jul 22 21:50:03 2009 +0200
@@ -34,9 +34,7 @@
 
     def allowed(self):
         """ Check if user is allowed to do this. """
-        may = self.request.user.may
-        return (not self.__class__.__name__ in self.request.cfg.actions_excluded and
-                may.write(self.pagename))
+        return not self.__class__.__name__ in self.request.cfg.actions_excluded
 
     def render(self):
         """ Render action
--- a/MoinMoin/action/SyncPages.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/action/SyncPages.py	Wed Jul 22 21:50:03 2009 +0200
@@ -17,7 +17,6 @@
 from MoinMoin.packages import unpackLine, packLine
 from MoinMoin.PageEditor import PageEditor, conflict_markers
 from MoinMoin.Page import Page
-from MoinMoin.wikidicts import Dict
 from MoinMoin.wikisync import TagStore, UnsupportedWikiException, SyncPage, NotAllowedException
 from MoinMoin.wikisync import MoinLocalWiki, MoinRemoteWiki, UP, DOWN, BOTH, MIMETYPE_MOIN
 from MoinMoin.support.python_compatibility import set
@@ -107,7 +106,7 @@
             "password": None,
         }
 
-        options.update(Dict(self.request, self.pagename))
+        options.update(request.dicts[self.pagename])
 
         # Convert page and group list strings to lists
         if options["pageList"] is not None:
--- a/MoinMoin/action/_tests/test_attachfile.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/action/_tests/test_attachfile.py	Wed Jul 22 21:50:03 2009 +0200
@@ -56,7 +56,10 @@
         """
         Tests if AttachFile.getFilename creates the attachment dir on self.requesting
         """
+        become_trusted(self.request)
+
         filename = ""
+
         file_exists = os.path.exists(AttachFile.getFilename(self.request, self.pagename, filename))
 
         nuke_page(self.request, self.pagename)
--- a/MoinMoin/action/serveopenid.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/action/serveopenid.py	Wed Jul 22 21:50:03 2009 +0200
@@ -141,10 +141,9 @@
 
         # again, we never put an openid.server link on this page...
         # why are they here?
-        if cfg.openid_server_restricted_users_group:
-            request.dicts.addgroup(request, cfg.openid_server_restricted_users_group)
-            if not request.dicts.has_member(cfg.openid_server_restricted_users_group, received_name):
-                return False
+        openid_group_name = cfg.openid_server_restricted_users_group
+        if openid_group_name and received_name not in request.groups.get(openid_group_name, []):
+            return False
 
         return True
 
--- a/MoinMoin/config/multiconfig.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/config/multiconfig.py	Wed Jul 22 21:50:03 2009 +0200
@@ -17,6 +17,7 @@
 logging = log.getLogger(__name__)
 
 from MoinMoin import config, error, util, wikiutil, web
+from MoinMoin import datastruct
 from MoinMoin.auth import MoinAuth
 import MoinMoin.auth as authmodule
 import MoinMoin.events as events
@@ -698,6 +699,13 @@
 #
 options_no_group_name = {
   # ==========================================================================
+  'datastruct': ('Datastruct settings', None, (
+    ('dicts', lambda cfg, request: datastruct.WikiDicts(request),
+     "function f(cfg, request) that returns a backend which is used to access dicts definitions."),
+    ('groups', lambda cfg, request: datastruct.WikiGroups(request),
+     "function f(cfg, request) that returns a backend which is used to access groups definitions."),
+  )),
+  # ==========================================================================
   'session': ('Session settings', "Session-related settings, see HelpOnSessions.", (
     ('session_service', DefaultExpression('web.session.FileSessionService()'),
      "The session service."),
@@ -932,8 +940,8 @@
   )),
   # ==========================================================================
   'pages': ('Special page names', None, (
-    ('page_front_page', u'HelpOnLanguages',
-     "Name of the front page. We don't expect you to keep the default. Just read HelpOnLanguages in case you're wondering... [Unicode]"),
+    ('page_front_page', u'LanguageSetup',
+     "Name of the front page. We don't expect you to keep the default. Just read LanguageSetup in case you're wondering... [Unicode]"),
 
     # the following regexes should match the complete name when used in free text
     # the group 'all' shall match all, while the group 'key' shall match the key only
--- a/MoinMoin/conftest.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/conftest.py	Wed Jul 22 21:50:03 2009 +0200
@@ -115,4 +115,3 @@
         if coverage is not None:
             coverage_modules.update(getattr(self.obj, 'coverage_modules', []))
         return super(Module, self).run(*args, **kwargs)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/__init__.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,19 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - datastruct (groups and dicts) support.
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends.wiki_dicts import WikiDicts
+from MoinMoin.datastruct.backends.config_dicts import ConfigDicts
+from MoinMoin.datastruct.backends.composite_dicts import CompositeDicts
+
+from MoinMoin.datastruct.backends.wiki_groups import WikiGroups
+from MoinMoin.datastruct.backends.config_groups import ConfigGroups
+from MoinMoin.datastruct.backends.composite_groups import CompositeGroups
+
+from MoinMoin.datastruct.backends import GroupDoesNotExistError
+from MoinMoin.datastruct.backends import DictDoesNotExistError
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/__init__.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,313 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - base classes for datastructs.
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+
+class GroupDoesNotExistError(Exception):
+    """
+    Raised when a group name is not found in the backend.
+    """
+
+
+class DictDoesNotExistError(Exception):
+    """
+    Raised when a dict name is not found in the backend.
+    """
+
+
+class BaseGroup(object):
+    """
+    Group is something which stores members. Groups are immutable. A
+    member is some arbitrary entity name (Unicode object).
+    """
+
+    def __init__(self, request, name, backend):
+        """
+        Initialize a group.
+
+        @param request
+        @param name: moin group name
+        @backend: backend object which created this object
+        """
+        self.request = request
+        self.name = name
+        self._backend = backend
+
+    def __contains__(self, member, processed_groups=None):
+        raise NotImplementedError()
+
+    def __iter__(self, yielded_members=None, processed_groups=None):
+        raise NotImplementedError()
+
+
+class BaseGroupsBackend(object):
+    """
+    Backend provides access to the group definitions for the other
+    MoinMoin code.
+    """
+
+    def __init__(self, request):
+        self.request = request
+        self.page_group_regex = request.cfg.cache.page_group_regexact
+
+    def is_group_name(self, member):
+        return self.page_group_regex.match(member)
+
+    def __contains__(self, group_name):
+        """
+        Check if a group called <group_name> is available in this backend.
+        """
+        raise NotImplementedError()
+
+    def __iter__(self):
+        """
+        Iterate over moin group names of the groups defined in this backend.
+
+        @return: moin group names
+        """
+        raise NotImplementedError()
+
+    def __getitem__(self, group_name):
+        """
+        Get a group by its moin group name.
+        """
+        raise NotImplementedError()
+
+    def __repr__(self):
+        return "<%s groups=%s>" % (self.__class__, list(self))
+
+    def _retrieve_members(self, group_name):
+        raise NotImplementedError()
+
+    def groups_with_member(self, member):
+        """
+        List all group names of groups containing <member>.
+
+        @param member: member name [unicode]
+        @return: list of group names [unicode]
+        """
+        for group_name in self:
+            try:
+                if member in self[group_name]:
+                    yield group_name
+            except GroupDoesNotExistError:
+                pass
+
+    def get(self, key, default=None):
+        try:
+            return self[key]
+        except GroupDoesNotExistError:
+            return default
+
+
+class LazyGroup(BaseGroup):
+    """
+    A lazy group does not store members internally, but gets them from
+    a backend when needed.
+
+    Lazy group is made only of members. It can not consist of other groups.
+
+    For instance, this is a possible LazyGroup:
+
+     PossibleGroup
+      * OneMember
+      * OtherMember
+
+    This is a group which cannot be LazyGroup:
+
+     NotPossibleGroup
+      * OneMember
+      * OtherMember
+      * OtherGroup
+    """
+
+    def __init__(self, request, name, backend):
+        super(LazyGroup, self).__init__(request, name, backend)
+
+        if name not in backend:
+            raise GroupDoesNotExistError(name)
+
+    def __contains__(self, member, processed_groups=None):
+        # processed_groups are not used here but other group classes
+        # may expect this parameter.
+        return self._backend._group_has_member(self.name, member)
+
+    def __iter__(self, yielded_members=None, processed_groups=None):
+        # processed_groups are not used here but other group classes
+        # may expect this parameter.
+        if yielded_members is None:
+            yielded_members = set()
+
+        for member in self._backend._iter_group_members(self.name):
+            if member not in yielded_members:
+                yielded_members.add(member)
+                yield member
+
+
+class LazyGroupsBackend(BaseGroupsBackend):
+
+    def _iter_group_members(self, group_name):
+        raise NotImplementedError()
+
+    def _group_has_member(self, group_name, member):
+        raise NotImplementedError()
+
+
+class GreedyGroup(BaseGroup):
+    """
+    GreedyGroup gets all members during initialization and stores them internally.
+
+    Members of a group may be names of other groups.
+    """
+
+    def __init__(self, request, name, backend):
+
+        super(GreedyGroup, self).__init__(request, name, backend)
+        self.members, self.member_groups = self._load_group()
+
+    def _load_group(self):
+        """
+        Retrieve group data from the backend and filter it to members and group_members.
+        """
+        members_retrieved = set(self._backend._retrieve_members(self.name))
+
+        member_groups = set(member for member in members_retrieved if self._backend.is_group_name(member))
+        members = members_retrieved - member_groups
+
+        return members, member_groups
+
+    def __contains__(self, member, processed_groups=None):
+        """
+        First check if <member> is part of this group and then check
+        for every subgroup in this group.
+
+        <processed_groups> is needed to avoid infinite recursion, if
+        groups are defined recursively.
+
+        @param member: member name [unicode]
+        @param processed_groups: groups which were checked for containment before [set]
+        """
+
+        if processed_groups is None:
+            processed_groups = set()
+
+        processed_groups.add(self.name)
+
+        if member in self.members or member in self.member_groups:
+            return True
+        else:
+            groups = self.request.groups
+            for group_name in self.member_groups:
+                if group_name not in processed_groups and group_name in groups and groups[group_name].__contains__(member, processed_groups):
+                    return True
+
+        return False
+
+    def __iter__(self, yielded_members=None, processed_groups=None):
+        """
+        Iterate first over members of this group, then over subgroups of this group.
+
+        <yielded_members> and <processed_groups> are needed to avoid infinite recursion.
+        This can happen if there are two groups like these:
+           OneGroup: Something, OtherGroup
+           OtherGroup: OneGroup, SomethingOther
+
+        @param yielded_members: members which have been already yielded before [set]
+        @param processed_groups: group names which have been iterated before [set]
+        """
+
+        if processed_groups is None:
+            processed_groups = set()
+
+        if yielded_members is None:
+            yielded_members = set()
+
+        processed_groups.add(self.name)
+
+        for member in self.members:
+            if member not in yielded_members:
+                yielded_members.add(member)
+                yield member
+
+        groups = self.request.groups
+        for group_name in self.member_groups:
+            if group_name not in processed_groups:
+                if group_name in groups:
+                    for member in groups[group_name].__iter__(yielded_members, processed_groups):
+                        yield member
+                else:
+                    yield group_name
+
+    def __repr__(self):
+        return "<%s name=%s members=%s member_groups=%s>" % (self.__class__,
+                                                             self.name,
+                                                             self.members,
+                                                             self.member_groups)
+
+
+class BaseDict(object):
+
+    def __init__(self, request, name, backend):
+        """
+        Initialize a dict. Dicts are greedy, it stores all keys and
+        items internally.
+
+        @param request
+        @param name: moin dict name
+        @backend: backend object which created this object
+        """
+        self.request = request
+        self.name = name
+        self._backend = backend
+        self._dict = self._load_dict()
+
+    def __iter__(self):
+        return self._dict.__iter__()
+
+    def __len__(self):
+        return self._dict.__len__()
+
+    def __getitem__(self, key):
+        return self._dict[key]
+
+    def get(self, key, default=None):
+        return self._dict.get(key, default)
+
+    def _load_dict(self):
+        """
+        Retrieve dict data from the backend.
+        """
+        return self._backend._retrieve_items(self.name)
+
+    def __repr__(self):
+        return "<%r name=%r items=%r>" % (self.__class__, self.name, self._dict.items())
+
+
+class BaseDictsBackend(object):
+
+    def __init__(self, request):
+        self.request = request
+        self.page_dict_regex = request.cfg.cache.page_dict_regexact
+
+    def is_dict_name(self, name):
+        return self.page_dict_regex.match(name)
+
+    def __contains__(self, dict_name):
+        """
+        Check if a dict called <dict_name> is available in this backend.
+        """
+        raise NotImplementedError()
+
+    def __getitem__(self, dict_name):
+        """
+        Get a dict by its moin dict name.
+        """
+        raise NotImplementedError()
+
+    def _retrieve_items(self, dict_name):
+        raise NotImplementedError()
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/__init__.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,166 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.datastruct.backends base test classes.
+
+    @copyright: 2003-2004 by Juergen Hermann <jh@web.de>,
+                2007 by MoinMoin:ThomasWaldmann
+                2008 by MoinMoin:MelitaMihaljevic
+                2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+
+"""
+
+from py.test import raises
+
+from MoinMoin import security
+from MoinMoin.datastruct import GroupDoesNotExistError
+
+
+class GroupsBackendTest(object):
+
+    test_groups = {u'EditorGroup': [u'AdminGroup', u'John', u'JoeDoe', u'Editor1', u'John'],
+                   u'AdminGroup': [u'Admin1', u'Admin2', u'John'],
+                   u'OtherGroup': [u'SomethingOther'],
+                   u'RecursiveGroup': [u'Something', u'OtherRecursiveGroup'],
+                   u'OtherRecursiveGroup': [u'RecursiveGroup', u'Anything', u'NotExistingGroup'],
+                   u'ThirdRecursiveGroup': [u'ThirdRecursiveGroup', u'Banana'],
+                   u'EmptyGroup': [],
+                   u'CheckNotExistingGroup': [u'NotExistingGroup']}
+
+
+    expanded_groups = {u'EditorGroup': [u'Admin1', u'Admin2', u'John',
+                                        u'JoeDoe', u'Editor1'],
+                       u'AdminGroup': [u'Admin1', u'Admin2', u'John'],
+                       u'OtherGroup': [u'SomethingOther'],
+                       u'RecursiveGroup': [u'Anything', u'Something', u'NotExistingGroup'],
+                       u'OtherRecursiveGroup': [u'Anything', u'Something', u'NotExistingGroup'],
+                       u'ThirdRecursiveGroup': [u'Banana'],
+                       u'EmptyGroup': [],
+                       u'CheckNotExistingGroup': [u'NotExistingGroup']}
+
+    def test_contains(self):
+        """
+        Test group_wiki Backend and Group containment methods.
+        """
+        groups = self.request.groups
+
+        for group, members in self.expanded_groups.iteritems():
+            assert group in groups
+            for member in members:
+                assert member in groups[group]
+
+        raises(GroupDoesNotExistError, lambda: groups[u'NotExistingGroup'])
+
+    def test_contains_group(self):
+        groups = self.request.groups
+
+        assert u'AdminGroup' in groups[u'EditorGroup']
+        assert u'EditorGroup' not in groups[u'AdminGroup']
+
+    def test_iter(self):
+        groups = self.request.groups
+
+        for group, members in self.expanded_groups.iteritems():
+            returned_members = list(groups[group])
+            assert len(returned_members) == len(members)
+            for member in members:
+                assert member in returned_members
+
+    def test_get(self):
+        groups = self.request.groups
+
+        assert groups.get(u'AdminGroup')
+        assert u'NotExistingGroup' not in groups
+        assert groups.get(u'NotExistingGroup') is None
+
+    def test_groups_with_member(self):
+        groups = self.request.groups
+
+        john_groups = list(groups.groups_with_member(u'John'))
+        assert 2 == len(john_groups)
+        assert u'EditorGroup' in john_groups
+        assert u'AdminGroup' in john_groups
+        assert u'ThirdGroup' not in john_groups
+
+    def test_backend_acl_allow(self):
+        """
+        Test if the wiki group backend works with acl code.
+        Check user which has rights.
+        """
+        request = self.request
+
+        acl_rights = ["AdminGroup:admin,read,write"]
+        acl = security.AccessControlList(request.cfg, acl_rights)
+
+        for user in self.expanded_groups['AdminGroup']:
+            for permission in ["read", "write", "admin"]:
+                assert acl.may(request, u"Admin1", permission), '%s must have %s permission because he is member of the AdminGroup' % (user, permission)
+
+    def test_backend_acl_deny(self):
+        """
+        Test if the wiki group backend works with acl code.
+        Check user which does not have rights.
+        """
+        request = self.request
+
+        acl_rights = ["AdminGroup:read,write"]
+        acl = security.AccessControlList(request.cfg, acl_rights)
+
+        assert u"SomeUser" not in request.groups['AdminGroup']
+        for permission in ["read", "write"]:
+            assert not acl.may(request, u"SomeUser", permission), 'SomeUser must not have %s permission because he is not listed in the AdminGroup' % permission
+
+        assert u'Admin1' in request.groups['AdminGroup']
+        assert not acl.may(request, u"Admin1", "admin")
+
+    def test_backend_acl_with_all(self):
+        request = self.request
+
+        acl_rights = ["EditorGroup:read,write,delete,admin All:read"]
+        acl = security.AccessControlList(request.cfg, acl_rights)
+
+        for member in self.expanded_groups[u'EditorGroup']:
+            for permission in ["read", "write", "delete", "admin"]:
+                assert acl.may(request, member, permission)
+
+        assert acl.may(request, u"Someone", "read")
+        for permission in ["write", "delete", "admin"]:
+            assert not acl.may(request, u"Someone", permission)
+
+    def test_backend_acl_not_existing_group(self):
+        request = self.request
+        assert u'NotExistingGroup' not in request.groups
+
+        acl_rights = ["NotExistingGroup:read,write,delete,admin All:read"]
+        acl = security.AccessControlList(request.cfg, acl_rights)
+
+        assert not acl.may(request, u"Someone", "write")
+
+
+class DictsBackendTest(object):
+
+    dicts = {u'SomeTestDict': {u'First': u'first item',
+                               u'text with spaces': u'second item',
+                               u'Empty string': u'',
+                               u'Last': u'last item'},
+             u'SomeOtherTestDict': {u'One': '1',
+                                    u'Two': '2'}}
+
+    def test_getitem(self):
+        expected_dicts = self.dicts
+        dicts = self.request.dicts
+
+        for dict_name, expected_dict in expected_dicts.items():
+            test_dict = dicts[dict_name]
+            assert len(test_dict) == len(expected_dict)
+            for key, value in expected_dict.items():
+                assert test_dict[key] == value
+
+    def test_contains(self):
+        dicts = self.request.dicts
+
+        for key in self.dicts:
+            assert key in dicts
+
+        assert u'SomeNotExistingDict' not in dicts
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_composite_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,37 @@
+# -*- coding: iso-8859-1 -*-
+
+"""
+MoinMoin.datastruct.backends.composite_dicts test
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+            2008 MoinMoin: MelitaMihaljevic
+@license: GPL, see COPYING for details
+"""
+
+from py.test import raises
+
+from MoinMoin.datastruct.backends._tests import DictsBackendTest
+from MoinMoin.datastruct import ConfigDicts, CompositeDicts, DictDoesNotExistError
+from MoinMoin._tests import wikiconfig
+from MoinMoin import security
+
+
+class TestCompositeDict(DictsBackendTest):
+
+    class Config(wikiconfig.Config):
+
+        one_dict = {u'SomeTestDict': {u'First': u'first item',
+                                      u'text with spaces': u'second item',
+                                      u'Empty string': u'',
+                                      u'Last': u'last item'}}
+
+        other_dict = {u'SomeOtherTestDict': {u'One': '1',
+                                             u'Two': '2'}}
+
+        def dicts(self, request):
+            return CompositeDicts(request,
+                                  ConfigDicts(request, self.one_dict),
+                                  ConfigDicts(request, self.other_dict))
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.composite_dicts']
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_composite_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,88 @@
+# -*- coding: iso-8859-1 -*-
+
+"""
+MoinMoin.datastruct.backends.composite_groups test
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from py.test import raises
+
+from MoinMoin.datastruct.backends._tests import GroupsBackendTest
+from MoinMoin.datastruct import ConfigGroups, CompositeGroups, GroupDoesNotExistError
+from MoinMoin._tests import wikiconfig
+from MoinMoin import security
+
+
+class TestCompositeGroupsBackend(GroupsBackendTest):
+
+    class Config(wikiconfig.Config):
+
+        def groups(self, request):
+            groups = GroupsBackendTest.test_groups
+            return CompositeGroups(request, ConfigGroups(request, groups))
+
+
+class TestCompositeGroup(object):
+
+    class Config(wikiconfig.Config):
+
+        admin_group = frozenset([u'Admin', u'JohnDoe'])
+        editor_group = frozenset([u'MainEditor', u'JohnDoe'])
+        fruit_group = frozenset([u'Apple', u'Banana', u'Cherry'])
+
+        first_backend_groups = {u'AdminGroup': admin_group,
+                                u'EditorGroup': editor_group,
+                                u'FruitGroup': fruit_group}
+
+        user_group = frozenset([u'JohnDoe', u'Bob', u'Joe'])
+        city_group = frozenset([u'Bolzano', u'Riga', u'London'])
+
+        # Suppose, someone hacked second backend and added himself to AdminGroup
+        second_admin_group = frozenset([u'TheHacker'])
+
+        second_backend_groups = {u'UserGroup': user_group,
+                                 u'CityGroup': city_group,
+                                 # Here group name clash occurs.
+                                 # AdminGroup is defined in both
+                                 # first_backend and second_backend.
+                                 u'AdminGroup': second_admin_group}
+
+        def groups(self, request):
+            return CompositeGroups(request,
+                                   ConfigGroups(request, self.first_backend_groups),
+                                   ConfigGroups(request, self.second_backend_groups))
+
+    def setup_method(self, method):
+        self.groups = self.request.groups
+
+    def test_getitem(self):
+        raises(GroupDoesNotExistError, lambda: self.groups[u'NotExistingGroup'])
+
+    def test_clashed_getitem(self):
+        """
+        Check the case when groups of the same name are defined in multiple
+        backends. __getitem__ should return the first match (backends are
+        considered in the order they are given in the backends list).
+        """
+        admin_group = self.groups[u'AdminGroup']
+
+        # TheHacker added himself to the second backend, but that must not be
+        # taken into consideration, because AdminGroup is defined in first
+        # backend and we only use the first match.
+        assert u'TheHacker' not in admin_group
+
+    def test_iter(self):
+        all_group_names = list(self.groups)
+
+        assert 5 == len(all_group_names)
+        # There are no duplicates
+        assert len(set(all_group_names)) == len(all_group_names)
+
+    def test_contains(self):
+        assert u'UserGroup' in self.groups
+        assert u'not existing group' not in self.groups
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.composite_groups']
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_config_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,24 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.backends.config_dicts tests
+
+    @copyright: 2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from  MoinMoin.datastruct.backends._tests import DictsBackendTest
+from MoinMoin.datastruct import ConfigDicts
+from MoinMoin._tests import wikiconfig
+
+
+class TestConfigDictsBackend(DictsBackendTest):
+
+    class Config(wikiconfig.Config):
+
+        def dicts(self, request):
+            dicts = DictsBackendTest.dicts
+            return ConfigDicts(request, dicts)
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.config_dicts']
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_config_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,24 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.backends.config_groups tests
+
+    @copyright: 2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin.datastruct.backends._tests import GroupsBackendTest
+from MoinMoin.datastruct import ConfigGroups
+from MoinMoin._tests import wikiconfig
+
+
+class TestConfigGroupsBackend(GroupsBackendTest):
+
+    class Config(wikiconfig.Config):
+
+        def groups(self, request):
+            groups = GroupsBackendTest.test_groups
+            return ConfigGroups(request, groups)
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.config_groups']
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_lazy_config_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,59 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.backends.config_lazy_groups tests
+
+    @copyright: 2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin.datastruct.backends._tests.test_config_groups import TestConfigGroupsBackend
+from MoinMoin.datastruct.backends._tests import GroupsBackendTest
+from MoinMoin.datastruct.backends.config_lazy_groups import ConfigLazyGroups
+from MoinMoin.datastruct import ConfigGroups, CompositeGroups, GroupDoesNotExistError
+from MoinMoin._tests import wikiconfig
+
+
+class TestLazyConfigGroups(TestConfigGroupsBackend):
+
+    test_groups = {u'EditorGroup': [u'John', u'JoeDoe', u'Editor1'],
+                   u'AdminGroup': [u'Admin1', u'Admin2', u'John'],
+                   u'OtherGroup': [u'SomethingOther'],
+                   u'EmptyGroup': []}
+
+    expanded_groups = test_groups
+
+    class Config(wikiconfig.Config):
+
+        def groups(self, request):
+            groups = TestLazyConfigGroups.test_groups
+            return ConfigLazyGroups(request, groups)
+
+    def test_contains_group(self):
+        """
+        ConfigLazyGroups can not contain other group members.
+
+        This test does not make sense.
+        """
+
+
+class TestCompositeAndLazyConfigGroups(GroupsBackendTest):
+
+    class Config(wikiconfig.Config):
+
+        def groups(self, request):
+            config_groups = {u'EditorGroup': [u'AdminGroup', u'John', u'JoeDoe', u'Editor1', u'John'],
+                             u'RecursiveGroup': [u'Something', u'OtherRecursiveGroup'],
+                             u'OtherRecursiveGroup': [u'RecursiveGroup', u'Anything', u'NotExistingGroup'],
+                             u'ThirdRecursiveGroup': [u'ThirdRecursiveGroup', u'Banana'],
+                             u'CheckNotExistingGroup': [u'NotExistingGroup']}
+
+            lazy_groups = {u'AdminGroup': [u'Admin1', u'Admin2', u'John'],
+                           u'OtherGroup': [u'SomethingOther'],
+                           u'EmptyGroup': []}
+
+            return CompositeGroups(request,
+                                   ConfigGroups(request, config_groups),
+                                   ConfigLazyGroups(request, lazy_groups))
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.config_lazy_groups']
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_wiki_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,53 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.datastruct.backends.wiki_dicts tests
+
+    @copyright: 2003-2004 by Juergen Hermann <jh@web.de>,
+                2007 by MoinMoin:ThomasWaldmann
+                2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+
+from MoinMoin.datastruct.backends._tests import DictsBackendTest
+from MoinMoin.datastruct.backends import wiki_dicts
+from MoinMoin._tests import become_trusted, create_page, nuke_page
+
+
+class TestWikiDictsBackend(DictsBackendTest):
+
+    # Suppose that default configuration for the dicts is used which
+    # is WikiDicts backend.
+
+    def setup_class(self):
+        request = self.request
+        become_trusted(request)
+
+        text = '''
+Text ignored
+ * list items ignored
+  * Second level list ignored
+ First:: first item
+ text with spaces:: second item
+
+Empty lines ignored, so is this text
+Next line has key with empty value
+ Empty string::\x20
+ Last:: last item
+'''
+        create_page(request, u'SomeTestDict', text)
+
+        text = """
+ One:: 1
+ Two:: 2
+"""
+        create_page(request, u'SomeOtherTestDict', text)
+
+    def teardown_class(self):
+        become_trusted(self.request)
+        nuke_page(self.request, u'SomeTestDict')
+        nuke_page(self.request, u'SomeOtherTestDict')
+
+
+coverage_modules = ['MoinMoin.datastruct.backends.wiki_dicts']
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/_tests/test_wiki_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,185 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - MoinMoin.backends.wiki_group tests
+
+@copyright: 2003-2004 by Juergen Hermann <jh@web.de>,
+            2007 by MoinMoin:ThomasWaldmann
+            2008 by MoinMoin:MelitaMihaljevic
+            2009 by MoinMoin:DmitrijsMilajevs
+@license: GNU GPL, see COPYING for details.
+"""
+
+from py.test import raises
+import re, shutil
+
+from MoinMoin.datastruct.backends._tests import GroupsBackendTest
+from MoinMoin.datastruct import WikiGroups
+from MoinMoin import Page, security
+from MoinMoin.PageEditor import PageEditor
+from MoinMoin.user import User
+from MoinMoin._tests import append_page, become_trusted, create_page, create_random_string_list, nuke_page, nuke_user, wikiconfig
+
+
+class TestWikiGroupBackend(GroupsBackendTest):
+
+    # Suppose that default configuration for the groups is used which
+    # is WikiGroups backend.
+
+    def setup_class(self):
+        become_trusted(self.request)
+
+        for (group, members) in self.test_groups.iteritems():
+            page_text = ' * %s' % '\n * '.join(members)
+            create_page(self.request, group, page_text)
+
+    def teardown_class(self):
+        become_trusted(self.request)
+
+        for group in self.test_groups:
+            nuke_page(self.request, group)
+
+    def test_rename_group_page(self):
+        """
+        Tests if the groups cache is refreshed after renaming a Group page.
+        """
+        request = self.request
+        become_trusted(request)
+
+        page = create_page(request, u'SomeGroup', u" * ExampleUser")
+        page.renamePage('AnotherGroup')
+
+        result = u'ExampleUser' in request.groups[u'AnotherGroup']
+        nuke_page(request, u'AnotherGroup')
+
+        assert result is True
+
+    def test_copy_group_page(self):
+        """
+        Tests if the groups cache is refreshed after copying a Group page.
+        """
+        request = self.request
+        become_trusted(request)
+
+        page = create_page(request, u'SomeGroup', u" * ExampleUser")
+        page.copyPage(u'SomeOtherGroup')
+
+        result = u'ExampleUser' in request.groups[u'SomeOtherGroup']
+
+        nuke_page(request, u'OtherGroup')
+        nuke_page(request, u'SomeGroup')
+
+        assert result is True
+
+    def test_appending_group_page(self):
+        """
+        Test scalability by appending a name to a large list of group members.
+        """
+        request = self.request
+        become_trusted(request)
+
+        # long list of users
+        page_content = [u" * %s" % member for member in create_random_string_list(length=15, count=1234)]
+        test_user = create_random_string_list(length=15, count=1)[0]
+        create_page(request, u'UserGroup', "\n".join(page_content))
+        append_page(request, u'UserGroup', u' * %s' % test_user)
+        result = test_user in request.groups['UserGroup']
+        nuke_page(request, u'UserGroup')
+
+        assert result
+
+    def test_user_addition_to_group_page(self):
+        """
+        Test addition of a username to a large list of group members.
+        """
+        request = self.request
+        become_trusted(request)
+
+        # long list of users
+        page_content = [u" * %s" % member for member in create_random_string_list()]
+        create_page(request, u'UserGroup', "\n".join(page_content))
+
+        new_user = create_random_string_list(length=15, count=1)[0]
+        append_page(request, u'UserGroup', u' * %s' % new_user)
+        user = User(request, name=new_user)
+        if not user.exists():
+            User(request, name=new_user, password=new_user).save()
+
+        result = new_user in request.groups[u'UserGroup']
+        nuke_page(request, u'UserGroup')
+        nuke_user(request, new_user)
+
+        assert result
+
+    def test_member_removed_from_group_page(self):
+        """
+        Tests appending a member to a large list of group members and
+        recreating the page without the member.
+        """
+        request = self.request
+        become_trusted(request)
+
+        # long list of users
+        page_content = [u" * %s" % member for member in create_random_string_list()]
+        page_content = "\n".join(page_content)
+        create_page(request, u'UserGroup', page_content)
+
+        test_user = create_random_string_list(length=15, count=1)[0]
+        page = append_page(request, u'UserGroup', u' * %s' % test_user)
+
+        # saves the text without test_user
+        page.saveText(page_content, 0)
+        result = test_user in request.groups[u'UserGroup']
+        nuke_page(request, u'UserGroup')
+
+        assert not result
+
+    def test_group_page_user_addition_trivial_change(self):
+        """
+        Test addition of a user to a group page by trivial change.
+        """
+        request = self.request
+        become_trusted(request)
+
+        test_user = create_random_string_list(length=15, count=1)[0]
+        member = u" * %s\n" % test_user
+        page = create_page(request, u'UserGroup', member)
+
+        # next member saved  as trivial change
+        test_user = create_random_string_list(length=15, count=1)[0]
+        member = u" * %s\n" % test_user
+        page.saveText(member, 0, trivial=1)
+
+        result = test_user in request.groups[u'UserGroup']
+
+        nuke_page(request, u'UserGroup')
+
+        assert result
+
+    def test_wiki_backend_page_acl_append_page(self):
+        """
+        Test if the wiki group backend works with acl code.
+        First check acl rights of a user that is not a member of group
+        then add user member to a page group and check acl rights
+        """
+        request = self.request
+        become_trusted(request)
+
+        create_page(request, u'NewGroup', u" * ExampleUser")
+
+        acl_rights = ["NewGroup:read,write"]
+        acl = security.AccessControlList(request.cfg, acl_rights)
+
+        has_rights_before = acl.may(request, u"AnotherUser", "read")
+
+        # update page - add AnotherUser to a page group NewGroup
+        append_page(request, u'NewGroup', u" * AnotherUser")
+
+        has_rights_after = acl.may(request, u"AnotherUser", "read")
+
+        nuke_page(request, u'NewGroup')
+
+        assert not has_rights_before, 'AnotherUser has no read rights because in the beginning he is not a member of a group page NewGroup'
+        assert has_rights_after, 'AnotherUser must have read rights because after appendage he is member of NewGroup'
+
+coverage_modules = ['MoinMoin.datastruct.backends.wiki_groups']
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/composite_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,47 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - dict access via various backends.
+
+@copyright: 2009 DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends import BaseDictsBackend, DictDoesNotExistError
+
+
+class CompositeDicts(BaseDictsBackend):
+    """
+    Manage several dicts backends.
+    """
+
+    def __init__(self, request, *backends):
+        """
+        @param backends: list of dict backends which are used to get
+                         access to the dict definitions.
+        """
+        super(CompositeDicts, self).__init__(request)
+        self._backends = backends
+
+    def __getitem__(self, dict_name):
+        """
+        Get a dict by its name. First match counts.
+        """
+        for backend in self._backends:
+            try:
+                return backend[dict_name]
+            except DictDoesNotExistError:
+                pass
+        raise DictDoesNotExistError(dict_name)
+
+    def __contains__(self, dict_name):
+        """
+        Check if a dict called dict_name is available in any of the backends.
+        """
+        for backend in self._backends:
+            if dict_name in backend:
+                return True
+        return False
+
+    def __repr__(self):
+        return "<%s backends=%s>" % (self.__class__, self._backends)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/composite_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,70 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - group access via various backends.
+
+The composite_groups is a backend that does not have direct storage,
+but composes other backends to a new one, so group definitions are
+retrieved from several backends. This allows to mix different
+backends.
+
+@copyright: 2009 DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends import BaseGroupsBackend, GroupDoesNotExistError
+
+
+class CompositeGroups(BaseGroupsBackend):
+    """
+    Manage several group backends.
+    """
+
+    def __init__(self, request, *backends):
+        """
+        @param backends: list of group backends which are used to get
+                         access to the group definitions.
+        """
+        super(CompositeGroups, self).__init__(request)
+        self._backends = backends
+
+    def __getitem__(self, group_name):
+        """
+        Get a group by its name. First match counts.
+        """
+        for backend in self._backends:
+            try:
+                return backend[group_name]
+            except GroupDoesNotExistError:
+                pass
+        raise GroupDoesNotExistError(group_name)
+
+    def __iter__(self):
+        """
+        Iterate over group names in all backends (filtering duplicates).
+
+        If a group with same name is defined in several backends, the
+        composite_groups backend yields only backend which is listed
+        earlier in self._backends.
+        """
+        yielded_groups = set()
+
+        for backend in self._backends:
+            for group_name in backend:
+                if group_name not in yielded_groups:
+                    yield group_name
+                    yielded_groups.add(group_name)
+
+    def __contains__(self, group_name):
+        """
+        Check if a group called group_name is available in any of the backends.
+
+        @param group_name: name of the group [unicode]
+        """
+        for backend in self._backends:
+            if group_name in backend:
+                return True
+        return False
+
+    def __repr__(self):
+        return "<%s backends=%s>" % (self.__class__, self._backends)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/config_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,39 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - config dict backend
+
+The config group backend enables you to define dicts in a configuration file.
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends import BaseDict, BaseDictsBackend, DictDoesNotExistError
+
+
+class ConfigDict(BaseDict):
+    pass
+
+
+class ConfigDicts(BaseDictsBackend):
+
+    def __init__(self, request, dicts):
+        super(ConfigDicts, self).__init__(request)
+
+        self._dicts = dicts
+
+    def __contains__(self, dict_name):
+        return self.is_dict_name(dict_name) and dict_name in self._dicts
+
+    def __iter__(self):
+        return self._dicts.iterkeys()
+
+    def __getitem__(self, dict_name):
+        return ConfigDict(request=self.request, name=dict_name, backend=self)
+
+    def _retrieve_items(self, dict_name):
+        try:
+            return self._dicts[dict_name]
+        except KeyError:
+            raise DictDoesNotExistError(dict_name)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/config_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,44 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - config groups backend
+
+The config_groups backend enables one to define groups and their
+members in a configuration file.
+
+@copyright: 2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends import GreedyGroup, BaseGroupsBackend, GroupDoesNotExistError
+
+
+class ConfigGroup(GreedyGroup):
+    pass
+
+
+class ConfigGroups(BaseGroupsBackend):
+
+    def __init__(self, request, groups):
+        """
+        @param groups: Dictionary of groups where key is group name,
+        and value is list of members of that group.
+        """
+        super(ConfigGroups, self).__init__(request)
+
+        self._groups = groups
+
+    def __contains__(self, group_name):
+        return group_name in self._groups
+
+    def __iter__(self):
+        return self._groups.iterkeys()
+
+    def __getitem__(self, group_name):
+        return ConfigGroup(request=self.request, name=group_name, backend=self)
+
+    def _retrieve_members(self, group_name):
+        try:
+            return self._groups[group_name]
+        except KeyError:
+            raise GroupDoesNotExistError(group_name)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/config_lazy_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,43 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - config group lazy backend.
+
+    The config group backend allows one to define groups in a
+    configuration file.
+
+    NOTE that this is proof-of-concept implementation. LDAP backend
+    should be based on this concept.
+
+    @copyright: 2009 MoinMoin:DmitrijsMilajevs
+    @license: GPL, see COPYING for details
+"""
+
+from MoinMoin.datastruct.backends import LazyGroup, LazyGroupsBackend
+
+
+class ConfigLazyGroup(LazyGroup):
+    pass
+
+
+class ConfigLazyGroups(LazyGroupsBackend):
+
+    def __init__(self, request, groups):
+        super(ConfigLazyGroups, self).__init__(request)
+
+        self._groups = groups
+
+    def __contains__(self, group_name):
+        return group_name in self._groups
+
+    def __iter__(self):
+        return self._groups.iterkeys()
+
+    def __getitem__(self, group_name):
+        return ConfigLazyGroup(self.request, group_name, self)
+
+    def _iter_group_members(self, group_name):
+        if group_name in self:
+            return self._groups[group_name].__iter__()
+
+    def _group_has_member(self, group_name, member):
+        return group_name in self and member in self._groups[group_name]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/wiki_dicts.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,84 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - WikiDict functions.
+
+    @copyright: 2003-2007 MoinMoin:ThomasWaldmann,
+                2003 by Gustavo Niemeyer
+                2009 MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+
+import re
+
+from MoinMoin import caching, wikiutil
+from MoinMoin.Page import Page
+from MoinMoin.datastruct.backends import BaseDict, BaseDictsBackend, DictDoesNotExistError
+
+
+class WikiDict(BaseDict):
+    """
+    Mapping of keys to values in a wiki page.
+
+    A dict definition page should look like:
+
+       any text ignored
+        key1:: value1
+        * ignored, too
+        key2:: value2 containing spaces
+        ...
+        keyn:: ....
+       any text ignored
+    """
+
+    def _load_dict(self):
+        request = self.request
+        dict_name = self.name
+
+        page = Page(request, dict_name)
+        if page.exists():
+            arena = 'pagedicts'
+            key = wikiutil.quoteWikinameFS(dict_name)
+            cache = caching.CacheEntry(request, arena, key, scope='wiki', use_pickle=True)
+            try:
+                cache_mtime = cache.mtime()
+                page_mtime = wikiutil.version2timestamp(page.mtime_usecs())
+                # TODO: fix up-to-date check mtime granularity problems
+                if cache_mtime > page_mtime:
+                    # cache is uptodate
+                    return cache.content()
+                else:
+                    raise caching.CacheError
+            except caching.CacheError:
+                # either cache does not exist, is erroneous or not uptodate: recreate it
+                d = super(WikiDict, self)._load_dict()
+                cache.update(d)
+                return d
+        else:
+            raise DictDoesNotExistError(dict_name)
+
+
+class WikiDicts(BaseDictsBackend):
+
+    # Key:: Value - ignore all but key:: value pairs, strip whitespace, exactly one space after the :: is required
+    _dict_page_parse_regex = re.compile(ur'^ (?P<key>.+?):: (?P<val>.*?) *$', re.MULTILINE | re.UNICODE)
+
+    def __contains__(self, dict_name):
+        return self.is_dict_name(dict_name) and Page(self.request, dict_name).exists()
+
+    def __getitem__(self, dict_name):
+        return WikiDict(request=self.request, name=dict_name, backend=self)
+
+    def _retrieve_items(self, dict_name):
+        # XXX in Moin 2.0 regex should not be used instead use DOM
+        # tree to extract dict values. Also it should be possible to
+        # convert dict values to different markups (wiki-markup,
+        # creole...).
+        #
+        # Note that formatter which extracts dictionary from a
+        # page was developed. See
+        # http://hg.moinmo.in/moin/1.9-groups-dmilajevs/file/982f706482e7/MoinMoin/formatter/dicts.py
+        page = Page(self.request, dict_name)
+        text = page.get_raw_body()
+        return dict([match.groups() for match in self._dict_page_parse_regex.finditer(text)])
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/datastruct/backends/wiki_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,99 @@
+# -*- coding: iso-8859-1 -*-
+"""
+MoinMoin - wiki group backend
+
+The wiki_groups backend allows to define groups on wiki pages. See
+SystemPagesGroup as example of a group page.
+
+Normally, the name of the group page has to end with Group like
+FriendsGroup. This lets MoinMoin recognize it as a group. This default
+pattern could be changed (e.g. for non-english languages etc.), see
+HelpOnConfiguration.
+
+MoinMoin.formatter.groups is used to extract group members from a
+page.
+
+
+@copyright: 2008 MoinMoin:ThomasWaldmann,
+            2009 MoinMoin:DmitrijsMilajevs
+@license: GPL, see COPYING for details
+"""
+
+from MoinMoin import caching, wikiutil
+from MoinMoin.Page import Page
+from MoinMoin.datastruct.backends import GreedyGroup, BaseGroupsBackend, GroupDoesNotExistError
+from MoinMoin.formatter.groups import Formatter
+
+
+class WikiGroup(GreedyGroup):
+
+    def _load_group(self):
+        request = self.request
+        group_name = self.name
+
+        page = Page(request, group_name)
+        if page.exists():
+            arena = 'pagegroups'
+            key = wikiutil.quoteWikinameFS(group_name)
+            cache = caching.CacheEntry(request, arena, key, scope='wiki', use_pickle=True)
+            try:
+                cache_mtime = cache.mtime()
+                page_mtime = wikiutil.version2timestamp(page.mtime_usecs())
+                # TODO: fix up-to-date check mtime granularity problems
+                if cache_mtime > page_mtime:
+                    # cache is uptodate
+                    return cache.content()
+                else:
+                    raise caching.CacheError
+            except caching.CacheError:
+                # either cache does not exist, is erroneous or not uptodate: recreate it
+                members, member_groups = super(WikiGroup, self)._load_group()
+                cache.update((members, member_groups))
+                return members, member_groups
+        else:
+            raise GroupDoesNotExistError(group_name)
+
+
+class WikiGroups(BaseGroupsBackend):
+
+    def __contains__(self, group_name):
+        return self.is_group_name(group_name) and Page(self.request, group_name).exists()
+
+    def __iter__(self):
+        """
+        To find group pages, request.cfg.cache.page_group_regexact pattern is used.
+        """
+        return iter(self.request.rootpage.getPageList(user='', filter=self.page_group_regex.search))
+
+    def __getitem__(self, group_name):
+        return WikiGroup(request=self.request, name=group_name, backend=self)
+
+    def _retrieve_members(self, group_name):
+        """
+        MoinMoin.formatter.groups is used to extract group members from a page.
+        """
+        formatter = Formatter(self.request)
+        page = Page(self.request, group_name, formatter=formatter)
+
+        request_page = getattr(self.request, "page", None)
+        self.request.page = page
+        # send_special is set to True because acl of the page should
+        # not be processed to avoid infinite recursion in the
+        # following case.
+        #
+        # Consider page UserGroup content:
+        #
+        # #acl UserGroup:read,write,admin All:read
+        #
+        #  * ExampleUser
+        #  * TestGroup
+        #
+        page.send_page(content_only=True, send_special=True)
+
+        if request_page:
+            self.request.page = request_page
+        else:
+            del self.request.page
+
+        return formatter.members
+
--- a/MoinMoin/events/wikidictsrescan.py	Wed Jul 22 01:43:59 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-# -*- coding: iso-8859-1 -*-
-"""
-    MoinMoin - wikidicts notification plugin for event system
-
-    When a Group or Dict page changes, we rescan them and recreate the cache.
-
-    @copyright: 2007 by MoinMoin:ThomasWaldmann
-    @license: GNU GPL, see COPYING for details.
-"""
-
-from MoinMoin import log
-logging = log.getLogger(__name__)
-
-from MoinMoin import events as ev
-from MoinMoin import wikidicts
-
-def handle(event):
-    # "changed" includes creation, deletion, renamed and copied
-    if (isinstance(event, ev.PageChangedEvent) or isinstance(event, ev.PageRenamedEvent) or
-        isinstance(event, ev.PageCopiedEvent) or isinstance(event, ev.TrivialPageChangedEvent)):
-        cfg = event.request.cfg
-        pagename = event.page.page_name
-        if cfg.cache.page_dict_regexact.search(pagename) or \
-           cfg.cache.page_group_regexact.search(pagename):
-            return handle_groupsdicts_changed(event)
-
-
-def handle_groupsdicts_changed(event):
-    """ Handles events related to groups and dicts page changes:
-        Scans all pages matching the dict / group regex and pickles the
-        data to disk.
-    """
-    request = event.request
-    page = event.page
-
-    logging.debug("groupsdicts changed: %r, scan_dicts started", page.page_name)
-    del request.dicts
-    gd = wikidicts.GroupDict(request)
-    gd.scan_dicts()
-    logging.debug("groupsdicts changed: scan_dicts finished")
-
--- a/MoinMoin/filter/EXIF.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/filter/EXIF.py	Wed Jul 22 21:50:03 2009 +0200
@@ -1105,12 +1105,12 @@
         self.den = den
 
     def __repr__(self):
-        self.reduce()
+        self.reduce_size()
         if self.den == 1:
             return str(self.num)
         return '%d/%d' % (self.num, self.den)
 
-    def reduce(self):
+    def reduce_size(self):
         div = gcd(self.num, self.den)
         if div > 1:
             self.num = self.num / div
--- a/MoinMoin/formatter/_tests/test_formatter.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/formatter/_tests/test_formatter.py	Wed Jul 22 21:50:03 2009 +0200
@@ -132,5 +132,6 @@
                     'MoinMoin.formatter.dom_xml',
                     'MoinMoin.formatter.text_python',
                     'MoinMoin.formatter.pagelinks',
+                    'MoinMoin.formtter.groups',
                    ]
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/formatter/_tests/test_groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,227 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.formatter.groups Tests
+
+    @copyright: 2009 by MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from  MoinMoin.formatter.groups import Formatter
+from MoinMoin.Page import Page
+from MoinMoin._tests import become_trusted, create_page, nuke_page
+
+class TestGroupFormatterWikiMarkup(object):
+
+    def get_members(self, text):
+        request = self.request
+        formatter = Formatter(self.request)
+
+        become_trusted(request)
+        create_page(request, u'TestPageGroup', text)
+        page = Page(request, 'TestPageGroup', formatter=formatter)
+        page.send_page(content_only=True)
+        nuke_page(request, u'TestPageGroup')
+
+        return formatter.members
+
+    def test_CamelCase(self):
+        text = """
+ * CamelCase
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'CamelCase' in members
+
+    def test_extended_name(self):
+        text = """
+ * extended name
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'extended name' in members
+
+    def test_extended_link(self):
+        text = """
+ * [[extended link]]
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'extended link' in members
+
+    def test_extended_link_with_label(self):
+        text = """
+ * [[extended link| label]]
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'extended link' in members
+
+    def test_extended_link_and_text(self):
+        text = """
+ * [[extended link]] other text
+ * other text [[extended link]]
+ * other text [[extended link]] other text
+
+"""
+        members = self.get_members(text)
+        assert len(members) == 3
+        assert u'extended link other text' in members
+        assert u'other text extended link' in members
+        assert u'other text extended link other text' in members
+
+    def test_ignore_not_first_level_list(self):
+        text = """
+ * first level
+  * second level
+   * [[SomeLink]]
+    * forth level
+     * and then some...
+ * again first level
+"""
+        members = self.get_members(text)
+        assert len(members) == 2
+        assert 'first level' in members
+        assert 'again first level' in members
+
+    def test_intended_list(self):
+        text = """
+    * first level
+     * second level
+      * [[SomeLink|label]]
+       * forth level
+        * and then some...
+    * again first level
+"""
+        members = self.get_members(text)
+        assert len(members) == 2
+        assert 'first level' in members
+        assert 'again first level' in members
+
+    def test_ignore_other(self):
+        text = """
+= ignore this =
+ * take this
+
+Ignore previous line and this text.
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'take this' in members
+
+    def test_strip_whitespace(self):
+        text = """
+ *   take this
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'take this' in members
+
+
+class TestGroupFormatterCreole(object):
+
+    def get_members(self, text):
+        request = self.request
+        formatter = Formatter(self.request)
+
+        become_trusted(request)
+        create_page(request, u'TestPageGroup', "#FORMAT creole \n" + text)
+        page = Page(request, 'TestPageGroup', formatter=formatter)
+        page.send_page(content_only=True)
+        nuke_page(request, u'TestPageGroup')
+
+        return formatter.members
+
+    def test_CamelCase(self):
+        text = """
+ * CamelCase
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'CamelCase' in members
+
+    def test_extended_name(self):
+        text = """
+ * extended name
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'extended name' in members
+
+    def test_extended_link(self):
+        text = """
+ * [[extended link]]
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'extended link' in members
+
+    def test_extended_link_with_label(self):
+        text = """
+ * [[FrontPage|named link]]
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'FrontPage' in members
+
+    def test_extended_link_and_text(self):
+        text = """
+ * [[extended link]] other text
+ * other text [[extended link]]
+ * other text [[extended link]] other text
+
+"""
+        members = self.get_members(text)
+        assert len(members) == 3
+        assert u'extended link other text' in members
+        assert u'other text extended link' in members
+        assert u'other text extended link other text' in members
+
+    def test_ignore_not_first_level_list(self):
+        text = """
+* first level
+** second level
+*** [[SomeLink]]
+**** forth level
+***** and then some...
+* again first level
+"""
+        members = self.get_members(text)
+        assert len(members) == 2
+        assert 'first level' in members
+        assert 'again first level' in members
+
+    def test_intended_list(self):
+        text = """
+    * first level
+    ** second level
+    *** [[SomeLink|label]]
+    **** forth level
+    ***** and then some...
+    * again first level
+"""
+        members = self.get_members(text)
+        assert len(members) == 2
+        assert 'first level' in members
+        assert 'again first level' in members
+
+    def test_ignore_other(self):
+        text = """
+= ignore this =
+ * take this
+
+Ignore previous line and this text.
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'take this' in members
+
+    def test_strip_whitespace(self):
+        text = """
+ *   take this
+"""
+        members = self.get_members(text)
+        assert len(members) == 1
+        assert u'take this' in members
+
+
+coverage_modules = ['MoinMoin.formtter.groups']
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/formatter/groups.py	Wed Jul 22 21:50:03 2009 +0200
@@ -0,0 +1,74 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.formatter.groups
+
+    @copyright: 2009 MoinMoin:DmitrijsMilajevs
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin.formatter import FormatterBase
+from MoinMoin import wikiutil
+
+class Formatter(FormatterBase):
+    """
+    Collect members of a group and format nothing.
+
+    Group members are stored in the members attribute.
+    """
+
+    def __init__(self, request, **kw):
+        FormatterBase.__init__(self, request, **kw)
+
+        self.members = []
+        self._bullet_list_level = 0
+        self._inside_link = False
+        self._new_member = ''
+
+    def bullet_list(self, on, **kw):
+        if on:
+            self._bullet_list_level += 1
+        else:
+            self._bullet_list_level -= 1
+
+        assert self._bullet_list_level >= 0
+
+        return self.null()
+
+    def listitem(self, on, **kw):
+        if self._bullet_list_level == 1:
+            if not on:
+                stripped_new_member = self._new_member.strip()
+                if stripped_new_member:
+                    self.members.append(stripped_new_member)
+            self._new_member = ''
+        return self.null()
+
+    def text(self, text, **kw):
+        if self._bullet_list_level == 1 and not self._inside_link:
+            self._new_member += text
+        return self.null()
+
+    def pagelink(self, on, pagename='', page=None, **kw):
+        if self._bullet_list_level == 1:
+            self._inside_link = on
+            if not on:
+                if not pagename and page:
+                    pagename = page.page_name
+                pagename = wikiutil.normalize_pagename(pagename, self.request.cfg)
+                self._new_member += pagename
+        return self.null()
+
+    def null(self, *args, **kw):
+        return ''
+
+    # All these must be overriden here because they raise
+    # NotImplementedError!@#! or return html?! in the base class.
+    set_highlight_re = rawHTML = url = image = smiley = null
+    strong = emphasis = underline = highlight = sup = sub = strike = null
+    code = preformatted = small = big = code_area = code_line = null
+    code_token = linebreak = paragraph = rule = icon = null
+    number_list = definition_list = definition_term = definition_desc = null
+    heading = table = null
+    table_row = table_cell = attachment_link = attachment_image = attachment_drawing = null
+    transclusion = transclusion_param = null
+
--- a/MoinMoin/i18n/MoinMoin.pot	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/MoinMoin.pot	Wed Jul 22 21:50:03 2009 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -312,7 +312,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -411,7 +412,7 @@
 msgstr ""
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 
@@ -1347,9 +1348,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 msgid "HelpOnActions"
 msgstr ""
 
@@ -1404,9 +1402,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/__init__.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/__init__.py	Wed Jul 22 21:50:03 2009 +0200
@@ -304,8 +304,8 @@
             language = languages[lang]['x-language-in-english']
             dictpagename = "%sDict" % language.replace(' ', '')
             dicts = request.dicts
-            if dicts.has_dict(dictpagename):
-                userdict = dicts.dict(dictpagename)
+            if dictpagename in dicts:
+                userdict = dicts[dictpagename]
                 translated = userdict[original]
             else:
                 raise KeyError
--- a/MoinMoin/i18n/ar.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ar.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: moin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-04-12 20:07+0200\n"
 "Last-Translator: Mohamed Yahya <yahya.mohamed@gmail.com>\n"
 "Language-Team: \n"
@@ -330,7 +330,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -430,7 +431,7 @@
 msgstr ""
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 
@@ -1413,9 +1414,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "إجراء"
@@ -1473,9 +1471,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/bg.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/bg.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-02-11 12:20-0800\n"
 "Last-Translator: Hristo Iliev <hristo@phys.uni-sofia.bg>\n"
 "Language-Team: Bulgarian <moin-devel@lists.sourceforge.net>\n"
@@ -365,10 +365,9 @@
 msgid "The theme name is not set."
 msgstr "Името на темата не е настроено."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"Инсталирането на файлове от теми се поддържа само на сървъри от "
-"самостоятелен тип."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -466,8 +465,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Архивното съдържание на тази страница е твърде остаряло и няма да бъде "
@@ -1544,9 +1544,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ПомощСъдържание"
@@ -1609,9 +1606,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3464,6 +3458,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Инсталирането на файлове от теми се поддържа само на сървъри от "
+#~ "самостоятелен тип."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Уики маркировка"
--- a/MoinMoin/i18n/ca.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ca.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: moin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-07-30 17:24+0200\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -357,10 +357,9 @@
 msgid "The theme name is not set."
 msgstr "No s'ha establert el nom del tema."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"La instal·lació de fitxers de tema només està implementada per a servidors "
-"de tipus individual."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -457,8 +456,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "La còpia de seguretat dels continguts d'aquesta pàgina és obsoleta i no "
@@ -1514,9 +1514,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ContingutsAjuda"
@@ -1579,9 +1576,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3360,6 +3354,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "La instal·lació de fitxers de tema només està implementada per a "
+#~ "servidors de tipus individual."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Marcat del Wiki"
--- a/MoinMoin/i18n/cs.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/cs.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-11-05 22:11+0100\n"
 "Last-Translator: Václav Haisman <v.haisman@sh.cvut.cz>\n"
 "Language-Team: Czech <moin@lists.sourceforge.net>\n"
@@ -360,8 +360,9 @@
 msgid "The theme name is not set."
 msgstr "Název vzhledu není nastaveno."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Instalace souborů vzhledu je podporováno jen na standalone serverech."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -458,8 +459,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Záložní obsah této stránky již není podporován a nebude zahrnut ve "
@@ -1529,9 +1531,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "HelpObsah"
@@ -1594,9 +1593,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3421,6 +3417,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Instalace souborů vzhledu je podporováno jen na standalone serverech."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Značkování Wiki"
--- a/MoinMoin/i18n/da.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/da.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-04-22 18:50+0100\n"
 "Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
 "Language-Team: Danish <moin-devel@lists.sourceforge.net>\n"
@@ -360,10 +360,9 @@
 msgid "The theme name is not set."
 msgstr "Temaets navn er ikke anbiget."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"Installering af temafiler er kun understøttet for server-typen \"standalone"
-"\"."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -461,8 +460,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Det tidligere indhold af denne side er forældet og vil ikke blive inkluderet "
@@ -1537,9 +1537,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "HjælpIndhold"
@@ -1602,9 +1599,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3451,6 +3445,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Installering af temafiler er kun understøttet for server-typen "
+#~ "\"standalone\"."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-opmærkning"
--- a/MoinMoin/i18n/de.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/de.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-08-30 19:48+0200\n"
 "Last-Translator: Thomas Waldmann <tw-public@gmx.de>\n"
 "Language-Team: German <moin-user@lists.sourceforge.net>\n"
@@ -376,10 +376,9 @@
 msgid "The theme name is not set."
 msgstr "Theme-Name ist nicht gesetzt."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Das Installieren von Theme-Dateien wird nur für Server-Typ standalone "
-"unterstützt."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -478,11 +477,11 @@
 "Ungültiger regulärer Ausdruck zur Hervorhebung \"%(regex)s\": %(error)s"
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Der Inhalt der letzten Sicherungskopie ist veraltet und wird von der "
-"Volltextsuche ignoriert!"
+"Volltextsuche mit niedrigerem Rang aufgeführt!"
 
 #, python-format
 msgid "Revision %(rev)d as of %(date)s"
@@ -1433,28 +1432,28 @@
 msgstr "HilfeVorlage"
 
 msgid "HomepageReadWritePageTemplate"
-msgstr ""
+msgstr "HomepageReadWritePageTemplate"
 
 msgid "HomepageReadPageTemplate"
-msgstr ""
+msgstr "HomepageReadPageTemplate"
 
 msgid "HomepagePrivatePageTemplate"
-msgstr ""
+msgstr "HomepagePrivatePageTemplate"
 
 msgid "HomepageGroupsTemplate"
-msgstr ""
+msgstr "HomepageGroupsTemplate"
 
 msgid "SlideShowHandOutTemplate"
-msgstr ""
+msgstr "SlideShowHandOutTemplate"
 
 msgid "SlideShowTemplate"
-msgstr ""
+msgstr "SlideShowTemplate"
 
 msgid "SlideTemplate"
-msgstr ""
+msgstr "SlideTemplate"
 
 msgid "SyncJobTemplate"
-msgstr ""
+msgstr "SyncJobTemplate"
 
 msgid "HelpOnConfiguration"
 msgstr "HilfeZurKonfiguration"
@@ -1517,7 +1516,7 @@
 msgstr "HilfeZurMoinWikiSyntax"
 
 msgid "HelpOnCreoleSyntax"
-msgstr ""
+msgstr "HilfeZurCreoleSyntax"
 
 msgid "HelpOnFormatting"
 msgstr "HilfeZumFormatieren"
@@ -1540,9 +1539,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr "HilfeZuAccessControlLists"
 
-msgid "HelpOnAcl"
-msgstr ""
-
 msgid "HelpOnActions"
 msgstr "HilfeZuAktionen"
 
@@ -1597,9 +1593,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr "HilfeZuMakros/Include"
 
@@ -2311,7 +2304,9 @@
 
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
-msgstr "<<%(macro_name)s: Ausführung fehlgeschlagen [%(error_msg)s] (siehe auch die Log-Datei)>>"
+msgstr ""
+"<<%(macro_name)s: Ausführung fehlgeschlagen [%(error_msg)s] (siehe auch die "
+"Log-Datei)>>"
 
 msgid "Go To Page"
 msgstr "Gehe zu Seite"
--- a/MoinMoin/i18n/el.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/el.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-12-22 17:56+0200\n"
 "Last-Translator: YiannisValassakis <tungolcild@gmail.com>\n"
 "Language-Team: Greek <moin-devel@lists.sourceforge.net>\n"
@@ -347,7 +347,8 @@
 msgid "The theme name is not set."
 msgstr "Δεν έχει δωθεί όνομα για το θέμα."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -451,7 +452,7 @@
 msgstr ""
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 
@@ -1438,9 +1439,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "Δράση"
@@ -1498,9 +1496,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/en.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/en.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2005-01-8 00:00+0100\n"
 "Last-Translator: Thomas Waldmann <tw-public@gmx.de>\n"
 "Language-Team: German <moin-devel@lists.sourceforge.net>\n"
@@ -319,7 +319,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -418,7 +419,7 @@
 msgstr ""
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 
@@ -1354,9 +1355,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 msgid "HelpOnActions"
 msgstr ""
 
@@ -1411,9 +1409,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/es.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/es.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-08-15 10:04-0500\n"
 "Last-Translator: Igor Támara <igor@tamaraptino.org>\n"
 "Language-Team: Spanish <moin-devel@lists.sourceforge.net>\n"
@@ -381,11 +381,9 @@
 msgid "The theme name is not set."
 msgstr "No se ha especificado el nombre del tema."
 
-# 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"La instalación de archivos de temas sólo es soportada en servidores de tipo "
-"independiente (standalone)."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -484,8 +482,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "expresión regular inválida \"%(regex)s\":·%(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "¡El respaldo del contenido de esta página ha caducado y no se incluirá en "
@@ -1557,9 +1556,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ContenidosDeAyuda"
@@ -1623,9 +1619,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3478,6 +3471,13 @@
 msgid "anonymous"
 msgstr ""
 
+# 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "La instalación de archivos de temas sólo es soportada en servidores de "
+#~ "tipo independiente (standalone)."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Formato Wiki"
--- a/MoinMoin/i18n/fa.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/fa.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: 1.7.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2005-07-22 17:11+0330\n"
 "Last-Translator: Mehdi Hassanpour <h.mehdi@gmail.com>\n"
 "Language-Team: Persian <h.mehdi@gmail.com>\n"
@@ -370,8 +370,9 @@
 msgid "The theme name is not set."
 msgstr "نام قالب گرافیکی ذکر نشده اسا."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "نصب قالب تنها در سرویس‌دهنده‌های مستقل پشتیبانی میشود."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -468,8 +469,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "پر رنگ شدن نامعتبر \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "نسخه پشتیبانی گرفته شده از این صفحه نامناسب است و در نتایج جستجو لحاظ نخواهد "
@@ -1549,9 +1551,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "عناوین راهنما"
@@ -1615,9 +1614,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3466,6 +3462,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "نصب قالب تنها در سرویس‌دهنده‌های مستقل پشتیبانی میشود."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "زبان نوشتاری ویکی"
--- a/MoinMoin/i18n/fi.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/fi.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-06-13 18:25+0300\n"
 "Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
 "Language-Team: Finnish <moin-devel@lists.sourceforge.net>\n"
@@ -369,9 +369,9 @@
 msgid "The theme name is not set."
 msgstr "Ulkoasun nimeä ei ole asetettu."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Ulkoasutiedostojen asennus on tuettu vain erillistyyppisillä palvelimilla."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -469,8 +469,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Virheellinen korostava säännöllinen lauseke \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Tämän sivun varmuuskopioitu sisältö on vanhentunut eikä sitä sisällytetä "
@@ -1544,9 +1545,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "OhjeSisällys"
@@ -1610,9 +1608,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3488,6 +3483,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Ulkoasutiedostojen asennus on tuettu vain erillistyyppisillä palvelimilla."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-merkintä"
--- a/MoinMoin/i18n/fr.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/fr.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,8 +13,8 @@
 msgstr ""
 "Project-Id-Version: moin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
-"PO-Revision-Date: 2009-04-20 00:54+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
+"PO-Revision-Date: 2009-05-12 13:11+0200\n"
 "Last-Translator: Jean-Philippe Guérard <fevrier@tigreraye.org>\n"
 "Language-Team: Français\n"
 "MIME-Version: 1.0\n"
@@ -272,7 +272,8 @@
 "Vous n'avez pas modifié le contenu de cette page, elle n'a pas été "
 "enregistrée !"
 
-msgid "You can't change ACLs on this page since you have no admin rights on it!"
+msgid ""
+"You can't change ACLs on this page since you have no admin rights on it!"
 msgstr ""
 "Vous ne pouvez pas modifier la liste de contrôle d'accès (ACL) de cette "
 "page, car vous n'en avez pas les droits d'administration !"
@@ -304,7 +305,8 @@
 "êtes en train d'éditer cette page."
 
 msgid "Use the Preview button to extend the locking period."
-msgstr "Utilisez le bouton « Aperçu » pour prolonger la période de verrouillage."
+msgstr ""
+"Utilisez le bouton « Aperçu » pour prolonger la période de verrouillage."
 
 #, python-format
 msgid ""
@@ -386,10 +388,11 @@
 msgid "The theme name is not set."
 msgstr "Le nom du thème n'est pas défini."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"L'installation de fichiers de thème n'est compatible qu'avec les serveurs de "
-"type autonome."
+"Les fichiers des thèmes ne sont pas installés ! Il manque les droits "
+"d'écriture sur %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -490,8 +493,9 @@
 "L'expression rationnelle de surlignage : « %(regex)s » est incorrecte : %"
 "(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Le contenu sauvegardé de cette page est obsolète et ne sera pas inclus dans "
@@ -531,7 +535,8 @@
 msgid "You are the only user."
 msgstr "Vous êtes le seul utilisateur."
 
-msgid "As a superuser, you can temporarily assume the identity of another user."
+msgid ""
+"As a superuser, you can temporarily assume the identity of another user."
 msgstr ""
 "En tant que superutilisateur, vous pouvez vous connecter temporairement sous "
 "l'identité d'un autre utilisateur."
@@ -919,7 +924,8 @@
 msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
 msgstr "Une couleur « %(arg)s » était attendue après « %(key)s »"
 
-msgid "Rendering of reStructured text is not possible, please install Docutils."
+msgid ""
+"Rendering of reStructured text is not possible, please install Docutils."
 msgstr ""
 "Le rendu du format reStructuredText n'est pas possible. Veuillez installer "
 "docutils."
@@ -971,7 +977,8 @@
 
 #, python-format
 msgid "**Could not find the referenced page: %s**"
-msgstr "**Impossible de trouver la page à laquelle il est fait référence : %s**"
+msgstr ""
+"**Impossible de trouver la page à laquelle il est fait référence : %s**"
 
 msgid "XSLT option disabled, please look at HelpOnConfiguration."
 msgstr "L'option XSLT a été désactivée, consultez l'AideDeParamétrage."
@@ -991,7 +998,8 @@
 msgid "Password has not enough different characters."
 msgstr "Le mot de passe ne contient pas assez de caractères différents."
 
-msgid "Password is too easy (password contains name or name contains password)."
+msgid ""
+"Password is too easy (password contains name or name contains password)."
 msgstr ""
 "Mot de passe trop simple (le mot de passe contient le nom, ou bien le nom "
 "est contenu dans le mot de passe)."
@@ -1111,7 +1119,7 @@
 msgstr "désactivé"
 
 msgid "Mail account data"
-msgstr "Envoi de vos identifiants de connexion"
+msgstr "Envoi des identifiants de connexion"
 
 msgid "OpenID"
 msgstr "identifiant OpenID"
@@ -1518,7 +1526,7 @@
 msgstr "AideDesCommandesMoin"
 
 msgid "HelpOnMoinCommand/ExportDump"
-msgstr "AideDesCommandesMoin/ExportHTML"
+msgstr "AideDesCommandesMoin/ExportDump"
 
 msgid "HelpOnNotification"
 msgstr "AideDesNotifications"
@@ -1559,9 +1567,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr "AideDesListesDeContrôleD'Accès"
 
-msgid "HelpOnAcl"
-msgstr "AideDesListesDeContrôleD'Accès"
-
 msgid "HelpOnActions"
 msgstr "AideDesActions"
 
@@ -1616,9 +1621,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr "AideDesMacros/EmbedObject"
 
-msgid "HelpOnMacros/ImageLink"
-msgstr "AideDesMacros/ImageLink"
-
 msgid "HelpOnMacros/Include"
 msgstr "AideDesMacros/Include"
 
@@ -2332,8 +2334,8 @@
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
 msgstr ""
-"<<%(macro_name)s: échec de l'exécution [%(error_msg)s] (conultez également le "
-"journal de bord)>>"
+"<<%(macro_name)s: échec de l'exécution [%(error_msg)s] (conultez également "
+"le journal de bord)>>"
 
 msgid "Go To Page"
 msgstr "Aller à la page"
@@ -2359,7 +2361,8 @@
 
 msgid ""
 "Cannot create a new page without a page name.  Please specify a page name."
-msgstr "Impossible de créer une page sans nom. Veuillez indiquer un nom de page."
+msgstr ""
+"Impossible de créer une page sans nom. Veuillez indiquer un nom de page."
 
 #, python-format
 msgid "You must login to use this action: %(action)s."
@@ -2375,7 +2378,8 @@
 msgstr "Votre lien rapide vers cette page n'a pu être supprimé."
 
 msgid "You need to have a quicklink to this page to remove it."
-msgstr "Il doit y avoir un lien rapide sur cette page pour pouvoir le supprimer."
+msgstr ""
+"Il doit y avoir un lien rapide sur cette page pour pouvoir le supprimer."
 
 msgid ""
 "You need to manually go to your OpenID provider wiki\n"
@@ -2776,7 +2780,8 @@
 msgstr "Taille"
 
 msgid "Unknown file type, cannot display this attachment inline."
-msgstr "Type de fichier inconnu, impossible d'afficher son contenu dans la page."
+msgstr ""
+"Type de fichier inconnu, impossible d'afficher son contenu dans la page."
 
 msgid "You are not allowed to view attachments of this page."
 msgstr "Vous n'êtes pas autorisé à voir les pièces jointes de cette page."
@@ -2889,7 +2894,8 @@
 
 #, python-format
 msgid "Please use the interactive user interface to use action %(actionname)s!"
-msgstr "Utilisez l'interface interactive pour exécuter l'action %(actionname)s !"
+msgstr ""
+"Utilisez l'interface interactive pour exécuter l'action %(actionname)s !"
 
 msgid "You are now logged out."
 msgstr "Vous êtes maintenant déconnecté."
@@ -3033,7 +3039,8 @@
 msgid ""
 "This is the first synchronisation between the local and the remote wiki for "
 "the page %s."
-msgstr "Première synchronisation de la page %s entre les wikis local et distant."
+msgstr ""
+"Première synchronisation de la page %s entre les wikis local et distant."
 
 #, python-format
 msgid ""
@@ -3387,7 +3394,8 @@
 "de ne pas contenir toutes les pages du wiki relatives à ce sujet. <<BR>>"
 
 msgid "Click here to perform a full-text search with your search terms!"
-msgstr "Cliquez ici pour appliquer cette recherche au texte des pages du wiki !"
+msgstr ""
+"Cliquez ici pour appliquer cette recherche au texte des pages du wiki !"
 
 msgid "Load"
 msgstr "Charger"
@@ -3510,3 +3518,15 @@
 
 msgid "anonymous"
 msgstr "anonyme"
+
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "L'installation de fichiers de thème n'est compatible qu'avec les serveurs "
+#~ "de type autonome."
+
+#~ msgid "HelpOnAcl"
+#~ msgstr "AideDesListesDeContrôleD'Accès"
+
+#~ msgid "HelpOnMacros/ImageLink"
+#~ msgstr "AideDesMacros/ImageLink"
--- a/MoinMoin/i18n/gl.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/gl.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-02-22 17:39-0300\n"
 "Last-Translator: Iván Méndez <imendez@udc.es>\n"
 "Language-Team: Galician <moin-devel@lists.sourceforge.net>\n"
@@ -369,11 +369,9 @@
 msgid "The theme name is not set."
 msgstr "Non se especificou o nome do tema."
 
-# 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"A instalación de arquivos de temas só é soportada en servidores de tipo "
-"independente(standalone)."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -470,8 +468,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "O respaldo do contido desta páxina caducou e non se incluirá nos resultados "
@@ -1560,9 +1559,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ContidosDeAxuda"
@@ -1624,9 +1620,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3485,6 +3478,13 @@
 msgid "anonymous"
 msgstr ""
 
+# 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "A instalación de arquivos de temas só é soportada en servidores de tipo "
+#~ "independente(standalone)."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Formato Wiki"
--- a/MoinMoin/i18n/he.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/he.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-08-22 02:05+0300\n"
 "Last-Translator: Dror Livne <livne.dror@gmail.com>\n"
 "Language-Team: Hebrew <moin-user@lists.sourceforge.net>\n"
@@ -353,8 +353,9 @@
 msgid "The theme name is not set."
 msgstr "שם ערכת הנושא לא נקבע."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "התקנת קבצי ערכות נושא נתמכת רק לשרתי standalone."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -451,8 +452,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "הביטוי הרגולרי \"%(regex)s\" שנבחר להדגשה שגוי: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr "גרסאות הגיבוי של הדף לא יכללו בתוצאות החיפוש"
 
@@ -1504,9 +1506,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "תוכן עזרה"
@@ -1570,9 +1569,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3374,6 +3370,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "התקנת קבצי ערכות נושא נתמכת רק לשרתי standalone."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "סימון ויקי"
--- a/MoinMoin/i18n/hi.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/hi.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Rakesh Pandit <rakesh.pandit@gmail.com>\n"
 "Language-Team: Hindi\n"
@@ -335,8 +335,9 @@
 msgid "The theme name is not set."
 msgstr "विषय नाम निश्चित नही है"
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "प्रतिस्थापन विषय फाइलें केवल विशेष मुख्य प्रकार के कम्प्यूटर के लिए हैं।"
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -434,7 +435,7 @@
 msgstr ""
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 
@@ -1390,9 +1391,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "क्रिया"
@@ -1449,9 +1447,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3186,6 +3181,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "प्रतिस्थापन विषय फाइलें केवल विशेष मुख्य प्रकार के कम्प्यूटर के लिए हैं।"
+
 #~ msgid "Created the package %s containing the pages %s."
 #~ msgstr "%s पेकेज को बनाया जिसमे %s पृष्ट है।"
 
--- a/MoinMoin/i18n/hr.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/hr.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-08-17 20:50+0100\n"
 "Last-Translator: Translation sponsored by Tenalt Ltd. (info@tenalt.com)\n"
 "Language-Team: \n"
@@ -366,9 +366,9 @@
 msgid "The theme name is not set."
 msgstr "Ime teme nije namješteno"
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Instaliranje datoteka s temama je podržano samo za samostojeće poslužitelje"
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -465,8 +465,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Nepravilno označavanje regular expressiona \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Sadržaj zadnje sigurnosne kopije je zastario i neće biti uključen u "
@@ -1537,9 +1538,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "Kako sadržaj"
@@ -1603,9 +1601,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3442,6 +3437,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Instaliranje datoteka s temama je podržano samo za samostojeće "
+#~ "poslužitelje"
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Označavanje wiki"
--- a/MoinMoin/i18n/hu.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/hu.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,9 +13,9 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-06-15 15:55+0200\n"
-"Last-Translator: jmarton@omikk.bme.hu, arostas@omikk.bme.hu\n"
+"Last-Translator: MARTON Jozsef <jmarton@omikk.bme.hu>\n"
 "Language-Team: Hungarian <HU@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -26,16 +26,18 @@
 "X-Direction: ltr\n"
 
 msgid "The wiki is currently not reachable."
-msgstr ""
+msgstr "Ez a wiki jelenleg nem érhető el"
 
 msgid "Invalid username or password."
-msgstr ""
+msgstr "Érvénytelen felhasználónév vagy jelszó."
 
 #, python-format
 msgid ""
 "The remote wiki uses a different InterWiki name (%(remotename)s) internally "
 "than you specified (%(localname)s)."
 msgstr ""
+"A távoli wiki másik InterWiki nevet használ (%(remotename)s) mint amit "
+"megadott (%(localname)s)."
 
 msgid "Your changes are not saved!"
 msgstr "A változtatások nem lettek elmentve!"
@@ -55,9 +57,9 @@
 msgid "Page name is too long, try shorter name."
 msgstr "A lap neve től hosszú, kérjük adjon meg egy rövidebbet!"
 
-#, fuzzy, python-format
+#, python-format
 msgid "Draft of \"%(pagename)s\""
-msgstr "A(z) \"%(pagename)s\" lap nézete"
+msgstr "A(z) \"%(pagename)s\" lap tervezete"
 
 #, python-format
 msgid "Edit \"%(pagename)s\""
@@ -95,9 +97,8 @@
 "Kérjük nézze át a lapot és csak azután mentse el!\n"
 "A változásokat megtekintheti a(z) %(difflink)s különbségeinek oldalán."
 
-#, fuzzy
 msgid "[Content loaded from draft]"
-msgstr "[Az új lap tartalma a(z) %s mintából töltődött be]"
+msgstr "[A tartalom a(z) %s tervezetből töltődött be]"
 
 #, python-format
 msgid "[Content of new page loaded from %s]"
@@ -151,7 +152,7 @@
 msgstr "GUI mód"
 
 msgid "Load Draft"
-msgstr ""
+msgstr "Tervezet betöltése"
 
 msgid "Trivial change"
 msgstr "Lényegtelen változtatás"
@@ -172,13 +173,12 @@
 msgid "Edit was cancelled."
 msgstr "A szerkesztés visszavonva."
 
-#, fuzzy
 msgid "You can't copy to an empty pagename."
-msgstr "Nem nevezheti át egy üres lap nevére."
+msgstr "Nem másolhatja át üres nevű lapra."
 
 #, fuzzy
 msgid "You are not allowed to copy this page!"
-msgstr "Nem szerkesztheti ezt a lapot!"
+msgstr "Nem másolhatja ezt a lapot!"
 
 #, python-format
 msgid ""
@@ -190,24 +190,22 @@
 "\n"
 "Próbáljon más nevet adni a lapnak."
 
-#, fuzzy, python-format
+#, python-format
 msgid "Could not copy page because of file system error: %s."
-msgstr "Állományrendszer-hiba (%s) miatt nem sikerült az átnevezés."
-
-#, fuzzy
+msgstr "Állományrendszer-hiba (%s) miatt nem sikerült a másolás."
+
 msgid "You are not allowed to rename this page!"
-msgstr "Nem állíthatja vissza ezt a lapot!"
+msgstr "Nem nevezheti át ezt a lapot!"
 
 msgid "You can't rename to an empty pagename."
-msgstr "Nem nevezheti át egy üres lap nevére."
+msgstr "Nem nevezheti át üres névre."
 
 #, python-format
 msgid "Could not rename page because of file system error: %s."
 msgstr "Állományrendszer-hiba (%s) miatt nem sikerült az átnevezés."
 
-#, fuzzy
 msgid "You are not allowed to delete this page!"
-msgstr "Nem állíthatja vissza ezt a lapot!"
+msgstr "Nem törölheti ezt a lapot!"
 
 msgid "Thank you for your changes. Your attention to detail is appreciated."
 msgstr "Köszönjük, hogy változtatásaival hozzájárult a lap tökéletesítéséhez."
@@ -247,7 +245,7 @@
 msgstr "Már mentette ezt az oldalt!"
 
 msgid "You already edited this page! Please do not use the back button."
-msgstr ""
+msgstr "Már szerkesztette ezt a lapot. Kérem, ne hazsnálja a Vissza gombot."
 
 msgid "You did not change the page content, not saved!"
 msgstr "Nem változtatta meg a lapot, ezért nem is mentettük el!"
@@ -259,7 +257,7 @@
 "adminisztrátori joga!"
 
 msgid "Notifications sent to:"
-msgstr ""
+msgstr "Értesítő üzenet kiküldve: "
 
 #, python-format
 msgid ""
@@ -311,7 +309,7 @@
 msgid "<unknown>"
 msgstr "<ismeretlen>"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Login Name: %s\n"
 "\n"
@@ -320,8 +318,8 @@
 "Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n"
 msgstr ""
 "Belépési név: %s \n"
-"Belépési jelszó: %s\n"
-"Belépési URL: %s/%s?action=login\n"
+"Jelszóváltoztatási zseton (token): %s\n"
+"Jelszóváltoztatási URL: %s/?action=recoverpass&name=%s&token=%s\n"
 
 msgid ""
 "Somebody has requested to email you a password recovery token.\n"
@@ -330,18 +328,23 @@
 "go to the password recovery page again and enter your username and the\n"
 "recovery token.\n"
 msgstr ""
+"Valaki jelszóváltoztatási zseton (token) elküldését kérte az Ön részére.\n"
+"\n"
+"Ha elfelejtette a jelszavát, kérjük, látogassa meg a lenti URL-t, \n"
+"vagy látogasson el újra a jelszóváltoztatási lapra, és írja be\n"
+"a felhazsnálói nevét és a zseton kódját.\n"
 
 #, python-format
 msgid "[%(sitename)s] Your wiki account data"
 msgstr "[%(sitename)s] a wiki azonosítójának adata"
 
-#, fuzzy, python-format
+#, python-format
 msgid "Unknown action %(action_name)s."
-msgstr "Végrehajtja a %(actionname)s műveletet?"
-
-#, fuzzy, python-format
+msgstr "Ismeretlen akció: %(action_name)s."
+
+#, python-format
 msgid "You are not allowed to do %(action_name)s on this page."
-msgstr "Ezen a lapon nem használhatja a %(actionname)s műveletet!"
+msgstr "Ezen a lapon nem használhatja a %(action_name)s műveletet!"
 
 msgid "Login and try again."
 msgstr "Lépjen be, majd próbálja újra."
@@ -353,9 +356,9 @@
 msgid "The theme name is not set."
 msgstr "A téma neve nincs beállítva."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"A téma-fájlok telepítése csak a standalone típusú szervereknél támogatott."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr "A téma fájlok nincsenek telepítve. Hiányzó írási jog %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -436,9 +439,9 @@
 msgid "Argument \"%s\" is required"
 msgstr ""
 
-#, fuzzy, python-format
+#, python-format
 msgid "No argument named \"%s\""
-msgstr "A(z) \"%s\" laphoz nincs hasonló!"
+msgstr "A(z) \"%s\" argumentum nem létezik!"
 
 #, python-format
 msgid "Expected \"=\" to follow \"%(token)s\""
@@ -452,8 +455,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "A lap elmentett tartalma elavult, s ezért nem szerepel majd a keresések "
@@ -478,10 +482,10 @@
 msgstr "A lap megtekintése nem engedélyezett."
 
 msgid "Switch user"
-msgstr ""
+msgstr "Felhasználó váltása"
 
 msgid "No user selected"
-msgstr ""
+msgstr "Nem választott ki felhasználót"
 
 msgid ""
 "You can now change the settings of the selected user account; log out to get "
@@ -498,9 +502,8 @@
 msgid "Select User"
 msgstr "Kiválasztott felhasználó"
 
-#, fuzzy
 msgid "Change password"
-msgstr "Jelszó"
+msgstr "Jelszó változtatása"
 
 msgid "Passwords don't match!"
 msgstr "A jelszavak nem egyeznek!"
@@ -510,13 +513,13 @@
 
 #, python-format
 msgid "Password not acceptable: %s"
-msgstr ""
+msgstr "A jelszó nem megfelelő: %s"
 
 msgid "Your password has been changed."
-msgstr ""
+msgstr "A jelszava megváltozott."
 
 msgid "To change your password, enter a new password twice."
-msgstr ""
+msgstr "A jelszó megváltoztatásához adjon meg egy újat kétszer."
 
 msgid "Password"
 msgstr "Jelszó"
@@ -549,13 +552,11 @@
 msgid "OpenID error: %s."
 msgstr ""
 
-#, fuzzy
 msgid "Verification canceled."
-msgstr "A szerkesztés visszavonva."
-
-#, fuzzy
+msgstr "A megerősítés megszakítva."
+
 msgid "This OpenID is already used for another account."
-msgstr "Ezt a lapot már törölték, vagy soha nem is hozták létre!"
+msgstr "Ezt az OpenID-t már használja egy másik felhasználói fiók!"
 
 msgid "OpenID added successfully."
 msgstr ""
@@ -581,7 +582,6 @@
 msgid "Notification settings saved!"
 msgstr ""
 
-#, fuzzy
 msgid "'''Email'''"
 msgstr "E-levél"
 
@@ -599,9 +599,8 @@
 "general preferences."
 msgstr ""
 
-#, fuzzy
 msgid "Subscribed events"
-msgstr "Előfizetés (csoportos)"
+msgstr "Előfizetett események"
 
 #, fuzzy
 msgid "Subscribed wiki pages<<BR>>(one regex per line)"
@@ -640,9 +639,8 @@
 msgid "This email already belongs to somebody else."
 msgstr "Ezt a levélcímet már más bejegyezte."
 
-#, fuzzy
 msgid "This jabber id already belongs to somebody else."
-msgstr "Ezt a levélcímet már más bejegyezte."
+msgstr "Ezt a jabber címet már más bejegyezte."
 
 #, python-format
 msgid "The theme '%(theme_name)s' could not be loaded!"
@@ -1512,9 +1510,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "SegédletTartalomjegyzék"
@@ -1576,9 +1571,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3418,6 +3410,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "A téma-fájlok telepítése csak a standalone típusú szervereknél támogatott."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-jelölés"
--- a/MoinMoin/i18n/id.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/id.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-10-07 23:19+0700\n"
 "Last-Translator: Fajrin Azis <fajrin.azis@gmail.com>\n"
 "Language-Team: Indonesian <id@ll.com>\n"
@@ -375,8 +375,9 @@
 msgid "The theme name is not set."
 msgstr "Nama tema tidak di set."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Menginstal berkas tema hanya didukung untuk server jenis standalone."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -473,8 +474,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Backup isi halaman ini sudah usang dan tidak akan disertakan dalam hasil "
@@ -1550,9 +1552,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "DaftarBantuan"
@@ -1615,9 +1614,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3462,6 +3458,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Menginstal berkas tema hanya didukung untuk server jenis standalone."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Markup Wiki"
--- a/MoinMoin/i18n/it.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/it.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -11,12 +11,12 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: MoinMoin 1.8\n"
+"Project-Id-Version: MoinMoin 1.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
-"PO-Revision-Date: 2008-10-30 22:02+0100\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
+"PO-Revision-Date: 2009-04-20 16:16+0100\n"
 "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
-"Language-Team: Italian\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -174,7 +174,7 @@
 
 #, python-format
 msgid "Add to: %(category)s"
-msgstr "Aggiungi a: %(category)s"
+msgstr "Aggiungere a: %(category)s"
 
 msgid "Remove trailing whitespace from each line"
 msgstr "Rimuovere gli spazi in fondo a ogni riga"
@@ -241,7 +241,7 @@
 
 #, python-format
 msgid "Cannot save page %s, no storage space left."
-msgstr "Impossibile salvare la pagina %s, non c'è memoria a disposizione."
+msgstr "Impossibile salvare la pagina %s, non c'è spazio a disposizione."
 
 #, python-format
 msgid "An I/O error occurred while saving page %s (errno=%d)"
@@ -380,9 +380,9 @@
 msgid "The theme name is not set."
 msgstr "Il nome del tema non è stato specificato."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"L'installazione di file di tema è possibile solo su server indipendenti."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -480,8 +480,9 @@
 msgstr ""
 "Espressione regolare di evidenziazione \"%(regex)s\" non valida: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "La copia di backup di questa pagina è deprecata e pertanto non verrà inclusa "
@@ -852,7 +853,6 @@
 "(!) Per ulteriore aiuto, consultare AiutoSuModificaPagina o "
 "AiutoSuSintassiCreole.\n"
 
-#, fuzzy
 msgid ""
 " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')"
 ">>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold "
@@ -877,7 +877,7 @@
 "(----)>> linea orizzontale.\n"
 " Intestazioni:: = Titolo 1=; == Titolo 2 ==; === Titolo 3 ===; ==== Titolo 4 "
 "====; ===== Titolo 5 =====.\n"
-" Liste:: spazio e uno di: * elenco puntato; 1., a., A., i., I. elenco "
+" Elenchi:: spazio e uno di: * elenco puntato; 1., a., A., i., I. elenco "
 "numerato; 1.#n inizia la numerazione da n; lo spazio da solo rientra.\n"
 " Collegamenti:: <<Verbatim(ParoleConLettereMaiuscole)>>; <<Verbatim"
 "([[collegamento|etichetta]])>>.\n"
@@ -1342,7 +1342,7 @@
 msgstr "ModificheRecenti"
 
 msgid "WikiTipOfTheDay"
-msgstr ""
+msgstr "WikiConsiglioDelGiorno"
 
 msgid "TitleIndex"
 msgstr "IndiceDeiTitoli"
@@ -1359,118 +1359,104 @@
 msgid "MissingHomePage"
 msgstr "PaginaPersonaleMancante"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "PaginaPersonaleMancante"
-
-#, fuzzy
+msgstr "PaginaPersonaleWiki"
+
 msgid "WikiName"
-msgstr "Nome"
+msgstr "NomeWiki"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "WikiWikiWebIt"
 
 msgid "FrontPage"
 msgstr "PaginaPrincipale"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "CastelliDiSabbia"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "InterWikiIt"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "PagineAbbandonate"
+
 msgid "OrphanedPages"
-msgstr "Pagina modificata"
-
-#, fuzzy
+msgstr "PagineOrfane"
+
 msgid "WantedPages"
-msgstr "CercaPagina"
+msgstr "PagineAssenti"
 
 msgid "EventStats"
-msgstr ""
+msgstr "StatisticheEventi"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "StatisticheEventi/ContoAccessi"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "StatisticheEventi/Lingue"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "StatisticheEventi/IdentificativoBrowser"
+
 msgid "PageSize"
-msgstr "Dimensione"
-
-#, fuzzy
+msgstr "PaginePerDimensione"
+
 msgid "PageHits"
-msgstr "Pagine"
-
-#, fuzzy
+msgstr "RichiestePagine"
+
 msgid "RandomPage"
-msgstr "RinominaPagina"
-
-#, fuzzy
+msgstr "PagineCasuali"
+
 msgid "XsltVersion"
-msgstr "Versione Python"
+msgstr "XsltVersion"
 
 msgid "FortuneCookies"
-msgstr ""
+msgstr "BiscottiDellaFortuna"
 
 msgid "WikiLicense"
 msgstr "LicenzaWiki"
 
-#, fuzzy
 msgid "CategoryCategory"
-msgstr "qualsiasi categoria"
-
-#, fuzzy
+msgstr "CategoriaCategoria"
+
 msgid "CategoryHomepage"
-msgstr "Categorie"
-
-#, fuzzy
+msgstr "CategoriaPaginaPersonale"
+
 msgid "CategoryTemplate"
-msgstr "Categorie"
+msgstr "CategoriaModello"
 
 msgid "HomepageTemplate"
-msgstr ""
+msgstr "PaginaPersonaleModello"
 
 msgid "HelpTemplate"
 msgstr ""
 
 msgid "HomepageReadWritePageTemplate"
-msgstr ""
+msgstr "PaginaPersonaleLetturaScritturaModello"
 
 msgid "HomepageReadPageTemplate"
-msgstr ""
+msgstr "PaginaPersonaleLetturaModello"
 
 msgid "HomepagePrivatePageTemplate"
-msgstr ""
+msgstr "PaginaPersonalePrivataModello"
 
 msgid "HomepageGroupsTemplate"
-msgstr ""
+msgstr "PaginaPersonaleGruppiModello"
 
 msgid "SlideShowHandOutTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "SlideShowTemplate"
-msgstr "Diapositive"
+msgstr "PresentazioneModello"
 
 msgid "SlideTemplate"
-msgstr ""
+msgstr "DiapositivaModello"
 
 msgid "SyncJobTemplate"
-msgstr ""
-
-#, fuzzy
+msgstr "LavoroSincModello"
+
 msgid "HelpOnConfiguration"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuConfigurazione"
 
 msgid "HelpOnConfiguration/EmailSupport"
 msgstr ""
@@ -1493,17 +1479,14 @@
 msgid "HelpOnPackageInstaller"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUpdating"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuAggiornamento"
+
 msgid "HelpOnUpdatingPython"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuAggiornamentoPython"
+
 msgid "HelpOnAdministration"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuAmministrazione"
 
 msgid "HelpOnAuthentication"
 msgstr ""
@@ -1511,119 +1494,98 @@
 msgid "HelpOnAuthentication/ExternalCookie"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnMoinCommand"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuComandiMoin"
 
 msgid "HelpOnMoinCommand/ExportDump"
 msgstr ""
 
-# (ndt) messo al plurale, più corretto
-#, fuzzy
 msgid "HelpOnNotification"
-msgstr "Notifiche"
-
-#, fuzzy
+msgstr "AiutoSuNotifiche"
+
 msgid "HelpOnSessions"
-msgstr "AiutoContenuti"
-
-#, fuzzy
+msgstr "AiutoSuSessioni"
+
 msgid "HelpOnUserHandling"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuGestioneUtenti"
+
 msgid "HelpOnXapian"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuXapian"
 
 msgid "HelpOnMoinWikiSyntax"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuSintassiMoin"
+
 msgid "HelpOnCreoleSyntax"
-msgstr "AiutoContenuti"
+msgstr "AiutoSuSintassiCreole"
 
 msgid "HelpOnFormatting"
 msgstr "AiutoSuFormattazione"
 
-#, fuzzy
 msgid "MoinMoin"
-msgstr "Versione MoinMoin"
+msgstr "MoinMoinIt"
 
 msgid "HelpContents"
 msgstr "AiutoContenuti"
 
 msgid "HelpForBeginners"
-msgstr ""
+msgstr "AiutoPerNovizi"
 
 msgid "HelpForUsers"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoPerUtenti"
+
 msgid "HelpIndex"
-msgstr "IndiceDeiTitoli"
+msgstr "AiutoIndice"
 
 msgid "HelpOnAccessControlLists"
-msgstr ""
-
-msgid "HelpOnAcl"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuListeControlloAccesso"
+
 msgid "HelpOnActions"
-msgstr "AiutoContenuti"
+msgstr "AiutoSuAzioni"
 
 msgid "HelpOnActions/AttachFile"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnAdmonitions"
-msgstr "AiutoContenuti"
-
-#, fuzzy
+msgstr "AiutoSuAvvisi"
+
 msgid "HelpOnAutoAdmin"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuAutoAmministrazione"
+
 msgid "HelpOnCategories"
-msgstr "Categorie"
+msgstr "AiutoSuCategorie"
 
 msgid "HelpOnDictionaries"
-msgstr ""
+msgstr "AiutoSuDizionari"
 
 msgid "HelpOnEditLocks"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuBloccoModifica"
+
 msgid "HelpOnEditing"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuModificaPagina"
 
 msgid "HelpOnEditing/SubPages"
-msgstr ""
+msgstr "AiutoSuModificaPagina/SottoPagine"
 
 msgid "HelpOnGraphicalEditor"
-msgstr ""
+msgstr "AiutoSuModificaPaginaModoGrafico"
 
 msgid "HelpOnHeadlines"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuTitoliSezioni"
+
 msgid "HelpOnLanguages"
-msgstr "Lingua"
-
-#, fuzzy
+msgstr "AiutoSuLingue"
+
 msgid "HelpOnLinking"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuCollegamenti"
 
 msgid "HelpOnLinking/NotesLinks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLists"
-msgstr "AiutoContenuti"
-
-#, fuzzy
+msgstr "AiutoSuListe"
+
 msgid "HelpOnLogin"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuAccesso"
 
 msgid "HelpOnMacros"
 msgstr ""
@@ -1631,9 +1593,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -1643,191 +1602,178 @@
 msgid "HelpOnMacros/MonthCalendar"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNavigation"
-msgstr "NavigaIlSito"
-
-#, fuzzy
+msgstr "AiutoSuNavigazione"
+
 msgid "HelpOnOpenIDProvider"
-msgstr "Server OpenID"
-
-#, fuzzy
+msgstr "AiutoSuProviderOpenID"
+
 msgid "HelpOnPageCreation"
-msgstr "AiutoSuFormattazione"
+msgstr "AiutoSuCreazionePagina"
 
 msgid "HelpOnPageDeletion"
 msgstr ""
 
 msgid "HelpOnParsers"
-msgstr ""
+msgstr "AiutoSuProcessoriDiCodice"
 
 msgid "HelpOnParsers/ReStructuredText"
-msgstr ""
+msgstr "AiutoSuProcessoriDiCodice/ReStructuredText"
 
 msgid "HelpOnParsers/ReStructuredText/RstPrimer"
-msgstr ""
+msgstr "AiutoSuProcessoriDiCodice/ReStructuredText/IntroduzioneRst"
 
 msgid "HelpOnProcessingInstructions"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnRules"
-msgstr "AiutoContenuti"
-
-#, fuzzy
+msgstr "AiutoSuLineeOrizzontali"
+
 msgid "HelpOnSearching"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuRicerche"
+
 msgid "HelpOnSlideShows"
-msgstr "Diapositive"
+msgstr "AiutoSuPresentazione"
 
 msgid "HelpOnSlideShows/000 Introduction"
-msgstr ""
+msgstr "AiutoSuPresentazione/000 Introduzione"
 
 msgid "HelpOnSlideShows/100 Creating the slides"
-msgstr ""
+msgstr "AiutoSuPresentazione/100 Creare le diapositive"
 
 msgid "HelpOnSlideShows/900 Last but not least: Running your presentation"
 msgstr ""
+"AiutoSuPresentazione/900 Ultimo ma non meno importante: mettere in onda la "
+"presentazione"
 
 msgid "HelpOnSmileys"
-msgstr ""
+msgstr "AiutoSuFaccine"
 
 msgid "HelpOnSpam"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuSpam"
+
 msgid "HelpOnSpellCheck"
-msgstr "ControlloOrtografico"
+msgstr "AiutoSuControlloOrtografico"
 
 msgid "HelpOnSuperUser"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuSuperUtente"
+
 msgid "HelpOnSynchronisation"
-msgstr "Sincronizzazione iniziata -"
+msgstr "AiutoSuSincronizzazione"
 
 msgid "HelpOnTables"
-msgstr ""
+msgstr "AiutoSuTabelle"
 
 msgid "HelpOnTemplates"
-msgstr ""
+msgstr "AiutoSuModelli"
 
 msgid "HelpOnThemes"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuTemi"
+
 msgid "HelpOnUserPreferences"
-msgstr "Preferenze"
+msgstr "AiutoSuPreferenzeUtente"
 
 msgid "HelpOnVariables"
-msgstr ""
-
-#, fuzzy
+msgstr "AiutoSuVariabili"
+
 msgid "HelpOnXmlPages"
-msgstr "AiutoSuFormattazione"
-
-#, fuzzy
+msgstr "AiutoSuPagineXml"
+
 msgid "HelpOnComments"
-msgstr "AiutoContenuti"
-
-#, fuzzy
+msgstr "AiutoSuCommenti"
+
 msgid "HelpOnSubscribing"
-msgstr "Annulla abbonamento"
+msgstr "AiutoSuAbbonamenti"
 
 msgid "CamelCase"
-msgstr ""
+msgstr "CamelCaseIt"
 
 msgid "WikiCourse"
-msgstr ""
+msgstr "CorsoWiki"
 
 msgid "WikiCourse/01 What is a MoinMoin wiki?"
-msgstr ""
+msgstr "CorsoWiki/01 Cos'è un wiki MoinMoin%3F"
 
 msgid "WikiCourse/02 Finding information"
-msgstr ""
+msgstr "CorsoWiki/02 Trovare informazioni"
 
 msgid "WikiCourse/03 Staying up to date"
-msgstr ""
+msgstr "CorsoWiki/03 Essere sempre aggiornati"
 
 msgid "WikiCourse/04 Creating a wiki account"
-msgstr ""
-
-#, fuzzy
+msgstr "CorsoWiki/04 Creare un account wiki"
+
 msgid "WikiCourse/05 User preferences"
-msgstr "Le preferenze utente sono state salvate."
+msgstr "CorsoWiki/05 Preferenze utente"
 
 msgid "WikiCourse/06 Your own wiki homepage"
-msgstr ""
+msgstr "CorsoWiki/06 La propria pagina personale"
 
 msgid "WikiCourse/07 The text editor"
-msgstr ""
+msgstr "CorsoWiki/07 L'editor del wiki"
 
 msgid "WikiCourse/08 Hot Keys"
-msgstr ""
+msgstr "CorsoWiki/08 Scorciatoie"
 
 msgid "WikiCourse/10 Text layout with wiki markup"
-msgstr ""
+msgstr "CorsoWiki/10 Formattazione testo"
 
 msgid "WikiCourse/11 Paragraphs"
-msgstr ""
+msgstr "CorsoWiki/11 Paragrafi"
 
 msgid "WikiCourse/12 Headlines"
-msgstr ""
+msgstr "CorsoWiki/12 Titoli"
 
 msgid "WikiCourse/13 Lists"
-msgstr ""
+msgstr "CorsoWiki/13 Elenchi"
 
 msgid "WikiCourse/14 Text styles"
-msgstr ""
+msgstr "CorsoWiki/14 Stile del testo"
 
 msgid "WikiCourse/15 Tables"
-msgstr ""
+msgstr "CorsoWiki/15 Tabelle"
 
 msgid "WikiCourse/16 Wiki internal links"
-msgstr ""
+msgstr "CorsoWiki/16 Collegamenti interni"
 
 msgid "WikiCourse/17 External links"
-msgstr ""
-
-#, fuzzy
+msgstr "CorsoWiki/17 Collegamenti esterni"
+
 msgid "WikiCourse/18 Attachments"
-msgstr "Nuovo allegato"
+msgstr "CorsoWiki/18 Allegati"
 
 msgid "WikiCourse/19 Symbols"
-msgstr ""
+msgstr "CorsoWiki/19 Simboli"
 
 msgid "WikiCourse/20 Dynamic content"
-msgstr ""
+msgstr "CorsoWiki/20 Contenuto dinamico"
 
 msgid "WikiCourse/21 Macros"
-msgstr ""
+msgstr "CorsoWiki/21 Macro"
 
 msgid "WikiCourse/22 Parsers"
-msgstr ""
-
-#, fuzzy
+msgstr "CorsoWiki/22 Processori di codice"
+
 msgid "WikiCourse/23 Actions"
-msgstr "Altre azioni:"
+msgstr "CorsoWiki/23 Azioni"
 
 msgid "WikiCourse/30 The graphical editor"
-msgstr ""
+msgstr "CorsoWiki/30 L'editor grafico"
 
 msgid "WikiCourse/40 Creating more pages"
-msgstr ""
+msgstr "CorsoWiki/40 Creare pagine"
 
 msgid "WikiCourse/50 Wiki etiquette"
-msgstr ""
+msgstr "CorsoWiki/50 Wiki etiquette"
 
 msgid "WikiCourse/51 Applications"
-msgstr ""
+msgstr "CorsoWiki/51 Applicazioni"
 
 msgid "WikiCourse/52 Structure in the wiki"
-msgstr ""
+msgstr "CorsoWiki/52 Strutture nel wiki"
 
 msgid "WikiCourseHandOut"
-msgstr ""
+msgstr "DispensaCorsoWiki"
 
 msgid "Sun"
 msgstr "dom"
@@ -2363,6 +2309,8 @@
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
 msgstr ""
+"<<%(macro_name)s: esecuzione non riuscita [%(error_msg)s] (consultare anche "
+"la registrazione)>>"
 
 msgid "Go To Page"
 msgstr "Vai alla pagina"
@@ -3522,26 +3470,9 @@
 "Impossibile salvare la pagina, \"%(content)s\" non è ammesso in questo wiki."
 
 msgid "anonymous"
-msgstr ""
-
-#, fuzzy
-#~ msgid "InterWikiMap"
-#~ msgstr "Formattazione wiki"
-
-#, fuzzy
-#~ msgid "BadContent"
-#~ msgstr "Oggetto"
-
-#, fuzzy
-#~ msgid "LocalBadContent"
-#~ msgstr "Oggetto"
-
-#, fuzzy
-#~ msgid "EditedSystemPages"
-#~ msgstr "Escludi le pagine di sistema"
-
-#~ msgid "Created the package %s containing the pages %s."
-#~ msgstr "Il pacchetto %s contenente le pagine %s è stato creato."
-
-#~ msgid "You need to log in."
-#~ msgstr "È necessario accedere."
+msgstr "anonimo"
+
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "L'installazione di file di tema è possibile solo su server indipendenti."
--- a/MoinMoin/i18n/ja.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ja.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,9 +13,9 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-06-18 07:54+0900\n"
-"Last-Translator: MasatakeIwasaki\n"
+"Last-Translator: HiroshiIwasaki\n"
 "Language-Team: Japanese <moin-devel@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -367,9 +367,9 @@
 msgid "The theme name is not set."
 msgstr "テーマ名が設定されていません。"
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"テーマファイルをインストールできるのは、standaloneタイプのサーバだけです。"
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -467,10 +467,10 @@
 msgstr "不正な正規表現ハイライト: \"%(regex)s\": %(error)s"
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
-"このページのバックアップ保存された内容は\"deprecated\"であるため、検索結果に"
+"このページのバックアップ保存された内容は古いため、検索結果に"
 "は含まれません。"
 
 #, python-format
@@ -834,7 +834,6 @@
 "(!) 詳細はHelpOnEditingや [\"シンタックスリファレンス\"]を参照してくださ"
 "い。\n"
 
-#, fuzzy
 msgid ""
 " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')"
 ">>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold "
@@ -866,7 +865,7 @@
 " 表:: || セルテキスト |||| 2列にわたるセルテキスト ||、表やタイトルのあとには"
 "空白を入力しないでください。\n"
 "\n"
-"(!) 詳細はHelpOnEditingや [\"シンタックスリファレンス\"]を参照してくださ"
+"(!) 詳細は HelpOnEditing や [[シンタックスリファレンス]]を参照してくださ"
 "い。\n"
 
 #, python-format
@@ -1195,7 +1194,7 @@
 msgid "New user account created on %(sitename)s"
 msgstr "%(sitename)s において新規ユーザアカウントが作成されました。"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Dear Superuser, a new user has just been created on %(sitename)s\". Details "
 "follow:\n"
@@ -1203,7 +1202,7 @@
 "    User name: %(username)s\n"
 "    Email address: %(useremail)s"
 msgstr ""
-"以下のユーザが作成されました。\n"
+"スーパーユーザーさん、%(sitename)s\" において以下のユーザが作成されました。\n"
 "\n"
 "    ユーザ名: %(username)s\n"
 "    メールアドレス: %(useremail)s"
@@ -1344,13 +1343,11 @@
 msgid "MissingHomePage"
 msgstr "存在しないホームページ"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "存在しないホームページ"
-
-#, fuzzy
+msgstr "Wikiホームページ"
+
 msgid "WikiName"
-msgstr "名前"
+msgstr "Wiki名"
 
 msgid "WikiWikiWeb"
 msgstr ""
@@ -1359,68 +1356,58 @@
 msgstr "フロントページ"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "Wikiサンドボックス"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "InterWiki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "見捨てられたページ"
+
 msgid "OrphanedPages"
-msgstr "変更されたページ"
-
-#, fuzzy
+msgstr "リンクされていないページ"
+
 msgid "WantedPages"
-msgstr "親ページ"
+msgstr "作成が必要なページ"
 
 msgid "EventStats"
-msgstr ""
+msgstr "統計情報"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "統計情報/ヒットカウント"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "統計情報/言語"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "統計情報/ユーザーエージェント"
+
 msgid "PageSize"
-msgstr "サイズ"
-
-#, fuzzy
+msgstr "ページサイズ"
+
 msgid "PageHits"
-msgstr "ページ"
-
-#, fuzzy
+msgstr "ページヒット"
+
 msgid "RandomPage"
-msgstr "ページ名変更"
-
-#, fuzzy
+msgstr "ランダムページ"
+
 msgid "XsltVersion"
-msgstr "Pythonのバージョン"
+msgstr ""
 
 msgid "FortuneCookies"
-msgstr ""
+msgstr "フォーチュンクッキー"
 
 msgid "WikiLicense"
 msgstr "Wikiライセンス"
 
-#, fuzzy
 msgid "CategoryCategory"
 msgstr "すべてのカテゴリー"
 
-#, fuzzy
 msgid "CategoryHomepage"
-msgstr "カテゴリー"
-
-#, fuzzy
+msgstr ""
+
 msgid "CategoryTemplate"
-msgstr "カテゴリー"
+msgstr ""
 
 msgid "HomepageTemplate"
 msgstr ""
@@ -1443,9 +1430,8 @@
 msgid "SlideShowHandOutTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "SlideShowTemplate"
-msgstr "スライドショー"
+msgstr ""
 
 msgid "SlideTemplate"
 msgstr ""
@@ -1453,9 +1439,8 @@
 msgid "SyncJobTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnConfiguration"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnConfiguration/EmailSupport"
 msgstr ""
@@ -1472,24 +1457,20 @@
 msgid "HelpOnConfiguration/SurgeProtection"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnConfiguration/UserPreferences"
-msgstr "ユーザプレファレンス"
+msgstr ""
 
 msgid "HelpOnPackageInstaller"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUpdating"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnUpdatingPython"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnAdministration"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnAuthentication"
 msgstr ""
@@ -1497,42 +1478,35 @@
 msgid "HelpOnAuthentication/ExternalCookie"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnMoinCommand"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnMoinCommand/ExportDump"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNotification"
-msgstr "メールで通知"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSessions"
-msgstr "ヘルプの目次"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnUserHandling"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnXapian"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnMoinWikiSyntax"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnCreoleSyntax"
-msgstr "ヘルプの目次"
+msgstr ""
 
 msgid "HelpOnFormatting"
 msgstr "書式のヘルプ"
 
-#, fuzzy
 msgid "MoinMoin"
-msgstr "MoinMoinのバージョン"
+msgstr ""
 
 msgid "HelpContents"
 msgstr "ヘルプの目次"
@@ -1543,34 +1517,26 @@
 msgid "HelpForUsers"
 msgstr ""
 
-#, fuzzy
 msgid "HelpIndex"
-msgstr "タイトルインデックス"
+msgstr "ヘルプインデックス"
 
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
+msgid "HelpOnActions"
 msgstr ""
 
-#, fuzzy
-msgid "HelpOnActions"
-msgstr "ヘルプの目次"
-
 msgid "HelpOnActions/AttachFile"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnAdmonitions"
-msgstr "ヘルプの目次"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnAutoAdmin"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnCategories"
-msgstr "カテゴリー"
+msgstr ""
 
 msgid "HelpOnDictionaries"
 msgstr ""
@@ -1578,9 +1544,8 @@
 msgid "HelpOnEditLocks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnEditing"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnEditing/SubPages"
 msgstr ""
@@ -1591,24 +1556,20 @@
 msgid "HelpOnHeadlines"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLanguages"
-msgstr "言語"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnLinking"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnLinking/NotesLinks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLists"
-msgstr "ヘルプの目次"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnLogin"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnMacros"
 msgstr ""
@@ -1616,9 +1577,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -1628,16 +1586,14 @@
 msgid "HelpOnMacros/MonthCalendar"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNavigation"
-msgstr "サイトナビゲーション"
+msgstr ""
 
 msgid "HelpOnOpenIDProvider"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnPageCreation"
-msgstr "書式のヘルプ"
+msgstr ""
 
 msgid "HelpOnPageDeletion"
 msgstr ""
@@ -1654,17 +1610,14 @@
 msgid "HelpOnProcessingInstructions"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnRules"
-msgstr "ヘルプの目次"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSearching"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSlideShows"
-msgstr "スライドショー"
+msgstr ""
 
 msgid "HelpOnSlideShows/000 Introduction"
 msgstr ""
@@ -1681,16 +1634,14 @@
 msgid "HelpOnSpam"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSpellCheck"
-msgstr "スペルチェック"
+msgstr ""
 
 msgid "HelpOnSuperUser"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSynchronisation"
-msgstr "同期開始 -"
+msgstr ""
 
 msgid "HelpOnTables"
 msgstr ""
@@ -1701,24 +1652,20 @@
 msgid "HelpOnThemes"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUserPreferences"
-msgstr "ユーザプレファレンス"
+msgstr ""
 
 msgid "HelpOnVariables"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnXmlPages"
-msgstr "書式のヘルプ"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnComments"
-msgstr "ヘルプの目次"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSubscribing"
-msgstr "購読中止"
+msgstr ""
 
 msgid "CamelCase"
 msgstr ""
@@ -1738,9 +1685,8 @@
 msgid "WikiCourse/04 Creating a wiki account"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/05 User preferences"
-msgstr "ユーザプレファレンス"
+msgstr ""
 
 msgid "WikiCourse/06 Your own wiki homepage"
 msgstr ""
@@ -1775,9 +1721,8 @@
 msgid "WikiCourse/17 External links"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/18 Attachments"
-msgstr "ファイルの新規添付"
+msgstr ""
 
 msgid "WikiCourse/19 Symbols"
 msgstr ""
@@ -1791,9 +1736,8 @@
 msgid "WikiCourse/22 Parsers"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/23 Actions"
-msgstr "その他のアクション:"
+msgstr ""
 
 msgid "WikiCourse/30 The graphical editor"
 msgstr ""
@@ -2055,7 +1999,6 @@
 msgid "Variable name"
 msgstr ""
 
-#, fuzzy
 msgid "Setting"
 msgstr "設定"
 
@@ -3237,7 +3180,7 @@
 msgid "Please first create a homepage before creating additional pages."
 msgstr "最初にホームページを作成してください。"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "You can add some additional sub pages to your already existing homepage "
 "here.\n"
@@ -3278,9 +3221,9 @@
 "||'''新しいパーソナルページの追加:'''||'''関連するアクセスコントロールリスト"
 "グループ:'''||\n"
 "||<<NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)>>||"
-"[\"%(username)s/ReadWriteGroup\"]||\n"
-"||<<NewPage(HomepageReadPageTemplate,read-only page,%(username)s)>>||[\"%"
-"(username)s/ReadGroup\"]||\n"
+"[[%(username)s/ReadWriteGroup]]||\n"
+"||<<NewPage(HomepageReadPageTemplate,read-only page,%(username)s)>>||[[%"
+"(username)s/ReadGroup]]||\n"
 "||<<NewPage(HomepagePrivatePageTemplate,private page,%(username)s)>>||%"
 "(username)s only||\n"
 "\n"
@@ -3469,6 +3412,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "テーマファイルをインストールできるのは、standaloneタイプのサーバだけです。"
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wikiマークアップ"
--- a/MoinMoin/i18n/ko.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ko.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-03-12 15:01+0900\n"
 "Last-Translator: Seungik Lee <seungiklee@gmail.com>\n"
 "Language-Team: Korean <moin-devel@lists.sourceforge.net>\n"
@@ -348,8 +348,9 @@
 msgid "The theme name is not set."
 msgstr "테마의 이름이 지정되지 않았습니다."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "테마 파일의 설치는 독립 실행형 서버에서만 지원됩니다."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -446,8 +447,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "이 문서의 백업된 본문은 더 이상 사용되지 않으며 검색 결과에 포함되지 않습니"
@@ -1513,9 +1515,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "도움말"
@@ -1578,9 +1577,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3366,6 +3362,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "테마 파일의 설치는 독립 실행형 서버에서만 지원됩니다."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "위키 부호"
--- a/MoinMoin/i18n/ku.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ku.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-12-08 18:50+0000\n"
 "Last-Translator: Erdal Ronahi <erdal.ronahi@gmail.com>\n"
 "Language-Team: Kurdish <ku@li.org>\n"
@@ -348,7 +348,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -446,8 +447,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Ji ber ku naveroka rûpela hatiye hilanîn kevn e dê li nav encamên lêgerînê "
@@ -1416,9 +1418,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "NaverokaAlîkariyê"
@@ -1477,9 +1476,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/lt.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/lt.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,8 +13,8 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
-"PO-Revision-Date: 2009-02-03 00:30+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
+"PO-Revision-Date: 2009-06-06 01:00+0200\n"
 "Last-Translator: Ernestas Liubarskij <e.liubarskij@gmail.com>\n"
 "Language-Team: Lithuanian <e.liubarskij@gmail.com>\n"
 "MIME-Version: 1.0\n"
@@ -281,7 +281,7 @@
 msgid ""
 "Other users will be ''blocked'' from editing this page until %(bumptime)s."
 msgstr ""
-"Kiti vartotojai bus ''užblokuoti'' nuo šio puslapio redagavimo iki %"
+"Kiti naudotojai bus ''užblokuoti'' nuo šio puslapio redagavimo iki %"
 "(bumptime)s."
 
 #, python-format
@@ -289,7 +289,7 @@
 "Other users will be ''warned'' until %(bumptime)s that you are editing this "
 "page."
 msgstr ""
-"Kiti vartotojai bus ''perspėti'' iki %(bumptime)s, kad jūs redaguojate šį "
+"Kiti naudotojai bus ''perspėti'' iki %(bumptime)s, kad jūs redaguojate šį "
 "puslapį."
 
 msgid "Use the Preview button to extend the locking period."
@@ -371,8 +371,9 @@
 msgid "The theme name is not set."
 msgstr "Tema nenustatyta."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Temos failų diegimas palaikomas tik savarankiško tipo serveriams."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr "Temos failai neįdiegti! Trūksta rašymo teisių %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -469,8 +470,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Klaidinga paryškinimo reguliarioji išraiška „%(regex)s“: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Šio puslapio atsarginė kopija yra pasenusi ir nebus įtraukta į paieškos "
@@ -1326,7 +1328,7 @@
 msgstr "PaskutiniaiPakeitimai"
 
 msgid "WikiTipOfTheDay"
-msgstr ""
+msgstr "WikiDienosPatarimas"
 
 msgid "TitleIndex"
 msgstr "PavadinimųIndeksas"
@@ -1338,88 +1340,76 @@
 msgstr "IeškotiPuslapio"
 
 msgid "MissingPage"
-msgstr "TrūkstamiPuslapiai"
+msgstr "TrūkstamasPuslapis"
 
 msgid "MissingHomePage"
-msgstr "TrūkstamiNamųPuslapiai"
-
-#, fuzzy
+msgstr "TrūkstamasNamųPuslapis"
+
 msgid "WikiHomePage"
-msgstr "TrūkstamiNamųPuslapiai"
-
-#, fuzzy
+msgstr "WikiNamųPuslapis"
+
 msgid "WikiName"
-msgstr "Vardas"
+msgstr "WikiPavadinimas"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "WikiWikiTinklas"
 
 msgid "FrontPage"
 msgstr "PirmasisPuslapis"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiSmėliadėžė"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "KitosWiki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "PasenęPuslapiai"
+
 msgid "OrphanedPages"
-msgstr "Pakeistas puslapis"
-
-#, fuzzy
+msgstr "VienišiPuslapiai"
+
 msgid "WantedPages"
-msgstr "IeškotiPuslapio"
+msgstr "NorimiPuslapiai"
 
 msgid "EventStats"
-msgstr ""
+msgstr "ĮvykiųStatistika"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "ĮvykiųStatistika/AplankymųKiekis"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "ĮvykiųStatistika/Kalbos"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "ĮvykiųStatistika/NaudotojųAgentai"
+
 msgid "PageSize"
-msgstr "Dydis"
-
-#, fuzzy
+msgstr "PuslapiųDydžiai"
+
 msgid "PageHits"
-msgstr "Puslapiai"
-
-#, fuzzy
+msgstr "PuslapiųAplankymai"
+
 msgid "RandomPage"
-msgstr "PervadintiPuslapį"
-
-#, fuzzy
+msgstr "AtsitiktinisPuslapis"
+
 msgid "XsltVersion"
-msgstr "Python versija"
+msgstr "XsltVersijaLT"
 
 msgid "FortuneCookies"
-msgstr ""
+msgstr "NaudingiPatarimai"
 
 msgid "WikiLicense"
 msgstr "WikiLicencija"
 
-#, fuzzy
 msgid "CategoryCategory"
-msgstr "bet kokia kategorija"
-
-#, fuzzy
+msgstr ""
+
 msgid "CategoryHomepage"
-msgstr "Kategorijos"
-
-#, fuzzy
+msgstr ""
+
 msgid "CategoryTemplate"
-msgstr "Kategorijos"
+msgstr ""
 
 msgid "HomepageTemplate"
 msgstr ""
@@ -1442,9 +1432,8 @@
 msgid "SlideShowHandOutTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "SlideShowTemplate"
-msgstr "Skaidrių peržiūra"
+msgstr ""
 
 msgid "SlideTemplate"
 msgstr ""
@@ -1452,9 +1441,8 @@
 msgid "SyncJobTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnConfiguration"
-msgstr "PagalbaFormatavimo"
+msgstr ""
 
 msgid "HelpOnConfiguration/EmailSupport"
 msgstr ""
@@ -1477,17 +1465,14 @@
 msgid "HelpOnPackageInstaller"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUpdating"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnUpdatingPython"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnAdministration"
-msgstr "PagalbaFormatavimo"
+msgstr ""
 
 msgid "HelpOnAuthentication"
 msgstr ""
@@ -1495,45 +1480,38 @@
 msgid "HelpOnAuthentication/ExternalCookie"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnMoinCommand"
-msgstr "PagalbaFormatavimo"
+msgstr ""
 
 msgid "HelpOnMoinCommand/ExportDump"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNotification"
-msgstr "Pranešimas"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSessions"
-msgstr "PagalbaTurinio"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnUserHandling"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnXapian"
-msgstr "PagalbaFormatavimo"
+msgstr ""
 
 msgid "HelpOnMoinWikiSyntax"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnCreoleSyntax"
-msgstr "PagalbaTurinio"
+msgstr ""
 
 msgid "HelpOnFormatting"
 msgstr "PagalbaFormatavimo"
 
-#, fuzzy
 msgid "MoinMoin"
-msgstr "MoinMoin versija"
+msgstr "KasYraMoinMoin"
 
 msgid "HelpContents"
-msgstr "PagalbaTurinio"
+msgstr "PagalbosTurinys"
 
 msgid "HelpForBeginners"
 msgstr ""
@@ -1541,34 +1519,26 @@
 msgid "HelpForUsers"
 msgstr ""
 
-#, fuzzy
 msgid "HelpIndex"
-msgstr "PavadinimųIndeksas"
+msgstr "PagalbosIndeksas"
 
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
-#, fuzzy
 msgid "HelpOnActions"
-msgstr "PagalbaTurinio"
+msgstr "PagalbaVeiksmų"
 
 msgid "HelpOnActions/AttachFile"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnAdmonitions"
-msgstr "PagalbaTurinio"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnAutoAdmin"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnCategories"
-msgstr "Kategorijos"
+msgstr "PagalbaKategorijų"
 
 msgid "HelpOnDictionaries"
 msgstr ""
@@ -1576,37 +1546,32 @@
 msgid "HelpOnEditLocks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnEditing"
-msgstr "PagalbaFormatavimo"
+msgstr "PagalbaRedagavimo"
 
 msgid "HelpOnEditing/SubPages"
-msgstr ""
+msgstr "PagalbaRedagavimo/PoPuslapiai"
 
 msgid "HelpOnGraphicalEditor"
-msgstr ""
+msgstr "PagalbaGrafinioRedaktoriaus"
 
 msgid "HelpOnHeadlines"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLanguages"
-msgstr "Kalba"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnLinking"
-msgstr "PagalbaFormatavimo"
+msgstr "PagalbaSaistymo"
 
 msgid "HelpOnLinking/NotesLinks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLists"
-msgstr "PagalbaTurinio"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnLogin"
-msgstr "PagalbaFormatavimo"
+msgstr "PagalbaPrisijungimo"
 
 msgid "HelpOnMacros"
 msgstr ""
@@ -1614,9 +1579,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -1626,23 +1588,20 @@
 msgid "HelpOnMacros/MonthCalendar"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNavigation"
-msgstr "SvetainėsNavigacija"
-
-#, fuzzy
+msgstr "PagalbaNavigacijos"
+
 msgid "HelpOnOpenIDProvider"
-msgstr "OpenID serveris"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnPageCreation"
-msgstr "PagalbaFormatavimo"
+msgstr "PagalbaPuslapioKūrimo"
 
 msgid "HelpOnPageDeletion"
 msgstr ""
 
 msgid "HelpOnParsers"
-msgstr ""
+msgstr "PagalbaAnalizatorių"
 
 msgid "HelpOnParsers/ReStructuredText"
 msgstr ""
@@ -1651,19 +1610,16 @@
 msgstr ""
 
 msgid "HelpOnProcessingInstructions"
-msgstr ""
-
-#, fuzzy
+msgstr "PagalbaApdorojimoInstrukcijų"
+
 msgid "HelpOnRules"
-msgstr "PagalbaTurinio"
-
-#, fuzzy
+msgstr "PagalbaLiniuočių"
+
 msgid "HelpOnSearching"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr "PagalbaPaieškos"
+
 msgid "HelpOnSlideShows"
-msgstr "Skaidrių peržiūra"
+msgstr "PagalbaŠypsenėlių"
 
 msgid "HelpOnSlideShows/000 Introduction"
 msgstr ""
@@ -1675,49 +1631,43 @@
 msgstr ""
 
 msgid "HelpOnSmileys"
-msgstr ""
+msgstr "PagalbaŠypsenėlių"
 
 msgid "HelpOnSpam"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSpellCheck"
-msgstr "RašybosTikrinimas"
+msgstr ""
 
 msgid "HelpOnSuperUser"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSynchronisation"
-msgstr "Sinchronizacija prasidėjo -"
+msgstr ""
 
 msgid "HelpOnTables"
 msgstr ""
 
 msgid "HelpOnTemplates"
-msgstr ""
+msgstr "PagalbaŠablonų"
 
 msgid "HelpOnThemes"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUserPreferences"
-msgstr "Nuostatos"
+msgstr "PagalbaNaudotojoNuostatų"
 
 msgid "HelpOnVariables"
-msgstr ""
-
-#, fuzzy
+msgstr "PagalbaKintamųjų"
+
 msgid "HelpOnXmlPages"
-msgstr "PagalbaFormatavimo"
-
-#, fuzzy
+msgstr "PagalbaXmlPuslapių"
+
 msgid "HelpOnComments"
-msgstr "PagalbaTurinio"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSubscribing"
-msgstr "Atsisakyti prenumeratos"
+msgstr "PagalbaPrenumeratos"
 
 msgid "CamelCase"
 msgstr ""
@@ -1737,9 +1687,8 @@
 msgid "WikiCourse/04 Creating a wiki account"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/05 User preferences"
-msgstr "Naudotojo nuostatos išsaugotos!"
+msgstr ""
 
 msgid "WikiCourse/06 Your own wiki homepage"
 msgstr ""
@@ -1774,9 +1723,8 @@
 msgid "WikiCourse/17 External links"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/18 Attachments"
-msgstr "Naujas priedas"
+msgstr ""
 
 msgid "WikiCourse/19 Symbols"
 msgstr ""
@@ -1790,9 +1738,8 @@
 msgid "WikiCourse/22 Parsers"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/23 Actions"
-msgstr "Daugiau veiksmų:"
+msgstr ""
 
 msgid "WikiCourse/30 The graphical editor"
 msgstr ""
@@ -2036,7 +1983,7 @@
 msgstr "Wiki žymėjimas"
 
 msgid "File attachment browser"
-msgstr "Priedų rinkmenų naršyklė"
+msgstr "Priedų failų naršyklė"
 
 msgid "User account browser"
 msgstr "Naudotojų paskyrų naršyklė"
@@ -2342,6 +2289,8 @@
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
 msgstr ""
+"<<%(macro_name)s: įvykdymas nepavyko [%(error_msg)s] (taip pat žiūrėkite "
+"žurnale)>>"
 
 msgid "Go To Page"
 msgstr "Eiti į puslapį"
@@ -3067,7 +3016,7 @@
 msgstr "SHA antspaudas šio puslapio turiniui yra:"
 
 msgid "The following users subscribed to this page:"
-msgstr "Šie vartotojai užsiprenumeravę šį puslapį:"
+msgstr "Naudotojai, užsiprenumeravę šį puslapį:"
 
 msgid "This page links to the following pages:"
 msgstr "Šis puslapis turi nuorodas į šiuos puslapius:"
@@ -3233,7 +3182,7 @@
 
 #, python-format
 msgid "Subscribe users to the page %s"
-msgstr "Užprenumeruoti vartotojus puslapiui %s"
+msgstr "Užprenumeruoti naudotojus puslapiui %s"
 
 msgid "Enter user names (comma separated):"
 msgstr "Įveskite naudotojų vardus (atskirtus kableliais):"
@@ -3486,6 +3435,10 @@
 msgid "anonymous"
 msgstr "anoniminis"
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Temos failų diegimas palaikomas tik savarankiško tipo serveriams."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki žymėjimas"
--- a/MoinMoin/i18n/lv.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/lv.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-05-10 22:31+0200\n"
 "Last-Translator: Radomirs Cirskis <nad2000 AT AT AT AT gmail SPAM NO NO DOT "
 "NO SPAM com>\n"
@@ -371,10 +371,9 @@
 msgid "The theme name is not set."
 msgstr "Tēmas nosaukums nav uzstādīts."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Tēmu failu instalēšana ir atbalstīta tikai savrupiem (\"standalone\") "
-"serveriem."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -471,8 +470,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Nepareiza izcelšanas regulārā izteiksme \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Saglabātais lapas saturs ir novecojis un netiks iekļauts meklēšanas "
@@ -1323,65 +1323,56 @@
 msgid "MissingHomePage"
 msgstr "IztrūkstošaMājasLapa"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "IztrūkstošaMājasLapa"
-
-#, fuzzy
+msgstr "VikiMājasLapa"
+
 msgid "WikiName"
-msgstr "Vārds"
+msgstr "VikiVārds"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "VikiVikiTīmeklis"
 
 msgid "FrontPage"
 msgstr "SākumLapa"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "VikiSmilškaste"
+
 msgid "InterWiki"
-msgstr "Viki"
+msgstr "StarpViki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "PamestāsLapas"
+
 msgid "OrphanedPages"
-msgstr "Mainīta lapa"
-
-#, fuzzy
+msgstr "BāreņLapas"
+
 msgid "WantedPages"
-msgstr "MeklētLapu"
+msgstr "MeklētāsLapas"
 
 msgid "EventStats"
-msgstr ""
+msgstr "NotikumuStatistika"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "NotikumuStatistika/TrāpījumuSkaits"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "NotikumuStatistika/Valodas"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "NotikumuStatistika/LietotājuAģenti"
+
 msgid "PageSize"
-msgstr "Izmērs"
-
-#, fuzzy
+msgstr "LapasIzmērs"
+
 msgid "PageHits"
-msgstr "Lapas"
-
-#, fuzzy
+msgstr "LapuTrāpījumi"
+
 msgid "RandomPage"
-msgstr "PārdēvētLapu"
-
-#, fuzzy
+msgstr "PatvaļīgaLapu"
+
 msgid "XsltVersion"
-msgstr "Python versija"
+msgstr "XsltVersija"
 
 msgid "FortuneCookies"
 msgstr ""
@@ -1390,19 +1381,19 @@
 msgstr "VikiLicence"
 
 msgid "CategoryCategory"
-msgstr ""
+msgstr "KategorijasKategorija"
 
 msgid "CategoryHomepage"
-msgstr ""
+msgstr "KategorijasMājasLapa"
 
 msgid "CategoryTemplate"
-msgstr ""
+msgstr "KategorijasVeidne"
 
 msgid "HomepageTemplate"
-msgstr ""
+msgstr "MājasLapasVeidne"
 
 msgid "HelpTemplate"
-msgstr ""
+msgstr "PalīdzībasVeidne"
 
 msgid "HomepageReadWritePageTemplate"
 msgstr ""
@@ -1419,9 +1410,8 @@
 msgid "SlideShowHandOutTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "SlideShowTemplate"
-msgstr "Slīdrāde"
+msgstr "SlīdrādesVeidne"
 
 msgid "SlideTemplate"
 msgstr ""
@@ -1429,9 +1419,8 @@
 msgid "SyncJobTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnConfiguration"
-msgstr "FormatēšanasPalīdzība"
+msgstr "KonfigurēšanasPalīdzība"
 
 msgid "HelpOnConfiguration/EmailSupport"
 msgstr ""
@@ -1526,9 +1515,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "PalīdzībasSaturaRādītājs"
@@ -1591,9 +1577,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -1634,13 +1617,11 @@
 msgid "HelpOnRules"
 msgstr "PalīdzībasSaturaRādītājs"
 
-#, fuzzy
 msgid "HelpOnSearching"
-msgstr "FormatēšanasPalīdzība"
-
-#, fuzzy
+msgstr "MeklēšanasPalīdzība"
+
 msgid "HelpOnSlideShows"
-msgstr "Slīdrāde"
+msgstr "SlīdrādesPalīdzība"
 
 msgid "HelpOnSlideShows/000 Introduction"
 msgstr ""
@@ -1657,16 +1638,14 @@
 msgid "HelpOnSpam"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSpellCheck"
-msgstr "Pareizrakstība"
+msgstr "PareizrakstībasPalīdzība"
 
 msgid "HelpOnSuperUser"
-msgstr ""
-
-#, fuzzy
+msgstr "SuperlietotājaPalīdzība"
+
 msgid "HelpOnSynchronisation"
-msgstr "Sinhronizēšana sākusies -"
+msgstr "SinhronizēšanasPalīdzība"
 
 msgid "HelpOnTables"
 msgstr ""
@@ -3401,6 +3380,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Tēmu failu instalēšana ir atbalstīta tikai savrupiem (\"standalone\") "
+#~ "serveriem."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Viki marķējums"
--- a/MoinMoin/i18n/mk.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/mk.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: moin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-06-27 22:39+0200\n"
 "Last-Translator: Novica Nakov\n"
 "Language-Team: Macedonian <ossm-members@hedona.on.net.mk>\n"
@@ -372,9 +372,9 @@
 msgid "The theme name is not set."
 msgstr "Името на темата не е поставено."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Инсталирањето на датотеки со теми е поддржано само за самостојни сервери."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -471,8 +471,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Неправилно означување на регуларниот израз \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Резервната содржина од оваа страница е застарена и нема да биде вклучена во "
@@ -1551,9 +1552,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "Помош"
@@ -1617,9 +1615,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3484,6 +3479,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Инсталирањето на датотеки со теми е поддржано само за самостојни сервери."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Вики означување"
--- a/MoinMoin/i18n/mn.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/mn.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-12-05 12:04+0800\n"
 "Last-Translator: Amgalanbaatar Delegdorj <d.amgalanbaatar@gmail.com>\n"
 "Language-Team: Mongolia <d.amgalanbaatar@gmail.com>\n"
@@ -365,8 +365,9 @@
 msgid "The theme name is not set."
 msgstr "Загварын нэр өгөгдөөгүй байна."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Суулгах загварын файлууд нь зөвхөн Server-Typ standalone -ыгдэмждэг."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -463,8 +464,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Сүүлийн агуулгын BackUp хуучирсан байгаа бахайлтад өртөхгүй болсон болно!"
@@ -1541,9 +1543,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "АгуулгынТусламж"
@@ -1606,9 +1605,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3471,6 +3467,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Суулгах загварын файлууд нь зөвхөн Server-Typ standalone -ыгдэмждэг."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki эх текст"
--- a/MoinMoin/i18n/nb.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/nb.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-12-03 14:24+0100\n"
 "Last-Translator: Jörg Cassens <moinmoin-nb@cassens.org>\n"
 "Language-Team: Norwegian <moinmoin-nb@cassens.org>\n"
@@ -366,8 +366,9 @@
 msgid "The theme name is not set."
 msgstr "Temanavnet er ikke satt."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Installere ny temafiler er kun støttet i enkeltstående sørvere."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -464,8 +465,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Ugyldig fremhevende regulær uttrykk \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Det tidligere innholdet av denne siden er foreldet og vil ikke bli tatt med "
@@ -1541,9 +1543,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "HjelpInnhold"
@@ -1607,9 +1606,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3469,6 +3465,10 @@
 msgid "anonymous"
 msgstr "ukjent bruker"
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Installere ny temafiler er kun støttet i enkeltstående sørvere."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-markering"
--- a/MoinMoin/i18n/nl.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/nl.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2009-03-24 20:06+0100\n"
 "Last-Translator: Roel Huybrechts <mail@rulus.be>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -376,10 +376,9 @@
 msgid "The theme name is not set."
 msgstr "De naam van het thema is niet ingesteld."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Thema bestanden installeren wordt alleen door alleenstaande servers "
-"ondersteund."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -478,8 +477,9 @@
 msgstr ""
 "Ongeldige reguliere expressie voor het markeren \"%(regex)s\":%(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "De reservekopie van de inhoud van deze pagina is achterhaald en zal niet "
@@ -1556,9 +1556,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "HelpInhoud"
@@ -1622,9 +1619,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3513,6 +3507,12 @@
 msgid "anonymous"
 msgstr "anoniem"
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Thema bestanden installeren wordt alleen door alleenstaande servers "
+#~ "ondersteund."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-opmaak"
--- a/MoinMoin/i18n/pl.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/pl.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: 1.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2006-02-09 11:25+0100\n"
 "Last-Translator: Sergiusz Pawłowicz <moin@pawlowicz.name>\n"
 "Language-Team: Polish <moin@pawlowicz.name>\n"
@@ -368,9 +368,9 @@
 msgid "The theme name is not set."
 msgstr "Nie wybrano żadnego wystroju"
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Instalacja plików wystroju jest wspierana tylko dla serwerów typu standalone."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -468,8 +468,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Niewłaściwe wyrażenie regularne podświetlania \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Kopia zapasowa zawartości tej strony jest nieważna i nie będzie włączona do "
@@ -798,7 +799,7 @@
 "If you do not have an account, <a href=\"%(userprefslink)s\">you can create "
 "one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>"
 msgstr ""
-"Jeśli nie masz jeszcze hasła, <a href=\"%(userprefslink)s\">możesz je "
+"Jeśli nie masz jeszcze konta, <a href=\"%(userprefslink)s\">możesz je "
 "założyć teraz</a>. <a href=\"%(sendmypasswordlink)s\">Zapomniane hasło?</a>"
 
 msgid ""
@@ -1539,9 +1540,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "PomocSpisTreści"
@@ -1605,9 +1603,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3478,6 +3473,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Instalacja plików wystroju jest wspierana tylko dla serwerów typu "
+#~ "standalone."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Język oznaczeń wiki"
--- a/MoinMoin/i18n/pt-br.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/pt-br.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,17 +13,16 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-11-20 23:40+0000\n"
-"Last-Translator: Evandro Villa Verde <evandro.villaverde.hackerteen@gmail."
-"com>\n"
+"Last-Translator: Evandro Villa Verde <evandro.villaverde.hackerteen@gmail.\n"
 "Language-Team: Português Brasileiro <moin-devel@lists.sourceforge.net\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Direction: ltr\n"
 "X-Language: Português do Brasil\n"
-"X-Language-in-English: Brazillian Portuguese\n"
+"X-Language-in-English: Brazilian Portuguese\n"
 "X-HasWikiMarkup: True\n"
 
 msgid "The wiki is currently not reachable."
@@ -322,7 +321,7 @@
 msgid "<unknown>"
 msgstr "<desconhecido>"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Login Name: %s\n"
 "\n"
@@ -330,11 +329,11 @@
 "\n"
 "Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n"
 msgstr ""
-"Nome de Login: %s\n"
+"Login: %s\n"
 "\n"
-"Senha do Nome: %s\n"
+"Token de recuperação da senha: %s\n"
 "\n"
-"URL do Login: %s/%s?action=login\n"
+"URL para reiniciar a senha: %s/?action=recoverpass&name=%s&token=%s\n"
 
 msgid ""
 "Somebody has requested to email you a password recovery token.\n"
@@ -367,9 +366,9 @@
 msgid "The theme name is not set."
 msgstr "O nome do tema não está definido."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"Instalar arquivos de temas só é possível para servidores do tipo standalone."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr "Arquivos do tema não instalados! Direitos de escrita faltando para %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -464,10 +463,11 @@
 
 #, python-format
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
-msgstr ""
-
+msgstr "Expressão regular para destaque inválida \"%(regex)s\": %(error)s"
+
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "O conteúdo de backup desta página é velho e não será incluso nos resultados "
@@ -516,7 +516,6 @@
 msgid "Select User"
 msgstr "Selecionar Usuário"
 
-#, fuzzy
 msgid "Change password"
 msgstr "Mudar a senha"
 
@@ -567,63 +566,60 @@
 msgid "OpenID error: %s."
 msgstr "Erro OpenID: %s."
 
-#, fuzzy
 msgid "Verification canceled."
 msgstr "Verificação cancelada."
 
-#, fuzzy
 msgid "This OpenID is already used for another account."
-msgstr "Esta página já está removida ou nunca foi criada!"
+msgstr "Este OpenID já está sendo usado por outra conta."
 
 msgid "OpenID added successfully."
-msgstr ""
+msgstr "OpenID adicionado com sucesso."
 
 msgid "OpenID failure."
 msgstr "Falha OpenID"
 
 msgid "Current OpenIDs"
-msgstr ""
+msgstr "OpenIDs atuais"
 
 msgid "Remove selected"
-msgstr ""
+msgstr "Remover selecionado(s)"
 
 msgid "Add OpenID"
-msgstr ""
+msgstr "Adicionar OpenID"
 
 msgid "OpenID verification requires that you click this button:"
 msgstr "A verificação OpenID requer que você clique neste botão:"
 
 msgid "Notification"
-msgstr ""
+msgstr "Notificação"
 
 msgid "Notification settings saved!"
-msgstr ""
-
-#, fuzzy
+msgstr "Configurações de notificação salvas!"
+
 msgid "'''Email'''"
-msgstr "Email"
+msgstr "'''Email'''"
 
 msgid "'''Jabber'''"
-msgstr ""
+msgstr "'''Jabber'''"
 
 msgid "'''Event type'''"
-msgstr ""
+msgstr "'''Tipo de evento'''"
 
 msgid "Select the events you want to be notified about."
-msgstr ""
+msgstr "Selecione os eventos sobre os quais você quer ser notificado."
 
 msgid ""
 "Before you can be notified, you need to provide a way to contact you in the "
 "general preferences."
 msgstr ""
-
-#, fuzzy
+"Para ser notificado você precisa fornecer um meio para contactá-lo nas "
+"preferências gerais."
+
 msgid "Subscribed events"
-msgstr "Inscrever usuário"
-
-#, fuzzy
+msgstr "Eventos inscritos"
+
 msgid "Subscribed wiki pages<<BR>>(one regex per line)"
-msgstr "Páginas inscritas na wiki (uma expressão regular por linha)"
+msgstr "Páginas wiki inscritas<<BR>> (uma expressão regular por linha)"
 
 msgid "Save"
 msgstr "Salvar"
@@ -658,9 +654,8 @@
 msgid "This email already belongs to somebody else."
 msgstr "Este email já pertence a alguém cadastrado neste site."
 
-#, fuzzy
 msgid "This jabber id already belongs to somebody else."
-msgstr "Este email já pertence a alguém cadastrado neste site."
+msgstr "Este jabber id já pertence a alguém cadastrado neste site."
 
 #, python-format
 msgid "The theme '%(theme_name)s' could not be loaded!"
@@ -712,13 +707,13 @@
 msgstr "Links rápidos"
 
 msgid "OpenID server"
-msgstr ""
+msgstr "Servidor OpenID"
 
 msgid "The selected websites have been removed."
-msgstr ""
+msgstr "Os sites selecionados foram removidos."
 
 msgid "Trusted websites"
-msgstr ""
+msgstr "Sites confiáveis"
 
 msgid "Line"
 msgstr "Linha"
@@ -740,6 +735,9 @@
 "If you choose an existing account name you will be asked for the\n"
 "password and be able to associate the account with your OpenID."
 msgstr ""
+"Por favor escolha um nome de conta agora.\n"
+"Se você escolher um nome de conta já existente, será solicitada a senha "
+"correspondente e você poderá associar a conta com seu OpenID."
 
 msgid "Name"
 msgstr "Nome"
@@ -756,6 +754,10 @@
 "the username with your OpenID. Otherwise, please choose a different\n"
 "username and leave the password field blank."
 msgstr ""
+"O nome de usuário escolhido já está em uso.\n"
+"Se este é o seu usuário, digite a senha abaixo para associar o nome ao seu\n"
+"OpenID. Senão, por favor escolha um nome de usuário diferente, e deixe o\n"
+"campo de senha em branco."
 
 msgid "Associate this name"
 msgstr "Associe este nome"
@@ -937,9 +939,9 @@
 msgid "**Maximum number of allowed includes exceeded**"
 msgstr "**O número máximo de inserções permitidas foi excedida**"
 
-#, fuzzy, python-format
+#, python-format
 msgid "**You are not allowed to read the page: %s**"
-msgstr "Você não tem permissão para renomear esta página!"
+msgstr "**Você não tem permissão para ler a página: %s**"
 
 #, python-format
 msgid "**Could not find the referenced page: %s**"
@@ -956,17 +958,15 @@
 msgid "%(errortype)s processing error"
 msgstr "%(errortype)s erros de processamento"
 
-#, fuzzy
 msgid "Password is too short."
-msgstr "Senha muito curta"
+msgstr "Senha muito curta."
 
 msgid "Password has not enough different characters."
 msgstr "A senha não tem um número suficiente de caracteres diferentes"
 
-#, fuzzy
 msgid ""
 "Password is too easy (password contains name or name contains password)."
-msgstr "Senha não foi informada. Por favor, informe o nome do usuário e senha."
+msgstr "Senha muito fácil (a senha contém o nome, ou o nome contém a senha)."
 
 msgid "Password is too easy (keyboard sequence)."
 msgstr "Senha muito simples (seqüência de teclado)."
@@ -1059,11 +1059,9 @@
 msgid "Editor size"
 msgstr "Tamanho do editor"
 
-#, fuzzy
 msgid "Username"
 msgstr "Usuário"
 
-#, fuzzy
 msgid "Member of Groups"
 msgstr "Membro dos Grupos"
 
@@ -1134,12 +1132,12 @@
 "completo"
 
 msgid "All attachments included into the package."
-msgstr ""
+msgstr "Todos os anexos foram incluídos no pacote."
 
 msgid "Output file already exists! Cowardly refusing to continue!"
 msgstr "Arquivo de saída já existe! Covardemente recusando a continuar!"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Dear Wiki user,\n"
 "\n"
@@ -1148,14 +1146,12 @@
 "\n"
 "The \"%(pagename)s\" page has been changed by %(editor)s:\n"
 msgstr ""
-"Caro usuário Wiki,\n"
+"Prezado usuário,\n"
 "\n"
-"Você subscreveu uma página ou categoria em \"%(sitename)s\" para "
+"Você se inscreveu em uma página ou categoria wiki em \"%(sitename)s\" para "
 "notificações de alterações.\n"
 "\n"
-"A página seguinte foi alterada por %(editor)s:\n"
-"%(pagelink)s\n"
-"\n"
+"A página \"%(pagename)s\" foi alterada por %(editor)s:\n"
 
 msgid "New page:\n"
 msgstr "Nova página:\n"
@@ -1163,7 +1159,7 @@
 msgid "No differences found!\n"
 msgstr "Nenhuma diferença encontrada!\n"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Dear wiki user,\n"
 "\n"
@@ -1173,16 +1169,15 @@
 "The page \"%(pagename)s\" has been deleted by %(editor)s:\n"
 "\n"
 msgstr ""
-"Caro usuário Wiki,\n"
-"\n"
-"Você subscreveu uma página ou categoria em \"%(sitename)s\" para "
-"notificações de alterações.\n"
+"Caro usuário,\n"
 "\n"
-"A página seguinte foi alterada por %(editor)s:\n"
-"%(pagelink)s\n"
+"Você está inscrito em uma página \"%(sitename)s\" para notificação de "
+"alterações.\n"
 "\n"
-
-#, fuzzy, python-format
+"A página \"%(pagename)s\" foi deletada por %(editor)s:\n"
+"\n"
+
+#, python-format
 msgid ""
 "Dear wiki user,\n"
 "\n"
@@ -1192,18 +1187,16 @@
 "The page \"%(pagename)s\" has been renamed from \"%(oldname)s\" by %(editor)"
 "s:\n"
 msgstr ""
-"Caro usuário Wiki,\n"
+"Caro usuário,\n"
 "\n"
-"Você subscreveu uma página ou categoria em \"%(sitename)s\" para "
-"notificações de alterações.\n"
+"Você está inscrito em uma página \"%(sitename)s\" para notificação de "
+"alterações.\n"
 "\n"
-"A página seguinte foi alterada por %(editor)s:\n"
-"%(pagelink)s\n"
-"\n"
+"A página \"%(pagename)s\" foi renomeada de \"%(oldname)s\" para %(editor)s:\n"
 
 #, python-format
 msgid "New user account created on %(sitename)s"
-msgstr ""
+msgstr "Nova conta de usuário criada em %(sitename)s"
 
 #, python-format
 msgid ""
@@ -1213,10 +1206,15 @@
 "    User name: %(username)s\n"
 "    Email address: %(useremail)s"
 msgstr ""
-
-#, fuzzy, python-format
+"Caro Superusuário, um novo usuário acabou de ser criado em \"%(sitename)s\". "
+"Detalhes abaixo:\n"
+"\n"
+"    Usuário: %(username)s\n"
+"    Email: %(useremail)s"
+
+#, python-format
 msgid "New attachment added to page %(pagename)s on %(sitename)s"
-msgstr "<<Verbatim(attachment:)>>%(filename)s de %(pagename)s"
+msgstr "Novo anexo adicionado à página %(pagename)s em %(sitename)s"
 
 #, python-format
 msgid ""
@@ -1229,6 +1227,14 @@
 "Attachment name: %(attach_name)s\n"
 "Attachment size: %(attach_size)s\n"
 msgstr ""
+"Caro usuário,\n"
+"\n"
+"Você se inscreveu em uma página \"%(page_name)s\" para notificação de  "
+"alterações. Um anexo foi adicionado à página por %(editor)s. A seguir "
+"informações detalhadas:\n"
+"\n"
+"Nome do anexo: %(attach_name)s\n"
+"Tamanho do anexo: %(attach_size)s\n"
 
 #, python-format
 msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s"
@@ -1236,64 +1242,57 @@
 "[%(sitename)s] %(trivial)sAtualização de \"%(pagename)s\" por %(username)s"
 
 msgid "Trivial "
-msgstr "Triviais "
+msgstr "Trivial "
 
 #, python-format
 msgid ""
 "Attachment link: %(attach)s\n"
 "Page link: %(page)s\n"
 msgstr ""
+"Link do anexo: %(attach)s\n"
+"Link da página: %(page)s\n"
 
 msgid "Page has been modified"
-msgstr ""
+msgstr "A página foi modificada"
 
 msgid "Page has been modified in a trivial fashion"
-msgstr ""
-
-#, fuzzy
+msgstr "A página foi modificada de modo trivial"
+
 msgid "Page has been renamed"
-msgstr "Número de acessos e edições da página"
-
-#, fuzzy
+msgstr "A página foi renomeada"
+
 msgid "Page has been deleted"
-msgstr "Página \"%s\" foi removida com sucesso!"
-
-#, fuzzy
+msgstr "A página foi deletada"
+
 msgid "Page has been copied"
-msgstr "Número de acessos e edições da página"
-
-#, fuzzy
+msgstr "A página foi copiada"
+
 msgid "A new attachment has been added"
-msgstr "Novo nome do anexo"
+msgstr "Um novo anexo foi adicionado"
 
 msgid "A page has been reverted to a previous state"
-msgstr ""
-
-#, fuzzy
+msgstr "Uma página foi revertida para um estado anterior"
+
 msgid "A user has subscribed to a page"
-msgstr "Sua inscrição a esta página foi efetivada."
+msgstr "Um usuário se inscreveu na página"
 
 msgid "A new account has been created"
-msgstr ""
-
-#, fuzzy
+msgstr "Uma nova conta foi criada"
+
 msgid "Attachment link"
-msgstr "Anexos"
-
-#, fuzzy
+msgstr "Link de anexos"
+
 msgid "Page link"
-msgstr "Páginas semelhantes \"%s\""
-
-#, fuzzy
+msgstr "Link de página"
+
 msgid "Changed page"
-msgstr "Páginas do Pacote"
-
-#, fuzzy
+msgstr "Página modificada"
+
 msgid "Page changed"
-msgstr "Salvar Mudanças"
+msgstr "Página alterada"
 
 msgid "about"
-msgstr ""
+msgstr "sobre"
 
 #, python-format
 msgid ""
@@ -1329,10 +1328,10 @@
 msgstr "acertos"
 
 msgid "RecentChanges"
-msgstr "AlteraçõesRecentes"
+msgstr "MudançasRecentes"
 
 msgid "WikiTipOfTheDay"
-msgstr ""
+msgstr "WikiDicaDoDia"
 
 msgid "TitleIndex"
 msgstr "ÍndiceDeTítulos"
@@ -1349,89 +1348,77 @@
 msgid "MissingHomePage"
 msgstr "HomePageInexistente"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "HomePageInexistente"
-
-#, fuzzy
+msgstr "PáginaInicialDaWiki"
+
 msgid "WikiName"
-msgstr "Nome"
+msgstr "WikiNome"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "WikiWikiWeb"
 
 msgid "FrontPage"
 msgstr "PáginaPrincipal"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "PáginaDeTeste"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "InterWiki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "PáginasAbandonadas"
+
 msgid "OrphanedPages"
-msgstr "Páginas do Pacote"
-
-#, fuzzy
+msgstr "PáginasÓrfãs"
+
 msgid "WantedPages"
-msgstr "EncontrarPágina"
+msgstr "PáginasDesejadas"
 
 msgid "EventStats"
-msgstr ""
+msgstr "EstatísticasDeEvento"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "EstatísticasDeEvento/ContagemDeHits"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "EstatísticasDeEvento/Línguas"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "EstatísticasDeEvento/UserAgents"
+
 msgid "PageSize"
-msgstr "Tamanho"
-
-#, fuzzy
+msgstr "TamanhoDaPágina"
+
 msgid "PageHits"
-msgstr "Páginas"
-
-#, fuzzy
+msgstr "HitsDaPágina"
+
 msgid "RandomPage"
-msgstr "RenomearPágina"
-
-#, fuzzy
+msgstr "PáginaAleatória"
+
 msgid "XsltVersion"
-msgstr "Versão Python"
+msgstr "VersãoDaXslt"
 
 msgid "FortuneCookies"
-msgstr ""
+msgstr "BiscoitosDaSorte"
 
 msgid "WikiLicense"
 msgstr "LicençaWiki"
 
-#, fuzzy
 msgid "CategoryCategory"
-msgstr "qualquer categoria"
-
-#, fuzzy
+msgstr "CategoriaCategoria"
+
 msgid "CategoryHomepage"
-msgstr "Categorias"
-
-#, fuzzy
+msgstr "CategoriaHomepage"
+
 msgid "CategoryTemplate"
-msgstr "Categorias"
+msgstr "CategoriaTemplate"
 
 msgid "HomepageTemplate"
-msgstr ""
+msgstr "TemplateDeHomepage"
 
 msgid "HelpTemplate"
-msgstr ""
+msgstr "TemplateDeAjuda"
 
 msgid "HomepageReadWritePageTemplate"
 msgstr ""
@@ -1446,377 +1433,336 @@
 msgstr ""
 
 msgid "SlideShowHandOutTemplate"
-msgstr ""
-
-#, fuzzy
+msgstr "TemplateDeResumoDeSlideShow"
+
 msgid "SlideShowTemplate"
-msgstr "Diapositivos"
+msgstr "TemplateDeSlideShow"
 
 msgid "SlideTemplate"
-msgstr ""
+msgstr "TemplateDeSlide"
 
 msgid "SyncJobTemplate"
-msgstr ""
-
-#, fuzzy
+msgstr "TemplateDeSyncJob"
+
 msgid "HelpOnConfiguration"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComConfiguração"
 
 msgid "HelpOnConfiguration/EmailSupport"
-msgstr ""
+msgstr "AjudaComConfiguração/SuporteDeEmail"
 
 msgid "HelpOnConfiguration/SecurityPolicy"
-msgstr ""
+msgstr "AjudaComConfiguração/PolíticaDeSegurança"
 
 msgid "HelpOnConfiguration/FileAttachments"
-msgstr ""
+msgstr "AjudaComConfiguração/ArquivosAnexados"
 
 msgid "HelpOnConfiguration/SupplementationPage"
-msgstr ""
+msgstr "AjudaComConfiguração/PáginaSuplementar"
 
 msgid "HelpOnConfiguration/SurgeProtection"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComConfiguração/ProteçãoContraSobrecargas"
+
 msgid "HelpOnConfiguration/UserPreferences"
-msgstr "PreferênciasDoUsuário"
+msgstr "AjudaComConfiguração/PreferênciasDoUsuário"
 
 msgid "HelpOnPackageInstaller"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComInstaladorDePacote"
+
 msgid "HelpOnUpdating"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComAtualização"
+
 msgid "HelpOnUpdatingPython"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComAtualizaçãoDoPython"
+
 msgid "HelpOnAdministration"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComAdministração"
 
 msgid "HelpOnAuthentication"
-msgstr ""
+msgstr "AjudaComAutenticação"
 
 msgid "HelpOnAuthentication/ExternalCookie"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComAutenticaçãi/CookieExterno"
+
 msgid "HelpOnMoinCommand"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComComandoMoin"
 
 msgid "HelpOnMoinCommand/ExportDump"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComComandoMoin/DumpDeExportação"
+
 msgid "HelpOnNotification"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComNotificação"
+
 msgid "HelpOnSessions"
-msgstr "ConteúdoDaAjuda"
-
-#, fuzzy
+msgstr "AjudaComSessões"
+
 msgid "HelpOnUserHandling"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComManipulaçãoDeUsuários"
+
 msgid "HelpOnXapian"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComXapian"
 
 msgid "HelpOnMoinWikiSyntax"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComSintaxeMoin"
+
 msgid "HelpOnCreoleSyntax"
-msgstr "ConteúdoDaAjuda"
+msgstr "AjudaComSintaxeCreole"
 
 msgid "HelpOnFormatting"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComFormatação"
+
 msgid "MoinMoin"
-msgstr "Versão MoinMoin"
+msgstr "MoinMoin"
 
 msgid "HelpContents"
 msgstr "ConteúdoDaAjuda"
 
 msgid "HelpForBeginners"
-msgstr ""
+msgstr "AjudaParaIniciantes"
 
 msgid "HelpForUsers"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaParaUsuários"
+
 msgid "HelpIndex"
-msgstr "ÍndiceDeTítulos"
+msgstr "ÍndiceDaAjuda"
 
 msgid "HelpOnAccessControlLists"
-msgstr ""
-
-msgid "HelpOnAcl"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComACLs"
+
 msgid "HelpOnActions"
-msgstr "ConteúdoDaAjuda"
+msgstr "AjudaComAções"
 
 msgid "HelpOnActions/AttachFile"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComAções/AnexarArquivo"
+
 msgid "HelpOnAdmonitions"
-msgstr "ConteúdoDaAjuda"
-
-#, fuzzy
+msgstr "AjudaComAdmonitions"
+
 msgid "HelpOnAutoAdmin"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComAutoAdmin"
+
 msgid "HelpOnCategories"
-msgstr "Categorias"
+msgstr "AjudaComCategorias"
 
 msgid "HelpOnDictionaries"
-msgstr ""
+msgstr "AjudaComDicionários"
 
 msgid "HelpOnEditLocks"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComTravasDeEdição"
+
 msgid "HelpOnEditing"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComEdição"
 
 msgid "HelpOnEditing/SubPages"
-msgstr ""
+msgstr "AjudaComEdição/SubPáginas"
 
 msgid "HelpOnGraphicalEditor"
-msgstr ""
+msgstr "AjudaComEditorGráfico"
 
 msgid "HelpOnHeadlines"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComTítulos"
+
 msgid "HelpOnLanguages"
-msgstr "Idioma"
-
-#, fuzzy
+msgstr "AjudaComIdiomas"
+
 msgid "HelpOnLinking"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComLinks"
 
 msgid "HelpOnLinking/NotesLinks"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComLinks/LinksDeNotas"
+
 msgid "HelpOnLists"
-msgstr "ConteúdoDaAjuda"
-
-#, fuzzy
+msgstr "AjudaComListas"
+
 msgid "HelpOnLogin"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComLogin"
 
 msgid "HelpOnMacros"
-msgstr ""
+msgstr "AjudaComMacros"
 
 msgid "HelpOnMacros/EmbedObject"
-msgstr ""
-
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
+msgstr "AjudaComMacros/ObjetosEmbutidos"
 
 msgid "HelpOnMacros/Include"
-msgstr ""
+msgstr "AjudaComMacros/Include"
 
 msgid "HelpOnMacros/MailTo"
-msgstr ""
+msgstr "AjudaComMacros/MailTo"
 
 msgid "HelpOnMacros/MonthCalendar"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComMacros/MonthCalendar"
+
 msgid "HelpOnNavigation"
-msgstr "NavegaçãoNoSite"
+msgstr "AjudaComNavegação"
 
 msgid "HelpOnOpenIDProvider"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComProvedorDeOpenID"
+
 msgid "HelpOnPageCreation"
-msgstr "AjudaNaFormatação"
+msgstr "AjudaComCriaçãoDePáginas"
 
 msgid "HelpOnPageDeletion"
-msgstr ""
+msgstr "AjudaComDeleçãoDePáginas"
 
 msgid "HelpOnParsers"
-msgstr ""
+msgstr "AjudaComParsers"
 
 msgid "HelpOnParsers/ReStructuredText"
-msgstr ""
+msgstr "AjudaComParsers/ReStructuredText"
 
 msgid "HelpOnParsers/ReStructuredText/RstPrimer"
-msgstr ""
+msgstr "AjudaComParsers/ReStructuredText/RstPrimer"
 
 msgid "HelpOnProcessingInstructions"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComInstruçõesDeProcessamento"
+
 msgid "HelpOnRules"
-msgstr "ConteúdoDaAjuda"
-
-#, fuzzy
+msgstr "AjudaComRegras"
+
 msgid "HelpOnSearching"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComPesquisa"
+
 msgid "HelpOnSlideShows"
-msgstr "Diapositivos"
+msgstr "AjudaComSlideShows"
 
 msgid "HelpOnSlideShows/000 Introduction"
-msgstr ""
+msgstr "AjudaComSlideShows/000 Introdução"
 
 msgid "HelpOnSlideShows/100 Creating the slides"
-msgstr ""
+msgstr "AjudaComSlideShows/100 Criando os slides"
 
 msgid "HelpOnSlideShows/900 Last but not least: Running your presentation"
 msgstr ""
+"AjudaComSlideShows/900 Por último mas não menos importante: Rodando sua "
+"apresentação"
 
 msgid "HelpOnSmileys"
-msgstr ""
+msgstr "AjudaComSmileys"
 
 msgid "HelpOnSpam"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComSpam"
+
 msgid "HelpOnSpellCheck"
-msgstr "VerificaçãoOrtográfica"
+msgstr "AjudaComVerificaçãoOrtográfica"
 
 msgid "HelpOnSuperUser"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComSuperUsuário"
+
 msgid "HelpOnSynchronisation"
-msgstr "Sincronização iniciada -"
+msgstr "AjudaComSincronização"
 
 msgid "HelpOnTables"
-msgstr ""
+msgstr "AjudaComTabelas"
 
 msgid "HelpOnTemplates"
-msgstr ""
+msgstr "AjudaComTemplates"
 
 msgid "HelpOnThemes"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComTemas"
+
 msgid "HelpOnUserPreferences"
-msgstr "PreferênciasDoUsuário"
+msgstr "AjudaComPreferênciasDoUsuário"
 
 msgid "HelpOnVariables"
-msgstr ""
-
-#, fuzzy
+msgstr "AjudaComVariáveis"
+
 msgid "HelpOnXmlPages"
-msgstr "AjudaNaFormatação"
-
-#, fuzzy
+msgstr "AjudaComPáginasXml"
+
 msgid "HelpOnComments"
-msgstr "ConteúdoDaAjuda"
-
-#, fuzzy
+msgstr "AjudaComComentários"
+
 msgid "HelpOnSubscribing"
-msgstr "RemoverInscrição"
+msgstr "AjudaComInscrições"
 
 msgid "CamelCase"
-msgstr ""
+msgstr "CamelCase"
 
 msgid "WikiCourse"
-msgstr ""
+msgstr "CursoDeWiki"
 
 msgid "WikiCourse/01 What is a MoinMoin wiki?"
-msgstr ""
+msgstr "CursoDeWiki/01 O que é uma wiki MoinMoin?"
 
 msgid "WikiCourse/02 Finding information"
-msgstr ""
+msgstr "CursoDeWiki/02 Encontrando informações"
 
 msgid "WikiCourse/03 Staying up to date"
-msgstr ""
+msgstr "CursoDeWiki/03 Mantendo-se atualizado"
 
 msgid "WikiCourse/04 Creating a wiki account"
-msgstr ""
-
-#, fuzzy
+msgstr "CursoDeWiki/04 Criando uma conta na wiki"
+
 msgid "WikiCourse/05 User preferences"
-msgstr "PreferênciasDoUsuário"
+msgstr "CursoDeWiki/05 Preferências de usuário"
 
 msgid "WikiCourse/06 Your own wiki homepage"
-msgstr ""
+msgstr "CursoDeWiki/06 Sua própria homepage wiki"
 
 msgid "WikiCourse/07 The text editor"
-msgstr ""
+msgstr "CursoDeWiki/07 O Editor de texto"
 
 msgid "WikiCourse/08 Hot Keys"
-msgstr ""
+msgstr "CursoDeWiki/08 Teclas de Atalho"
 
 msgid "WikiCourse/10 Text layout with wiki markup"
-msgstr ""
+msgstr "CursoDeWiki/10 Layout do texto com marcação wiki"
 
 msgid "WikiCourse/11 Paragraphs"
-msgstr ""
+msgstr "CursoDeWiki/11 Parágrafos"
 
 msgid "WikiCourse/12 Headlines"
-msgstr ""
+msgstr "CursoDeWiki/12 Títulos"
 
 msgid "WikiCourse/13 Lists"
-msgstr ""
+msgstr "CursoDeWiki/13 Listas"
 
 msgid "WikiCourse/14 Text styles"
-msgstr ""
+msgstr "CursoDeWiki/14 Estilos de texto"
 
 msgid "WikiCourse/15 Tables"
-msgstr ""
+msgstr "CursoDeWiki/15 Tabelas"
 
 msgid "WikiCourse/16 Wiki internal links"
-msgstr ""
+msgstr "CursoDeWiki/16 Links internos"
 
 msgid "WikiCourse/17 External links"
-msgstr ""
-
-#, fuzzy
+msgstr "CursoDeWiki/17 Links externos"
+
 msgid "WikiCourse/18 Attachments"
-msgstr "Novo Anexo"
+msgstr "CursoDeWiki/18 Anexos"
 
 msgid "WikiCourse/19 Symbols"
-msgstr ""
+msgstr "CursoDeWiki/19 Símbolos"
 
 msgid "WikiCourse/20 Dynamic content"
-msgstr ""
+msgstr "CursoDeWiki/20 Conteúdo dinâmico"
 
 msgid "WikiCourse/21 Macros"
-msgstr ""
+msgstr "CursoDeWiki/21 Macros"
 
 msgid "WikiCourse/22 Parsers"
-msgstr ""
-
-#, fuzzy
+msgstr "CursoDeWiki/22 Parsers"
+
 msgid "WikiCourse/23 Actions"
-msgstr "Mais Ações:"
+msgstr "CursoDeWiki/23 Ações"
 
 msgid "WikiCourse/30 The graphical editor"
-msgstr ""
+msgstr "CursoDeWiki/30 O editor gráfico"
 
 msgid "WikiCourse/40 Creating more pages"
-msgstr ""
+msgstr "CursoDeWiki/40 Criando mais páginas"
 
 msgid "WikiCourse/50 Wiki etiquette"
-msgstr ""
+msgstr "CursoDeWiki/50 Etiqueta wiki"
 
 msgid "WikiCourse/51 Applications"
-msgstr ""
+msgstr "CursoDeWiki/51 Aplicações"
 
 msgid "WikiCourse/52 Structure in the wiki"
-msgstr ""
+msgstr "CursoDeWiki/52 Estrutura na wiki"
 
 msgid "WikiCourseHandOut"
-msgstr ""
+msgstr "FolhetoDoCursoDeWiki"
 
 msgid "Sun"
 msgstr "Dom"
@@ -1882,7 +1828,7 @@
 msgstr "Usuário"
 
 msgid "[ATTACH]"
-msgstr ""
+msgstr "[ANEXAR]"
 
 msgid "[RSS]"
 msgstr "[RSS]"
@@ -1915,7 +1861,7 @@
 msgstr "Clique aqui para fazer uma busca completa para este título"
 
 msgid "Settings"
-msgstr ""
+msgstr "Configurações"
 
 msgid "Logout"
 msgstr "Sair"
@@ -2002,7 +1948,7 @@
 msgstr "Reverter para esta revisão"
 
 msgid "Package Pages"
-msgstr "Páginas do Pacote"
+msgstr "Empacotar Páginas"
 
 msgid "Render as Docbook"
 msgstr "Renderizar como Docbook"
@@ -2041,15 +1987,14 @@
 msgid "Wiki Markup"
 msgstr "Marcação da Wiki"
 
-#, fuzzy
 msgid "File attachment browser"
-msgstr "Novo nome do anexo"
+msgstr "Navegador de arquivos anexados"
 
 msgid "User account browser"
-msgstr ""
+msgstr "Navegador de contas"
 
 msgid "Wiki configuration"
-msgstr ""
+msgstr "Configuração da wiki"
 
 msgid ""
 "This table shows all settings in this wiki that do not have default values. "
@@ -2057,13 +2002,16 @@
 "''italic'', those may be due to third-party extensions needing configuration "
 "or settings that were removed from Moin."
 msgstr ""
-
-#, fuzzy
+"Esta tabela mostra todas as configurações nesta wiki que não possuem valores "
+"padrão. Configurações que o sistema de configuração não conhece são "
+"mostradas em ''itálico'', elas podem ser causadas por extensões de terceiros "
+"precisando de configuração ou por configurações removidas do Moin."
+
 msgid "Variable name"
-msgstr "Nome do arquivo"
+msgstr "Nome da variável"
 
 msgid "Setting"
-msgstr ""
+msgstr "Configuração"
 
 msgid "Search Titles"
 msgstr "Buscar Títulos"
@@ -2213,21 +2161,27 @@
 "%(extension_name)s %(extension_type)s: Required argument %(argument_name)s "
 "missing."
 msgstr ""
+"%(extension_name)s %(extension_type)s: Argumento necessário %(argument_name)"
+"s faltando."
 
 #, python-format
 msgid ""
 "%(extension_name)s %(extension_type)s: Invalid %(argument_name)s=%"
 "(argument_value)s!"
 msgstr ""
+"%(extension_name)s %(extension_type)s: %(argument_name)s=%(argument_value)s "
+"inválido!"
 
 #, python-format
 msgid ""
 "Current configuration does not allow embedding of the file %(file)s because "
 "of its mimetype %(mimetype)s."
 msgstr ""
+"A configuração atual não permite embutir o arquivo %(file)s por causa do seu "
+"mimetype %(mimetype)s."
 
 msgid "Embedded"
-msgstr "Embarcado"
+msgstr "Embutido"
 
 msgid "Search for items"
 msgstr "Buscar por itens"
@@ -2290,7 +2244,7 @@
 msgstr "Nenhuma página solicitada neste wiki."
 
 msgid "Description"
-msgstr ""
+msgstr "Descrição"
 
 #, python-format
 msgid ""
@@ -2339,7 +2293,7 @@
 
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
-msgstr ""
+msgstr "<<%(macro_name)s: não executou [%(error_msg)s] (veja também o log)>>"
 
 msgid "Go To Page"
 msgstr "Ir Para Página"
@@ -2371,13 +2325,12 @@
 "Não é possível criar uma página sem um nome. Por favor, especifique um nome "
 "para a página."
 
-#, fuzzy, python-format
+#, python-format
 msgid "You must login to use this action: %(action)s."
-msgstr "Você precisa fazer o login antes de se inscrever."
-
-#, fuzzy
+msgstr "Você precisa se logar para usar esta ação: %(action)s."
+
 msgid "You must login to remove a quicklink."
-msgstr "Você precisa se logar para adicionar links rápidos."
+msgstr "Você precisa se logar para remover links rápidos."
 
 msgid "Your quicklink to this page has been removed."
 msgstr "Sua inscrição a esta página foi removida."
@@ -2385,9 +2338,8 @@
 msgid "Your quicklink to this page could not be removed."
 msgstr "Sua inscrição a esta página não pode ser removida."
 
-#, fuzzy
 msgid "You need to have a quicklink to this page to remove it."
-msgstr "Sua inscrição a esta página foi removida."
+msgstr "Você precisa ter um link rápido para esta página para poder removê-lo."
 
 msgid ""
 "You need to manually go to your OpenID provider wiki\n"
@@ -2396,13 +2348,18 @@
 "\n"
 "Once you have logged in, simply reload this page."
 msgstr ""
+"Você precisa ir manualmente à wiki do seu provedor de OpenID\n"
+"e se logar antes de usar o seu OpenID. O MoinMoin não irá permitir que você\n"
+"digite sua senha aqui.\n"
+"\n"
+"Depois de estar logado, simplesmente recarregue esta página."
 
 msgid "OpenID Trust verification"
-msgstr ""
+msgstr "Verificação de Confiança do OpenID"
 
 #, python-format
 msgid "The site %s has asked for your identity."
-msgstr ""
+msgstr "O site %s pediu sua identidade."
 
 #, python-format
 msgid ""
@@ -2412,28 +2369,32 @@
 "identity, the site will take care of reversing the\n"
 "delegation on its own.)"
 msgstr ""
+"\n"
+"Se você aprovar, o site representado pela raiz de confiança abaixo será\n"
+"informado que você controla a URL de identidade %s (se você está usando uma\n"
+"identidade delegada, o site vai providenciar a reversão da delegação\n"
+"por conta própria)."
 
 msgid "Trust root"
-msgstr ""
+msgstr "Raiz de confiança"
 
 msgid "Identity URL"
-msgstr ""
-
-#, fuzzy
+msgstr "URL de identidade"
+
 msgid "Remember decision"
-msgstr "Versão PyStemmer"
+msgstr "Lembrar decisão"
 
 msgid "Remember this trust decision and don't ask again"
-msgstr ""
+msgstr "Lembrar dessa decisão de confiança e não perguntar de novo"
 
 msgid "Approve"
-msgstr ""
+msgstr "Aprovar"
 
 msgid "Don't approve"
-msgstr ""
+msgstr "Não aprovar"
 
 msgid "OpenID not served"
-msgstr ""
+msgstr "OpenID não servido"
 
 msgid ""
 "\n"
@@ -2442,10 +2403,15 @@
 "and then reload this page or click the button below to cancel this\n"
 "verification."
 msgstr ""
-
-#, fuzzy
+"\n"
+"Infelizmente você ainda não criou sua homepage. Portanto, não podemos "
+"prover\n"
+"um OpenID para você. Por favor crie uma homepage primeiro e então "
+"recarregue\n"
+"esta página, ou clique no botão abaixo para cancelar esta verificação."
+
 msgid "If this account exists an email was sent."
-msgstr "Se uma conta com esse nome de usuario existe, um e-mail foi enviado."
+msgstr "Se essa conta existe, um email foi enviado."
 
 msgid ""
 "This wiki is not enabled for mail processing.\n"
@@ -2454,49 +2420,44 @@
 "Este wiki não está habilitado a enviar mensagens de correio eletrônico.\n"
 "Contate o administrador deste wiki para habilitar esta opção."
 
-#, fuzzy
 msgid "Please provide a valid email address or a username!"
-msgstr "Por favor, forneça um endereço de e-mail válido!"
+msgstr "Por favor, forneça um endereço de e-mail ou login válido!"
 
 msgid "Mail me my account data"
 msgstr "Envie os dados de minha conta por email"
 
-#, fuzzy
 msgid "Recovery token"
-msgstr "Reverter tudo!"
-
-#, fuzzy
+msgstr "Chave de recuperação"
+
 msgid "New password"
-msgstr "Senha"
-
-#, fuzzy
+msgstr "Nova senha"
+
 msgid "New password (repeat)"
-msgstr "Repita a senha"
-
-#, fuzzy
+msgstr "Nova senha (repetir)"
+
 msgid "Reset my password"
-msgstr "Senha"
+msgstr "Reiniciar minha senha"
 
 msgid "Your password has been changed, you can log in now."
-msgstr ""
+msgstr "Sua senha foi alterada, você pode logar agora."
 
 msgid "Your token is invalid!"
-msgstr ""
-
-#, fuzzy
+msgstr "Sua chave é inválida!"
+
 msgid "Password reset"
-msgstr "Repita a senha"
-
-#, fuzzy
+msgstr "Reinicialização de senha"
+
 msgid ""
 "\n"
 "== Password reset ==\n"
 "Enter a new password below."
-msgstr "Senha não foi informada. Por favor, informe o nome do usuário e senha."
-
-#, fuzzy
+msgstr ""
+"\n"
+"== Reinicialização de senha ==\n"
+"Digite abaixo uma nova senha."
+
 msgid "Lost password"
-msgstr "Senha"
+msgstr "Senha perdida"
 
 msgid ""
 "\n"
@@ -2633,22 +2594,24 @@
 msgid "You are not allowed to delete attachments on this page."
 msgstr "Você não tem permissão para remover arquivos anexados a esta página."
 
-#, fuzzy, python-format
+#, python-format
 msgid "Attachment '%(new_pagename)s/%(new_filename)s' already exists."
-msgstr "Anexo '%(filename)s' já existe."
-
-#, fuzzy, python-format
+msgstr "O anexo '%(new_pagename)s/%(new_filename)s' já existe."
+
+#, python-format
 msgid ""
 "Attachment '%(pagename)s/%(filename)s' moved to '%(new_pagename)s/%"
 "(new_filename)s'."
-msgstr "Anexo %(filename)s movido para %(page)s."
+msgstr ""
+"O anexo '%(pagename)s/%(filename)s' foi movido para '%(new_pagename)s/%"
+"(new_filename)s'."
 
 msgid "Nothing changed"
 msgstr "Nenhuma mudança"
 
-#, fuzzy, python-format
+#, python-format
 msgid "Page '%(new_pagename)s' does not exist or you don't have enough rights."
-msgstr "Página %(newpagename)s não existe ou você não tem direitos de acesso."
+msgstr "A página '%(new_pagename)s' não existe ou você não tem acesso à mesma."
 
 msgid "Move aborted!"
 msgstr "Movimento abortado!"
@@ -2659,17 +2622,15 @@
 msgid "You are not allowed to move attachments from this page."
 msgstr "Você não tem permissão para mover anexos desta página."
 
-#, fuzzy
 msgid "Move aborted because new page name is empty."
-msgstr "Movimento abortado porque o nome da página está vazia"
+msgstr "A movimentação foi cancelada porque o novo nome da página está vazio."
 
 #, python-format
 msgid "Please use a valid filename for attachment '%(filename)s'."
 msgstr "Por favor use um arquivo válido para anexar '%(filename)s'."
 
-#, fuzzy
 msgid "Move aborted because new attachment name is empty."
-msgstr "Movimento abortado porque o nome do anexo está vazio"
+msgstr "A movimentação foi cancelada porque o novo nome do anexo está vazio."
 
 msgid "Move"
 msgstr "Movimento"
@@ -2697,42 +2658,46 @@
 msgid "The file %(filename)s is not a .zip file."
 msgstr "O arquivo %(filename)s não é um arquivo .zip."
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Attachment '%(filename)s' not unzipped because some files in the zip are "
 "either not in the same directory or exceeded the single file size limit (%"
 "(maxsize_file)d kB)."
 msgstr ""
-"Anexo '%(filename)s' não descompactado porque o arquivo é muito grande, "
-"somente arquivos .zip que já existam ou que estejam em pastas."
-
-#, fuzzy, python-format
+"O anexo '%(filename)s' não foi descompactado porque alguns arquivos no "
+"pacote zip ou não estão no mesmo diretório, ou excederam o limite de tamanho "
+"por arquivo (%(maxsize_file)d kB).Anexo '%(filename)s' não descompactado "
+"porque o arquivo é muito grande, somente arquivos .zip que já existam ou que "
+"estejam em pastas."
+
+#, python-format
 msgid ""
 "Attachment '%(filename)s' not unzipped because it would have exceeded the "
 "per page attachment storage size limit (%(size)d kB)."
 msgstr ""
-"Anexo '%(filename)s' não pode ser descompactado porque os arquivos "
-"resultantesseriam muito grandes (%(space)d kB missing)."
-
-#, fuzzy, python-format
+"O anexo '%(filename)s' não foi descompactado porque os arquivos resultantes "
+"excederiam o limite de armazenamento de anexos por página (%(size)d kB)."
+
+#, python-format
 msgid ""
 "Attachment '%(filename)s' not unzipped because it would have exceeded the "
 "per page attachment count limit (%(count)d)."
 msgstr ""
-"Anexo '%(filename)s' não pode ser descompactado porque os arquivos "
-"resultantes seriam muito grandes (%(count)d kB missing)."
-
-#, fuzzy, python-format
+"O anexo '%(filename)s' não foi descompactado porque os arquivos resultantes "
+"excederiam o limite de anexos por página (%(count)d)."
+
+#, python-format
 msgid ""
 "Attachment '%(filename)s' partially unzipped (did not overwrite: %(filelist)"
 "s)."
-msgstr "Anexo '%(filename)s' não-zipado."
+msgstr ""
+"O anexo '%(filename)s' foi descimpactado parcialmente (não sobrescrito: %"
+"(filelist)s)."
 
 #, python-format
 msgid "Attachment '%(filename)s' unzipped."
 msgstr "Anexo '%(filename)s' não-zipado."
 
-#, fuzzy
 msgid "A severe error occurred:"
 msgstr "Um erro grave ocorreu:"
 
@@ -2778,7 +2743,7 @@
 msgstr "Criar Perfil"
 
 msgid "Create Account"
-msgstr ""
+msgstr "Criar conta"
 
 msgid "Editor"
 msgstr "Editor"
@@ -2792,9 +2757,8 @@
 msgid "Revert all!"
 msgstr "Reverter tudo!"
 
-#, fuzzy
 msgid "Revert"
-msgstr "Reverter tudo!"
+msgstr "Reverter"
 
 msgid "You are not allowed to revert this page!"
 msgstr "Você não tem permissão para reverter as alterações desta página!"
@@ -2808,13 +2772,11 @@
 "reverter. Se você quer reverter para um versão velha, primeiro visualize a "
 "versão velha e chame a reversão novamente."
 
-#, fuzzy
 msgid "Optional reason for reverting this page"
-msgstr "Razão para copiar a página (opcional)"
-
-#, fuzzy
+msgstr "Razão para reverter a página (opcional)"
+
 msgid "Really revert this page?"
-msgstr "Realmente renomear esta página?"
+msgstr "Realmente reverter esta página?"
 
 #, python-format
 msgid "(including %(localwords)d %(pagelink)s)"
@@ -2846,25 +2808,21 @@
 msgstr ""
 "Você não tem permissão para se inscrever em uma página que você não pode ler."
 
-#, fuzzy
 msgid "This wiki is not enabled for mail/Jabber processing."
-msgstr ""
-"Este wiki não está habilitado a enviar mensagens de correio eletrônico."
+msgstr "Esta wiki não está habilitada para processamento de email/Jabber."
 
 msgid "You must log in to use subscriptions."
 msgstr "Você precisa fazer o login antes de se inscrever."
 
-#, fuzzy
 msgid ""
 "Add your email address or Jabber ID in your user settings to use "
 "subscriptions."
 msgstr ""
-"Adicione um endereço de e-mail nas PreferênciasDoUsuário para usar as "
-"inscrições."
-
-#, fuzzy
+"Adicione seu endereço de email ou ID Jabber nas suas preferências de usuário "
+"para usar as inscrições."
+
 msgid "You are already subscribed to this page."
-msgstr "Sua inscrição a esta página foi efetivada."
+msgstr "Você já está inscrito nesta página."
 
 msgid "You have been subscribed to this page."
 msgstr "Sua inscrição a esta página foi efetivada."
@@ -2924,13 +2882,13 @@
 msgid "Synchronisation started -"
 msgstr "Sincronização iniciada -"
 
-#, fuzzy, python-format
+#, python-format
 msgid ""
 "Got a list of %s local and %s remote pages. This results in %s pages to "
 "process."
 msgstr ""
 "Chegou-se a uma lista de %s páginas locais e %s remotas. Isto resulta em %s "
-"páginas distintas no total."
+"páginas a processar."
 
 #, python-format
 msgid "After filtering: %s pages"
@@ -3032,9 +2990,8 @@
 msgid "Page %s merged with conflicts."
 msgstr "Página %s inserida com conflitos."
 
-#, fuzzy
 msgid "You are not allowed to create the supplementation page."
-msgstr "Você não tem permissão para renomear esta página!"
+msgstr "Você não tem permissão para criar a página suplementar."
 
 msgid "Delete"
 msgstr "Excluir"
@@ -3076,9 +3033,8 @@
 msgid "Comment"
 msgstr "Comentário"
 
-#, fuzzy
 msgid "to previous"
-msgstr "Anterior"
+msgstr "para anterior"
 
 msgid "Revision History"
 msgstr "Histórico de Revisões"
@@ -3109,13 +3065,11 @@
 msgid "A quicklink to this page could not be added for you."
 msgstr "Um link rápido para esta página não pôde ser adicionada para você."
 
-#, fuzzy
 msgid "You already have a quicklink to this page."
-msgstr "Você já salvou esta página!"
-
-#, fuzzy
+msgstr "Você já tem um link rápido para esta página!"
+
 msgid "Wiki Backup"
-msgstr "Marcação da Wiki"
+msgstr "Backup da Wiki"
 
 msgid ""
 "= Downloading a backup =\n"
@@ -3143,7 +3097,7 @@
 msgstr "Ação de backup desconhecida: %s."
 
 msgid "Please choose:"
-msgstr ""
+msgstr "Por favor escolha:"
 
 msgid "Rename all /subpages too?"
 msgstr "Renomear tudo /subpáginas também?"
@@ -3185,13 +3139,11 @@
 msgid "(spanning %d versions)"
 msgstr "(superpondo %d versões)"
 
-#, fuzzy
 msgid "Previous change"
-msgstr "Anterior"
-
-#, fuzzy
+msgstr "Alteração anterior"
+
 msgid "Next change"
-msgstr "Nenhuma mudança"
+msgstr "Próxima alteração"
 
 #, python-format
 msgid "The page was saved %(count)d times, though!"
@@ -3207,9 +3159,8 @@
 msgid "Invalid filename \"%s\"!"
 msgstr "Nome do arquivo \"%s\" inválido!"
 
-#, fuzzy
 msgid "Include all attachments?"
-msgstr "[%d arquivos anexados]"
+msgstr "Incluir todos os anexos?"
 
 msgid "Package pages"
 msgstr "Páginas do Pacote"
@@ -3303,13 +3254,13 @@
 msgid "Can't remove regular expression subscription!"
 msgstr "Não é possível remover a expressão regular inscrita!"
 
-#, fuzzy
 msgid "Edit the subscription regular expressions in your settings."
-msgstr "Edite suas inscrições de páginas nas PreferênciasDoUsuário."
-
-#, fuzzy
+msgstr ""
+"Edite as expressões regulares para inscrições nas suas preferências de "
+"usuário."
+
 msgid "You need to be subscribed to unsubscribe."
-msgstr "Sua inscrição a esta página foi efetivada."
+msgstr "Você precisa estar inscrito para remover a inscrição."
 
 #, python-format
 msgid "(!) Only pages changed since '''%s''' are being displayed!"
@@ -3361,25 +3312,26 @@
 msgid "Load"
 msgstr "Carregar"
 
-#, fuzzy
 msgid "Pagename not specified!"
-msgstr "Nome do arquivo anexado não especificado!"
+msgstr "Nome da página não especificado!"
 
 msgid "Upload page content"
-msgstr ""
+msgstr "Submeter conteúdo da página"
 
 msgid ""
 "You can upload content for the page named below. If you change the page "
 "name, you can also upload content for another page. If the page name is "
 "empty, we derive the page name from the file name."
 msgstr ""
+"Você pode submeter conteúdo para a página abaixo. Se você mudar o nome da "
+"página, você também pode submeter conteúdo para outra página. Se o nome da "
+"página estiver vazio, ele será baseado do nome do arquivo."
 
 msgid "File to load page content from"
-msgstr ""
-
-#, fuzzy
+msgstr "Arquivo de onde carregar o conteúdo da página"
+
 msgid "Page Name"
-msgstr "Nome do Pacote"
+msgstr "Nome da Página"
 
 #, python-format
 msgid "Local Site Map for \"%s\""
@@ -3403,9 +3355,8 @@
 msgid "You are not allowed to use action %(actionname)s on this page!"
 msgstr "Você não tem permissão para fazer a ação %(actionname)s nesta página!"
 
-#, fuzzy
 msgid "Only superuser is allowed to use this action."
-msgstr "Você não tem permissão para fazer esta ação."
+msgstr "Somente o superusuário tem permissão para usar esta ação."
 
 msgid "Views/day"
 msgstr "Visualizações/dia"
@@ -3475,30 +3426,31 @@
 "permitido nesta wiki."
 
 msgid "anonymous"
-msgstr ""
-
-#, fuzzy
+msgstr "anônimo"
+
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Instalar arquivos de temas só é possível para servidores do tipo "
+#~ "standalone."
+
 #~ msgid "InterWikiMap"
-#~ msgstr "Marcação da Wiki"
-
-#, fuzzy
+#~ msgstr "MapaDaInterWiki"
+
 #~ msgid "BadContent"
-#~ msgstr "Conteúdo"
-
-#, fuzzy
+#~ msgstr "ConteúdoRuim"
+
 #~ msgid "LocalBadContent"
-#~ msgstr "Conteúdo"
-
-#, fuzzy
+#~ msgstr "ConteúdoRuimLocal"
+
 #~ msgid "EditedSystemPages"
-#~ msgstr "Excluir páginas de sistema"
+#~ msgstr "PáginasDeSistemaEditadas"
 
 #~ msgid "Created the package %s containing the pages %s."
 #~ msgstr "Criado o pacote %s contendo %s páginas."
 
-#, fuzzy
 #~ msgid "You need to log in."
-#~ msgstr "Você precisa fazer o login."
+#~ msgstr "Você precisa se logar."
 
 #~ msgid ""
 #~ "Restored Backup: %(filename)s to target dir: %(targetdir)s.\n"
@@ -3691,9 +3643,8 @@
 #~ msgid "Not supported mimetype of file: %s"
 #~ msgstr "Não há suporte ao tipo de arquivo: %s"
 
-#, fuzzy
 #~ msgid "Embedding of object by chosen formatter not possible"
-#~ msgstr "O objeto embarcado com este formato não é possível"
+#~ msgstr "Não é possível embutir o objeto com o formatador escolhido"
 
 #~ msgid ""
 #~ "Not enough arguments given to EmbedObject macro! Try <<EmbedObject"
--- a/MoinMoin/i18n/pt.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/pt.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-01-05 22:27+0000\n"
 "Last-Translator: Rita Farinha <rita.farinha@intraneia.com>\n"
 "Language-Team: Portuguese <moin-devel@lists.sourceforge.net>\n"
@@ -368,8 +368,9 @@
 msgid "The theme name is not set."
 msgstr "O nome do tema não foi definido."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Instalar ficheiros de temas só é suportado em servidores autónomos."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -468,8 +469,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "O conteúdo desta página está trancado e não será incluída nos resultados de "
@@ -1552,9 +1554,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ConteúdosDeAjuda"
@@ -1617,9 +1616,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3464,6 +3460,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Instalar ficheiros de temas só é suportado em servidores autónomos."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Formato Wiki"
--- a/MoinMoin/i18n/ro.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ro.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2005-08-18 14:19+EET\n"
 "Last-Translator: Ovidiu Sabou <ovidiu.sabou@gmail.com>\n"
 "Language-Team: Romanian <ovidiu.sabou@gmail.com>\n"
@@ -357,7 +357,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, python-format
@@ -455,8 +456,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Copia de siguranţă a conţinutului acestei pagini este învechită şi nu va fi "
@@ -1508,9 +1510,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "Ajutor"
@@ -1572,9 +1571,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/ru.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/ru.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-09-13 23:53+0200\n"
 "Last-Translator: Mike Rovner <mrovner@hotmail.com>\n"
 "Language-Team: Russian <moin-devel@lists.sourceforge.net>\n"
@@ -374,8 +374,9 @@
 msgid "The theme name is not set."
 msgstr "Имя темы не задано."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Установка тем допустима только на автономных серверах."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -477,8 +478,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Неправильное регулярное выражение подсветки \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr "Сохраненная версия страницы устарела и не войдет в результаты поиска!"
 
@@ -1557,9 +1559,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ПомощьПоГлавам"
@@ -1623,9 +1622,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3494,6 +3490,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Установка тем допустима только на автономных серверах."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Вики-разметка"
--- a/MoinMoin/i18n/sk.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/sk.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: moin 1.8\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-11-01 11:35+0100\n"
 "Last-Translator: Radovan Garabík <rg-m18@kassiopeia.juls.savba.sk>\n"
 "Language-Team: Slovak\n"
@@ -366,10 +366,9 @@
 msgid "The theme name is not set."
 msgstr "Meno témy nie je zadané."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"Inštalovanie tematických súborov nie je kompatibilné so servermi v "
-"standalone móde."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr "Súbory témy neboli nainštalované. Chýbajú práva zápisu pre %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -466,8 +465,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Neplatný regulárny výraz pre zvýrazňovanie: „%(regex)s“: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Záložný obsah tejto stránky je zastaraný a nezahrnie sa dovýsledkov "
@@ -509,10 +509,10 @@
 
 msgid ""
 "As a superuser, you can temporarily assume the identity of another user."
-msgstr ""
+msgstr "Ako superužívateľ, dočasne môžete prebrať identitu iného užívateľa"
 
 msgid "Select User"
-msgstr "Vybrať Užívateľa"
+msgstr "Vybrať užívateľa"
 
 msgid "Change password"
 msgstr "Zmena hesla"
@@ -540,13 +540,13 @@
 msgstr "Zopakovať heslo"
 
 msgid "OpenID settings"
-msgstr ""
+msgstr "Nastavenia OpenID"
 
 msgid "Cannot remove all OpenIDs."
-msgstr ""
+msgstr "Nemôžem odstrániť všetky OpenID."
 
 msgid "The selected OpenIDs have been removed."
-msgstr ""
+msgstr "Vybrané OpenID boli odstránené."
 
 msgid "No OpenID given."
 msgstr ""
@@ -562,7 +562,7 @@
 
 #, python-format
 msgid "OpenID error: %s."
-msgstr ""
+msgstr "OpenID chyba: %s."
 
 msgid "Verification canceled."
 msgstr "Overenie bolo zrušené."
@@ -583,7 +583,7 @@
 msgstr ""
 
 msgid "Add OpenID"
-msgstr ""
+msgstr "Pridaj OpenID"
 
 msgid "OpenID verification requires that you click this button:"
 msgstr ""
@@ -676,7 +676,7 @@
 msgstr "Preferovaná téma"
 
 msgid "Editor Preference"
-msgstr "Preferovaný Editor"
+msgstr "Preferovaný editor"
 
 msgid "Editor shown on UI"
 msgstr "Editor zobrazený v užívateľskom rozhraní"
@@ -786,6 +786,8 @@
 "If you do not have an account, <a href=\"%(userprefslink)s\">you can create "
 "one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>"
 msgstr ""
+"Ak nemáte konto, <a href=\"%(userprefslink)s\">môžete si ho  vytvoriť</a>. "
+"<a href=\"%(sendmypasswordlink)s\">Zabudli ste heslo?</a>"
 
 msgid ""
 " Emphasis:: <<Verbatim(//)>>''italics''<<Verbatim(//)>>; <<Verbatim(**)"
@@ -803,6 +805,20 @@
 "\n"
 "(!) For more help, see HelpOnEditing or HelpOnCreoleSyntax.\n"
 msgstr ""
+" Zvýraznenie:: <<Verbatim(//)>>''kurzíva''<<Verbatim(//)>>; <<Verbatim(**)"
+">>'''tučné písmo'''<<Verbatim(**)>>; <<Verbatim(**//)>>'''''tučná "
+"kurzíva'''''<<Verbatim(//**)>>; <<Verbatim(//)>>''zmiešané ''<<Verbatim(**)"
+">>'''''tučné písmo'''<<Verbatim(**)>> a kurzíva''<<Verbatim(//)>>;\n"
+" Vodorovná čiara:: <<Verbatim(----)>>\n"
+" Zlom riadku:: <<Verbatim(\\\\)>>\n"
+" Nadpisy:: = Nadpis 1 =; == Nadpis 2 ==; === Nadpis 3 ===; ==== Nadpis 4 "
+"====; ===== Nadpis 5 =====.\n"
+" Zoznamy:: * odrážky; ** pododrážky; # číslované položky; ## číslované "
+"podpoložky.\n"
+" Linky:: <<Verbatim([[cieľ]])>>; <<Verbatim([[cieľ|text linky]])>>.\n"
+" Tabuľky:: |= text hlavičky | text bunky | text ďalšej bunky |;\n"
+"\n"
+"(!) Viac sa dočítate v HelpOnEditing alebo HelpOnCreoleSyntax.\n"
 
 msgid ""
 " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')"
@@ -913,7 +929,7 @@
 msgstr "Odoberať"
 
 msgid "Raw"
-msgstr "Zdroják"
+msgstr "Zdrojový text"
 
 msgid "XML"
 msgstr "XML"
@@ -933,7 +949,7 @@
 "informáciách o autorovi"
 
 msgid "Open editor on double click"
-msgstr "Editor sa otvára dvojklikom"
+msgstr "Editor otvárať dvojklikom"
 
 msgid "After login, jump to last visited page"
 msgstr "Po prihlásení začať na poslednej navštívenej strane"
@@ -990,7 +1006,7 @@
 msgstr "Užívateľ"
 
 msgid "Member of Groups"
-msgstr "Člen kupín"
+msgstr "Člen skupín"
 
 msgid "Jabber"
 msgstr "Jabber"
@@ -1018,7 +1034,7 @@
 
 #, python-format
 msgid "Upload new attachment \"%(filename)s\""
-msgstr "Pridať novú prílohu „ %(filename)s “"
+msgstr "Pridať novú prílohu „%(filename)s“"
 
 #, python-format
 msgid "Inlined image: %(url)s"
@@ -1253,7 +1269,7 @@
 msgstr "RegisterSlov"
 
 msgid "FindPage"
-msgstr "HľadaťStránku"
+msgstr "NájdiStránku"
 
 msgid "MissingPage"
 msgstr "ChýbajúcaStránka"
@@ -1261,37 +1277,33 @@
 msgid "MissingHomePage"
 msgstr "ChýbajúcaDomovskáStránka"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "ChýbajúcaDomovskáStránka"
+msgstr "DomovskáStránka"
 
 #, fuzzy
 msgid "WikiName"
 msgstr "Meno"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "WikiWikiWeb"
 
 msgid "FrontPage"
 msgstr "HlavnáStránka"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiPieskovisko"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "InterWiki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "OpustenéStránky"
+
 msgid "OrphanedPages"
-msgstr "Zmenená stránka"
-
-#, fuzzy
+msgstr "OsirotenéStránky"
+
 msgid "WantedPages"
-msgstr "HľadaťStránku"
+msgstr "PožadovanéStránky"
 
 msgid "EventStats"
 msgstr ""
@@ -1305,21 +1317,17 @@
 msgid "EventStats/UserAgents"
 msgstr ""
 
-#, fuzzy
 msgid "PageSize"
-msgstr "Veľkosť"
-
-#, fuzzy
+msgstr "VeľkosťStránky"
+
 msgid "PageHits"
-msgstr "Stránky"
-
-#, fuzzy
+msgstr ""
+
 msgid "RandomPage"
-msgstr "PremenovaťStránku"
-
-#, fuzzy
+msgstr "NáhodnáStránka"
+
 msgid "XsltVersion"
-msgstr "Verzia Pythonu"
+msgstr ""
 
 msgid "FortuneCookies"
 msgstr ""
@@ -1327,20 +1335,17 @@
 msgid "WikiLicense"
 msgstr "WikiLicencia"
 
-#, fuzzy
 msgid "CategoryCategory"
-msgstr "akákoľvek kategória"
-
-#, fuzzy
+msgstr "KategóriaKategória"
+
 msgid "CategoryHomepage"
-msgstr "Kategórie"
-
-#, fuzzy
+msgstr "KategóriaDomovskáStránka"
+
 msgid "CategoryTemplate"
-msgstr "Kategórie"
+msgstr "ŠablónaKategórie"
 
 msgid "HomepageTemplate"
-msgstr ""
+msgstr "ŠablónaDomovskejStránky"
 
 msgid "HelpTemplate"
 msgstr ""
@@ -1360,9 +1365,8 @@
 msgid "SlideShowHandOutTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "SlideShowTemplate"
-msgstr "Prezentácia obrázkov"
+msgstr "ŠablónaPrezentácie"
 
 msgid "SlideTemplate"
 msgstr ""
@@ -1370,9 +1374,8 @@
 msgid "SyncJobTemplate"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnConfiguration"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSNastavením"
 
 msgid "HelpOnConfiguration/EmailSupport"
 msgstr ""
@@ -1395,17 +1398,14 @@
 msgid "HelpOnPackageInstaller"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUpdating"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr "PomocSUpdatovaním"
+
 msgid "HelpOnUpdatingPython"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr "PomocSUpdatovanímPythonu"
+
 msgid "HelpOnAdministration"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSAdministráciou"
 
 msgid "HelpOnAuthentication"
 msgstr ""
@@ -1413,42 +1413,35 @@
 msgid "HelpOnAuthentication/ExternalCookie"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnMoinCommand"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSPríkazmiMoin"
 
 msgid "HelpOnMoinCommand/ExportDump"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNotification"
-msgstr "Oznam"
-
-#, fuzzy
+msgstr "PomocSOznamami"
+
 msgid "HelpOnSessions"
-msgstr "ObsahPomocníka"
-
-#, fuzzy
+msgstr "PomocSoSedeniami"
+
 msgid "HelpOnUserHandling"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr "PomocSUžívateľmi"
+
 msgid "HelpOnXapian"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSXapianom"
 
 msgid "HelpOnMoinWikiSyntax"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnCreoleSyntax"
-msgstr "ObsahPomocníka"
+msgstr "PomocSCreoleSyntaxou"
 
 msgid "HelpOnFormatting"
 msgstr "PomocSFormátovaním"
 
-#, fuzzy
 msgid "MoinMoin"
-msgstr "Verzia MoinMoin"
+msgstr "MoinMoin"
 
 msgid "HelpContents"
 msgstr "ObsahPomocníka"
@@ -1459,34 +1452,26 @@
 msgid "HelpForUsers"
 msgstr ""
 
-#, fuzzy
 msgid "HelpIndex"
-msgstr "RegisterStránok"
+msgstr "RegisterPomocníka"
 
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
-#, fuzzy
 msgid "HelpOnActions"
-msgstr "ObsahPomocníka"
+msgstr "PomocnSAkciami"
 
 msgid "HelpOnActions/AttachFile"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnAdmonitions"
-msgstr "ObsahPomocníka"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnAutoAdmin"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnCategories"
-msgstr "Kategórie"
+msgstr "PomocSKategóriami"
 
 msgid "HelpOnDictionaries"
 msgstr ""
@@ -1494,9 +1479,8 @@
 msgid "HelpOnEditLocks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnEditing"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSEditovaním"
 
 msgid "HelpOnEditing/SubPages"
 msgstr ""
@@ -1507,24 +1491,20 @@
 msgid "HelpOnHeadlines"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLanguages"
-msgstr "Jazyk"
-
-#, fuzzy
+msgstr "PmocSJazykmi"
+
 msgid "HelpOnLinking"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSLinkovaním"
 
 msgid "HelpOnLinking/NotesLinks"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnLists"
-msgstr "ObsahPomocníka"
-
-#, fuzzy
+msgstr "PomocSoZoznamami"
+
 msgid "HelpOnLogin"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSPrihlasovaním"
 
 msgid "HelpOnMacros"
 msgstr ""
@@ -1532,9 +1512,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -1544,17 +1521,14 @@
 msgid "HelpOnMacros/MonthCalendar"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnNavigation"
-msgstr "NavigáciaStránok"
-
-#, fuzzy
+msgstr "PomocSNavigáciou"
+
 msgid "HelpOnOpenIDProvider"
-msgstr "OpenID server"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnPageCreation"
-msgstr "PomocSFormátovaním"
+msgstr "PomocSVytvorenímStránky"
 
 msgid "HelpOnPageDeletion"
 msgstr ""
@@ -1571,17 +1545,14 @@
 msgid "HelpOnProcessingInstructions"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnRules"
-msgstr "ObsahPomocníka"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSearching"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr "PomocSHľadaním"
+
 msgid "HelpOnSlideShows"
-msgstr "Prezentácia obrázkov"
+msgstr "PomocSPrezentáciou"
 
 msgid "HelpOnSlideShows/000 Introduction"
 msgstr ""
@@ -1598,16 +1569,14 @@
 msgid "HelpOnSpam"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSpellCheck"
-msgstr "KontrolaPravopisu"
+msgstr "PmocSKontrolouPravopisu"
 
 msgid "HelpOnSuperUser"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnSynchronisation"
-msgstr "Synchronizácia sa začala -"
+msgstr ""
 
 msgid "HelpOnTables"
 msgstr ""
@@ -1618,24 +1587,20 @@
 msgid "HelpOnThemes"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnUserPreferences"
-msgstr "Nastavenia"
+msgstr ""
 
 msgid "HelpOnVariables"
 msgstr ""
 
-#, fuzzy
 msgid "HelpOnXmlPages"
-msgstr "PomocSFormátovaním"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnComments"
-msgstr "ObsahPomocníka"
-
-#, fuzzy
+msgstr ""
+
 msgid "HelpOnSubscribing"
-msgstr "ZrušiťOdoberanie"
+msgstr ""
 
 msgid "CamelCase"
 msgstr ""
@@ -1655,7 +1620,6 @@
 msgid "WikiCourse/04 Creating a wiki account"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/05 User preferences"
 msgstr "Užívateľské nastavenia sú uložené!"
 
@@ -1692,9 +1656,8 @@
 msgid "WikiCourse/17 External links"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/18 Attachments"
-msgstr "Nová príloha"
+msgstr ""
 
 msgid "WikiCourse/19 Symbols"
 msgstr ""
@@ -1708,9 +1671,8 @@
 msgid "WikiCourse/22 Parsers"
 msgstr ""
 
-#, fuzzy
 msgid "WikiCourse/23 Actions"
-msgstr "Viac akcií:"
+msgstr ""
 
 msgid "WikiCourse/30 The graphical editor"
 msgstr ""
@@ -2334,10 +2296,10 @@
 msgstr ""
 
 msgid "Approve"
-msgstr ""
+msgstr "Schváliť"
 
 msgid "Don't approve"
-msgstr ""
+msgstr "Neschváliť"
 
 msgid "OpenID not served"
 msgstr ""
@@ -2435,7 +2397,7 @@
 "Na tejto stránke sú uložené <a href=\"%(link)s\">%(count)s prílohy</a>."
 
 msgid "Filename of attachment not specified!"
-msgstr "Názor súboru ako prílohy nie je špecifikovaný!"
+msgstr "Názov súboru prílohy nie je špecifikovaný!"
 
 #, python-format
 msgid "Attachment '%(filename)s' does not exist!"
@@ -2491,7 +2453,7 @@
 msgstr "Prepísať existujúce prílohy s rovnakým menom"
 
 msgid "Upload"
-msgstr "Nahrať súbor"
+msgstr "Nahrať súbor na server"
 
 msgid "Attached Files"
 msgstr "Priložené súbory"
@@ -2514,7 +2476,7 @@
 "No file content. Delete non ASCII characters from the file name and try "
 "again."
 msgstr ""
-"Nenašiel sa nijaký obsah. Vymažte iné ako ASCII znaky z mena súboru askúste "
+"Nenašiel sa nijaký obsah. Vymažte iné ako ASCII znaky z mena súboru a skúste "
 "znovu."
 
 msgid "You are not allowed to overwrite a file attachment of this page."
@@ -2694,10 +2656,10 @@
 msgstr "Výber autora"
 
 msgid "Revert all!"
-msgstr "Všetko vrátiť!"
+msgstr "Všetky zmeny vrátiť!"
 
 msgid "Revert"
-msgstr "Vrátiť"
+msgstr "Vrátiť zmeny"
 
 msgid "You are not allowed to revert this page!"
 msgstr ""
@@ -3057,7 +3019,7 @@
 msgstr "Naozaj premenovať túto stránku?"
 
 msgid "Copy all /subpages too?"
-msgstr "Skúpírovať aj všetky/podstránky?"
+msgstr "Skopírovať aj všetky/podstránky?"
 
 msgid "Optional reason for the copying"
 msgstr "Dôvod tohto kopírovania (nepovinný)"
@@ -3074,7 +3036,7 @@
 
 #, python-format
 msgid "Diff for \"%s\""
-msgstr "Zmeny „ %s “"
+msgstr "Zmeny pre „%s“"
 
 #, python-format
 msgid "Differences between revisions %d and %d"
@@ -3088,7 +3050,7 @@
 msgstr "Predchádzajúca zmena"
 
 msgid "Next change"
-msgstr "Nijaká zmena"
+msgstr "Nasledujúca zmena"
 
 #, python-format
 msgid "The page was saved %(count)d times, though!"
@@ -3098,7 +3060,7 @@
 msgstr "(bez ohľadu na medzery)"
 
 msgid "Ignore changes in the amount of whitespace"
-msgstr "Ignorovať zmeny v počte medzier"
+msgstr "Ignorovať zmeny v počte bielych znakov"
 
 #, python-format
 msgid "Invalid filename \"%s\"!"
@@ -3194,15 +3156,15 @@
 
 #, python-format
 msgid "Title Search: \"%s\""
-msgstr "Vyhľadávanie „ %s “ v názvoch stránok"
+msgstr "Vyhľadávanie „%s“ v názvoch stránok"
 
 #, python-format
 msgid "Advanced Search: \"%s\""
-msgstr "Pokročilé vyhľadávanie: „ %s “"
+msgstr "Pokročilé vyhľadávanie: „%s“"
 
 #, python-format
 msgid "Full Text Search: \"%s\""
-msgstr "Fultextové vyhľadávanie „ %s “ "
+msgstr "Fultextové vyhľadávanie „%s“ "
 
 #, python-format
 msgid ""
@@ -3230,7 +3192,7 @@
 "Ak chcete hľadané výrazy zadať do fultextového vyhľadávate, kliknite sem!"
 
 msgid "Load"
-msgstr "Nahrať"
+msgstr "Stiahnuť"
 
 msgid "Pagename not specified!"
 msgstr "Názor súboru ako prílohy nie je špecifikovaný!"
@@ -3245,7 +3207,7 @@
 msgstr ""
 
 msgid "File to load page content from"
-msgstr ""
+msgstr "Súbor, z ktorého chcete nahrať obsah stránky"
 
 msgid "Page Name"
 msgstr "Meno stránky"
@@ -3308,7 +3270,7 @@
 msgstr "Rozdelenie podľa typov User-Agent"
 
 msgid "Page Size Distribution"
-msgstr "Rozdelenie veľkosti stránky"
+msgstr "Rozdelenie podľa veľkostí stránok"
 
 msgid "page size upper bound [bytes]"
 msgstr "maximálna veľkosť stránky [bytes]"
@@ -3343,26 +3305,7 @@
 "nepovoľuje. "
 
 msgid "anonymous"
-msgstr ""
-
-#, fuzzy
-#~ msgid "InterWikiMap"
-#~ msgstr "Značkovanie wiki"
-
-#, fuzzy
-#~ msgid "BadContent"
-#~ msgstr "Obsah"
-
-#, fuzzy
-#~ msgid "LocalBadContent"
-#~ msgstr "Obsah"
-
-#, fuzzy
-#~ msgid "EditedSystemPages"
-#~ msgstr "Okrem systémových stránok"
-
-#~ msgid "Created the package %s containing the pages %s."
-#~ msgstr "Vytvorený balík %s obsahujúci stránky %s."
-
-#~ msgid "You need to log in."
-#~ msgstr "Musíte sa prihlásiť."
+msgstr "anonym"
+
+#~ msgid "WikiMeno"
+#~ msgstr "WikiMeno"
--- a/MoinMoin/i18n/sl.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/sl.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-05-23 03:00+0200\n"
 "Last-Translator: Mark Martinec <Mark.Martinec@ijs.si>\n"
 "Language-Team: \n"
@@ -363,10 +363,9 @@
 msgid "The theme name is not set."
 msgstr "Ime teme (izgleda) ni nastavljeno."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Namestitev datotek teme (izgleda) je podprto le za samostoječi tip "
-"strežnikov."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -465,8 +464,9 @@
 msgstr ""
 "Neveljaven regularni izraz za poudarjanje besedila \"%(regex)s\": %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr "Vsebina varnostne kopije je zastarela in ne bo upoštevana pri iskanju!"
 
@@ -1541,9 +1541,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "PomočPriVsebini"
@@ -1607,9 +1604,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3477,6 +3471,12 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Namestitev datotek teme (izgleda) je podprto le za samostoječi tip "
+#~ "strežnikov."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Označevanje viki"
--- a/MoinMoin/i18n/sr.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/sr.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: sr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-05-12 15:58-0400\n"
 "Last-Translator: Igor Miletic <grejigl-gnomeprevod@yahoo.ca>\n"
 "Language-Team: Serbian <fedora-trans-sr@redhat.com>\n"
@@ -371,9 +371,9 @@
 msgid "The theme name is not set."
 msgstr "Име теме није постављено."
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
-"Инсталирање датотека тема је подржано само за самостојеће врсте сервера."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -470,8 +470,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "Неисправни регуларни израз за наглашавање „%(regex)s“: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Резервне копије ове странице су застареле и неће бити укључене у резултате "
@@ -1560,9 +1561,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "HelpContents"
@@ -1626,9 +1624,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3470,6 +3465,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Инсталирање датотека тема је подржано само за самостојеће врсте сервера."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Изворни текст Викија"
--- a/MoinMoin/i18n/strings.py	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/strings.py	Wed Jul 22 21:50:03 2009 +0200
@@ -20,7 +20,7 @@
 
 # Some basic pages used for every language, but we only need them once in English (don't translate!):
 not_translated_system_pages = [
-    'SystemPagesSetup',
+    'LanguageSetup',
     'InterWikiMap',
     'BadContent',
     'LocalBadContent',
--- a/MoinMoin/i18n/sv.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/sv.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,9 +13,9 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
-"PO-Revision-Date: 2009-02-02 09:00+0200\n"
-"Last-Translator: thomas@marquart.se\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
+"PO-Revision-Date: 2009-07-11 16:05+0200\n"
+"Last-Translator: Thomas Marquart <thomas@marquart.se>\n"
 "Language-Team: Swedish <moin-user@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
@@ -367,8 +367,9 @@
 msgid "The theme name is not set."
 msgstr "Temanamnet är inte angivet."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Installation av temafiler stöds bara på servrar av fristående typ."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr "Temats filer installerades inte! Saknar rättigheter att skriva på %s."
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -466,11 +467,11 @@
 msgstr "Ogiltigt reguliärt uttryck för emfas \"%(regex)s\": %(error)s"
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
-"Reservkopians innehåll av den här sidan är oönskat och kommer inte att "
-"finnas med i sökresultat!"
+"Reservkopians innehåll av den här sidan tas avstånd ifrån och kommer att "
+"rankas lägre i sökresultat!"
 
 #, python-format
 msgid "Revision %(rev)d as of %(date)s"
@@ -830,7 +831,6 @@
 "\n"
 "(!) För mer hjälp, se HjälpMedÄndringar.\n"
 
-#, fuzzy
 msgid ""
 " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')"
 ">>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold "
@@ -857,12 +857,12 @@
 "====; ===== Rubrik 5 =====.\n"
 " Listor:: mellanslag plus en av: * punkter; 1., a., A., i., I. numrerade "
 "punkter; 1.#n börja numrering på n; enbart mellanslag indenterar.\n"
-" Länkar:: <<Verbatim(SkrivOrdIhopMedStoraBokstäver)>>; <<Verbatim([[url|"
+" Länkar:: <<Verbatim(SkrivIhopOrdMedStoraBokstäver)>>; <<Verbatim([[url|"
 "länkens text]])>>.\n"
 " Tabeller:: || celltext |||| celltext som sträcker sig över 2 kolumner ||;  "
 "inga efterföljande mellanslag är tillåtna efter tabeller och rubriker.\n"
 "\n"
-"(!) För mer hjälp, se HjälpMedÄndringar.\n"
+"(!) För mer hjälp, se HjälpMedÄndringar eller HjälpMedMoinWikiSyntax.\n"
 
 #, python-format
 msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
@@ -1310,7 +1310,7 @@
 msgstr "SenasteÄndringar"
 
 msgid "WikiTipOfTheDay"
-msgstr ""
+msgstr "DagensWikiTips"
 
 msgid "TitleIndex"
 msgstr "TitelRegister"
@@ -1327,475 +1327,419 @@
 msgid "MissingHomePage"
 msgstr "SaknadStartSida"
 
-#, fuzzy
 msgid "WikiHomePage"
-msgstr "SaknadStartSida"
-
-#, fuzzy
+msgstr "WikiHemsida"
+
 msgid "WikiName"
-msgstr "Namn"
+msgstr "WikiNamn"
 
 msgid "WikiWikiWeb"
-msgstr ""
+msgstr "WikiWikiWebb"
 
 msgid "FrontPage"
 msgstr "StartSida"
 
 msgid "WikiSandBox"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiSandLåda"
+
 msgid "InterWiki"
-msgstr "Wiki"
+msgstr "InterWiki"
 
 msgid "AbandonedPages"
-msgstr ""
-
-#, fuzzy
+msgstr "ÖvergivnaSidor"
+
 msgid "OrphanedPages"
-msgstr "Ändrad sida"
-
-#, fuzzy
+msgstr "FöräldrarlösaSidor"
+
 msgid "WantedPages"
-msgstr "SökSida"
+msgstr "SaknadSida"
 
 msgid "EventStats"
-msgstr ""
+msgstr "HändelseStatistik"
 
 msgid "EventStats/HitCounts"
-msgstr ""
+msgstr "HändelseStatistik/SidStorlek"
 
 msgid "EventStats/Languages"
-msgstr ""
+msgstr "HändelseStatistik/Språk"
 
 msgid "EventStats/UserAgents"
-msgstr ""
-
-#, fuzzy
+msgstr "HändelseStatistik/AnvändarAgenter"
+
 msgid "PageSize"
-msgstr "Storlek"
-
-#, fuzzy
+msgstr "SidStorlek"
+
 msgid "PageHits"
-msgstr "Sidor"
-
-#, fuzzy
+msgstr "TräffAntal"
+
 msgid "RandomPage"
-msgstr "BytNamn"
-
-#, fuzzy
+msgstr "SlumpmässigSida"
+
 msgid "XsltVersion"
-msgstr "Python-version"
+msgstr "XsltVersion"
 
 msgid "FortuneCookies"
-msgstr ""
+msgstr "LyckoKakor"
 
 msgid "WikiLicense"
 msgstr "WikiLicens"
 
-#, fuzzy
 msgid "CategoryCategory"
-msgstr "vilken kategori som helst"
-
-#, fuzzy
+msgstr "KategoriKategori"
+
 msgid "CategoryHomepage"
-msgstr "Kategorier"
-
-#, fuzzy
+msgstr "KategoriHemsida"
+
 msgid "CategoryTemplate"
-msgstr "Kategorier"
+msgstr "KategoriMall"
 
 msgid "HomepageTemplate"
-msgstr ""
+msgstr "HemsidaMall"
 
 msgid "HelpTemplate"
-msgstr ""
+msgstr "HjälpMall"
 
 msgid "HomepageReadWritePageTemplate"
-msgstr ""
+msgstr "HemsidaLäsSkrivSidaMall"
 
 msgid "HomepageReadPageTemplate"
-msgstr ""
+msgstr "HemsidaLäsSidaMall"
 
 msgid "HomepagePrivatePageTemplate"
-msgstr ""
+msgstr "HemsidaPrivatSidaMall"
 
 msgid "HomepageGroupsTemplate"
-msgstr ""
+msgstr "HemsidaGruppMall"
 
 msgid "SlideShowHandOutTemplate"
-msgstr ""
-
-#, fuzzy
+msgstr "BildspelHandoutMall"
+
 msgid "SlideShowTemplate"
-msgstr "Bildspel"
+msgstr "BildspelMall"
 
 msgid "SlideTemplate"
-msgstr ""
+msgstr "BildMall"
 
 msgid "SyncJobTemplate"
-msgstr ""
-
-#, fuzzy
+msgstr "SynkJobbMall"
+
 msgid "HelpOnConfiguration"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedKonfiguration"
 
 msgid "HelpOnConfiguration/EmailSupport"
-msgstr ""
+msgstr "HjälpMedKonfiguration/EpostStöd"
 
 msgid "HelpOnConfiguration/SecurityPolicy"
-msgstr ""
+msgstr "HjälpMedKonfiguration/SäkerhetsPolicy"
 
 msgid "HelpOnConfiguration/FileAttachments"
-msgstr ""
+msgstr "HjälpMedKonfiguration/FilBilagor"
 
 msgid "HelpOnConfiguration/SupplementationPage"
-msgstr ""
+msgstr "HjälpMedKonfiguration/TilläggsSida"
 
 msgid "HelpOnConfiguration/SurgeProtection"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedKonfiguration/SvallSkydd"
+
 msgid "HelpOnConfiguration/UserPreferences"
-msgstr "AnvändarInställningar"
+msgstr "HjälpMedKonfiguration/AnvändarInställningar"
 
 msgid "HelpOnPackageInstaller"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedPaketInstalleraren"
+
 msgid "HelpOnUpdating"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedUppdatering"
+
 msgid "HelpOnUpdatingPython"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedUppdateraPython"
+
 msgid "HelpOnAdministration"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedAdministration"
 
 msgid "HelpOnAuthentication"
-msgstr ""
+msgstr "HjälpMedAutentisering"
 
 msgid "HelpOnAuthentication/ExternalCookie"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedAutentisering/ExternKaka"
+
 msgid "HelpOnMoinCommand"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedMoinKommando"
 
 msgid "HelpOnMoinCommand/ExportDump"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedMoinKommando/ExportTipp"
+
 msgid "HelpOnNotification"
-msgstr "Meddelande"
-
-#, fuzzy
+msgstr "HjälpMedMeddelande"
+
 msgid "HelpOnSessions"
-msgstr "HjälpInnehåll"
-
-#, fuzzy
+msgstr "HjälpMedSessioner"
+
 msgid "HelpOnUserHandling"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedAnvändarhantering"
+
 msgid "HelpOnXapian"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedXapian"
 
 msgid "HelpOnMoinWikiSyntax"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedMoinWikiSyntax"
+
 msgid "HelpOnCreoleSyntax"
-msgstr "HjälpInnehåll"
+msgstr "HjälpMedCreoleSyntax"
 
 msgid "HelpOnFormatting"
 msgstr "HjälpMedFormatering"
 
-#, fuzzy
 msgid "MoinMoin"
-msgstr "MoinMoin-version"
+msgstr "MoinMoin"
 
 msgid "HelpContents"
 msgstr "HjälpInnehåll"
 
 msgid "HelpForBeginners"
-msgstr ""
+msgstr "HjälpFörNybörjare"
 
 msgid "HelpForUsers"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpFörAnvändare"
+
 msgid "HelpIndex"
-msgstr "TitelRegister"
+msgstr "HjälpIndex"
 
 msgid "HelpOnAccessControlLists"
-msgstr ""
-
-msgid "HelpOnAcl"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedÅtkomstListor"
+
 msgid "HelpOnActions"
-msgstr "HjälpInnehåll"
+msgstr "HjälpMedÅtgärder"
 
 msgid "HelpOnActions/AttachFile"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedÅtgärder/BifogaFil"
+
 msgid "HelpOnAdmonitions"
-msgstr "HjälpInnehåll"
-
-#, fuzzy
+msgstr "HjälpMedVarningar"
+
 msgid "HelpOnAutoAdmin"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedAutoAdmin"
+
 msgid "HelpOnCategories"
-msgstr "Kategorier"
+msgstr "HjälpMedKategorier"
 
 msgid "HelpOnDictionaries"
-msgstr ""
+msgstr "HjälpMedOrdbok"
 
 msgid "HelpOnEditLocks"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedRedigeringsLås"
+
 msgid "HelpOnEditing"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedÄndringar"
 
 msgid "HelpOnEditing/SubPages"
-msgstr ""
+msgstr "HjälpMedÄndringar/UnderSidor"
 
 msgid "HelpOnGraphicalEditor"
-msgstr ""
+msgstr "HjälpMedGrafiskaEditorn"
 
 msgid "HelpOnHeadlines"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedRubriker"
+
 msgid "HelpOnLanguages"
-msgstr "Språk"
-
-#, fuzzy
+msgstr "HjälpMedSpråk"
+
 msgid "HelpOnLinking"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedLänkar"
 
 msgid "HelpOnLinking/NotesLinks"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedLänkar/NotLänkar"
+
 msgid "HelpOnLists"
-msgstr "HjälpInnehåll"
-
-#, fuzzy
+msgstr "HjälpMedListor"
+
 msgid "HelpOnLogin"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedLogin"
 
 msgid "HelpOnMacros"
-msgstr ""
+msgstr "HjälpMedMakron"
 
 msgid "HelpOnMacros/EmbedObject"
-msgstr ""
-
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
+msgstr "HjälpMedMakron/ByggInObjekt"
 
 msgid "HelpOnMacros/Include"
-msgstr ""
+msgstr "HjälpMedMakron/Inkludera"
 
 msgid "HelpOnMacros/MailTo"
-msgstr ""
+msgstr "HjälpMedMakron/MejlaTill"
 
 msgid "HelpOnMacros/MonthCalendar"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedMakron/MånadsKalender"
+
 msgid "HelpOnNavigation"
-msgstr "PlatsNavigering"
-
-#, fuzzy
+msgstr "HjälpMedNavigering"
+
 msgid "HelpOnOpenIDProvider"
-msgstr "OpenID-server"
-
-#, fuzzy
+msgstr "HjälpMedOpenIDProvider"
+
 msgid "HelpOnPageCreation"
-msgstr "HjälpMedFormatering"
+msgstr "HjälpMedSkapaSidor"
 
 msgid "HelpOnPageDeletion"
-msgstr ""
+msgstr "HjälpMedSidRadering"
 
 msgid "HelpOnParsers"
-msgstr ""
+msgstr "HjälpMedParsers"
 
 msgid "HelpOnParsers/ReStructuredText"
-msgstr ""
+msgstr "HjälpMedParsers/ReStruktureradText"
 
 msgid "HelpOnParsers/ReStructuredText/RstPrimer"
-msgstr ""
+msgstr "HjälpMedParsers/ReStruktureradText/RstLathund"
 
 msgid "HelpOnProcessingInstructions"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedDirektiv"
+
 msgid "HelpOnRules"
-msgstr "HjälpInnehåll"
-
-#, fuzzy
+msgstr "HjälpMedRegler"
+
 msgid "HelpOnSearching"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedSök"
+
 msgid "HelpOnSlideShows"
-msgstr "Bildspel"
+msgstr "HjälpMedBildspel"
 
 msgid "HelpOnSlideShows/000 Introduction"
-msgstr ""
+msgstr "HjälpMedBildspel/000 Inledning"
 
 msgid "HelpOnSlideShows/100 Creating the slides"
-msgstr ""
+msgstr "HjälpMedbildspel/100 Att skapa slides"
 
 msgid "HelpOnSlideShows/900 Last but not least: Running your presentation"
-msgstr ""
+msgstr "HjälpMedBildspel/900 Sist: Att köra ditt bildspel"
 
 msgid "HelpOnSmileys"
-msgstr ""
+msgstr "HjälpMedSmilisar"
 
 msgid "HelpOnSpam"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedSpam"
+
 msgid "HelpOnSpellCheck"
-msgstr "StavningsKontroll"
+msgstr "HjälpMedStavningsKontroll"
 
 msgid "HelpOnSuperUser"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedSuperUser"
+
 msgid "HelpOnSynchronisation"
-msgstr "Synkronisering startat -"
+msgstr "HjälpMedSynkronisering"
 
 msgid "HelpOnTables"
-msgstr ""
+msgstr "HjälpMedTabeller"
 
 msgid "HelpOnTemplates"
-msgstr ""
+msgstr "HjälpMedMallar"
 
 msgid "HelpOnThemes"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedTeman"
+
 msgid "HelpOnUserPreferences"
-msgstr "AnvändarInställningar"
+msgstr "HjälpMedAnvändarInställningar"
 
 msgid "HelpOnVariables"
-msgstr ""
-
-#, fuzzy
+msgstr "HjälpMedVariabler"
+
 msgid "HelpOnXmlPages"
-msgstr "HjälpMedFormatering"
-
-#, fuzzy
+msgstr "HjälpMedXmlSidor"
+
 msgid "HelpOnComments"
-msgstr "HjälpInnehåll"
-
-#, fuzzy
+msgstr "HjälpMedKommentarer"
+
 msgid "HelpOnSubscribing"
-msgstr "Avsluta prenumeration"
+msgstr "HjälpMedPrenumeration"
 
 msgid "CamelCase"
-msgstr ""
+msgstr "CamelCaseSv"
 
 msgid "WikiCourse"
-msgstr ""
+msgstr "WikiKursSv"
 
 msgid "WikiCourse/01 What is a MoinMoin wiki?"
-msgstr ""
+msgstr "WikiKursSv/01 Vad är en MoinMoin wiki?"
 
 msgid "WikiCourse/02 Finding information"
-msgstr ""
+msgstr "WikiKursSv/02 Att hitta information"
 
 msgid "WikiCourse/03 Staying up to date"
-msgstr ""
+msgstr "WikiKursSv/03 Håll dig uppdaterad"
 
 msgid "WikiCourse/04 Creating a wiki account"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiKursSv/04 Att skapa ett konto"
+
 msgid "WikiCourse/05 User preferences"
-msgstr "AnvändarInställningar"
+msgstr "WikiKursSv/05 Användarinställningar"
 
 msgid "WikiCourse/06 Your own wiki homepage"
-msgstr ""
+msgstr "WikiKursSv/06 Din egen hemsida i wikin"
 
 msgid "WikiCourse/07 The text editor"
-msgstr ""
+msgstr "WikiKursSv/07 Texteditorn"
 
 msgid "WikiCourse/08 Hot Keys"
-msgstr ""
+msgstr "WikiKursSv/08 Genvägar med tangentbordet"
 
 msgid "WikiCourse/10 Text layout with wiki markup"
-msgstr ""
+msgstr "WikiKursSv/10 Textformatering med wiki-syntax"
 
 msgid "WikiCourse/11 Paragraphs"
-msgstr ""
+msgstr "WikiKursSv/11 Paragrafer"
 
 msgid "WikiCourse/12 Headlines"
-msgstr ""
+msgstr "WikiKursSv/12 Rubriker"
 
 msgid "WikiCourse/13 Lists"
-msgstr ""
+msgstr "WikiKursSv/13 Listor"
 
 msgid "WikiCourse/14 Text styles"
-msgstr ""
+msgstr "WikiKursSv/14 Textstilar"
 
 msgid "WikiCourse/15 Tables"
-msgstr ""
+msgstr "WikiKursSv/15 Tabeller"
 
 msgid "WikiCourse/16 Wiki internal links"
-msgstr ""
+msgstr "WikiKursSv/16 Länkar inom wikin"
 
 msgid "WikiCourse/17 External links"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiKursSv/17 Externa länkar"
+
 msgid "WikiCourse/18 Attachments"
-msgstr "Ny bilaga"
+msgstr "WikiKursSv/18 Bilagor"
 
 msgid "WikiCourse/19 Symbols"
-msgstr ""
+msgstr "WikiKursSv/19 Symboler"
 
 msgid "WikiCourse/20 Dynamic content"
-msgstr ""
+msgstr "WikiKursSv/20 Dynamisk innehåll"
 
 msgid "WikiCourse/21 Macros"
-msgstr ""
+msgstr "WikiKursSv/21 Makron"
 
 msgid "WikiCourse/22 Parsers"
-msgstr ""
-
-#, fuzzy
+msgstr "WikiKursSv/22 Parsrar"
+
 msgid "WikiCourse/23 Actions"
-msgstr "Fler åtgärder:"
+msgstr "WikiKursSv/23 Åtgärder"
 
 msgid "WikiCourse/30 The graphical editor"
-msgstr ""
+msgstr "WikiKursSv/30 Grafiska editorn"
 
 msgid "WikiCourse/40 Creating more pages"
-msgstr ""
+msgstr "WikiKursSv/40 Att skapa fler sidor"
 
 msgid "WikiCourse/50 Wiki etiquette"
-msgstr ""
+msgstr "WikiKursSv/50 Wiki etiquette"
 
 msgid "WikiCourse/51 Applications"
-msgstr ""
+msgstr "WikiKursSv/51 Applikationer"
 
 msgid "WikiCourse/52 Structure in the wiki"
-msgstr ""
+msgstr "WikiKursSv/52 Struktur i wikin"
 
 msgid "WikiCourseHandOut"
-msgstr ""
+msgstr "WikiKursSvHandout"
 
 msgid "Sun"
 msgstr "sön"
@@ -2327,6 +2271,7 @@
 #, python-format
 msgid "<<%(macro_name)s: execution failed [%(error_msg)s] (see also the log)>>"
 msgstr ""
+"<<%(macro_name)s: gick inte att köra: [%(error_msg)s] (se även loggarna)>>"
 
 msgid "Go To Page"
 msgstr "Gå till sida"
@@ -3462,6 +3407,16 @@
 msgid "anonymous"
 msgstr "anonym"
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Installation av temafiler stöds bara på servrar av fristående typ."
+
+#~ msgid "HelpOnAcl"
+#~ msgstr "HjälpMedAcl"
+
+#~ msgid "HelpOnMacros/ImageLink"
+#~ msgstr "HjälpMedMakron/BildLänk"
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-märkning"
--- a/MoinMoin/i18n/tools/mail_i18n-maintainers.txt	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/tools/mail_i18n-maintainers.txt	Wed Jul 22 21:50:03 2009 +0200
@@ -6,71 +6,46 @@
 By maintaining "%(lang)s", you do great work and all MoinMoin users say
 "Thank you" for that (or at least think it ;)!
 
-We are planning to do a new major release (1.8.0) soon, with quite some
+We are planning to do a new major release (1.9.0) soon, with quite some
 attractive new features and lots of cleanup.
 
+See http://moinmo.in/MoinMoinTodo/Release%%201.9 for our planned release schedule.
+
+As it is unlikely that all translators will catch up, we'll just take what we
+have at release time. If you fix your stuff early, it'll likely make it into
+initial release - if not, you'll have some more chances for every maintenance
+release we'll do.
+
+
 What we need
 ============
 
-Please note that we currently have 2 "MoinMaster" wikis:
-    * http://master18.moinmo.in/ (currently same as http://master.moinmo.in/)
-      This wiki is for the "current" 1.8.x releases.
-    * http://master19.moinmo.in/
-      This wiki is for the "upcoming" 1.9.x releases.
-
 We need your help again for updating the following (high priority and
 most important stuff is on top of the list):
 
-[X] There are some notes on the http://moinmo.in/MoinDev/Translation page
-    about changes that need to be done and about common errors in the
-    translations.
-
-[X] MoinMaster:MoinI18n/%(lang)s page (source for the .po file)
-
-[X] "%(lang)s" system pages on the MoinMaster wiki
-
-[X] "%(lang)s" help pages on the MoinMaster wiki (optional - would be
-    nice, if you had the time)
-
-We need that until 2009-xx-xx - because MoinMoin 1.9.0 will be released
-then, so we can include that stuff into the distribution archive to make
-people speaking your language happy. ;)
-
-Please, after translating the current stuff, keep an eye on MoinMaster
-wikis - some strings in the PO file may still change or get added/deleted.
+[X] IMPORTANT NOTES (please read!): http://moinmo.in/MoinDev/Translation
+    (please subscribe to that page, so you get notified on changes)
 
-See http://moinmo.in/MoinMoinTodo/Release%%201.9 for our planned release schedule.
-
-Please reply immediately
-========================
-
-You can use the form below.
-
-Or even better: directly edit the wiki page listed under Ressources.
+    We have a nice new tool for checking a translation of the system/help
+    pages, try it there:
 
-[ ] Great! I have some time, can do it now and finish in time.
-
-[ ] I would like to, but have no time these days. Maintenance should
-    be better done by anyone else volunteering, but you can keep me
-    on the list for next time.
+    http://master19.moinmo.in/MoinI18n/%(lang)s?action=CheckTranslation
 
-[ ] Sorry, but can't do that any more.
-    For this case, please remove yourself from the MoinI18n/%(lang)s page
-    by putting ***vacant*** into the Last-Translator: metadata field.
+    It also helps you to translate important pages first.
 
-Please, even if you can't help us this time, a fast response will help
-us finding another volunteer.
+[X] http://master19.moinmo.in/MoinI18n/%(lang)s page (source for the .po file)
 
 
-Ressources
-==========
+Please, after translating the current stuff, keep an eye on the master wiki
+(or if you prefer email, maybe subscribe to MoinI18n/de - this page is usually
+touched by moin development if something changed).
 
-If you want to do it (or update status page), please read on here:
-http://moinmo.in/MoinDev/Translation
+In case you can't do language maintenance any more:
+Please remove yourself from the MoinI18n/%(lang)s page by putting ***vacant***
+into the Last-Translator: metadata field.
 
-You will find all you need there. If you have questions, also put them
-there (in English, please) - you can also contact us on IRC channel
-#moin on server chat.freenode.net.
+If you have questions, please contact us on the wiki or IRC channel #moin on
+server chat.freenode.net.
 
 Thanks,
 
--- a/MoinMoin/i18n/tr.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/tr.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin-1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-04-25 16:26+0300\n"
 "Last-Translator: Ekrem SEREN <ekrem.seren@parduslinux.org>\n"
 "Language-Team: Türkçe\n"
@@ -376,9 +376,9 @@
 msgid "The theme name is not set."
 msgstr "Tema ayarlanmamış."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"Tema dosyası yükleme sadece bağımsız türden sunucular için desteklenmekte."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -476,8 +476,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Sayfanın yedeklenmiş içeriği eski olduğundan arama sonuçlarında "
@@ -1545,9 +1546,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "YardimKonuları"
@@ -1610,9 +1608,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3469,6 +3464,11 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr ""
+#~ "Tema dosyası yükleme sadece bağımsız türden sunucular için desteklenmekte."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki İmleme"
--- a/MoinMoin/i18n/uk.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/uk.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2007-11-10 16:50+0300\n"
 "Last-Translator: Maxim V. Dziumanenko <dziumanenko@softprom.kiev.ua>\n"
 "Language-Team: Ukrainian <uk@li.org>\n"
@@ -366,8 +366,9 @@
 msgid "The theme name is not set."
 msgstr "Не встановлено назву стилю."
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "Встановлення стилів допустиме лише на автономних серверах."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -465,8 +466,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Зміст резервної копії цієї сторінки застарів та не буде включений у "
@@ -1538,9 +1540,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "ДовідкаЗміст"
@@ -1604,9 +1603,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3437,6 +3433,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "Встановлення стилів допустиме лише на автономних серверах."
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki-розмітка"
--- a/MoinMoin/i18n/vi.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/vi.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2004-11-19 21:03+0800\n"
 "Last-Translator: Nam T. Nguyen <nnt@nntsoft.com>\n"
 "Language-Team: Vietnamese <moin-devel@lists.sourceforge.net>\n"
@@ -26,23 +26,24 @@
 "X-HasWikiMarkup: True\n"
 
 msgid "The wiki is currently not reachable."
-msgstr ""
+msgstr "Hiện không thể vào được wiki."
 
 msgid "Invalid username or password."
-msgstr ""
+msgstr "Tên đăng nhập hoặc mật khẩu bất hợp lệ."
 
 #, python-format
 msgid ""
 "The remote wiki uses a different InterWiki name (%(remotename)s) internally "
 "than you specified (%(localname)s)."
 msgstr ""
-
-#, fuzzy
+"Wiki ở xa dùng một tên InterWiki khác (%(remotename)s) với tên mà bạn chỉ "
+"định (%(localname)s)."
+
 msgid "Your changes are not saved!"
-msgstr "Bạn chưa thay đổi nội dung trang nên không cần lưu lại!"
+msgstr "Thay đổi của bạn không được lưu!"
 
 msgid "You are not allowed to edit this page."
-msgstr "Bạn không thể sửa trang này."
+msgstr "Bạn không được phép sửa trang này."
 
 msgid "Page is immutable!"
 msgstr "Trang này không thể được thay đổi!"
@@ -50,26 +51,25 @@
 msgid "Cannot edit old revisions!"
 msgstr "Không thể sửa phiên bản cũ!"
 
-#, fuzzy
 msgid "The lock you held timed out. Be prepared for editing conflicts!"
 msgstr ""
-"Thời gian dành riêng cho bạn đã hết, bạn có thể sẽ gặp sự cố trong việc "
+"Thời gian dành riêng cho bạn đã hết. Hãy sẵn sàng đối mặt với xung đột khi "
 "chỉnh sửa trang!"
 
 msgid "Page name is too long, try shorter name."
-msgstr ""
-
-#, fuzzy, python-format
+msgstr "Tên trang quá dài, hãy thử tên ngắn hơn."
+
+#, python-format
 msgid "Draft of \"%(pagename)s\""
-msgstr "Xem qua trang \"%(pagename)s\""
+msgstr "Bản nháp của \"%(pagename)s\""
 
 #, python-format
 msgid "Edit \"%(pagename)s\""
-msgstr "Sửa trang \"%(pagename)s\""
+msgstr "Sửa đổi \"%(pagename)s\""
 
 #, python-format
 msgid "Preview of \"%(pagename)s\""
-msgstr "Xem qua trang \"%(pagename)s\""
+msgstr "Xem thử \"%(pagename)s\""
 
 #, python-format
 msgid "Your edit lock on %(lock_page)s has expired!"
@@ -89,27 +89,23 @@
 msgid "Someone else changed this page while you were editing!"
 msgstr "Người khác đã thay đổi trang này trong khi bạn đang sửa!"
 
-#, fuzzy
 msgid ""
 "Someone else saved this page while you were editing!\n"
 "Please review the page and save then. Do not save this page as it is!"
 msgstr ""
 "Người khác đã lưu trang này trong khi bạn đang sửa!\n"
-"Vui lòng xem phần diff của trang tại %(difflink)s để biết họ đã thay đổi "
-"những gì.\n"
-"Sau đó bạn có thể thêm vào những thay đổi của bạn."
-
-#, fuzzy
+"Vui lòng xem lại trang rồi hẵng lưu. Đừng lưu trang ngay lúc này!"
+
 msgid "[Content loaded from draft]"
-msgstr "[Nội dung trang được đọc trong %s]"
+msgstr "[Nội dung trang được nạp từ nháp]"
 
 #, python-format
 msgid "[Content of new page loaded from %s]"
-msgstr "[Nội dung trang được đọc trong %s]"
+msgstr "[Nội dung trang mới được nạp từ %s]"
 
 #, python-format
 msgid "[Template %s not found]"
-msgstr "[Không tìm thấy mẫu %s]"
+msgstr "[Không tìm thấy tiêu bản %s]"
 
 #, python-format
 msgid "[You may not read %s]"
@@ -123,10 +119,15 @@
 "somehow without saving it.''' A draft gets saved for you when you do a "
 "preview, cancel an edit or unsuccessfully save."
 msgstr ""
+"'''<<BR>>Bản nháp của bạn dựa trên phiên bản %(draft_rev)d (đã lưu %"
+"(draft_timestamp_str)s) có thể được nạp thay vì dùng phiên bản hiện tại %"
+"(page_rev)d bằng cách ấn nút nạp bản nháp - trong trường hợp bạn đã làm mất "
+"nội dung chỉnh sửa cuối mà chưa lưu nó.''' Một bản nháp được lưu cho bạn khi "
+"bạn thực hiện việc xem thử, hủy bỏ chỉnh sửa hoặc lưu không thành công."
 
 #, python-format
 msgid "Describe %s here."
-msgstr "Diễn giải %s ở đây."
+msgstr "Mô tả %s ở đây."
 
 msgid "Check Spelling"
 msgstr "Kiểm tra chính tả"
@@ -135,7 +136,7 @@
 msgstr "Lưu các thay đổi"
 
 msgid "Cancel"
-msgstr "Huỷ bỏ"
+msgstr "Hủy bỏ"
 
 #, python-format
 msgid ""
@@ -150,18 +151,17 @@
 "đổi."
 
 msgid "Preview"
-msgstr "Xem qua"
+msgstr "Xem thử"
 
 msgid "GUI Mode"
-msgstr ""
+msgstr "Chế độ GUI"
 
 msgid "Load Draft"
-msgstr ""
+msgstr "Nạp bản nháp"
 
 msgid "Trivial change"
 msgstr "Thay đổi nhỏ nhặt"
 
-#, fuzzy
 msgid "Comment:"
 msgstr "Chú thích"
 
@@ -170,21 +170,19 @@
 
 #, python-format
 msgid "Add to: %(category)s"
-msgstr ""
+msgstr "Thêm vào: %(category)s"
 
 msgid "Remove trailing whitespace from each line"
-msgstr "Xoá khoảng trắng ở cuối dòng"
+msgstr "Xóa khoảng trắng ở cuối mỗi dòng"
 
 msgid "Edit was cancelled."
-msgstr "Các chỉnh sửa đã bị huỷ."
-
-#, fuzzy
+msgstr "Các chỉnh sửa đã bị hủy bỏ."
+
 msgid "You can't copy to an empty pagename."
-msgstr "Bạn không thể lưu trang trắng."
-
-#, fuzzy
+msgstr "Bạn không thể sao chép tới một tên trang trống."
+
 msgid "You are not allowed to copy this page!"
-msgstr "Bạn không thể sửa trang này!"
+msgstr "Bạn không được phép sao chép trang này!"
 
 #, python-format
 msgid ""
@@ -194,58 +192,58 @@
 msgstr ""
 "'''Đã có trang {{{'%s'}}}.'''\n"
 "\n"
-"Vui lòng dùng tên khác."
+"Hãy thử dùng tên khác."
 
 #, python-format
 msgid "Could not copy page because of file system error: %s."
-msgstr ""
-
-#, fuzzy
+msgstr "Không thể sao chép trang vì lỗi hệ thống tập tin: %s."
+
 msgid "You are not allowed to rename this page!"
-msgstr "Bạn không thể hoàn nguyên phiên bản cũ của trang này!"
-
-#, fuzzy
+msgstr "Bạn không được phép đổi tên trang này!"
+
 msgid "You can't rename to an empty pagename."
-msgstr "Bạn không thể lưu trang trắng."
+msgstr "Bạn không thể đổi tên thành tên trang trống."
 
 #, python-format
 msgid "Could not rename page because of file system error: %s."
-msgstr ""
-
-#, fuzzy
+msgstr "Không thể đổi tên trang vì lỗi hệ thống tập tin: %s."
+
 msgid "You are not allowed to delete this page!"
-msgstr "Bạn không thể hoàn nguyên phiên bản cũ của trang này!"
+msgstr "Bạn không được phép xóa trang này!"
 
 msgid "Thank you for your changes. Your attention to detail is appreciated."
-msgstr "Cám ơn bạn vì những sửa đổi. Sự quan tâm của bạn rất được cảm kích."
+msgstr ""
+"Cảm ơn bạn đã tham gia sửa đổi. Sự quan tâm của bạn luôn được tôn trọng."
 
 #, python-format
 msgid "Page \"%s\" was successfully deleted!"
-msgstr "Trang \"%s\" đã được xoá!"
+msgstr "Trang \"%s\" đã được xóa!"
 
 #, python-format
 msgid "Page could not get locked. Unexpected error (errno=%d)."
-msgstr ""
+msgstr "Trang này không thể khóa được. Lỗi không mong đợi (errno=%d)."
 
 msgid "Page could not get locked. Missing 'current' file?"
-msgstr ""
+msgstr "Trang này không thể khóa được. Thiếu tập tin 'hiện tại'?"
 
 #, python-format
 msgid ""
 "Unable to determine current page revision from the 'current' file. The page %"
 "s is damaged and cannot be edited right now."
 msgstr ""
+"Không thể xác định phiên bản trang hiện tại từ tập tin 'hiện tại'. Trang %s "
+"đã bị hư hỏng và không thể chỉnh sửa vào lúc này."
 
 #, python-format
 msgid "Cannot save page %s, no storage space left."
-msgstr ""
+msgstr "Không thể lưu %s, không còn đủ dung lượng."
 
 #, python-format
 msgid "An I/O error occurred while saving page %s (errno=%d)"
-msgstr ""
+msgstr "Một lỗi I/O đã xảy ra khi đang lưu %s (errno=%d)"
 
 msgid "You are not allowed to edit this page!"
-msgstr "Bạn không thể sửa trang này!"
+msgstr "Bạn không được phép chỉnh sửa trang này!"
 
 msgid "You cannot save empty pages."
 msgstr "Bạn không thể lưu trang trắng."
@@ -357,7 +355,8 @@
 msgid "The theme name is not set."
 msgstr ""
 
-msgid "Installing theme files is only supported for standalone type servers."
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
 msgstr ""
 
 #, fuzzy, python-format
@@ -456,8 +455,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr ""
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr ""
 "Nội dung lưu của trang này đã lạc hậu và sẽ không được hiển thị trong kết "
@@ -1517,9 +1517,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "Trang chỉ dẫn"
@@ -1581,9 +1578,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
--- a/MoinMoin/i18n/zh-tw.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/zh-tw.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-06-14 22:44+0800\n"
 "Last-Translator: Rux Li <rux.li3@gmail.com>\n"
 "Language-Team: Chinese/Taiwan <moin-devel@lists.sourceforge.net>\n"
@@ -350,8 +350,9 @@
 msgid "The theme name is not set."
 msgstr "佈景主題的名稱尚未設定。"
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "只有獨立運作式 (standalone type) 的伺服器才能安裝佈景主題。"
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format
 msgid "Installation of '%(filename)s' failed."
@@ -448,8 +449,9 @@
 msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s"
 msgstr "正規表示式 \"%(regex)s\" 不合法: %(error)s"
 
+#, fuzzy
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
+"The backed up content of this page is deprecated and will rank lower in "
 "search results!"
 msgstr "建議你不要使用本頁的備份內容,備份不會出現在搜尋結果中!"
 
@@ -1488,9 +1490,6 @@
 msgid "HelpOnAccessControlLists"
 msgstr ""
 
-msgid "HelpOnAcl"
-msgstr ""
-
 #, fuzzy
 msgid "HelpOnActions"
 msgstr "說明"
@@ -1554,9 +1553,6 @@
 msgid "HelpOnMacros/EmbedObject"
 msgstr ""
 
-msgid "HelpOnMacros/ImageLink"
-msgstr ""
-
 msgid "HelpOnMacros/Include"
 msgstr ""
 
@@ -3346,6 +3342,10 @@
 msgid "anonymous"
 msgstr ""
 
+#~ msgid ""
+#~ "Installing theme files is only supported for standalone type servers."
+#~ msgstr "只有獨立運作式 (standalone type) 的伺服器才能安裝佈景主題。"
+
 #, fuzzy
 #~ msgid "InterWikiMap"
 #~ msgstr "Wiki 標記"
--- a/MoinMoin/i18n/zh.MoinMoin.po	Wed Jul 22 01:43:59 2009 -0400
+++ b/MoinMoin/i18n/zh.MoinMoin.po	Wed Jul 22 21:50:03 2009 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-04-19 23:09+0200\n"
+"POT-Creation-Date: 2009-07-10 10:24+0200\n"
 "PO-Revision-Date: 2008-10-06 11:09+0800\n"
 "Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n"
 "Language-Team: Chinese <moin-devel@lists.sourceforge.net>\n"
@@ -351,8 +351,9 @@
 msgid "The theme name is not set."
 msgstr "主题名未设置。"
 
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr "只有独立型服务器才支持安装主题文件。"
+#, python-format
+msgid "Theme files not installed! Write rights missing for %s."
+msgstr ""
 
 #, python-format</