changeset 1366:c3fcddbf0c51

merge with main
author Franz Pletz <fpletz AT franz-pletz DOT org>
date Fri, 18 Aug 2006 11:43:50 +0200
parents 5bf27a0740aa (current diff) c4f6af5ee295 (diff)
children 4c29aeea8bf7
files MoinMoin/formatter/text_html.py docs/CHANGES.config
diffstat 65 files changed, 6523 insertions(+), 3959 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Fri Aug 18 11:42:58 2006 +0200
+++ b/.hgignore	Fri Aug 18 11:43:50 2006 +0200
@@ -4,4 +4,5 @@
 sa
 cover
 testwiki
+wiki/underlay
 
--- a/MoinMoin/Page.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/Page.py	Fri Aug 18 11:43:50 2006 +0200
@@ -636,7 +636,8 @@
 
         return count
 
-    def getPageList(self, user=None, exists=1, filter=None):
+    def getPageList(self, user=None, exists=1, filter=None, include_underlay=True,
+                    return_objects=False):
         """ List user readable pages under current page
 
         Currently only request.rootpage is used to list pages, but if we
@@ -662,6 +663,9 @@
         @param user: the user requesting the pages (MoinMoin.user.User)
         @param filter: filter function
         @param exists: filter existing pages
+        @param include_underlay: determines if underlay pages are returned as well
+        @param return_objects: lets it return a list of Page objects instead of
+            names
         @rtype: list of unicode strings
         @return: user readable wiki page names
         """
@@ -684,7 +688,7 @@
 
                 cache[pagename] = None
 
-        if user or exists or filter:
+        if user or exists or filter or not include_underlay or return_objects:
             # Filter names
             pages = []
             for name in cache:
@@ -693,15 +697,24 @@
                 if filter and not filter(name):
                     continue
 
+                page = Page(request, name)
+
+                # Filter underlay pages
+                if not include_underlay and page.getPageStatus()[0]: # is an underlay page
+                    continue
+
                 # Filter deleted pages
-                if exists and not Page(request, name).exists():
+                if exists and not page.exists():
                     continue
 
                 # Filter out page user may not read.
                 if user and not user.may.read(name):
                     continue
 
-                pages.append(name)
+                if return_objects:
+                    pages.append(page)
+                else:
+                    pages.append(name)
         else:
             pages = cache.keys()
 
@@ -1649,7 +1662,7 @@
         try:
             lastRevision = self.getRevList()[0]
         except IndexError:
-            return security.AccessControlList(self.request)
+            return security.AccessControlList(self.request.cfg)
         body = Page(self.request, self.page_name,
                     rev=lastRevision).get_raw_body()
         return security.parseACL(self.request, body)
--- a/MoinMoin/PageEditor.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/PageEditor.py	Fri Aug 18 11:43:50 2006 +0200
@@ -808,6 +808,9 @@
 
         self.copypage()
 
+        # remember conflict state
+        self.setConflict(wikiutil.containsConflictMarker(text))
+
         # Write always on the standard directory, never change the
         # underlay directory copy!
         pagedir = self.getPagePath(use_underlay=0, check_create=0)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/_tests/test_newlocking.py	Fri Aug 18 11:43:50 2006 +0200
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+"""
+    MoinMoin - MoinMoin test for new style "locking" (== mostly avoid locking)
+
+    The idea is to not have to lock files when we just want to read them.
+    When we never overwrite file content with new stuff, locking is not needed.
+    We can just write the new content into a new file (with tmpfname) and then
+    rename it to the original filename. Files that opened the original filename
+    before the rename will still read old content after the rename (until they
+    are closed).
+
+    @copyright: 2006 by Thomas Waldmann (idea: Bastian Blank)
+    @license: GNU GPL, see COPYING for details.
+"""
+
+import unittest, tempfile, os, shutil
+from MoinMoin._tests import TestConfig, TestSkipped
+
+def rename(oldname, newname):
+    """ Multiplatform rename
+
+    Move to MoinMoin.util.filesys when done.
+
+    TODO:
+    Test/Fix win32 stuff.
+    
+    Check: MoveFileEx: If the new filename is None, it deletes the file (needs very recent pywin32 binding).
+           This is documented for the "on reboot" stuff, does this also work when not doing it on next reboot?
+           Maybe we can use this at another place.
+           
+    API doc: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/movefileex.asp
+    
+    Windows 95/98/ME do not implement MoveFileEx().
+    Either have some other working code or document we drop support for less-than-NT.
+    Document pywin32 extension dependency.
+
+    """
+    # this nt specific code should be replaced by better stuff
+    if os.name == 'nt':
+        # uses mark hammond's pywin32 extension
+        # there seems to be also stuff in win32api.MoveFileEx and win32con.MOVEFILE_REPLACE_EXISTING
+        # what's the difference to them in win32file?
+        from win32file import MoveFileEx, MOVEFILE_REPLACE_EXISTING
+        ret = MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING)
+        # If the function succeeds, the return value is nonzero.
+        # If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError.
+        if ret == 0:
+            raise OSError # emulate os.rename behaviour
+    else:
+        os.rename(oldname, newname) # rename has no return value, but raises OSError in case of failure
+
+
+class NewLockTests(unittest.TestCase):
+
+    def setUp(self):
+        self.test_dir = tempfile.mkdtemp('', 'lock_')
+
+    def tearDown(self):
+        shutil.rmtree(self.test_dir)
+
+    def testNoLockingForReading(self):
+        """ new locking: NoLockingForReading tests if files still work when filename is target of a rename """
+        fname = os.path.join(self.test_dir, 'readtest')
+        tmpfname = os.path.join(self.test_dir, '__readtest')
+        origdata = "precious content"
+        newdata = "new content"
+        f = file(fname, "w") ; f.write(origdata) ; f.close()
+        f = file(fname, "r")
+        ftmp = file(tmpfname, "w") ; ftmp.write(newdata) ; ftmp.close()
+        rename(tmpfname, fname)
+        read1data = f.read() ; f.close() # we should still get origdata here!
+        f = file(fname, "r") ; read2data = f.read() ; f.close() # we should newdata now.
+        self.failUnless(origdata == read1data and newdata == read2data, "got wrong data when reading")
+
--- a/MoinMoin/_tests/test_security.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/_tests/test_security.py	Fri Aug 18 11:43:50 2006 +0200
@@ -204,7 +204,7 @@
             "BadGuy:  "
             "All:read  "
             ]
-        acl = security.AccessControlList(self.request, acl_rights)
+        acl = security.AccessControlList(self.request.cfg, acl_rights)
 
         # Should apply these rights:
         users = (
--- a/MoinMoin/_tests/test_wikisync.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/_tests/test_wikisync.py	Fri Aug 18 11:43:50 2006 +0200
@@ -11,7 +11,7 @@
 from MoinMoin.PageEditor import PageEditor
 from MoinMoin._tests import TestConfig, TestSkipped
 
-from MoinMoin.wikisync import TagStore
+from MoinMoin.wikisync import TagStore, BOTH
 
 
 class UnsafeSyncTestcase(TestCase):
@@ -27,7 +27,7 @@
     def testBasicTagThings(self):
         tags = TagStore(self.page)
         self.assert_(not tags.get_all_tags())
-        tags.add(remote_wiki="foo", remote_rev=1, current_rev=2)
+        tags.add(remote_wiki="foo", remote_rev=1, current_rev=2, direction=BOTH, normalised_name="FrontPage")
         tags = TagStore(self.page) # reload
         self.assert_(tags.get_all_tags()[0].remote_rev == 1)
     
--- a/MoinMoin/action/SpellCheck.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/SpellCheck.py	Fri Aug 18 11:43:50 2006 +0200
@@ -99,7 +99,6 @@
 
 
 def _addLocalWords(request):
-    import types
     from MoinMoin.PageEditor import PageEditor
 
     # get the new words as a string (if any are marked at all)
--- a/MoinMoin/action/SyncPages.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/SyncPages.py	Fri Aug 18 11:43:50 2006 +0200
@@ -10,9 +10,7 @@
 
 import os
 import re
-import zipfile
 import xmlrpclib
-from datetime import datetime
 
 # Compatiblity to Python 2.3
 try:
@@ -26,238 +24,35 @@
 from MoinMoin.PageEditor import PageEditor, conflict_markers
 from MoinMoin.Page import Page
 from MoinMoin.wikidicts import Dict, Group
-from MoinMoin.wikisync import TagStore
+from MoinMoin.wikisync import TagStore, UnsupportedWikiException, SyncPage
+from MoinMoin.wikisync import MoinLocalWiki, MoinRemoteWiki, UP, DOWN, BOTH, MIMETYPE_MOIN
 from MoinMoin.util.bdiff import decompress, patch, compress, textdiff
 from MoinMoin.util import diff3
 
-# directions
-UP, DOWN, BOTH = range(3)
-directions_map = {"up": UP, "down": DOWN, "both": BOTH}
-
 
-def normalise_pagename(page_name, prefix):
-    if prefix:
-        if not page_name.startswith(prefix):
-            return None
-        else:
-            return page_name[len(prefix):]
-    else:
-        return page_name
+# map sync directions
+directions_map = {"up": UP, "down": DOWN, "both": BOTH}
 
 
 class ActionStatus(Exception): pass
 
-class UnsupportedWikiException(Exception): pass
-
-# XXX Move these classes to MoinMoin.wikisync
-class SyncPage(object):
-    """ This class represents a page in one or two wiki(s). """
-    def __init__(self, name, local_rev=None, remote_rev=None, local_name=None, remote_name=None):
-        self.name = name
-        self.local_rev = local_rev
-        self.remote_rev = remote_rev
-        self.local_name = local_name
-        self.remote_name = remote_name
-        assert local_rev or remote_rev
-        assert local_name or remote_name
-
-    def __repr__(self):
-        return repr("<Remote Page %r>" % unicode(self))
-
-    def __unicode__(self):
-        return u"%s<%r:%r>" % (self.name, self.local_rev, self.remote_rev)
-
-    def __lt__(self, other):
-        return self.name < other.name
-
-    def __hash__(self):
-        return hash(self.name)
-
-    def __eq__(self, other):
-        if not isinstance(other, SyncPage):
-            return false
-        return self.name == other.name
-
-    def add_missing_pagename(self, local, remote):
-        if self.local_name is None:
-            n_name = normalise_pagename(self.remote_name, remote.prefix)
-            assert n_name is not None
-            self.local_name = (local.prefix or "") + n_name
-        elif self.remote_name is None:
-            n_name = normalise_pagename(self.local_name, local.prefix)
-            assert n_name is not None
-            self.remote_name = (local.prefix or "") + n_name
-
-        return self # makes using list comps easier
-
-    def filter(cls, sp_list, func):
-        return [x for x in sp_list if func(x.name)]
-    filter = classmethod(filter)
-
-    def merge(cls, local_list, remote_list):
-        # map page names to SyncPage objects :-)
-        d = dict(zip(local_list, local_list))
-        for sp in remote_list:
-            if sp in d:
-                d[sp].remote_rev = sp.remote_rev
-                d[sp].remote_name = sp.remote_name
-            else:
-                d[sp] = sp
-        return d.keys()
-    merge = classmethod(merge)
-
-    def is_only_local(self):
-        return not self.remote_rev
-
-    def is_only_remote(self):
-        return not self.local_rev
-
-    def is_local_and_remote(self):
-        return self.local_rev and self.remote_rev
-
-    def iter_local_only(cls, sp_list):
-        for x in sp_list:
-            if x.is_only_local():
-                yield x
-    iter_local_only = classmethod(iter_local_only)
-
-    def iter_remote_only(cls, sp_list):
-        for x in sp_list:
-            if x.is_only_remote():
-                yield x
-    iter_remote_only = classmethod(iter_remote_only)
-
-    def iter_local_and_remote(cls, sp_list):
-        for x in sp_list:
-            if x.is_local_and_remote():
-                yield x
-    iter_local_and_remote = classmethod(iter_local_and_remote)
-
-class RemoteWiki(object):
-    """ This class should be the base for all implementations of remote wiki
-        classes. """
-
-    def __repr__(self):
-        """ Returns a representation of the instance for debugging purposes. """
-        return NotImplemented
-
-    def get_interwiki_name(self):
-        """ Returns the interwiki name of the other wiki. """
-        return NotImplemented
-
-    def get_iwid(self):
-        """ Returns the InterWiki ID. """
-        return NotImplemented
-
-    def get_pages(self):
-        """ Returns a list of SyncPage instances. """
-        return NotImplemented
-
-
-class MoinRemoteWiki(RemoteWiki):
-    """ Used for MoinMoin wikis reachable via XMLRPC. """
-    def __init__(self, request, interwikiname, prefix):
-        self.request = request
-        self.prefix = prefix
-        _ = self.request.getText
-
-        wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_wiki(self.request, '%s:""' % (interwikiname, ))
-        self.wiki_url = wikiutil.mapURL(self.request, wikiurl)
-        self.valid = not wikitag_bad
-        self.xmlrpc_url = self.wiki_url + "?action=xmlrpc2"
-        if not self.valid:
-            self.connection = None
-            return
-
-        self.connection = self.createConnection()
-
-        version = self.connection.getMoinVersion()
-        if not isinstance(version, (tuple, list)):
-            raise UnsupportedWikiException(_("The remote version of MoinMoin is too old, the version 1.6 is required at least."))
-
-        remote_interwikiname = self.get_interwiki_name()
-        remote_iwid = self.connection.interwikiName()[1]
-        self.is_anonymous = remote_interwikiname is None
-        if not self.is_anonymous and interwikiname != remote_interwikiname:
-            raise UnsupportedWikiException(_("The remote wiki uses a different InterWiki name (%(remotename)s)"
-                                             " internally than you specified (%(localname)s).") % {
-                "remotename": wikiutil.escape(remote_interwikiname), "localname": wikiutil.escape(interwikiname)})
-
-        if self.is_anonymous:
-            self.iwid_full = packLine([remote_iwid])
-        else:
-            self.iwid_full = packLine([remote_iwid, interwikiname])
-
-    def createConnection(self):
-        return xmlrpclib.ServerProxy(self.xmlrpc_url, allow_none=True, verbose=True)
-
-    # Public methods
-    def get_diff(self, pagename, from_rev, to_rev):
-        return str(self.connection.getDiff(pagename, from_rev, to_rev))
-
-    # Methods implementing the RemoteWiki interface
-    def get_interwiki_name(self):
-        return self.connection.interwikiName()[0]
-
-    def get_iwid(self):
-        return self.connection.interwikiName()[1]
-
-    def get_pages(self):
-        pages = self.connection.getAllPagesEx({"include_revno": True, "include_deleted": True})
-        rpages = []
-        for name, revno in pages:
-            normalised_name = normalise_pagename(name, self.prefix)
-            if normalised_name is None:
-                continue
-            rpages.append(SyncPage(normalised_name, remote_rev=revno, remote_name=name))
-        return rpages
-
-    def __repr__(self):
-        return "<MoinRemoteWiki wiki_url=%r valid=%r>" % (self.wiki_url, self.valid)
-
-
-class MoinLocalWiki(RemoteWiki):
-    """ Used for the current MoinMoin wiki. """
-    def __init__(self, request, prefix):
-        self.request = request
-        self.prefix = prefix
-
-    def getGroupItems(self, group_list):
-        """ Returns all page names that are listed on the page group_list. """
-        pages = []
-        for group_pagename in group_list:
-            pages.extend(Group(self.request, group_pagename).members())
-        return [self.createSyncPage(x) for x in pages]
-
-    def createSyncPage(self, page_name):
-        normalised_name = normalise_pagename(page_name, self.prefix)
-        if normalised_name is None:
-            return None
-        return SyncPage(normalised_name, local_rev=Page(self.request, page_name).get_real_rev(), local_name=page_name)
-
-    # Public methods:
-
-    # Methods implementing the RemoteWiki interface
-    def get_interwiki_name(self):
-        return self.request.cfg.interwikiname
-
-    def get_iwid(self):
-        return self.request.cfg.iwid
-
-    def get_pages(self):
-        return [x for x in [self.createSyncPage(x) for x in self.request.rootpage.getPageList(exists=0)] if x]
-
-    def __repr__(self):
-        return "<MoinLocalWiki>"
-
 
 class ActionClass:
+    INFO, WARN, ERROR = range(3) # used for logging
+
     def __init__(self, pagename, request):
         self.request = request
         self.pagename = pagename
         self.page = Page(request, pagename)
+        self.status = []
+        request.flush()
+
+    def log_status(self, level, message):
+        """ Appends the message with a given importance level to the internal log. """
+        self.status.append((level, message))
 
     def parse_page(self):
+        """ Parses the parameter page and returns the read arguments. """
         options = {
             "remotePrefix": "",
             "localPrefix": "",
@@ -276,7 +71,7 @@
         if options["groupList"] is not None:
             options["groupList"] = unpackLine(options["groupList"], ",")
 
-        options["direction"] = directions_map.get(options["direction"], BOTH)
+        options["direction"] = directions_map.get(options["direction"].lower(), BOTH)
 
         return options
 
@@ -287,7 +82,6 @@
         if params["pageList"] is not None:
             params["pageMatch"] = u'|'.join([r'^%s$' % re.escape(name)
                                              for name in params["pageList"]])
-            del params["pageList"]
 
         if params["pageMatch"] is not None:
             params["pageMatch"] = re.compile(params["pageMatch"], re.U)
@@ -295,6 +89,7 @@
         # we do not support matching or listing pages if there is a group of pages
         if params["groupList"]:
             params["pageMatch"] = None
+            params["pageList"] = None
 
         return params
 
@@ -308,15 +103,18 @@
         params = self.fix_params(self.parse_page())
 
         try:
+            if params["direction"] == UP:
+                raise ActionStatus(_("The only supported directions are BOTH and DOWN."))
+
             if not self.request.cfg.interwikiname:
                 raise ActionStatus(_("Please set an interwikiname in your wikiconfig (see HelpOnConfiguration) to be able to use this action."))
 
             if not params["remoteWiki"]:
                 raise ActionStatus(_("Incorrect parameters. Please supply at least the ''remoteWiki'' parameter."))
 
-            local = MoinLocalWiki(self.request, params["localPrefix"])
+            local = MoinLocalWiki(self.request, params["localPrefix"], params["pageList"])
             try:
-                remote = MoinRemoteWiki(self.request, params["remoteWiki"], params["remotePrefix"])
+                remote = MoinRemoteWiki(self.request, params["remoteWiki"], params["remotePrefix"], params["pageList"])
             except UnsupportedWikiException, (msg, ):
                 raise ActionStatus(msg)
 
@@ -325,15 +123,55 @@
 
             self.sync(params, local, remote)
         except ActionStatus, e:
-            return self.page.send_page(self.request, msg=u'<p class="error">%s</p>\n' % (e.args[0], ))
+            msg = u'<p class="error">%s</p><p>%s</p>\n' % (e.args[0], repr(self.status))
+        else:
+            msg = u"%s<p>%s</p>" % (_("Syncronisation finished."), repr(self.status))
 
-        return self.page.send_page(self.request, msg=_("Syncronisation finished."))
+        # XXX append self.status to the job page
+        return self.page.send_page(self.request, msg=msg)
     
     def sync(self, params, local, remote):
-        """ This method does the syncronisation work. """
+        """ This method does the syncronisation work.
+            Currently, it handles the case where the pages exist on both sides.
+            One of the major missing parts is rename handling.
+            Now there are a few other cases left that have to be implemented:
+                Wiki A    | Wiki B   | Remark
+                ----------+----------+------------------------------
+                exists    | deleted  | In this case, we do a normal merge if there
+                          |          | are no tags. If there were changes in
+                          |          | Wiki A, there is a merge with a conflict.
+                          |          | Otherwise (no changes past last merge),
+                          |          | the page is deleted in Wiki A.
+                          |          | This needs static info that could be
+                          |          | transferred with the pagelist.
+                ----------+----------+-------------------------------
+                exists    | non-     | Now the wiki knows that the page was renamed.
+                with tags | existant | There should be an RPC method that asks
+                          |          | for the new name (which could be recorded
+                          |          | on page rename). Then the page is
+                          |          | renamed in Wiki A as well and the sync
+                          |          | is done normally.
+                          |          | Every wiki retains a dict that maps
+                          |          | (IWID, oldname) => newname and that is
+                          |          | updated on every rename. oldname refers
+                          |          | to the pagename known by the old wiki (can be
+                          |          | gathered from tags).
+                ----------+----------+-------------------------------
+                exists    | any case | Try a rename search first, then
+                          |          | do a sync without considering tags
+                with tags | with non | to ensure data integrity.
+                          | matching | Hmm, how do we detect this
+                          | tags     | case if the unmatching tags are only on the remote side?
+                ----------+----------+-------------------------------
+                exists    | exists   | already handled.
+        """
+        _ = self.request.getText
+        direction = params["direction"]
+        local_full_iwid = packLine([local.get_iwid(), local.get_interwiki_name()])
+        remote_full_iwid = packLine([remote.get_iwid(), remote.get_interwiki_name()])
 
         l_pages = local.get_pages()
-        r_pages = remote.get_pages()
+        r_pages = remote.get_pages(exclude_non_writable=direction != DOWN)
 
         if params["groupList"]:
             pages_from_groupList = set(local.getGroupItems(params["groupList"]))
@@ -342,11 +180,11 @@
 
         m_pages = [elem.add_missing_pagename(local, remote) for elem in SyncPage.merge(l_pages, r_pages)]
 
-        print "Got %i local, %i remote pages, %i merged pages" % (len(l_pages), len(r_pages), len(m_pages))
-        
+        self.log_status(self.INFO, "Got %i local, %i remote pages, %i merged pages" % (len(l_pages), len(r_pages), len(m_pages))) # XXX remove?
+
         if params["pageMatch"]:
             m_pages = SyncPage.filter(m_pages, params["pageMatch"].match)
-        print "After filtering: Got %i merges pages" % (len(m_pages), )
+        self.log_status(self.INFO, "After filtering: Got %i merges pages" % (len(m_pages), )) # XXX remove
 
         on_both_sides = list(SyncPage.iter_local_and_remote(m_pages))
         remote_but_not_local = list(SyncPage.iter_remote_only(m_pages))
@@ -356,62 +194,136 @@
         #r_new_pages = u", ".join([unicode(x) for x in remote_but_not_local])
         #l_new_pages = u", ".join([unicode(x) for x in local_but_not_remote])
         #raise ActionStatus("These pages are in the remote wiki, but not local: " + wikiutil.escape(r_new_pages) + "<br>These pages are in the local wiki, but not in the remote one: " + wikiutil.escape(l_new_pages))
-        #if params["direction"] in (DOWN, BOTH):
-        #    for rp in remote_but_not_local:
 
         # let's do the simple case first, can be refactored later to match all cases
         # XXX handle deleted pages
         for rp in on_both_sides:
             # XXX add locking, acquire read-lock on rp
+            #print "Processing %r" % rp
 
-            current_page = Page(self.request, local_pagename)
+            local_pagename = rp.local_name
+            current_page = PageEditor(self.request, local_pagename) # YYY direct access
             current_rev = current_page.get_real_rev()
-            local_pagename = rp.local_pagename
 
             tags = TagStore(current_page)
-            matching_tags = tags.fetch(iwid_full=remote.iwid_full)
+            if direction == BOTH:
+                match_direction = direction
+            else:
+                match_direction = None
+            matching_tags = tags.fetch(iwid_full=remote.iwid_full,direction=match_direction)
             matching_tags.sort()
-
-            if not matching_tags:
-                remote_rev = None
-                local_rev = rp.local_rev # merge against the newest version
-                old_contents = ""
-            else:
-                newest_tag = matching_tags[-1]
-                local_rev = newest_tag.current_rev
-                remote_rev = newest_tag.remote_rev
-                if remote_rev == rp.remote_rev and local_rev == current_rev:
-                    continue # no changes done, next page
-                old_page = Page(self.request, local_pagename, rev=local_rev)
-                old_contents = old_page.get_raw_body_str()
+            #print "------ TAGS: " + repr(matching_tags) + repr(tags.tags)
 
-            diff_result = remote.get_diff(rp.remote_pagename, remote_rev, None)
-            is_remote_conflict = diff_result["conflict"]
-            assert diff_result["diffversion"] == 1
-            diff = diff_result["diff"]
-            current_remote_rev = diff_result["current"]
-
-            if remote_rev is None: # set the remote_rev for the case without any tags
-                remote_rev = current_remote_rev
-
-            new_contents = patch(old_contents, decompress(diff)).decode("utf-8")
-            old_contents = old_contents.encode("utf-8")
+            # some default values for non matching tags
+            normalised_name = None
+            remote_rev = None
+            local_rev = rp.local_rev # merge against the newest version
+            old_contents = ""
 
-            # here, the actual merge happens
-            verynewtext = diff3.text_merge(old_contents, new_contents, current_page.get_raw_body(), 1, *conflict_markers)
+            if matching_tags:
+                newest_tag = matching_tags[-1]
+                
+                # handle some cases where we cannot continue for this page
+                if newest_tag.remote_rev == rp.remote_rev and (direction == DOWN or newest_tag.current_rev == current_rev):
+                    continue # no changes done, next page
+                if rp.local_mime_type != MIMETYPE_MOIN and not (newest_tag.remote_rev == rp.remote_rev ^ newest_tag.current_rev == current_rev):
+                    self.log_status(ActionClass.WARN, _("The item %(pagename)s cannot be merged but was changed in both wikis. Please delete it in one of both wikis and try again.") % {"pagename": rp.name})
+                    continue
+                if rp.local_mime_type != rp.remote_mime_type:
+                    self.log_status(ActionClass.WARN, _("The item %(pagename)s has different mime types in both wikis and cannot be merged. Please delete it in one of both wikis or unify the mime type, and try again.") % {"pagename": rp.name})
+                    continue
+                if newest_tag.normalised_name != rp.name:
+                    self.log_status(ActionClass.WARN, _("The item %(pagename)s was renamed locally. This is not implemented yet. Therefore all syncronisation history is lost for this page.") % {"pagename": rp.name}) # XXX implement renames
+                else:
+                    normalised_name = newest_tag.normalised_name
+                    local_rev = newest_tag.current_rev
+                    remote_rev = newest_tag.remote_rev
+                    old_contents = Page(self.request, local_pagename, rev=newest_tag.current_rev).get_raw_body_str() # YYY direct access
 
-            new_local_rev = current_rev + 1 # XXX commit first?
-            local_full_iwid = packLine([local.get_iwid(), local.get_interwiki_name()])
-            remote_full_iwid = packLine([remote.get_iwid(), remote.get_interwiki_name()])
-            # XXX add remote conflict handling
-            very_current_remote_rev = remote.merge_diff(rp.remote_pagename, compress(textdiff(new_contents, verynewtext)), new_local_rev, remote_rev, current_remote_rev, local_full_iwid)
-            tags.add(remote_wiki=remote_full_iwid, remote_rev=very_current_remote_rev, current_rev=new_local_rev)
+            self.log_status(ActionClass.INFO, _("Synchronising page %(pagename)s with remote page %(remotepagename)s ...") % {"pagename": local_pagename, "remotepagename": rp.remote_name})
+
+            if direction == DOWN:
+                remote_rev = None # always fetch the full page, ignore remote conflict check
+                patch_base_contents = ""
+            else:
+                patch_base_contents = old_contents
+
+            if remote_rev != rp.remote_rev:
+                diff_result = remote.get_diff(rp.remote_name, remote_rev, None, normalised_name)
+                if diff_result is None:
+                    self.log_status(ActionClass.ERROR, _("The page %(pagename)s could not be synced. The remote page was renamed. This is not supported yet. You may want to delete one of the pages to get it synced.") % {"pagename": rp.remote_name})
+                    continue
+                is_remote_conflict = diff_result["conflict"]
+                assert diff_result["diffversion"] == 1
+                diff = diff_result["diff"]
+                current_remote_rev = diff_result["current"]
+            else:
+                current_remote_rev = remote_rev
+                if rp.local_mime_type == MIMETYPE_MOIN:
+                    is_remote_conflict = wikiutil.containsConflictMarker(old_contents.decode("utf-8"))
+                else:
+                    is_remote_conflict = NotImplemented
+                diff = None
+
+            # do not sync if the conflict is remote and local, or if it is local
+            # and the page has never been syncronised
+            if (rp.local_mime_type == MIMETYPE_MOIN and wikiutil.containsConflictMarker(current_page.get_raw_body())
+                and (remote_rev is None or is_remote_conflict)):
+                self.log_status(ActionClass.WARN, _("Skipped page %(pagename)s because of a locally or remotely unresolved conflict.") % {"pagename": local_pagename})
+                continue
+
+            if remote_rev is None and direction == BOTH:
+                self.log_status(ActionClass.INFO, _("This is the first synchronisation between this page and the remote wiki."))
+
+            if diff is None:
+                new_contents = old_contents
+            else:
+                new_contents = patch(patch_base_contents, decompress(diff))
+
+            if rp.local_mime_type == MIMETYPE_MOIN:
+                new_contents_unicode = new_contents.decode("utf-8")
+                # here, the actual merge happens
+                # XXX print "Merging %r, %r and %r" % (old_contents.decode("utf-8"), new_contents, current_page.get_raw_body())
+                verynewtext = diff3.text_merge(old_contents.decode("utf-8"), new_contents_unicode, current_page.get_raw_body(), 2, *conflict_markers)
+                verynewtext_raw = verynewtext.encode("utf-8")
+            else:
+                if diff is None:
+                    verynewtext_raw = new_contents
+                else:
+                    verynewtext_raw = current_page.get_raw_body_str()
+
+            diff = textdiff(new_contents, verynewtext_raw)
+            #print "Diff against %r" % new_contents.encode("utf-8")
+
             comment = u"Local Merge - %r" % (remote.get_interwiki_name() or remote.get_iwid())
+
+            # XXX upgrade to write lock
             try:
-                current_page.saveText(verynewtext, current_rev, comment=comment)
+                current_page.saveText(verynewtext, current_rev, comment=comment) # YYY direct access
+            except PageEditor.Unchanged:
+                pass
             except PageEditor.EditConflict:
                 assert False, "You stumbled on a problem with the current storage system - I cannot lock pages"
-            # XXX untested
+
+            new_local_rev = current_page.get_real_rev()
+
+            if direction == BOTH:
+                try:
+                    very_current_remote_rev = remote.merge_diff(rp.remote_name, compress(diff), new_local_rev, current_remote_rev, current_remote_rev, local_full_iwid, rp.name)
+                except Exception, e:
+                    raise # XXX rollback locally and do not tag locally
+            else:
+                very_current_remote_rev = current_remote_rev
+
+            tags.add(remote_wiki=remote_full_iwid, remote_rev=very_current_remote_rev, current_rev=new_local_rev, direction=direction, normalised_name=rp.name)
+
+            if rp.local_mime_type != MIMETYPE_MOIN or not wikiutil.containsConflictMarker(verynewtext):
+                self.log_status(ActionClass.INFO, _("Page successfully merged."))
+            else:
+                self.log_status(ActionClass.WARN, _("Page merged with conflicts."))
+
+            # XXX release lock
+
 
 def execute(pagename, request):
     ActionClass(pagename, request).render()
--- a/MoinMoin/action/edit.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/edit.py	Fri Aug 18 11:43:50 2006 +0200
@@ -135,8 +135,6 @@
     # Save new text
     else:
         try:
-            still_conflict = wikiutil.containsConflictMarker(savetext)
-            pg.setConflict(still_conflict)
             savemsg = pg.saveText(savetext, rev, trivial=trivial, comment=comment)
         except pg.EditConflict, e:
             msg = e.message
--- a/MoinMoin/action/fckdialog.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/fckdialog.py	Fri Aug 18 11:43:50 2006 +0200
@@ -228,7 +228,7 @@
     interwiki_list = wikiutil.load_wikimap(request)
     interwiki = interwiki_list.keys()
     interwiki.sort()
-    iwpreferred = request.cfg.interwiki_preferred
+    iwpreferred = request.cfg.interwiki_preferred[:]
     if not iwpreferred or iwpreferred and iwpreferred[-1] is not None:
         resultlist = iwpreferred
         for iw in interwiki:
--- a/MoinMoin/action/newpage.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/newpage.py	Fri Aug 18 11:43:50 2006 +0200
@@ -29,7 +29,7 @@
         @return: error message
         """
         _ = self.request.getText
-        need_replace = self.nametemplate.find('%s') != -1
+        need_replace = '%s' in self.nametemplate
         if not self.pagename and need_replace:
             return _("Cannot create a new page without a page name."
                      "  Please specify a page name.")
@@ -38,7 +38,7 @@
         # template variable
             repl = 'A@'
             i = 0
-            while self.nametemplate.find(repl) != -1:
+            while repl in self.nametemplate:
                 repl += ['#', '&', '$', 'x', 'X', ':', '@'][i]
                 i += 1
                 i = i % 7
--- a/MoinMoin/action/rss_rc.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/action/rss_rc.py	Fri Aug 18 11:43:50 2006 +0200
@@ -54,7 +54,7 @@
     for line in log.reverse():
         if not request.user.may.read(line.pagename):
             continue
-        if ((line.action[:4] != 'SAVE') or
+        if (not line.action.startswith('SAVE') or
             ((line.pagename in pages) and unique)): continue
         #if log.dayChanged() and log.daycount > _MAX_DAYS: break
         line.editor = line.getInterwikiEditorData(request)
--- a/MoinMoin/caching.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/caching.py	Fri Aug 18 11:43:50 2006 +0200
@@ -7,12 +7,14 @@
 """
 
 import os
-from MoinMoin import config
-from MoinMoin.util import filesys
+import warnings
 
-locking = 1
-if locking:
-    from MoinMoin.util import lock
+from MoinMoin import config
+from MoinMoin.util import filesys, lock
+
+# filter the tempname warning because we create the tempfile only in directories
+# where only we should have write access initially
+warnings.filterwarnings("ignore", "tempnam.*security", RuntimeWarning, "MoinMoin.caching")
 
 class CacheEntry:
     def __init__(self, request, arena, key, scope='page_or_wiki', do_locking=True):
@@ -28,6 +30,8 @@
                           'farm' - a cache for the whole farm
         """
         self.request = request
+        self.key = key
+        self.locking = do_locking
         if scope == 'page_or_wiki': # XXX DEPRECATED, remove later
             if isinstance(arena, str):
                 self.arena_dir = os.path.join(request.cfg.cache_dir, request.cfg.siteid, arena)
@@ -43,16 +47,17 @@
         elif scope == 'farm':
             self.arena_dir = os.path.join(request.cfg.cache_dir, '__common__', arena)
             filesys.makeDirs(self.arena_dir)
-        self.key = key
-        self.locking = do_locking and locking
         if self.locking:
             self.lock_dir = os.path.join(self.arena_dir, '__lock__')
-            self.rlock = lock.ReadLock(self.lock_dir, 60.0)
-            self.wlock = lock.WriteLock(self.lock_dir, 60.0)
+            self.rlock = lock.LazyReadLock(self.lock_dir, 60.0)
+            self.wlock = lock.LazyWriteLock(self.lock_dir, 60.0)
 
     def _filename(self):
         return os.path.join(self.arena_dir, self.key)
 
+    def _tmpfilename(self):
+        return os.tempnam(self.arena_dir, self.key)
+
     def exists(self):
         return os.path.exists(self._filename())
 
@@ -85,10 +90,15 @@
         return needsupdate
 
     def copyto(self, filename):
+        # currently unused function
         import shutil
+        tmpfname = self._tmpfilename()
+        fname = self._filename()
         if not self.locking or self.locking and self.wlock.acquire(1.0):
             try:
-                shutil.copyfile(filename, self._filename())
+                shutil.copyfile(filename, tmpfname)
+                # this is either atomic or happening with real locks set:
+                filesys.rename(tmpfname, fname)
                 try:
                     os.chmod(self._filename(), 0666 & config.umask)
                 except OSError:
@@ -100,15 +110,22 @@
             self.request.log("Can't acquire write lock in %s" % self.lock_dir)
 
     def update(self, content, encode=False):
+        tmpfname = self._tmpfilename()
+        fname = self._filename()
         if encode:
             content = content.encode(config.charset)
         if not self.locking or self.locking and self.wlock.acquire(1.0):
             try:
-                f = open(self._filename(), 'wb')
+                # we do not write content to old inode, but to a new file
+                # se we don't need to lock when we just want to read the file
+                # (at least on POSIX, this works)
+                f = open(tmpfname, 'wb')
                 f.write(content)
                 f.close()
+                # this is either atomic or happening with real locks set:
+                filesys.rename(tmpfname, fname)
                 try:
-                    os.chmod(self._filename(), 0666 & config.umask)
+                    os.chmod(fname, 0666 & config.umask)
                 except OSError:
                     pass
             finally:
@@ -118,10 +135,17 @@
             self.request.log("Can't acquire write lock in %s" % self.lock_dir)
 
     def remove(self):
-        try:
-            os.remove(self._filename())
-        except OSError:
-            pass
+        if not self.locking or self.locking and self.wlock.acquire(1.0):
+            try:
+                try:
+                    os.remove(self._filename())
+                except OSError:
+                    pass
+            finally:
+                if self.locking:
+                    self.wlock.release()
+        else:
+            self.request.log("Can't acquire write lock in %s" % self.lock_dir)
 
     def content(self, decode=False):
         if not self.locking or self.locking and self.rlock.acquire(1.0):
--- a/MoinMoin/config/multiconfig.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/config/multiconfig.py	Fri Aug 18 11:43:50 2006 +0200
@@ -15,6 +15,7 @@
 from MoinMoin import error, util, wikiutil
 import MoinMoin.auth as authmodule
 from MoinMoin.packages import packLine
+from MoinMoin.security import AccessControlList
 
 _url_re_cache = None
 _farmconfig_mtime = None
@@ -557,6 +558,10 @@
         # Cache variables for the properties below
         self._iwid = self._iwid_full = self._meta_dict = None
 
+        self._acl_rights_before = AccessControlList(self, [self.acl_rights_before])
+        self._acl_rights_default = AccessControlList(self, [self.acl_rights_default])
+        self._acl_rights_after = AccessControlList(self, [self.acl_rights_after])
+
     def load_meta_dict(self):
         """ The meta_dict contains meta data about the wiki instance. """
         if getattr(self, "_meta_dict", None) is None:
--- a/MoinMoin/filter/EXIF.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/filter/EXIF.py	Fri Aug 18 11:43:50 2006 +0200
@@ -1004,7 +1004,7 @@
             return
 
         # Olympus
-        if make[:7] == 'OLYMPUS':
+        if make.startswith('OLYMPUS'):
             self.dump_IFD(note.field_offset+8, 'MakerNote',
                           dict=MAKERNOTE_OLYMPUS_TAGS)
             return
--- a/MoinMoin/formatter/__init__.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/__init__.py	Fri Aug 18 11:43:50 2006 +0200
@@ -7,12 +7,13 @@
     @copyright: 2000-2004 by Jrgen Hermann <jh@web.de>
     @license: GNU GPL, see COPYING for details.
 """
+import re
+
 from MoinMoin.util import pysupport
+from MoinMoin import wikiutil
 
 modules = pysupport.getPackageModules(__file__)
 
-from MoinMoin import wikiutil
-import re, types
 
 class FormatterBase:
     """ This defines the output interface used all over the rest of the code.
@@ -37,7 +38,7 @@
         self._base_depth = 0
 
     def set_highlight_re(self, hi_re=None):
-        if type(hi_re) in [types.StringType, types.UnicodeType]:
+        if isinstance(hi_re, (str, unicode)):
             try:
                 self._highlight_re = re.compile(hi_re, re.U + re.IGNORECASE)
             except re.error:
@@ -96,7 +97,7 @@
         """
         wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_wiki(self.request, '%s:"%s"' % (interwiki, pagename))
         if wikitag == 'Self' or wikitag == self.request.cfg.interwikiname:
-            if wikitail.find('#') > -1:
+            if '#' in wikitail:
                 wikitail, kw['anchor'] = wikitail.split('#', 1)
                 wikitail = wikiutil.url_unquote(wikitail)
             return self.pagelink(on, wikitail, **kw)
@@ -295,7 +296,7 @@
         return macro_obj.execute(name, args)
 
     def _get_bang_args(self, line):
-        if line[:2] == '#!':
+        if line.startswith('#!'):
             try:
                 name, args = line[2:].split(None, 1)
             except ValueError:
--- a/MoinMoin/formatter/dom_xml.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/dom_xml.py	Fri Aug 18 11:43:50 2006 +0200
@@ -191,7 +191,7 @@
         return self._set_tag('lang', on, value=lang_name)
 
     def pagelink(self, on, pagename='', page=None, **kw):
-        apply(FormatterBase.pagelink, (self, pagename, page), kw)
+        FormatterBase.pagelink(self, pagename, page, **kw)
         if not pagename and page is not None:
             pagename = page.page_name
         kw['pagename'] = pagename
--- a/MoinMoin/formatter/text_gedit.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/text_gedit.py	Fri Aug 18 11:43:50 2006 +0200
@@ -40,7 +40,7 @@
 
             See wikiutil.link_tag() for possible keyword parameters.
         """
-        apply(FormatterBase.pagelink, (self, on, pagename, page), kw)
+        FormatterBase.pagelink(self, on, pagename, page, **kw)
         if page is None:
             page = Page(self.request, pagename, formatter=self)
         return page.link_to(self.request, on=on, **kw)
--- a/MoinMoin/formatter/text_html.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/text_html.py	Fri Aug 18 11:43:50 2006 +0200
@@ -178,7 +178,7 @@
     indentspace = ' '
 
     def __init__(self, request, **kw):
-        apply(FormatterBase.__init__, (self, request), kw)
+        FormatterBase.__init__(self, request, **kw)
 
         # inline tags stack. When an inline tag is called, it goes into
         # the stack. When a block element starts, all inline tags in
@@ -489,7 +489,7 @@
 
             See wikiutil.link_tag() for possible keyword parameters.
         """
-        apply(FormatterBase.pagelink, (self, on, pagename, page), kw)
+        FormatterBase.pagelink(self, on, pagename, page, **kw)
         if page is None:
             page = Page(self.request, pagename, formatter=self)
         if self.request.user.show_nonexist_qm and on and not page.exists():
@@ -511,13 +511,13 @@
         wikiurl = wikiutil.mapURL(self.request, wikiurl)
         if wikitag == 'Self': # for own wiki, do simple links
             if on:
-                if wikitail.find('#') > -1:
+                if '#' in wikitail:
                     wikitail, kw['anchor'] = wikitail.split('#', 1)
                 wikitail = wikiutil.url_unquote(wikitail)
                 try: # XXX this is the only place where we access self.page - do we need it? Crashes silently on actions!
-                    return apply(self.pagelink, (on, wikiutil.AbsPageName(self.request, self.page.page_name, wikitail)), kw)
+                    return self.pagelink(on, wikiutil.AbsPageName(self.request, self.page.page_name, wikitail), **kw)
                 except:
-                    return apply(self.pagelink, (on, wikitail), kw)
+                    return self.pagelink(on, wikitail, **kw)
             else:
                 return self.pagelink(0)
         else: # return InterWiki hyperlink
--- a/MoinMoin/formatter/text_plain.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/text_plain.py	Fri Aug 18 11:43:50 2006 +0200
@@ -16,7 +16,7 @@
     hardspace = u' '
 
     def __init__(self, request, **kw):
-        apply(FormatterBase.__init__, (self, request), kw)
+        FormatterBase.__init__(self, request, **kw)
         self._in_code_area = 0
         self._in_code_line = 0
         self._code_area_state = [0, -1, -1, 0]
@@ -36,7 +36,7 @@
         return (u'\n\n*** ', u' ***\n\n')[not on]
 
     def pagelink(self, on, pagename='', page=None, **kw):
-        apply(FormatterBase.pagelink, (self, on, pagename, page), kw)
+        FormatterBase.pagelink(self, on, pagename, page, **kw)
         return (u">>", u"<<") [not on]
 
     def interwikilink(self, on, interwiki='', pagename='', **kw):
--- a/MoinMoin/formatter/text_xml.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/formatter/text_xml.py	Fri Aug 18 11:43:50 2006 +0200
@@ -19,7 +19,7 @@
     hardspace = '&nbsp;'
 
     def __init__(self, request, **kw):
-        apply(FormatterBase.__init__, (self, request), kw)
+        FormatterBase.__init__(self, request, **kw)
         self._current_depth = 1
         self._base_depth = 0
         self.in_pre = 0
@@ -49,7 +49,7 @@
         return '<![CDATA[' + markup.replace(']]>', ']]>]]&gt;<![CDATA[') + ']]>'
 
     def pagelink(self, on, pagename='', page=None, **kw):
-        apply(FormatterBase.pagelink, (self, on, pagename, page), kw)
+        FormatterBase.pagelink(self, on, pagename, page, **kw)
         if page is None:
             page = Page(self.request, pagename, formatter=self)
         return page.link_to(self.request, on=on, **kw)
@@ -202,7 +202,7 @@
         for key, value in kw.items():
             if key in valid_attrs:
                 attrs[key] = value
-        return apply(FormatterBase.image, (self,), attrs) + '</img>'
+        return FormatterBase.image(self, **attrs) + '</img>'
 
     def code_area(self, on, code_id, code_type='code', show=0, start=-1, step=-1):
         return ('<codearea id="%s">' % code_id, '</codearea')[not on]
--- a/MoinMoin/i18n/MoinMoin.pot	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/MoinMoin.pot	Fri Aug 18 11:43:50 2006 +0200
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-07-17 12:27+0200\n"
+"POT-Creation-Date: 2006-08-15 20:45+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"
@@ -17,37 +17,150 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 msgid ""
-"The backed up content of this page is deprecated and will not be included in "
-"search results!"
+"This wiki is not enabled for mail processing.\n"
+"Contact the owner of the wiki, who can enable email."
+msgstr ""
+
+msgid "Please provide a valid email address!"
 msgstr ""
 
 #, python-format
-msgid "Revision %(rev)d as of %(date)s"
+msgid "Found no account matching the given email address '%(email)s'!"
 msgstr ""
 
-#, python-format
-msgid "Redirected from page \"%(page)s\""
+msgid "Use UserPreferences to change your settings or create an account."
 msgstr ""
 
-#, python-format
-msgid "This page redirects to page \"%(page)s\""
+msgid "Empty user name. Please enter a user name."
 msgstr ""
 
 #, python-format
 msgid ""
-"~-If you submit this form, the submitted values will be displayed.\n"
-"To use this form on other pages, insert a\n"
-"[[BR]][[BR]]'''{{{    [[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
-"macro call.-~\n"
+"Invalid user name {{{'%s'}}}.\n"
+"Name may contain any Unicode alpha numeric character, with optional one\n"
+"space between words. Group page name is not allowed."
 msgstr ""
 
-msgid "Create New Page"
+msgid "This user name already belongs to somebody else."
 msgstr ""
 
-msgid "You are not allowed to view this page."
+msgid "Passwords don't match!"
 msgstr ""
 
-msgid "Your changes are not saved!"
+msgid "Please specify a password!"
+msgstr ""
+
+msgid ""
+"Please provide your email address. If you lose your login information, you "
+"can get it by email."
+msgstr ""
+
+msgid "This email already belongs to somebody else."
+msgstr ""
+
+msgid "User account created! You can use this account to login now..."
+msgstr ""
+
+msgid "Use UserPreferences to change settings of the selected user account"
+msgstr ""
+
+#, python-format
+msgid "The theme '%(theme_name)s' could not be loaded!"
+msgstr ""
+
+msgid "User preferences saved!"
+msgstr ""
+
+msgid "Default"
+msgstr ""
+
+msgid "<Browser setting>"
+msgstr ""
+
+msgid "the one preferred"
+msgstr ""
+
+msgid "free choice"
+msgstr ""
+
+msgid "Select User"
+msgstr ""
+
+msgid "Save"
+msgstr ""
+
+msgid "Cancel"
+msgstr ""
+
+msgid "Preferred theme"
+msgstr ""
+
+msgid "Editor Preference"
+msgstr ""
+
+msgid "Editor shown on UI"
+msgstr ""
+
+msgid "Time zone"
+msgstr ""
+
+msgid "Your time is"
+msgstr ""
+
+msgid "Server time is"
+msgstr ""
+
+msgid "Date format"
+msgstr ""
+
+msgid "Preferred language"
+msgstr ""
+
+msgid "General options"
+msgstr ""
+
+msgid "Quick links"
+msgstr ""
+
+msgid "This list does not work, unless you have entered a valid email address!"
+msgstr ""
+
+msgid "Subscribed wiki pages (one regex per line)"
+msgstr ""
+
+msgid "Create Profile"
+msgstr ""
+
+msgid "Mail me my account data"
+msgstr ""
+
+msgid "Email"
+msgstr ""
+
+#, python-format
+msgid ""
+"To create an account or recover a lost password, see the %(userprefslink)s "
+"page."
+msgstr ""
+
+msgid "Name"
+msgstr ""
+
+msgid "Password"
+msgstr ""
+
+msgid "Login"
+msgstr ""
+
+msgid "Action"
+msgstr ""
+
+#, python-format
+msgid "Expected \"=\" to follow \"%(token)s\""
+msgstr ""
+
+#, python-format
+msgid "Expected a value for key \"%(token)s\""
 msgstr ""
 
 msgid "You are not allowed to edit this page."
@@ -62,9 +175,6 @@
 msgid "The lock you held timed out. Be prepared for editing conflicts!"
 msgstr ""
 
-msgid "Page name is too long, try shorter name."
-msgstr ""
-
 #, python-format
 msgid "Edit \"%(pagename)s\""
 msgstr ""
@@ -118,9 +228,6 @@
 msgid "Save Changes"
 msgstr ""
 
-msgid "Cancel"
-msgstr ""
-
 #, python-format
 msgid ""
 "By hitting '''%(save_button_text)s''' you put your changes under the %"
@@ -132,7 +239,7 @@
 msgid "Preview"
 msgstr ""
 
-msgid "GUI Mode"
+msgid "Text mode"
 msgstr ""
 
 msgid "Comment:"
@@ -151,6 +258,62 @@
 msgid "Remove trailing whitespace from each line"
 msgstr ""
 
+msgid ""
+"The remote version of MoinMoin is too old, the version 1.6 is required at "
+"least."
+msgstr ""
+
+#, python-format
+msgid ""
+"The remote wiki uses a different InterWiki name (%(remotename)s) internally "
+"than you specified (%(localname)s)."
+msgstr ""
+
+#, python-format
+msgid "The package needs a newer version of MoinMoin (at least %s)."
+msgstr ""
+
+msgid "The theme name is not set."
+msgstr ""
+
+msgid "Installing theme files is only supported for standalone type servers."
+msgstr ""
+
+#, python-format
+msgid "Installation of '%(filename)s' failed."
+msgstr ""
+
+#, python-format
+msgid "The file %s is not a MoinMoin package file."
+msgstr ""
+
+#, python-format
+msgid "The page %s does not exist."
+msgstr ""
+
+msgid "Invalid package file header."
+msgstr ""
+
+msgid "Package file format unsupported."
+msgstr ""
+
+#, python-format
+msgid "Unknown function %(func)s in line %(lineno)i."
+msgstr ""
+
+#, python-format
+msgid "The file %s was not found in the package."
+msgstr ""
+
+msgid "Your changes are not saved!"
+msgstr ""
+
+msgid "Page name is too long, try shorter name."
+msgstr ""
+
+msgid "GUI Mode"
+msgstr ""
+
 msgid "Edit was cancelled."
 msgstr ""
 
@@ -287,9 +450,6 @@
 msgid "<unknown>"
 msgstr ""
 
-msgid "Text mode"
-msgstr ""
-
 #, python-format
 msgid ""
 "Login Name: %s\n"
@@ -315,6 +475,665 @@
 msgstr ""
 
 msgid ""
+"The backed up content of this page is deprecated and will not be included in "
+"search results!"
+msgstr ""
+
+#, python-format
+msgid "Revision %(rev)d as of %(date)s"
+msgstr ""
+
+#, python-format
+msgid "Redirected from page \"%(page)s\""
+msgstr ""
+
+#, python-format
+msgid "This page redirects to page \"%(page)s\""
+msgstr ""
+
+#, python-format
+msgid ""
+"~-If you submit this form, the submitted values will be displayed.\n"
+"To use this form on other pages, insert a\n"
+"[[BR]][[BR]]'''{{{    [[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
+"macro call.-~\n"
+msgstr ""
+
+msgid "Create New Page"
+msgstr ""
+
+msgid "You are not allowed to view this page."
+msgstr ""
+
+#, python-format
+msgid ""
+"Results %(bs)s%(hitsFrom)d - %(hitsTo)d%(be)s of %(aboutHits)s %(bs)s%(hits)d"
+"%(be)s results out ofabout %(pages)d pages."
+msgstr ""
+
+msgid "seconds"
+msgstr ""
+
+msgid "Previous"
+msgstr ""
+
+msgid "Next"
+msgstr ""
+
+msgid "current"
+msgstr ""
+
+msgid "match"
+msgstr ""
+
+msgid "matches"
+msgstr ""
+
+msgid "Go To Page"
+msgstr ""
+
+msgid "Include system pages"
+msgstr ""
+
+msgid "Exclude system pages"
+msgstr ""
+
+#, python-format
+msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
+msgstr ""
+
+#, python-format
+msgid "ERROR in regex '%s'"
+msgstr ""
+
+#, python-format
+msgid "Bad timestamp '%s'"
+msgstr ""
+
+#, python-format
+msgid "Unsupported navigation scheme '%(scheme)s'!"
+msgstr ""
+
+msgid "No parent page found!"
+msgstr ""
+
+msgid "Wiki"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "Slideshow"
+msgstr ""
+
+msgid "Start"
+msgstr ""
+
+#, python-format
+msgid "Slide %(pos)d of %(size)d"
+msgstr ""
+
+msgid "Search Titles"
+msgstr ""
+
+msgid "Display context of search results"
+msgstr ""
+
+msgid "Case-sensitive searching"
+msgstr ""
+
+msgid "Search Text"
+msgstr ""
+
+#, python-format
+msgid "Upload new attachment \"%(filename)s\""
+msgstr ""
+
+#, python-format
+msgid "Invalid MonthCalendar calparms \"%s\"!"
+msgstr ""
+
+#, python-format
+msgid "Invalid MonthCalendar arguments \"%s\"!"
+msgstr ""
+
+msgid "No orphaned pages in this wiki."
+msgstr ""
+
+msgid "Python Version"
+msgstr ""
+
+msgid "MoinMoin Version"
+msgstr ""
+
+#, python-format
+msgid "Release %s [Revision %s]"
+msgstr ""
+
+msgid "4Suite Version"
+msgstr ""
+
+msgid "Number of pages"
+msgstr ""
+
+msgid "Number of system pages"
+msgstr ""
+
+msgid "Accumulated page sizes"
+msgstr ""
+
+#, python-format
+msgid "Disk usage of %(data_dir)s/pages/"
+msgstr ""
+
+#, python-format
+msgid "Disk usage of %(data_dir)s/"
+msgstr ""
+
+msgid "Entries in edit log"
+msgstr ""
+
+msgid "NONE"
+msgstr ""
+
+msgid "Global extension macros"
+msgstr ""
+
+msgid "Local extension macros"
+msgstr ""
+
+msgid "Global extension actions"
+msgstr ""
+
+msgid "Local extension actions"
+msgstr ""
+
+msgid "Global parsers"
+msgstr ""
+
+msgid "Local extension parsers"
+msgstr ""
+
+msgid "Disabled"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
+msgid "index available"
+msgstr ""
+
+msgid "index unavailable"
+msgstr ""
+
+#, python-format
+msgid "last modified: %s"
+msgstr ""
+
+msgid "N/A"
+msgstr ""
+
+msgid "Xapian search"
+msgstr ""
+
+msgid "Xapian stemming"
+msgstr ""
+
+msgid "Active threads"
+msgstr ""
+
+#, python-format
+msgid "No quotes on %(pagename)s."
+msgstr ""
+
+#, python-format
+msgid "Upload of attachment '%(filename)s'."
+msgstr ""
+
+#, python-format
+msgid "Attachment '%(filename)s' deleted."
+msgstr ""
+
+#, python-format
+msgid "Drawing '%(filename)s' saved."
+msgstr ""
+
+#, python-format
+msgid "Revert to revision %(rev)d."
+msgstr ""
+
+#, python-format
+msgid "%(mins)dm ago"
+msgstr ""
+
+msgid "(no bookmark set)"
+msgstr ""
+
+#, python-format
+msgid "(currently set to %s)"
+msgstr ""
+
+msgid "Delete Bookmark"
+msgstr ""
+
+msgid "Set bookmark"
+msgstr ""
+
+msgid "set bookmark"
+msgstr ""
+
+msgid "[Bookmark reached]"
+msgstr ""
+
+#, python-format
+msgid "Invalid include arguments \"%s\"!"
+msgstr ""
+
+#, python-format
+msgid "Nothing found for \"%s\"!"
+msgstr ""
+
+msgid "edit"
+msgstr ""
+
+msgid "Contents"
+msgstr ""
+
+msgid "You need to provide a chart type!"
+msgstr ""
+
+#, python-format
+msgid "Bad chart type \"%s\"!"
+msgstr ""
+
+msgid "Markup"
+msgstr ""
+
+msgid "Display"
+msgstr ""
+
+msgid "No wanted pages in this wiki."
+msgstr ""
+
+#, python-format
+msgid "Connection to mailserver '%(server)s' failed: %(reason)s"
+msgstr ""
+
+msgid "Mail not sent"
+msgstr ""
+
+msgid "Mail sent OK"
+msgstr ""
+
+msgid "XSLT option disabled, please look at HelpOnConfiguration."
+msgstr ""
+
+msgid "XSLT processing is not available, please install 4suite 1.x."
+msgstr ""
+
+#, python-format
+msgid "%(errortype)s processing error"
+msgstr ""
+
+#, python-format
+msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
+msgstr ""
+
+#, python-format
+msgid "Expected an integer \"%(key)s\" before \"%(token)s\""
+msgstr ""
+
+#, python-format
+msgid "Expected an integer \"%(arg)s\" after \"%(key)s\""
+msgstr ""
+
+#, python-format
+msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
+msgstr ""
+
+msgid ""
+"Rendering of reStructured text is not possible, please install Docutils."
+msgstr ""
+
+msgid "**Maximum number of allowed includes exceeded**"
+msgstr ""
+
+#, python-format
+msgid "**Could not find the referenced page: %s**"
+msgstr ""
+
+#, python-format
+msgid "Create new drawing \"%(filename)s\""
+msgstr ""
+
+#, python-format
+msgid "Edit drawing %(filename)s"
+msgstr ""
+
+msgid "Toggle line numbers"
+msgstr ""
+
+msgid "Line"
+msgstr ""
+
+msgid "No differences found!"
+msgstr ""
+
+msgid "Deletions are marked like this."
+msgstr ""
+
+msgid "Additions are marked like this."
+msgstr ""
+
+#, python-format
+msgid ""
+"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
+msgstr ""
+
+msgid "Page"
+msgstr ""
+
+msgid "User"
+msgstr ""
+
+msgid "Diffs"
+msgstr ""
+
+msgid "Info"
+msgstr ""
+
+msgid "Unsubscribe"
+msgstr ""
+
+msgid "Subscribe"
+msgstr ""
+
+msgid "Raw"
+msgstr ""
+
+msgid "XML"
+msgstr ""
+
+msgid "Print"
+msgstr ""
+
+msgid "View"
+msgstr ""
+
+msgid "Home"
+msgstr ""
+
+msgid "Up"
+msgstr ""
+
+msgid "[RSS]"
+msgstr ""
+
+msgid "[DELETED]"
+msgstr ""
+
+msgid "[UPDATED]"
+msgstr ""
+
+msgid "[NEW]"
+msgstr ""
+
+msgid "[DIFF]"
+msgstr ""
+
+msgid "[BOTTOM]"
+msgstr ""
+
+msgid "[TOP]"
+msgstr ""
+
+msgid "Click to do a full-text search for this title"
+msgstr ""
+
+msgid "Preferences"
+msgstr ""
+
+msgid "Logout"
+msgstr ""
+
+msgid "Clear message"
+msgstr ""
+
+#, python-format
+msgid "last edited %(time)s by %(editor)s"
+msgstr ""
+
+#, python-format
+msgid "last modified %(time)s"
+msgstr ""
+
+msgid "Search:"
+msgstr ""
+
+msgid "Text"
+msgstr ""
+
+msgid "Titles"
+msgstr ""
+
+msgid "Search"
+msgstr ""
+
+msgid "More Actions:"
+msgstr ""
+
+msgid "------------"
+msgstr ""
+
+msgid "Raw Text"
+msgstr ""
+
+msgid "Print View"
+msgstr ""
+
+msgid "Delete Cache"
+msgstr ""
+
+msgid "Rename Page"
+msgstr ""
+
+msgid "Delete Page"
+msgstr ""
+
+msgid "Like Pages"
+msgstr ""
+
+msgid "Local Site Map"
+msgstr ""
+
+msgid "My Pages"
+msgstr ""
+
+msgid "Subscribe User"
+msgstr ""
+
+msgid "Remove Spam"
+msgstr ""
+
+msgid "Package Pages"
+msgstr ""
+
+msgid "Render as Docbook"
+msgstr ""
+
+msgid "Do"
+msgstr ""
+
+msgid "Edit (Text)"
+msgstr ""
+
+msgid "Edit (GUI)"
+msgstr ""
+
+msgid "Immutable Page"
+msgstr ""
+
+msgid "Remove Link"
+msgstr ""
+
+msgid "Add Link"
+msgstr ""
+
+msgid "Attachments"
+msgstr ""
+
+#, python-format
+msgid "Show %s days."
+msgstr ""
+
+msgid "Wiki Markup"
+msgstr ""
+
+msgid "DeleteCache"
+msgstr ""
+
+#, python-format
+msgid "(cached %s)"
+msgstr ""
+
+msgid "Or try one of these actions:"
+msgstr ""
+
+msgid "FrontPage"
+msgstr ""
+
+msgid "RecentChanges"
+msgstr ""
+
+msgid "TitleIndex"
+msgstr ""
+
+msgid "WordIndex"
+msgstr ""
+
+msgid "FindPage"
+msgstr ""
+
+msgid "SiteNavigation"
+msgstr ""
+
+msgid "HelpContents"
+msgstr ""
+
+msgid "HelpOnFormatting"
+msgstr ""
+
+msgid "UserPreferences"
+msgstr ""
+
+msgid "WikiLicense"
+msgstr ""
+
+msgid "MissingPage"
+msgstr ""
+
+msgid "MissingHomePage"
+msgstr ""
+
+msgid "Mon"
+msgstr ""
+
+msgid "Tue"
+msgstr ""
+
+msgid "Wed"
+msgstr ""
+
+msgid "Thu"
+msgstr ""
+
+msgid "Fri"
+msgstr ""
+
+msgid "Sat"
+msgstr ""
+
+msgid "Sun"
+msgstr ""
+
+msgid "AttachFile"
+msgstr ""
+
+msgid "DeletePage"
+msgstr ""
+
+msgid "LikePages"
+msgstr ""
+
+msgid "LocalSiteMap"
+msgstr ""
+
+msgid "RenamePage"
+msgstr ""
+
+msgid "SpellCheck"
+msgstr ""
+
+#, python-format
+msgid "Unknown action %(action_name)s."
+msgstr ""
+
+#, python-format
+msgid "You are not allowed to do %(action_name)s on this page."
+msgstr ""
+
+msgid "Login and try again."
+msgstr ""
+
+msgid "Charts are not available!"
+msgstr ""
+
+msgid "Page Size Distribution"
+msgstr ""
+
+msgid "page size upper bound [bytes]"
+msgstr ""
+
+msgid "# of pages of this size"
+msgstr ""
+
+msgid "User agent"
+msgstr ""
+
+msgid "Others"
+msgstr ""
+
+msgid "Distribution of User-Agent Types"
+msgstr ""
+
+msgid "Date"
+msgstr ""
+
+msgid "Views/day"
+msgstr ""
+
+msgid "Edits/day"
+msgstr ""
+
+msgid "Page hits and edits"
+msgstr ""
+
+#, python-format
+msgid "%(chart_title)s for %(filterpage)s"
+msgstr ""
+
+msgid ""
+"green=view\n"
+"red=edit"
+msgstr ""
+
+msgid "date"
+msgstr ""
+
+msgid "# of hits"
+msgstr ""
+
+msgid ""
 " Emphasis:: [[Verbatim('')]]''italics''[[Verbatim('')]]; [[Verbatim"
 "(''')]]'''bold'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''bold "
 "italics'''''[[Verbatim(''''')]]; [[Verbatim('')]]''mixed ''[[Verbatim"
@@ -354,36 +1173,9 @@
 "</a>.\n"
 msgstr ""
 
-msgid "Diffs"
-msgstr ""
-
-msgid "Info"
-msgstr ""
-
-msgid "Edit"
-msgstr ""
-
 msgid "UnSubscribe"
 msgstr ""
 
-msgid "Subscribe"
-msgstr ""
-
-msgid "Raw"
-msgstr ""
-
-msgid "XML"
-msgstr ""
-
-msgid "Print"
-msgstr ""
-
-msgid "View"
-msgstr ""
-
-msgid "Up"
-msgstr ""
-
 msgid "Publish my email (not my wiki homepage) in author info"
 msgstr ""
 
@@ -420,27 +1212,18 @@
 msgid "Disable this account forever"
 msgstr ""
 
-msgid "Name"
-msgstr ""
-
 msgid "(Use Firstname''''''Lastname)"
 msgstr ""
 
 msgid "Alias-Name"
 msgstr ""
 
-msgid "Password"
-msgstr ""
-
 msgid "Password repeat"
 msgstr ""
 
 msgid "(Only for password change or new account)"
 msgstr ""
 
-msgid "Email"
-msgstr ""
-
 msgid "User CSS URL"
 msgstr ""
 
@@ -450,175 +1233,42 @@
 msgid "Editor size"
 msgstr ""
 
-#, python-format
-msgid "The package needs a newer version of MoinMoin (at least %s)."
-msgstr ""
-
-msgid "The theme name is not set."
-msgstr ""
-
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-
-#, python-format
-msgid "Installation of '%(filename)s' failed."
-msgstr ""
-
-#, python-format
-msgid "The file %s is not a MoinMoin package file."
-msgstr ""
-
-#, python-format
-msgid "The page %s does not exist."
-msgstr ""
-
-msgid "Invalid package file header."
-msgstr ""
-
-msgid "Package file format unsupported."
-msgstr ""
-
-#, python-format
-msgid "Unknown function %(func)s in line %(lineno)i."
-msgstr ""
-
-#, python-format
-msgid "The file %s was not found in the package."
-msgstr ""
-
-msgid ""
-"This wiki is not enabled for mail processing.\n"
-"Contact the owner of the wiki, who can enable email."
-msgstr ""
-
-msgid "Please provide a valid email address!"
-msgstr ""
-
-#, python-format
-msgid "Found no account matching the given email address '%(email)s'!"
-msgstr ""
-
-msgid "Use UserPreferences to change your settings or create an account."
-msgstr ""
-
-msgid "Empty user name. Please enter a user name."
+msgid "Do it."
 msgstr ""
 
 #, python-format
-msgid ""
-"Invalid user name {{{'%s'}}}.\n"
-"Name may contain any Unicode alpha numeric character, with optional one\n"
-"space between words. Group page name is not allowed."
-msgstr ""
-
-msgid "This user name already belongs to somebody else."
-msgstr ""
-
-msgid "Passwords don't match!"
-msgstr ""
-
-msgid "Please specify a password!"
-msgstr ""
-
-msgid ""
-"Please provide your email address. If you lose your login information, you "
-"can get it by email."
-msgstr ""
-
-msgid "This email already belongs to somebody else."
-msgstr ""
-
-msgid "User account created! You can use this account to login now..."
-msgstr ""
-
-msgid "Use UserPreferences to change settings of the selected user account"
+msgid "Execute action %(actionname)s?"
 msgstr ""
 
 #, python-format
-msgid "The theme '%(theme_name)s' could not be loaded!"
-msgstr ""
-
-msgid "User preferences saved!"
-msgstr ""
-
-msgid "Default"
-msgstr ""
-
-msgid "<Browser setting>"
-msgstr ""
-
-msgid "the one preferred"
-msgstr ""
-
-msgid "free choice"
-msgstr ""
-
-msgid "Select User"
-msgstr ""
-
-msgid "Save"
-msgstr ""
-
-msgid "Preferred theme"
-msgstr ""
-
-msgid "Editor Preference"
-msgstr ""
-
-msgid "Editor shown on UI"
-msgstr ""
-
-msgid "Time zone"
-msgstr ""
-
-msgid "Your time is"
-msgstr ""
-
-msgid "Server time is"
-msgstr ""
-
-msgid "Date format"
-msgstr ""
-
-msgid "Preferred language"
-msgstr ""
-
-msgid "General options"
-msgstr ""
-
-msgid "Quick links"
-msgstr ""
-
-msgid "This list does not work, unless you have entered a valid email address!"
-msgstr ""
-
-msgid "Subscribed wiki pages (one regex per line)"
-msgstr ""
-
-msgid "Create Profile"
-msgstr ""
-
-msgid "Mail me my account data"
+msgid "Action %(actionname)s is excluded in this wiki!"
 msgstr ""
 
 #, python-format
-msgid ""
-"To create an account or recover a lost password, see the %(userprefslink)s "
-"page."
-msgstr ""
-
-msgid "Login"
-msgstr ""
-
-msgid "Action"
+msgid "You are not allowed to use action %(actionname)s on this page!"
 msgstr ""
 
 #, python-format
-msgid "Expected \"=\" to follow \"%(token)s\""
+msgid "Please use the interactive user interface to use action %(actionname)s!"
+msgstr ""
+
+msgid "You must login to add a quicklink."
+msgstr ""
+
+msgid "Your quicklink to this page has been removed."
+msgstr ""
+
+msgid "A quicklink to this page has been added for you."
 msgstr ""
 
 #, python-format
-msgid "Expected a value for key \"%(token)s\""
+msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
+msgstr ""
+
+msgid "Missing password. Please enter user name and password."
+msgstr ""
+
+msgid "Sorry, login failed."
 msgstr ""
 
 #, python-format
@@ -651,9 +1301,6 @@
 msgid "get"
 msgstr ""
 
-msgid "edit"
-msgstr ""
-
 msgid "view"
 msgstr ""
 
@@ -740,10 +1387,6 @@
 msgstr ""
 
 #, python-format
-msgid "Attachment '%(filename)s' deleted."
-msgstr ""
-
-#, python-format
 msgid "Attachment '%(filename)s' installed."
 msgstr ""
 
@@ -796,16 +1439,17 @@
 msgid "attachment:%(filename)s of %(pagename)s"
 msgstr ""
 
-msgid "Delete"
-msgstr ""
-
 msgid "This page is already deleted or was never created!"
 msgstr ""
 
-msgid "Optional reason for the deletion"
+msgid "New name"
 msgstr ""
 
-msgid "Really delete this page?"
+msgid "Optional reason for the renaming"
+msgstr ""
+
+#, python-format
+msgid "Full Link List for \"%s\""
 msgstr ""
 
 msgid "Editor"
@@ -823,30 +1467,136 @@
 msgid "You are not allowed to use this action."
 msgstr ""
 
-#, python-format
-msgid "No pages like \"%s\"!"
+msgid "The only supported directions are BOTH and DOWN."
 msgstr ""
 
-#, python-format
-msgid "Exactly one page like \"%s\" found, redirecting to page."
+msgid ""
+"Please set an interwikiname in your wikiconfig (see HelpOnConfiguration) to "
+"be able to use this action."
+msgstr ""
+
+msgid ""
+"Incorrect parameters. Please supply at least the ''remoteWiki'' parameter."
+msgstr ""
+
+msgid "The ''remoteWiki'' is unknown."
+msgstr ""
+
+msgid "Syncronisation finished."
 msgstr ""
 
 #, python-format
-msgid "Pages like \"%s\""
+msgid "Synchronising page %(pagename)s with remote page %(remotepagename)s ..."
 msgstr ""
 
 #, python-format
-msgid "%(matchcount)d %(matches)s for \"%(title)s\""
+msgid ""
+"Skipped page %(pagename)s because of a locally or remotely unresolved "
+"conflict."
 msgstr ""
 
-msgid "match"
+msgid ""
+"This is the first synchronisation between this page and the remote wiki."
 msgstr ""
 
-msgid "matches"
+msgid "Page successfully merged."
+msgstr ""
+
+msgid "Page merged with conflicts."
 msgstr ""
 
 #, python-format
-msgid "Local Site Map for \"%s\""
+msgid "(including %(localwords)d %(pagelink)s)"
+msgstr ""
+
+#, python-format
+msgid ""
+"The following %(badwords)d words could not be found in the dictionary of %"
+"(totalwords)d words%(localwords)s and are highlighted below:"
+msgstr ""
+
+msgid "Add checked words to dictionary"
+msgstr ""
+
+msgid "No spelling errors found!"
+msgstr ""
+
+msgid "You can't check spelling on a page you can't read."
+msgstr ""
+
+msgid "You are now logged out."
+msgstr ""
+
+msgid "You are not allowed to subscribe to a page you can't read."
+msgstr ""
+
+msgid "This wiki is not enabled for mail processing."
+msgstr ""
+
+msgid "You must log in to use subscribtions."
+msgstr ""
+
+msgid "Add your email address in your UserPreferences to use subscriptions."
+msgstr ""
+
+msgid "Your subscribtion to this page has been removed."
+msgstr ""
+
+msgid "Can't remove regular expression subscription!"
+msgstr ""
+
+msgid "Edit the subscription regular expressions in your UserPreferences."
+msgstr ""
+
+msgid "You have been subscribed to this page."
+msgstr ""
+
+msgid "General Information"
+msgstr ""
+
+#, python-format
+msgid "Page size: %d"
+msgstr ""
+
+msgid "SHA digest of this page's content is:"
+msgstr ""
+
+msgid "The following users subscribed to this page:"
+msgstr ""
+
+msgid "This page links to the following pages:"
+msgstr ""
+
+msgid "Diff"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "raw"
+msgstr ""
+
+msgid "print"
+msgstr ""
+
+msgid "revert"
+msgstr ""
+
+msgid "Revision History"
+msgstr ""
+
+msgid "No log entries found."
+msgstr ""
+
+#, python-format
+msgid "Info for \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Show \"%(title)s\""
+msgstr ""
+
+msgid "General Page Infos"
 msgstr ""
 
 msgid "Please log in first."
@@ -887,51 +1637,6 @@
 msgstr ""
 
 #, python-format
-msgid "Invalid filename \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Created the package %s containing the pages %s."
-msgstr ""
-
-msgid "Package pages"
-msgstr ""
-
-msgid "Package name"
-msgstr ""
-
-msgid "List of page names - separated by a comma"
-msgstr ""
-
-msgid "Rename Page"
-msgstr ""
-
-msgid "New name"
-msgstr ""
-
-msgid "Optional reason for the renaming"
-msgstr ""
-
-#, python-format
-msgid "(including %(localwords)d %(pagelink)s)"
-msgstr ""
-
-#, python-format
-msgid ""
-"The following %(badwords)d words could not be found in the dictionary of %"
-"(totalwords)d words%(localwords)s and are highlighted below:"
-msgstr ""
-
-msgid "Add checked words to dictionary"
-msgstr ""
-
-msgid "No spelling errors found!"
-msgstr ""
-
-msgid "You can't check spelling on a page you can't read."
-msgstr ""
-
-#, python-format
 msgid "Subscribe users to the page %s"
 msgstr ""
 
@@ -945,162 +1650,15 @@
 msgid "You are not allowed to perform this action."
 msgstr ""
 
-msgid "Do it."
-msgstr ""
-
-#, python-format
-msgid "Execute action %(actionname)s?"
-msgstr ""
-
-#, python-format
-msgid "Action %(actionname)s is excluded in this wiki!"
-msgstr ""
-
-#, python-format
-msgid "You are not allowed to use action %(actionname)s on this page!"
-msgstr ""
-
 #, python-format
-msgid "Please use the interactive user interface to use action %(actionname)s!"
-msgstr ""
-
-msgid "You are not allowed to revert this page!"
-msgstr ""
-
-msgid "No older revisions available!"
-msgstr ""
-
-#, python-format
-msgid "Diff for \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Differences between revisions %d and %d"
-msgstr ""
-
-#, python-format
-msgid "(spanning %d versions)"
-msgstr ""
-
-msgid "No differences found!"
-msgstr ""
-
-#, python-format
-msgid "The page was saved %(count)d times, though!"
-msgstr ""
-
-msgid "(ignoring whitespace)"
-msgstr ""
-
-msgid "Ignore changes in the amount of whitespace"
-msgstr ""
-
-msgid "General Information"
+msgid "Title Search: \"%s\""
 msgstr ""
 
 #, python-format
-msgid "Page size: %d"
-msgstr ""
-
-msgid "SHA digest of this page's content is:"
-msgstr ""
-
-msgid "The following users subscribed to this page:"
-msgstr ""
-
-msgid "This page links to the following pages:"
-msgstr ""
-
-msgid "Date"
-msgstr ""
-
-msgid "Diff"
-msgstr ""
-
-msgid "Comment"
-msgstr ""
-
-msgid "raw"
-msgstr ""
-
-msgid "print"
-msgstr ""
-
-msgid "revert"
-msgstr ""
-
-#, python-format
-msgid "Revert to revision %(rev)d."
-msgstr ""
-
-msgid "N/A"
-msgstr ""
-
-msgid "Revision History"
-msgstr ""
-
-msgid "No log entries found."
-msgstr ""
-
-#, python-format
-msgid "Info for \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Show \"%(title)s\""
+msgid "Full Text Search: \"%s\""
 msgstr ""
 
-msgid "General Page Infos"
-msgstr ""
-
-#, python-format
-msgid "Show chart \"%(title)s\""
-msgstr ""
-
-msgid "Page hits and edits"
-msgstr ""
-
-msgid "You must login to add a quicklink."
-msgstr ""
-
-msgid "Your quicklink to this page has been removed."
-msgstr ""
-
-msgid "A quicklink to this page has been added for you."
-msgstr ""
-
-msgid "You are not allowed to subscribe to a page you can't read."
-msgstr ""
-
-msgid "This wiki is not enabled for mail processing."
-msgstr ""
-
-msgid "You must log in to use subscribtions."
-msgstr ""
-
-msgid "Add your email address in your UserPreferences to use subscriptions."
-msgstr ""
-
-msgid "Your subscribtion to this page has been removed."
-msgstr ""
-
-msgid "Can't remove regular expression subscription!"
-msgstr ""
-
-msgid "Edit the subscription regular expressions in your UserPreferences."
-msgstr ""
-
-msgid "You have been subscribed to this page."
-msgstr ""
-
-msgid "Charts are not available!"
-msgstr ""
-
-msgid "You need to provide a chart type!"
-msgstr ""
-
-#, python-format
-msgid "Bad chart type \"%s\"!"
+msgid "Your search query didn't return any results."
 msgstr ""
 
 #, python-format
@@ -1147,563 +1705,80 @@
 msgid "Unknown backup subaction: %s."
 msgstr ""
 
-#, python-format
-msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
-msgstr ""
-
-#, python-format
-msgid "Title Search: \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Full Text Search: \"%s\""
+msgid "You are not allowed to revert this page!"
 msgstr ""
 
 #, python-format
-msgid "Full Link List for \"%s\""
+msgid "Local Site Map for \"%s\""
 msgstr ""
 
 #, python-format
-msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
+msgid "No pages like \"%s\"!"
 msgstr ""
 
-msgid "Missing password. Please enter user name and password."
+#, python-format
+msgid "Invalid filename \"%s\"!"
 msgstr ""
 
-msgid "Sorry, login failed."
+#, python-format
+msgid "Created the package %s containing the pages %s."
 msgstr ""
 
-msgid "You are now logged out."
+msgid "Package pages"
+msgstr ""
+
+msgid "Package name"
+msgstr ""
+
+msgid "List of page names - separated by a comma"
+msgstr ""
+
+msgid "No older revisions available!"
+msgstr ""
+
+#, python-format
+msgid "Diff for \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Differences between revisions %d and %d"
+msgstr ""
+
+#, python-format
+msgid "(spanning %d versions)"
+msgstr ""
+
+#, python-format
+msgid "The page was saved %(count)d times, though!"
+msgstr ""
+
+msgid "(ignoring whitespace)"
+msgstr ""
+
+msgid "Ignore changes in the amount of whitespace"
+msgstr ""
+
+#, python-format
+msgid "Exactly one page like \"%s\" found, redirecting to page."
+msgstr ""
+
+#, python-format
+msgid "Pages like \"%s\""
+msgstr ""
+
+#, python-format
+msgid "%(matchcount)d %(matches)s for \"%(title)s\""
 msgstr ""
 
 msgid ""
 "Cannot create a new page without a page name.  Please specify a page name."
 msgstr ""
 
-#, python-format
-msgid "Upload new attachment \"%(filename)s\""
-msgstr ""
-
-#, python-format
-msgid "Create new drawing \"%(filename)s\""
-msgstr ""
-
-#, python-format
-msgid "Edit drawing %(filename)s"
-msgstr ""
-
-msgid "Toggle line numbers"
-msgstr ""
-
-msgid "FrontPage"
-msgstr ""
-
-msgid "RecentChanges"
-msgstr ""
-
-msgid "TitleIndex"
-msgstr ""
-
-msgid "WordIndex"
-msgstr ""
-
-msgid "FindPage"
-msgstr ""
-
-msgid "SiteNavigation"
-msgstr ""
-
-msgid "HelpContents"
-msgstr ""
-
-msgid "HelpOnFormatting"
-msgstr ""
-
-msgid "UserPreferences"
-msgstr ""
-
-msgid "WikiLicense"
-msgstr ""
-
-msgid "MissingPage"
-msgstr ""
-
-msgid "MissingHomePage"
-msgstr ""
-
-msgid "Mon"
-msgstr ""
-
-msgid "Tue"
-msgstr ""
-
-msgid "Wed"
-msgstr ""
-
-msgid "Thu"
-msgstr ""
-
-msgid "Fri"
-msgstr ""
-
-msgid "Sat"
-msgstr ""
-
-msgid "Sun"
-msgstr ""
-
-msgid "AttachFile"
-msgstr ""
-
-msgid "DeletePage"
-msgstr ""
-
-msgid "LikePages"
-msgstr ""
-
-msgid "LocalSiteMap"
-msgstr ""
-
-msgid "RenamePage"
-msgstr ""
-
-msgid "SpellCheck"
-msgstr ""
-
-#, python-format
-msgid "Invalid include arguments \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Nothing found for \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Invalid MonthCalendar calparms \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Invalid MonthCalendar arguments \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Unsupported navigation scheme '%(scheme)s'!"
-msgstr ""
-
-msgid "No parent page found!"
-msgstr ""
-
-msgid "Wiki"
-msgstr ""
-
-msgid "Slideshow"
-msgstr ""
-
-msgid "Start"
-msgstr ""
-
-#, python-format
-msgid "Slide %(pos)d of %(size)d"
-msgstr ""
-
-msgid "No orphaned pages in this wiki."
-msgstr ""
-
-#, python-format
-msgid "No quotes on %(pagename)s."
-msgstr ""
-
-#, python-format
-msgid "Upload of attachment '%(filename)s'."
-msgstr ""
-
-#, python-format
-msgid "Drawing '%(filename)s' saved."
-msgstr ""
-
-#, python-format
-msgid "%(mins)dm ago"
-msgstr ""
-
-msgid "(no bookmark set)"
-msgstr ""
-
-#, python-format
-msgid "(currently set to %s)"
-msgstr ""
-
-msgid "Delete Bookmark"
-msgstr ""
-
-msgid "Set bookmark"
-msgstr ""
-
-msgid "set bookmark"
-msgstr ""
-
-msgid "[Bookmark reached]"
-msgstr ""
-
-msgid "Markup"
-msgstr ""
-
-msgid "Display"
-msgstr ""
-
-msgid "Python Version"
-msgstr ""
-
-msgid "MoinMoin Version"
-msgstr ""
-
-#, python-format
-msgid "Release %s [Revision %s]"
-msgstr ""
-
-msgid "4Suite Version"
-msgstr ""
-
-msgid "Number of pages"
-msgstr ""
-
-msgid "Number of system pages"
-msgstr ""
-
-msgid "Accumulated page sizes"
-msgstr ""
-
-#, python-format
-msgid "Disk usage of %(data_dir)s/pages/"
-msgstr ""
-
-#, python-format
-msgid "Disk usage of %(data_dir)s/"
-msgstr ""
-
-msgid "Entries in edit log"
-msgstr ""
-
-msgid "NONE"
-msgstr ""
-
-msgid "Global extension macros"
-msgstr ""
-
-msgid "Local extension macros"
-msgstr ""
-
-msgid "Global extension actions"
-msgstr ""
-
-msgid "Local extension actions"
-msgstr ""
-
-msgid "Global parsers"
-msgstr ""
-
-msgid "Local extension parsers"
-msgstr ""
-
-msgid "Disabled"
-msgstr ""
-
-msgid "Enabled"
-msgstr ""
-
-msgid "Xapian search"
-msgstr ""
-
-msgid "Active threads"
-msgstr ""
-
-msgid "Contents"
-msgstr ""
-
-msgid "Include system pages"
-msgstr ""
-
-msgid "Exclude system pages"
-msgstr ""
-
-msgid "No wanted pages in this wiki."
-msgstr ""
-
-msgid "Search Titles"
-msgstr ""
-
-msgid "Display context of search results"
-msgstr ""
-
-msgid "Case-sensitive searching"
-msgstr ""
-
-msgid "Search Text"
-msgstr ""
-
-msgid "Go To Page"
+msgid "Delete"
 msgstr ""
 
-#, python-format
-msgid "ERROR in regex '%s'"
-msgstr ""
-
-#, python-format
-msgid "Bad timestamp '%s'"
-msgstr ""
-
-#, python-format
-msgid "Connection to mailserver '%(server)s' failed: %(reason)s"
-msgstr ""
-
-msgid "Mail not sent"
-msgstr ""
-
-msgid "Mail sent OK"
-msgstr ""
-
-#, python-format
-msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
-msgstr ""
-
-#, python-format
-msgid "Expected an integer \"%(key)s\" before \"%(token)s\""
-msgstr ""
-
-#, python-format
-msgid "Expected an integer \"%(arg)s\" after \"%(key)s\""
-msgstr ""
-
-#, python-format
-msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
-msgstr ""
-
-msgid ""
-"Rendering of reStructured text is not possible, please install Docutils."
-msgstr ""
-
-msgid "**Maximum number of allowed includes exceeded**"
-msgstr ""
-
-#, python-format
-msgid "**Could not find the referenced page: %s**"
-msgstr ""
-
-msgid "XSLT option disabled, please look at HelpOnConfiguration."
-msgstr ""
-
-msgid "XSLT processing is not available, please install 4suite 1.x."
-msgstr ""
-
-#, python-format
-msgid "%(errortype)s processing error"
-msgstr ""
-
-#, python-format
-msgid "You are not allowed to do %s on this page."
-msgstr ""
-
-msgid "Login and try again."
-msgstr ""
-
-#, python-format
-msgid ""
-"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
-msgstr ""
-
-msgid "Views/day"
-msgstr ""
-
-msgid "Edits/day"
-msgstr ""
-
-#, python-format
-msgid "%(chart_title)s for %(filterpage)s"
-msgstr ""
-
-msgid ""
-"green=view\n"
-"red=edit"
-msgstr ""
-
-msgid "date"
-msgstr ""
-
-msgid "# of hits"
-msgstr ""
-
-msgid "Page Size Distribution"
-msgstr ""
-
-msgid "page size upper bound [bytes]"
-msgstr ""
-
-msgid "# of pages of this size"
-msgstr ""
-
-msgid "User agent"
-msgstr ""
-
-msgid "Others"
-msgstr ""
-
-msgid "Distribution of User-Agent Types"
-msgstr ""
-
-msgid "Unsubscribe"
-msgstr ""
-
-msgid "Home"
-msgstr ""
-
-msgid "[RSS]"
-msgstr ""
-
-msgid "[DELETED]"
-msgstr ""
-
-msgid "[UPDATED]"
-msgstr ""
-
-msgid "[NEW]"
-msgstr ""
-
-msgid "[DIFF]"
-msgstr ""
-
-msgid "[BOTTOM]"
+msgid "Optional reason for the deletion"
 msgstr ""
 
-msgid "[TOP]"
-msgstr ""
-
-msgid "Click to do a full-text search for this title"
-msgstr ""
-
-msgid "Preferences"
-msgstr ""
-
-msgid "Logout"
-msgstr ""
-
-msgid "Clear message"
-msgstr ""
-
-#, python-format
-msgid "last edited %(time)s by %(editor)s"
-msgstr ""
-
-#, python-format
-msgid "last modified %(time)s"
-msgstr ""
-
-msgid "Search:"
-msgstr ""
-
-msgid "Text"
-msgstr ""
-
-msgid "Titles"
-msgstr ""
-
-msgid "Search"
-msgstr ""
-
-msgid "More Actions:"
-msgstr ""
-
-msgid "------------"
-msgstr ""
-
-msgid "Raw Text"
-msgstr ""
-
-msgid "Print View"
-msgstr ""
-
-msgid "Delete Cache"
-msgstr ""
-
-msgid "Delete Page"
-msgstr ""
-
-msgid "Like Pages"
-msgstr ""
-
-msgid "Local Site Map"
-msgstr ""
-
-msgid "My Pages"
-msgstr ""
-
-msgid "Subscribe User"
-msgstr ""
-
-msgid "Remove Spam"
+msgid "Really delete this page?"
 msgstr ""
-
-msgid "Package Pages"
-msgstr ""
-
-msgid "Render as Docbook"
-msgstr ""
-
-msgid "Do"
-msgstr ""
-
-msgid "Edit (Text)"
-msgstr ""
-
-msgid "Edit (GUI)"
-msgstr ""
-
-msgid "Immutable Page"
-msgstr ""
-
-msgid "Remove Link"
-msgstr ""
-
-msgid "Add Link"
-msgstr ""
-
-msgid "Attachments"
-msgstr ""
-
-#, python-format
-msgid "Show %s days."
-msgstr ""
-
-msgid "Wiki Markup"
-msgstr ""
-
-msgid "DeleteCache"
-msgstr ""
-
-#, python-format
-msgid "(cached %s)"
-msgstr ""
-
-msgid "Or try one of these actions:"
-msgstr ""
-
-msgid "Page"
-msgstr ""
-
-msgid "User"
-msgstr ""
-
-msgid "Line"
-msgstr ""
-
-msgid "Deletions are marked like this."
-msgstr ""
-
-msgid "Additions are marked like this."
-msgstr ""
-
-#, python-format
-msgid "%(hits)d results out of about %(pages)d pages."
-msgstr ""
-
-#, python-format
-msgid "%.2f seconds"
-msgstr ""
--- a/MoinMoin/i18n/ar.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/ar.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -1,10 +1,19 @@
+## Please edit system and help pages ONLY in the moinmaster wiki! For more
+## information, please see MoinMaster:MoinPagesEditorGroup.
+##master-page:None
+##master-date:None
+#acl MoinPagesEditorGroup:read,write,delete,revert All:read
 #format gettext
+#language ar
 
+#
+# MoinMoin ar system text translation
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: moin\n"
+"Project-Id-Version: moin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-21 23:16+0200\n"
+"POT-Creation-Date: 2006-07-17 12:27+0200\n"
 "PO-Revision-Date:  2006-05-21 23:16+0200\n"
 "Last-Translator: Alexander Stein <ajs67@georgetown.edu>\n"
 "Language-Team: \n"
@@ -47,6 +56,9 @@
 msgid "You are not allowed to view this page."
 msgstr "لا يسمح لك بنظر هذه الصفحة."
 
+msgid "Your changes are not saved!"
+msgstr ""
+
 msgid "You are not allowed to edit this page."
 msgstr "لا يسمح لك بتحرير هذه الصفحة"
 
@@ -59,6 +71,9 @@
 msgid "The lock you held timed out. Be prepared for editing conflicts!"
 msgstr ""
 
+msgid "Page name is too long, try shorter name."
+msgstr ""
+
 #, python-format
 msgid "Edit \"%(pagename)s\""
 msgstr "تحرير \"%(pagename)s\""
@@ -85,11 +100,9 @@
 msgid "Someone else changed this page while you were editing!"
 msgstr ""
 
-#, python-format
 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!\n"
-"Have a look at the diff of %(difflink)s to see what has been changed."
+"Please review the page and save then. Do not save this page as it is!"
 msgstr ""
 
 #, python-format
@@ -128,7 +141,7 @@
 msgid "Preview"
 msgstr ""
 
-msgid "Text mode"
+msgid "GUI Mode"
 msgstr ""
 
 msgid "Comment:"
@@ -147,23 +160,145 @@
 msgid "Remove trailing whitespace from each line"
 msgstr ""
 
-#, python-format
-msgid "%(hits)d results out of about %(pages)d pages."
+msgid "Edit was cancelled."
+msgstr ""
+
+msgid "You can't rename to an empty pagename."
 msgstr ""
 
 #, python-format
-msgid "%.2f seconds"
-msgstr "%.2f ثانية"
-
-msgid "match"
+msgid ""
+"'''A page with the name {{{'%s'}}} already exists.'''\n"
+"\n"
+"Try a different name."
 msgstr ""
 
-msgid "matches"
+#, python-format
+msgid "Could not rename page because of file system error: %s."
+msgstr ""
+
+msgid "Thank you for your changes. Your attention to detail is appreciated."
+msgstr ""
+
+#, python-format
+msgid "Page \"%s\" was successfully deleted!"
+msgstr ""
+
+#, python-format
+msgid ""
+"Dear Wiki user,\n"
+"\n"
+"You have subscribed to a wiki page or wiki category on \"%(sitename)s\" for "
+"change notification.\n"
+"\n"
+"The following page has been changed by %(editor)s:\n"
+"%(pagelink)s\n"
+"\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"The comment on the change is:\n"
+"%(comment)s\n"
+"\n"
+msgstr ""
+
+msgid "New page:\n"
+msgstr "صفحة جديدة\n"
+
+msgid "No differences found!\n"
+msgstr "ْلا توجد اختلافات \n"
+
+#, python-format
+msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s"
+msgstr ""
+
+msgid "Trivial "
+msgstr ""
+
+msgid "Status of sending notification mails:"
+msgstr ""
+
+#, python-format
+msgid "[%(lang)s] %(recipients)s: %(status)s"
+msgstr ""
+
+#, python-format
+msgid "## backup of page \"%(pagename)s\" submitted %(date)s"
+msgstr ""
+
+#, python-format
+msgid "Page could not get locked. Unexpected error (errno=%d)."
+msgstr ""
+
+msgid "Page could not get locked. Missing 'current' file?"
+msgstr ""
+
+msgid "You are not allowed to edit this page!"
+msgstr ""
+
+msgid "You cannot save empty pages."
+msgstr ""
+
+msgid "You already saved this page!"
+msgstr ""
+
+msgid "You already edited this page! Please do not use the back button."
+msgstr ""
+
+#, python-format
+msgid "A backup of your changes is [%(backup_url)s here]."
+msgstr ""
+
+msgid "You did not change the page content, not saved!"
+msgstr ""
+
+msgid ""
+"You can't change ACLs on this page since you have no admin rights on it!"
+msgstr ""
+
+#, python-format
+msgid ""
+"The lock of %(owner)s timed out %(mins_ago)d minute(s) ago, and you were "
+"granted the lock for this page."
+msgstr ""
+
+#, python-format
+msgid ""
+"Other users will be ''blocked'' from editing this page until %(bumptime)s."
+msgstr ""
+
+#, python-format
+msgid ""
+"Other users will be ''warned'' until %(bumptime)s that you are editing this "
+"page."
+msgstr ""
+
+msgid "Use the Preview button to extend the locking period."
+msgstr ""
+
+#, python-format
+msgid ""
+"This page is currently ''locked'' for editing by %(owner)s until %(timestamp)"
+"s, i.e. for %(mins_valid)d minute(s)."
+msgstr ""
+
+#, python-format
+msgid ""
+"This page was opened for editing or last previewed at %(timestamp)s by %"
+"(owner)s.[[BR]]\n"
+"'''You should ''refrain from editing'' this page for at least another %"
+"(mins_valid)d minute(s),\n"
+"to avoid editing conflicts.'''[[BR]]\n"
+"To leave the editor, press the Cancel button."
 msgstr ""
 
 msgid "<unknown>"
 msgstr "<مغمور>"
 
+msgid "Text mode"
+msgstr ""
+
 #, python-format
 msgid ""
 "Login Name: %s\n"
@@ -189,6 +324,179 @@
 msgstr ""
 
 msgid ""
+" Emphasis:: [[Verbatim('')]]''italics''[[Verbatim('')]]; [[Verbatim"
+"(''')]]'''bold'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''bold "
+"italics'''''[[Verbatim(''''')]]; [[Verbatim('')]]''mixed ''[[Verbatim"
+"(''')]]'''''bold'''[[Verbatim(''')]] and italics''[[Verbatim('')]]; "
+"[[Verbatim(----)]] horizontal rule.\n"
+" Headings:: [[Verbatim(=)]] Title 1 [[Verbatim(=)]]; [[Verbatim(==)]] Title "
+"2 [[Verbatim(==)]]; [[Verbatim(===)]] Title 3 [[Verbatim(===)]];   [[Verbatim"
+"(====)]] Title 4 [[Verbatim(====)]]; [[Verbatim(=====)]] Title 5 [[Verbatim"
+"(=====)]].\n"
+" Lists:: space and one of: * bullets; 1., a., A., i., I. numbered items; 1."
+"#n start numbering at n; space alone indents.\n"
+" Links:: [[Verbatim(JoinCapitalizedWords)]]; [[Verbatim([\"brackets and "
+"double quotes\"])]]; url; [url]; [url label].\n"
+" Tables:: || cell text |||| cell text spanning 2 columns ||;    no trailing "
+"white space allowed after tables or titles.\n"
+"\n"
+"(!) For more help, see HelpOnEditing or SyntaxReference.\n"
+msgstr ""
+
+msgid ""
+"Emphasis: <i>*italic*</i> <b>**bold**</b> ``monospace``<br/>\n"
+"<br/><pre>\n"
+"Headings: Heading 1  Heading 2  Heading 3\n"
+"          =========  ---------  ~~~~~~~~~\n"
+"\n"
+"Horizontal rule: ---- \n"
+"Links: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
+"\n"
+".. _external: http://external-site.net/foo/\n"
+"\n"
+"Lists: * bullets; 1., a. numbered items.\n"
+"</pre>\n"
+"<br/>\n"
+"(!) For more help, see the \n"
+"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
+"reStructuredText Quick Reference\n"
+"</a>.\n"
+msgstr ""
+
+msgid "Diffs"
+msgstr ""
+
+msgid "Info"
+msgstr ""
+
+msgid "Edit"
+msgstr ""
+
+msgid "UnSubscribe"
+msgstr ""
+
+msgid "Subscribe"
+msgstr "اشتراك"
+
+msgid "Raw"
+msgstr ""
+
+msgid "XML"
+msgstr "XML"
+
+msgid "Print"
+msgstr "طباعة"
+
+msgid "View"
+msgstr "اظهر"
+
+msgid "Up"
+msgstr "أعلى"
+
+msgid "Publish my email (not my wiki homepage) in author info"
+msgstr ""
+"انشر رسائلي الإلكترونية (ليس صفحتي الشخصية في الويكي ) في معلومات المؤلف"
+
+msgid "Open editor on double click"
+msgstr "افتح المحرر عند النقر المزدوج"
+
+msgid "After login, jump to last visited page"
+msgstr ""
+
+msgid "Show question mark for non-existing pagelinks"
+msgstr ""
+
+msgid "Show page trail"
+msgstr ""
+
+msgid "Show icon toolbar"
+msgstr "اظهر أيقونات شريط الأدوات"
+
+msgid "Show top/bottom links in headings"
+msgstr ""
+
+msgid "Show fancy diffs"
+msgstr ""
+
+msgid "Add spaces to displayed wiki names"
+msgstr ""
+
+msgid "Remember login information"
+msgstr "تذكر معلومات الدخول"
+
+msgid "Subscribe to trivial changes"
+msgstr ""
+
+msgid "Disable this account forever"
+msgstr "عطل هذا الحساب للأبد"
+
+msgid "Name"
+msgstr "اسم"
+
+msgid "(Use Firstname''''''Lastname)"
+msgstr "(استخدم الاسم الأول الاسم الأخير)"
+
+msgid "Alias-Name"
+msgstr "الأسم المستعار"
+
+msgid "Password"
+msgstr "كلمةالسرّ"
+
+msgid "Password repeat"
+msgstr "اعادة كلمة السر"
+
+msgid "(Only for password change or new account)"
+msgstr ""
+
+msgid "Email"
+msgstr "بريد الكتروني"
+
+msgid "User CSS URL"
+msgstr ""
+
+msgid "(Leave it empty for disabling user CSS)"
+msgstr "URL CSS المستخدم"
+
+msgid "Editor size"
+msgstr "حجم المحرر"
+
+#, python-format
+msgid "The package needs a newer version of MoinMoin (at least %s)."
+msgstr ""
+
+msgid "The theme name is not set."
+msgstr ""
+
+msgid "Installing theme files is only supported for standalone type servers."
+msgstr ""
+
+#, python-format
+msgid "Installation of '%(filename)s' failed."
+msgstr ""
+
+#, python-format
+msgid "The file %s is not a MoinMoin package file."
+msgstr ""
+
+#, python-format
+msgid "The page %s does not exist."
+msgstr ""
+
+msgid "Invalid package file header."
+msgstr ""
+
+msgid "Package file format unsupported."
+msgstr ""
+
+#, python-format
+msgid "Unknown function %(func)s in line %(lineno)i."
+msgstr ""
+
+#, python-format
+msgid "The file %s was not found in the package."
+msgstr ""
+
+msgid ""
 "This wiki is not enabled for mail processing.\n"
 "Contact the owner of the wiki, who can enable email."
 msgstr ""
@@ -303,21 +611,12 @@
 msgid "Mail me my account data"
 msgstr ""
 
-msgid "Email"
-msgstr "بريد الكتروني"
-
 #, python-format
 msgid ""
 "To create an account or recover a lost password, see the %(userprefslink)s "
 "page."
 msgstr ""
 
-msgid "Name"
-msgstr "اسم"
-
-msgid "Password"
-msgstr "كلمةالسرّ"
-
 msgid "Login"
 msgstr ""
 
@@ -332,717 +631,6 @@
 msgid "Expected a value for key \"%(token)s\""
 msgstr "تتوقع قيمة للمفتاح \"%(token)s\""
 
-msgid "Your changes are not saved!"
-msgstr ""
-
-msgid "Page name is too long, try shorter name."
-msgstr ""
-
-msgid "GUI Mode"
-msgstr ""
-
-msgid "Edit was cancelled."
-msgstr ""
-
-msgid "You can't rename to an empty pagename."
-msgstr ""
-
-#, python-format
-msgid ""
-"'''A page with the name {{{'%s'}}} already exists.'''\n"
-"\n"
-"Try a different name."
-msgstr ""
-
-#, python-format
-msgid "Could not rename page because of file system error: %s."
-msgstr ""
-
-msgid "Thank you for your changes. Your attention to detail is appreciated."
-msgstr ""
-
-#, python-format
-msgid "Page \"%s\" was successfully deleted!"
-msgstr ""
-
-#, python-format
-msgid ""
-"Dear Wiki user,\n"
-"\n"
-"You have subscribed to a wiki page or wiki category on \"%(sitename)s\" for "
-"change notification.\n"
-"\n"
-"The following page has been changed by %(editor)s:\n"
-"%(pagelink)s\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid ""
-"The comment on the change is:\n"
-"%(comment)s\n"
-"\n"
-msgstr ""
-
-msgid "New page:\n"
-msgstr "صفحة جديدة\n"
-
-msgid "No differences found!\n"
-msgstr "ْلا توجد اختلافات \n"
-
-#, python-format
-msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s"
-msgstr ""
-
-msgid "Trivial "
-msgstr ""
-
-msgid "Status of sending notification mails:"
-msgstr ""
-
-#, python-format
-msgid "[%(lang)s] %(recipients)s: %(status)s"
-msgstr ""
-
-#, python-format
-msgid "## backup of page \"%(pagename)s\" submitted %(date)s"
-msgstr ""
-
-#, python-format
-msgid "Page could not get locked. Unexpected error (errno=%d)."
-msgstr ""
-
-msgid "Page could not get locked. Missing 'current' file?"
-msgstr ""
-
-msgid "You are not allowed to edit this page!"
-msgstr ""
-
-msgid "You cannot save empty pages."
-msgstr ""
-
-msgid "You already saved this page!"
-msgstr ""
-
-msgid ""
-"Sorry, someone else saved the page while you edited it.\n"
-"\n"
-"Please do the following: Use the back button of your browser, and cut&paste\n"
-"your changes from there. Then go forward to here, and click EditText again.\n"
-"Now re-add your changes to the current page contents.\n"
-"\n"
-"''Do not just replace\n"
-"the content editbox with your version of the page, because that would\n"
-"delete the changes of the other person, which is excessively rude!''\n"
-msgstr ""
-
-#, python-format
-msgid "A backup of your changes is [%(backup_url)s here]."
-msgstr ""
-
-msgid "You did not change the page content, not saved!"
-msgstr ""
-
-msgid ""
-"You can't change ACLs on this page since you have no admin rights on it!"
-msgstr ""
-
-#, python-format
-msgid ""
-"The lock of %(owner)s timed out %(mins_ago)d minute(s) ago, and you were "
-"granted the lock for this page."
-msgstr ""
-
-#, python-format
-msgid ""
-"Other users will be ''blocked'' from editing this page until %(bumptime)s."
-msgstr ""
-
-#, python-format
-msgid ""
-"Other users will be ''warned'' until %(bumptime)s that you are editing this "
-"page."
-msgstr ""
-
-msgid "Use the Preview button to extend the locking period."
-msgstr ""
-
-#, python-format
-msgid ""
-"This page is currently ''locked'' for editing by %(owner)s until %(timestamp)"
-"s, i.e. for %(mins_valid)d minute(s)."
-msgstr ""
-
-#, python-format
-msgid ""
-"This page was opened for editing or last previewed at %(timestamp)s by %"
-"(owner)s.[[BR]]\n"
-"'''You should ''refrain from editing'' this page for at least another %"
-"(mins_valid)d minute(s),\n"
-"to avoid editing conflicts.'''[[BR]]\n"
-"To leave the editor, press the Cancel button."
-msgstr ""
-
-#, python-format
-msgid "The package needs a newer version of MoinMoin (at least %s)."
-msgstr ""
-
-msgid "The theme name is not set."
-msgstr ""
-
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-
-#, python-format
-msgid "Installation of '%(filename)s' failed."
-msgstr ""
-
-#, python-format
-msgid "The file %s is not a MoinMoin package file."
-msgstr ""
-
-#, python-format
-msgid "The page %s does not exist."
-msgstr ""
-
-msgid "Invalid package file header."
-msgstr ""
-
-msgid "Package file format unsupported."
-msgstr ""
-
-#, python-format
-msgid "Unknown function %(func)s in line %(lineno)i."
-msgstr ""
-
-#, python-format
-msgid "The file %s was not found in the package."
-msgstr ""
-
-msgid ""
-" Emphasis:: [[Verbatim('')]]''italics''[[Verbatim('')]]; [[Verbatim"
-"(''')]]'''bold'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''bold "
-"italics'''''[[Verbatim(''''')]]; [[Verbatim('')]]''mixed ''[[Verbatim"
-"(''')]]'''''bold'''[[Verbatim(''')]] and italics''[[Verbatim('')]]; "
-"[[Verbatim(----)]] horizontal rule.\n"
-" Headings:: [[Verbatim(=)]] Title 1 [[Verbatim(=)]]; [[Verbatim(==)]] Title "
-"2 [[Verbatim(==)]]; [[Verbatim(===)]] Title 3 [[Verbatim(===)]];   [[Verbatim"
-"(====)]] Title 4 [[Verbatim(====)]]; [[Verbatim(=====)]] Title 5 [[Verbatim"
-"(=====)]].\n"
-" Lists:: space and one of: * bullets; 1., a., A., i., I. numbered items; 1."
-"#n start numbering at n; space alone indents.\n"
-" Links:: [[Verbatim(JoinCapitalizedWords)]]; [[Verbatim([\"brackets and "
-"double quotes\"])]]; url; [url]; [url label].\n"
-" Tables:: || cell text |||| cell text spanning 2 columns ||;    no trailing "
-"white space allowed after tables or titles.\n"
-"\n"
-"(!) For more help, see HelpOnEditing or SyntaxReference.\n"
-msgstr ""
-
-msgid ""
-"Emphasis: <i>*italic*</i> <b>**bold**</b> ``monospace``<br/>\n"
-"<br/><pre>\n"
-"Headings: Heading 1  Heading 2  Heading 3\n"
-"          =========  ---------  ~~~~~~~~~\n"
-"\n"
-"Horizontal rule: ---- \n"
-"Links: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
-"\n"
-".. _external: http://external-site.net/foo/\n"
-"\n"
-"Lists: * bullets; 1., a. numbered items.\n"
-"</pre>\n"
-"<br/>\n"
-"(!) For more help, see the \n"
-"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
-"reStructuredText Quick Reference\n"
-"</a>.\n"
-msgstr ""
-
-msgid "Diffs"
-msgstr ""
-
-msgid "Info"
-msgstr ""
-
-msgid "Edit"
-msgstr ""
-
-msgid "UnSubscribe"
-msgstr ""
-
-msgid "Subscribe"
-msgstr "اشتراك"
-
-msgid "Raw"
-msgstr ""
-
-msgid "XML"
-msgstr "XML"
-
-msgid "Print"
-msgstr "طباعة"
-
-msgid "View"
-msgstr "اظهر"
-
-msgid "Up"
-msgstr "أعلى"
-
-msgid "Publish my email (not my wiki homepage) in author info"
-msgstr "انشر رسائلي الإلكترونية (ليس صفحتي الشخصية في الويكي ) في معلومات المؤلف"
-
-msgid "Open editor on double click"
-msgstr "افتح المحرر عند النقر المزدوج"
-
-msgid "Jump to last visited page instead of frontpage"
-msgstr ""
-
-msgid "Show question mark for non-existing pagelinks"
-msgstr ""
-
-msgid "Show page trail"
-msgstr ""
-
-msgid "Show icon toolbar"
-msgstr "اظهر أيقونات شريط الأدوات"
-
-msgid "Show top/bottom links in headings"
-msgstr ""
-
-msgid "Show fancy diffs"
-msgstr ""
-
-msgid "Add spaces to displayed wiki names"
-msgstr ""
-
-msgid "Remember login information"
-msgstr "تذكر معلومات الدخول"
-
-msgid "Subscribe to trivial changes"
-msgstr ""
-
-msgid "Disable this account forever"
-msgstr "عطل هذا الحساب للأبد"
-
-msgid "(Use Firstname''''''Lastname)"
-msgstr "(استخدم الاسم الأول الاسم الأخير)"
-
-msgid "Alias-Name"
-msgstr "الأسم المستعار"
-
-msgid "Password repeat"
-msgstr "اعادة كلمة السر"
-
-msgid "(Only when changing passwords)"
-msgstr ""
-
-msgid "User CSS URL"
-msgstr ""
-
-msgid "(Leave it empty for disabling user CSS)"
-msgstr "URL CSS المستخدم"
-
-msgid "Editor size"
-msgstr "حجم المحرر"
-
-msgid "Do it."
-msgstr "نفذ."
-
-#, python-format
-msgid "Execute action %(actionname)s?"
-msgstr "نفذ عملية %(actionname)s?"
-
-#, python-format
-msgid "Action %(actionname)s is excluded in this wiki!"
-msgstr "لا يسمح للويكي بتنفيذ عملية %(actionname)s!"
-
-#, python-format
-msgid "You are not allowed to use action %(actionname)s on this page!"
-msgstr "لا يسمح لك باستخدام عملية %(actionname)s في هذه الصفحة!"
-
-#, python-format
-msgid "Please use the interactive user interface to use action %(actionname)s!"
-msgstr ""
-
-msgid "You are not allowed to revert this page!"
-msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة"
-
-msgid "No older revisions available!"
-msgstr ""
-
-#, python-format
-msgid "Diff for \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Differences between revisions %d and %d"
-msgstr "الاختلافات بين نسخة %d و نسخة %d"
-
-#, python-format
-msgid "(spanning %d versions)"
-msgstr "التمديد ل %d نسخ"
-
-msgid "No differences found!"
-msgstr "لا توجد الاختلافات!"
-
-#, python-format
-msgid "The page was saved %(count)d times, though!"
-msgstr ""
-
-msgid "(ignoring whitespace)"
-msgstr ""
-
-msgid "Ignore changes in the amount of whitespace"
-msgstr ""
-
-msgid "General Information"
-msgstr ""
-
-#, python-format
-msgid "Page size: %d"
-msgstr ""
-
-msgid "SHA digest of this page's content is:"
-msgstr ""
-
-msgid "The following users subscribed to this page:"
-msgstr ""
-
-msgid "This page links to the following pages:"
-msgstr ""
-
-msgid "Date"
-msgstr "التاريخ"
-
-msgid "Size"
-msgstr "الحجم"
-
-msgid "Diff"
-msgstr ""
-
-msgid "Editor"
-msgstr "المحرر"
-
-msgid "Comment"
-msgstr ""
-
-msgid "view"
-msgstr ""
-
-msgid "raw"
-msgstr ""
-
-msgid "print"
-msgstr ""
-
-msgid "revert"
-msgstr ""
-
-#, python-format
-msgid "Revert to revision %(rev)d."
-msgstr ""
-
-msgid "edit"
-msgstr ""
-
-msgid "get"
-msgstr ""
-
-msgid "del"
-msgstr ""
-
-msgid "N/A"
-msgstr ""
-
-msgid "Revision History"
-msgstr ""
-
-msgid "No log entries found."
-msgstr ""
-
-#, python-format
-msgid "Info for \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Show \"%(title)s\""
-msgstr ""
-
-msgid "General Page Infos"
-msgstr ""
-
-#, python-format
-msgid "Show chart \"%(title)s\""
-msgstr ""
-
-msgid "Page hits and edits"
-msgstr ""
-
-msgid "You must login to add a quicklink."
-msgstr ""
-
-msgid "Your quicklink to this page has been removed."
-msgstr ""
-
-msgid "A quicklink to this page has been added for you."
-msgstr ""
-
-msgid "You are not allowed to subscribe to a page you can't read."
-msgstr ""
-
-msgid "This wiki is not enabled for mail processing."
-msgstr ""
-
-msgid "You must log in to use subscribtions."
-msgstr ""
-
-msgid "Add your email address in your UserPreferences to use subscriptions."
-msgstr ""
-
-msgid "Your subscribtion to this page has been removed."
-msgstr ""
-
-msgid "Can't remove regular expression subscription!"
-msgstr ""
-
-msgid "Edit the subscription regular expressions in your UserPreferences."
-msgstr ""
-
-msgid "You have been subscribed to this page."
-msgstr ""
-
-msgid "Charts are not available!"
-msgstr ""
-
-msgid "You need to provide a chart type!"
-msgstr ""
-
-#, python-format
-msgid "Bad chart type \"%s\"!"
-msgstr ""
-
-msgid "This page is already deleted or was never created!"
-msgstr ""
-
-#, python-format
-msgid "No pages like \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Invalid filename \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Attachment '%(target)s' (remote name '%(filename)s') already exists."
-msgstr ""
-
-#, python-format
-msgid "Created the package %s containing the pages %s."
-msgstr ""
-
-msgid "Package pages"
-msgstr ""
-
-msgid "Package name"
-msgstr ""
-
-msgid "List of page names - separated by a comma"
-msgstr ""
-
-#, python-format
-msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
-msgstr ""
-
-msgid "Missing password. Please enter user name and password."
-msgstr ""
-
-msgid "Sorry, wrong password."
-msgstr ""
-
-#, python-format
-msgid "Exactly one page like \"%s\" found, redirecting to page."
-msgstr ""
-
-#, python-format
-msgid "Pages like \"%s\""
-msgstr ""
-
-#, python-format
-msgid "%(matchcount)d %(matches)s for \"%(title)s\""
-msgstr ""
-
-#, python-format
-msgid "Local Site Map for \"%s\""
-msgstr ""
-
-msgid "Please log in first."
-msgstr ""
-
-msgid "Please first create a homepage before creating additional pages."
-msgstr ""
-
-#, python-format
-msgid ""
-"You can add some additional sub pages to your already existing homepage "
-"here.\n"
-"\n"
-"You can choose how open to other readers or writers those pages shall be,\n"
-"access is controlled by group membership of the corresponding group page.\n"
-"\n"
-"Just enter the sub page's name and click on the button to create a new "
-"page.\n"
-"\n"
-"Before creating access protected pages, make sure the corresponding group "
-"page\n"
-"exists and has the appropriate members in it. Use HomepageGroupsTemplate for "
-"creating\n"
-"the group pages.\n"
-"\n"
-"||'''Add a new personal page:'''||'''Related access control list "
-"group:'''||\n"
-"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
-"[\"%(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"
-msgstr ""
-
-msgid "MyPages management"
-msgstr ""
-
-msgid "Rename Page"
-msgstr ""
-
-msgid "New name"
-msgstr ""
-
-msgid "Optional reason for the renaming"
-msgstr ""
-
-#, python-format
-msgid "(including %(localwords)d %(pagelink)s)"
-msgstr ""
-
-#, python-format
-msgid ""
-"The following %(badwords)d words could not be found in the dictionary of %"
-"(totalwords)d words%(localwords)s and are highlighted below:"
-msgstr ""
-
-msgid "Add checked words to dictionary"
-msgstr ""
-
-msgid "No spelling errors found!"
-msgstr ""
-
-msgid "You can't check spelling on a page you can't read."
-msgstr ""
-
-#, python-format
-msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
-msgstr ""
-
-#, python-format
-msgid "Title Search: \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Full Text Search: \"%s\""
-msgstr ""
-
-#, python-format
-msgid "Full Link List for \"%s\""
-msgstr ""
-
-msgid ""
-"Cannot create a new page without a page name.  Please specify a page name."
-msgstr ""
-
-msgid "Pages"
-msgstr ""
-
-msgid "Select Author"
-msgstr ""
-
-msgid "Revert all!"
-msgstr ""
-
-msgid "You are not allowed to use this action."
-msgstr ""
-
-#, python-format
-msgid "Subscribe users to the page %s"
-msgstr ""
-
-#, python-format
-msgid "Subscribed for %s:"
-msgstr ""
-
-msgid "Not a user:"
-msgstr ""
-
-msgid "You are not allowed to perform this action."
-msgstr ""
-
-msgid "You are now logged out."
-msgstr ""
-
-msgid "Delete"
-msgstr ""
-
-msgid "Optional reason for the deletion"
-msgstr ""
-
-msgid "Really delete this page?"
-msgstr ""
-
-#, python-format
-msgid ""
-"Restored Backup: %(filename)s to target dir: %(targetdir)s.\n"
-"Files: %(filecount)d, Directories: %(dircount)d"
-msgstr ""
-
-#, python-format
-msgid "Restoring backup: %(filename)s to target dir: %(targetdir)s failed."
-msgstr ""
-
-msgid "Wiki Backup / Restore"
-msgstr ""
-
-msgid ""
-"Some hints:\n"
-" * To restore a backup:\n"
-"  * Restoring a backup will overwrite existing data, so be careful.\n"
-"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
-"stuff).\n"
-"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
-"  * Hit the [[GetText(Restore)]] button below.\n"
-"\n"
-" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
-"file\n"
-"   you get to a secure place.\n"
-"\n"
-"Please make sure your wiki configuration backup_* values are correct and "
-"complete.\n"
-"\n"
-msgstr ""
-
-msgid "Backup"
-msgstr ""
-
-msgid "Restore"
-msgstr ""
-
-msgid "You are not allowed to do remote backup."
-msgstr ""
-
-#, python-format
-msgid "Unknown backup subaction: %s."
-msgstr ""
-
 #, python-format
 msgid "[%d attachments]"
 msgstr ""
@@ -1067,6 +655,18 @@
 "since this is subject to change and can break easily."
 msgstr ""
 
+msgid "del"
+msgstr ""
+
+msgid "get"
+msgstr ""
+
+msgid "edit"
+msgstr ""
+
+msgid "view"
+msgstr ""
+
 msgid "unzip"
 msgstr ""
 
@@ -1146,6 +746,10 @@
 msgstr ""
 
 #, python-format
+msgid "Attachment '%(target)s' (remote name '%(filename)s') already exists."
+msgstr ""
+
+#, python-format
 msgid "Attachment '%(filename)s' deleted."
 msgstr ""
 
@@ -1192,6 +796,9 @@
 msgid "Modified"
 msgstr ""
 
+msgid "Size"
+msgstr "الحجم"
+
 msgid "Unknown file type, cannot display this attachment inline."
 msgstr ""
 
@@ -1199,6 +806,390 @@
 msgid "attachment:%(filename)s of %(pagename)s"
 msgstr ""
 
+msgid "Delete"
+msgstr ""
+
+msgid "This page is already deleted or was never created!"
+msgstr ""
+
+msgid "Optional reason for the deletion"
+msgstr ""
+
+msgid "Really delete this page?"
+msgstr ""
+
+msgid "Editor"
+msgstr "المحرر"
+
+msgid "Pages"
+msgstr ""
+
+msgid "Select Author"
+msgstr ""
+
+msgid "Revert all!"
+msgstr ""
+
+msgid "You are not allowed to use this action."
+msgstr ""
+
+#, python-format
+msgid "No pages like \"%s\"!"
+msgstr ""
+
+#, python-format
+msgid "Exactly one page like \"%s\" found, redirecting to page."
+msgstr ""
+
+#, python-format
+msgid "Pages like \"%s\""
+msgstr ""
+
+#, python-format
+msgid "%(matchcount)d %(matches)s for \"%(title)s\""
+msgstr ""
+
+msgid "match"
+msgstr ""
+
+msgid "matches"
+msgstr ""
+
+#, python-format
+msgid "Local Site Map for \"%s\""
+msgstr ""
+
+msgid "Please log in first."
+msgstr ""
+
+msgid "Please first create a homepage before creating additional pages."
+msgstr ""
+
+#, python-format
+msgid ""
+"You can add some additional sub pages to your already existing homepage "
+"here.\n"
+"\n"
+"You can choose how open to other readers or writers those pages shall be,\n"
+"access is controlled by group membership of the corresponding group page.\n"
+"\n"
+"Just enter the sub page's name and click on the button to create a new "
+"page.\n"
+"\n"
+"Before creating access protected pages, make sure the corresponding group "
+"page\n"
+"exists and has the appropriate members in it. Use HomepageGroupsTemplate for "
+"creating\n"
+"the group pages.\n"
+"\n"
+"||'''Add a new personal page:'''||'''Related access control list "
+"group:'''||\n"
+"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
+"[\"%(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"
+msgstr ""
+
+msgid "MyPages management"
+msgstr ""
+
+#, python-format
+msgid "Invalid filename \"%s\"!"
+msgstr ""
+
+#, python-format
+msgid "Created the package %s containing the pages %s."
+msgstr ""
+
+msgid "Package pages"
+msgstr ""
+
+msgid "Package name"
+msgstr ""
+
+msgid "List of page names - separated by a comma"
+msgstr ""
+
+msgid "Rename Page"
+msgstr ""
+
+msgid "New name"
+msgstr ""
+
+msgid "Optional reason for the renaming"
+msgstr ""
+
+#, python-format
+msgid "(including %(localwords)d %(pagelink)s)"
+msgstr ""
+
+#, python-format
+msgid ""
+"The following %(badwords)d words could not be found in the dictionary of %"
+"(totalwords)d words%(localwords)s and are highlighted below:"
+msgstr ""
+
+msgid "Add checked words to dictionary"
+msgstr ""
+
+msgid "No spelling errors found!"
+msgstr ""
+
+msgid "You can't check spelling on a page you can't read."
+msgstr ""
+
+#, python-format
+msgid "Subscribe users to the page %s"
+msgstr ""
+
+#, python-format
+msgid "Subscribed for %s:"
+msgstr ""
+
+msgid "Not a user:"
+msgstr ""
+
+msgid "You are not allowed to perform this action."
+msgstr ""
+
+msgid "Do it."
+msgstr "نفذ."
+
+#, python-format
+msgid "Execute action %(actionname)s?"
+msgstr "نفذ عملية %(actionname)s?"
+
+#, python-format
+msgid "Action %(actionname)s is excluded in this wiki!"
+msgstr "لا يسمح للويكي بتنفيذ عملية %(actionname)s!"
+
+#, python-format
+msgid "You are not allowed to use action %(actionname)s on this page!"
+msgstr "لا يسمح لك باستخدام عملية %(actionname)s في هذه الصفحة!"
+
+#, python-format
+msgid "Please use the interactive user interface to use action %(actionname)s!"
+msgstr ""
+
+msgid "You are not allowed to revert this page!"
+msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة"
+
+msgid "No older revisions available!"
+msgstr ""
+
+#, python-format
+msgid "Diff for \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Differences between revisions %d and %d"
+msgstr "الاختلافات بين نسخة %d و نسخة %d"
+
+#, python-format
+msgid "(spanning %d versions)"
+msgstr "التمديد ل %d نسخ"
+
+msgid "No differences found!"
+msgstr "لا توجد الاختلافات!"
+
+#, python-format
+msgid "The page was saved %(count)d times, though!"
+msgstr ""
+
+msgid "(ignoring whitespace)"
+msgstr ""
+
+msgid "Ignore changes in the amount of whitespace"
+msgstr ""
+
+msgid "General Information"
+msgstr ""
+
+#, python-format
+msgid "Page size: %d"
+msgstr ""
+
+msgid "SHA digest of this page's content is:"
+msgstr ""
+
+msgid "The following users subscribed to this page:"
+msgstr ""
+
+msgid "This page links to the following pages:"
+msgstr ""
+
+msgid "Date"
+msgstr "التاريخ"
+
+msgid "Diff"
+msgstr ""
+
+msgid "Comment"
+msgstr ""
+
+msgid "raw"
+msgstr ""
+
+msgid "print"
+msgstr ""
+
+msgid "revert"
+msgstr ""
+
+#, python-format
+msgid "Revert to revision %(rev)d."
+msgstr ""
+
+msgid "N/A"
+msgstr ""
+
+msgid "Revision History"
+msgstr ""
+
+msgid "No log entries found."
+msgstr ""
+
+#, python-format
+msgid "Info for \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Show \"%(title)s\""
+msgstr ""
+
+msgid "General Page Infos"
+msgstr ""
+
+#, python-format
+msgid "Show chart \"%(title)s\""
+msgstr ""
+
+msgid "Page hits and edits"
+msgstr ""
+
+msgid "You must login to add a quicklink."
+msgstr ""
+
+msgid "Your quicklink to this page has been removed."
+msgstr ""
+
+msgid "A quicklink to this page has been added for you."
+msgstr ""
+
+msgid "You are not allowed to subscribe to a page you can't read."
+msgstr ""
+
+msgid "This wiki is not enabled for mail processing."
+msgstr ""
+
+msgid "You must log in to use subscribtions."
+msgstr ""
+
+msgid "Add your email address in your UserPreferences to use subscriptions."
+msgstr ""
+
+msgid "Your subscribtion to this page has been removed."
+msgstr ""
+
+msgid "Can't remove regular expression subscription!"
+msgstr ""
+
+msgid "Edit the subscription regular expressions in your UserPreferences."
+msgstr ""
+
+msgid "You have been subscribed to this page."
+msgstr ""
+
+msgid "Charts are not available!"
+msgstr ""
+
+msgid "You need to provide a chart type!"
+msgstr ""
+
+#, python-format
+msgid "Bad chart type \"%s\"!"
+msgstr ""
+
+#, python-format
+msgid ""
+"Restored Backup: %(filename)s to target dir: %(targetdir)s.\n"
+"Files: %(filecount)d, Directories: %(dircount)d"
+msgstr ""
+
+#, python-format
+msgid "Restoring backup: %(filename)s to target dir: %(targetdir)s failed."
+msgstr ""
+
+msgid "Wiki Backup / Restore"
+msgstr ""
+
+msgid ""
+"Some hints:\n"
+" * To restore a backup:\n"
+"  * Restoring a backup will overwrite existing data, so be careful.\n"
+"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
+"stuff).\n"
+"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
+"  * Hit the [[GetText(Restore)]] button below.\n"
+"\n"
+" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
+"file\n"
+"   you get to a secure place.\n"
+"\n"
+"Please make sure your wiki configuration backup_* values are correct and "
+"complete.\n"
+"\n"
+msgstr ""
+
+msgid "Backup"
+msgstr ""
+
+msgid "Restore"
+msgstr ""
+
+msgid "You are not allowed to do remote backup."
+msgstr ""
+
+#, python-format
+msgid "Unknown backup subaction: %s."
+msgstr ""
+
+#, python-format
+msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
+msgstr ""
+
+#, python-format
+msgid "Title Search: \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Full Text Search: \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Full Link List for \"%s\""
+msgstr ""
+
+#, python-format
+msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
+msgstr ""
+
+msgid "Missing password. Please enter user name and password."
+msgstr ""
+
+msgid "Sorry, login failed."
+msgstr ""
+
+msgid "You are now logged out."
+msgstr ""
+
+msgid ""
+"Cannot create a new page without a page name.  Please specify a page name."
+msgstr ""
+
 #, python-format
 msgid "Upload new attachment \"%(filename)s\""
 msgstr ""
@@ -1289,39 +1280,12 @@
 msgid "SpellCheck"
 msgstr ""
 
-msgid "Search Titles"
-msgstr ""
-
-msgid "Display context of search results"
-msgstr ""
-
-msgid "Case-sensitive searching"
-msgstr ""
-
-msgid "Search Text"
-msgstr ""
-
-msgid "Go To Page"
-msgstr ""
-
-msgid "Include system pages"
-msgstr ""
-
-msgid "Exclude system pages"
-msgstr ""
-
-msgid "Plain title index"
-msgstr ""
-
-msgid "XML title index"
+#, python-format
+msgid "Invalid include arguments \"%s\"!"
 msgstr ""
 
 #, python-format
-msgid "ERROR in regex '%s'"
-msgstr ""
-
-#, python-format
-msgid "Bad timestamp '%s'"
+msgid "Nothing found for \"%s\"!"
 msgstr ""
 
 #, python-format
@@ -1390,40 +1354,123 @@
 msgid "[Bookmark reached]"
 msgstr ""
 
-msgid "Contents"
-msgstr ""
-
-msgid "No wanted pages in this wiki."
-msgstr ""
-
-#, python-format
-msgid "Invalid include arguments \"%s\"!"
-msgstr ""
-
-#, python-format
-msgid "Nothing found for \"%s\"!"
-msgstr ""
-
 msgid "Markup"
 msgstr ""
 
 msgid "Display"
 msgstr "العرض"
 
-msgid "Filename"
-msgstr "اسم الملف"
-
-msgid ""
-"Rendering of reStructured text is not possible, please install docutils."
+msgid "Python Version"
 msgstr ""
 
-msgid "**Maximum number of allowed includes exceeded**"
+msgid "MoinMoin Version"
 msgstr ""
 
 #, python-format
-msgid "**Could not find the referenced page: %s**"
+msgid "Release %s [Revision %s]"
 msgstr ""
 
+msgid "4Suite Version"
+msgstr ""
+
+msgid "Number of pages"
+msgstr ""
+
+msgid "Number of system pages"
+msgstr ""
+
+msgid "Accumulated page sizes"
+msgstr ""
+
+#, python-format
+msgid "Disk usage of %(data_dir)s/pages/"
+msgstr ""
+
+#, python-format
+msgid "Disk usage of %(data_dir)s/"
+msgstr ""
+
+msgid "Entries in edit log"
+msgstr ""
+
+msgid "NONE"
+msgstr ""
+
+msgid "Global extension macros"
+msgstr ""
+
+msgid "Local extension macros"
+msgstr ""
+
+msgid "Global extension actions"
+msgstr ""
+
+msgid "Local extension actions"
+msgstr ""
+
+msgid "Global parsers"
+msgstr ""
+
+msgid "Local extension parsers"
+msgstr ""
+
+msgid "Disabled"
+msgstr ""
+
+msgid "Enabled"
+msgstr ""
+
+msgid "Xapian search"
+msgstr ""
+
+msgid "Active threads"
+msgstr ""
+
+msgid "Contents"
+msgstr ""
+
+msgid "Include system pages"
+msgstr ""
+
+msgid "Exclude system pages"
+msgstr ""
+
+msgid "No wanted pages in this wiki."
+msgstr ""
+
+msgid "Search Titles"
+msgstr ""
+
+msgid "Display context of search results"
+msgstr ""
+
+msgid "Case-sensitive searching"
+msgstr ""
+
+msgid "Search Text"
+msgstr ""
+
+msgid "Go To Page"
+msgstr ""
+
+#, python-format
+msgid "ERROR in regex '%s'"
+msgstr ""
+
+#, python-format
+msgid "Bad timestamp '%s'"
+msgstr ""
+
+#, python-format
+msgid "Connection to mailserver '%(server)s' failed: %(reason)s"
+msgstr ""
+
+msgid "Mail not sent"
+msgstr "لم يتم ارسال البريد"
+
+msgid "Mail sent OK"
+msgstr "تم ارسال البريد "
+
 #, python-format
 msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
 msgstr ""
@@ -1440,6 +1487,17 @@
 msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
 msgstr ""
 
+msgid ""
+"Rendering of reStructured text is not possible, please install Docutils."
+msgstr ""
+
+msgid "**Maximum number of allowed includes exceeded**"
+msgstr ""
+
+#, python-format
+msgid "**Could not find the referenced page: %s**"
+msgstr ""
+
 msgid "XSLT option disabled, please look at HelpOnConfiguration."
 msgstr ""
 
@@ -1450,6 +1508,18 @@
 msgid "%(errortype)s processing error"
 msgstr ""
 
+#, python-format
+msgid "You are not allowed to do %s on this page."
+msgstr ""
+
+msgid "Login and try again."
+msgstr "سجل الدخول و حاول مرة أخرى"
+
+#, python-format
+msgid ""
+"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
+msgstr ""
+
 msgid "Views/day"
 msgstr ""
 
@@ -1631,11 +1701,6 @@
 msgid "User"
 msgstr "المستخدم"
 
-#, python-format
-msgid ""
-"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
-msgstr ""
-
 msgid "Line"
 msgstr ""
 
@@ -1646,18 +1711,12 @@
 msgstr ""
 
 #, python-format
-msgid "Connection to mailserver '%(server)s' failed: %(reason)s"
+msgid "%(hits)d results out of about %(pages)d pages."
 msgstr ""
 
-msgid "Mail not sent"
-msgstr "لم يتم ارسال البريد"
-
-msgid "Mail sent OK"
-msgstr "تم ارسال البريد "
+#, python-format
+msgid "%.2f seconds"
+msgstr "%.2f ثانية"
 
-#, python-format
-msgid "You are not allowed to do %s on this page."
-msgstr ""
-
-msgid "Login and try again."
-msgstr "سجل الدخول و حاول مرة أخرى"
+#~ msgid "Filename"
+#~ msgstr "اسم الملف"
--- a/MoinMoin/i18n/fa.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/fa.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -11,7 +11,7 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: 1.5.0\n"
+"Project-Id-Version: 1.6.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2006-07-17 12:27+0200\n"
 "PO-Revision-Date: 2005-11-06 17:11+0330\n"
@@ -26,1978 +26,3944 @@
 "X-Language-in-English: Persian\n"
 
 msgid ""
+
 "The backed up content of this page is deprecated and will not be included in "
+
 "search results!"
+
 msgstr "نسخه های پشتیبان گرفته شده از این صفحه در نتایج جستجو نخواهند آمد!"
 
-#, python-format
-msgid "Revision %(rev)d as of %(date)s"
-msgstr "ویرایش %(rev)d در تاریخ %(date)s"
-
-#, python-format
-msgid "Redirected from page \"%(page)s\""
-msgstr "ارجاع از صفحه \"%(page)s\""
-
-#, python-format
-msgid "This page redirects to page \"%(page)s\""
-msgstr "این صفحه به صفحه \"%(page)s\" ارجاع دارد"
-
-#, python-format
-msgid ""
-"~-If you submit this form, the submitted values will be displayed.\n"
-"To use this form on other pages, insert a\n"
-"[[BR]][[BR]]'''{{{    [[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
-"macro call.-~\n"
-msgstr ""
-"~-در صورتی که این فرم را ثبت نمايید٬ مقادیر ثبت شده قابل رویت خواهند بود.\n"
-"برای استفاده از این فرم در صفحات دیگر از نمونه کد زیر استفاده نمايید.·a\n"
-"[[BR]][[BR]]'''{{{····[[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
-"-~\n"
-
-msgid "Create New Page"
-msgstr "ایجاد صفحه جدید"
-
-msgid "You are not allowed to view this page."
-msgstr "شما مجاز به مشاهده این صفحه نمی باشید"
-
-msgid "Your changes are not saved!"
-msgstr "تغییرات شما ذخیره نشد!"
-
-msgid "You are not allowed to edit this page."
-msgstr "شما مجاز به ویرایش این صفحه نمی باشید"
-
-msgid "Page is immutable!"
-msgstr "این صفحه غیر قابل ویرایش است!"
-
-msgid "Cannot edit old revisions!"
-msgstr "ویرایش های قبلی قابل ویرایش مجدد نمی باشند!"
-
-msgid "The lock you held timed out. Be prepared for editing conflicts!"
-msgstr "مدت زمان ویرایش شما به پایان رسیده است. آماده ویرایش مجدد باشید!"
-
-msgid "Page name is too long, try shorter name."
-msgstr "نام این صفحه طولانی است٬ لطفا نام کوتاه تری انتخاب نمایید."
-
-#, python-format
-msgid "Edit \"%(pagename)s\""
-msgstr "ویرایش \"%(pagename)s\""
-
-#, python-format
-msgid "Preview of \"%(pagename)s\""
-msgstr "پیش نمایش \"%(pagename)s\""
-
-#, python-format
-msgid "Your edit lock on %(lock_page)s has expired!"
-msgstr "زمان قفل ویرایش شما بر روی %(lock_page)s به پایان رسیده است!"
-
-#, python-format
-msgid "Your edit lock on %(lock_page)s will expire in # minutes."
-msgstr ""
-"زمان قفل ویرایش شما بر روی %(lock_page)s تا # دقیقه دیگر به پایان میرسد."
-
-#, python-format
-msgid "Your edit lock on %(lock_page)s will expire in # seconds."
-msgstr ""
-"زمان·قفل·ویرایش·شما·بر·روی·%(lock_page)s·تا·#·ثانیه·دیگر به·پایان·میرسد."
-
-msgid "Someone else deleted this page while you were editing!"
-msgstr "این صفحه در زمان ویرایش شما توسط شخص دیگری حذف شده است!"
-
-msgid "Someone else changed this page while you were editing!"
-msgstr "این صفحه در زمان ویرایش شما توسط شخص دیگری تغییر کرده است!"
-
-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 ""
-"این صفحه در زمان ویرایش شما توسط شخص دیگری ذخیره شده است!\n"
-"لطفا یک بار صفحه را مرور نموده و سپس ذخیره نمایید. این صفحه را همینگونه که "
-"هست ذخیره ننمایید!"
-
-#, python-format
-msgid "[Content of new page loaded from %s]"
-msgstr "[محتویات صفحه جدید از %s بارگذاری شد]"
-
-#, python-format
-msgid "[Template %s not found]"
-msgstr "[قالب %s یافت نشد]"
-
-#, python-format
-msgid "[You may not read %s]"
-msgstr "[شما نمی توانید %s را مطالعه نمایید]"
-
-#, python-format
-msgid "Describe %s here."
-msgstr "در مورد %s اینجا توضیح دهید."
-
-msgid "Check Spelling"
-msgstr "تصحیح املایی"
-
-msgid "Save Changes"
-msgstr "تغییرات ذخیره شود"
-
-msgid "Cancel"
-msgstr "لغو"
-
-#, python-format
-msgid ""
-"By hitting '''%(save_button_text)s''' you put your changes under the %"
-"(license_link)s.\n"
-"If you don't want that, hit '''%(cancel_button_text)s''' to cancel your "
-"changes."
-msgstr ""
-"با فشردن کلید '''%(save_button_text)s''' تغییرات شما تحت مجوز %(license_link)"
-"s اعمل میشوند.\n"
-"در صورت عدم تمایل٬ برای لغو تغییرات خود دکمه '''%(cancel_button_text)s''' را "
-"فشار دهید."
-
-msgid "Preview"
-msgstr "پیش نمایش"
-
-msgid "GUI Mode"
-msgstr "ویرایش گرافیکی"
-
-msgid "Comment:"
-msgstr "توضیحات:"
-
-msgid "<No addition>"
-msgstr "<طبقه بندی نشود>"
-
-#, python-format
-msgid "Add to: %(category)s"
-msgstr "به طبقه %(category)s اضافه شود"
-
-msgid "Trivial change"
-msgstr "تغییرات جزئی"
-
-msgid "Remove trailing whitespace from each line"
-msgstr "جاهای خالی را از هر خط حذف نما"
-
-msgid "Edit was cancelled."
-msgstr "ویرایش لغو شد."
-
-msgid "You can't rename to an empty pagename."
-msgstr "تغییر نام به یک صفحه بدون نام مجاز نیست."
-
-#, python-format
-msgid ""
-"'''A page with the name {{{'%s'}}} already exists.'''\n"
-"\n"
-"Try a different name."
-msgstr ""
-"'''صفحه ای با نام {{{'%s'}}} وجود دارد.'''\n"
-"\n"
-"لطفا نام دیگری انتخاب نمایید."
-
-#, python-format
-msgid "Could not rename page because of file system error: %s."
-msgstr "بدلیل ایراد سیستمی %s نام صفحه تغییر نکرد."
-
-msgid "Thank you for your changes. Your attention to detail is appreciated."
-msgstr "تغییرات مورد نظر شما اعمال شد."
-
-#, python-format
-msgid "Page \"%s\" was successfully deleted!"
-msgstr "صفحه \"%s\" با موفقیت حذف شد!"
-
-#, python-format
-msgid ""
-"Dear Wiki user,\n"
-"\n"
-"You have subscribed to a wiki page or wiki category on \"%(sitename)s\" for "
-"change notification.\n"
-"\n"
-"The following page has been changed by %(editor)s:\n"
-"%(pagelink)s\n"
-"\n"
-msgstr ""
-"کاربر گرامی٬\n"
-"\n"
-"شما در صفحه یا طبقه بندی \"%(sitename)s\" برای اطلاع از تغییرات صورت گرفته "
-"عضو می باشید\n"
-"این صفحه توسط %(editor)s ویرایش شده است:\n"
-"%(pagelink)s\n"
-"\n"
-
-#, python-format
-msgid ""
-"The comment on the change is:\n"
-"%(comment)s\n"
-"\n"
-msgstr ""
-"نظرات در مورد تغییر صورت گرفته:\n"
-"%(comment)s\n"
-"\n"
-
-msgid "New page:\n"
-msgstr "صفحه جدید:\n"
-
-msgid "No differences found!\n"
-msgstr "تغییری مشاهده نشد!\n"
-
-#, python-format
-msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s"
-msgstr ""
-"بروزآوری %(trivial)s های سایت [%(sitename)s] در صفحه \"%(pagename)s\" توسط %"
-"(username)s"
-
-msgid "Trivial "
-msgstr "جزئی"
-
-msgid "Status of sending notification mails:"
-msgstr "وضعیت ارسال ایمیل های آگاه سازی:"
-
-#, python-format
-msgid "[%(lang)s] %(recipients)s: %(status)s"
-msgstr "[%(lang)s]·%(recipients)s:·%(status)s"
-
-#, python-format
-msgid "## backup of page \"%(pagename)s\" submitted %(date)s"
-msgstr "## نسخه پشتیبان صفحه \"%(pagename)s\" در تاریخ %(date)s ثبت شد"
-
-#, python-format
-msgid "Page could not get locked. Unexpected error (errno=%d)."
-msgstr "این صفحه قفل ویرایش نشد. خطا (errno=%d)."
-
-msgid "Page could not get locked. Missing 'current' file?"
-msgstr "صفحه قفل ویرایش نشد. فایل جاری از دست رفته است؟"
-
-msgid "You are not allowed to edit this page!"
-msgstr "شما مجاز به ویرایش این صفحه نمی باشید!"
-
-msgid "You cannot save empty pages."
-msgstr "ذخیره صفحات خالی مجاز نیست."
-
-msgid "You already saved this page!"
-msgstr "صفحه ذخیره شده است!"
-
-msgid "You already edited this page! Please do not use the back button."
-msgstr ""
-"شما هم اکنون این صفحه را ویرایش نموده اید! لطفا از دکمه back استفاده ننمائید."
-
-#, python-format
-msgid "A backup of your changes is [%(backup_url)s here]."
-msgstr ""
-"نسخه پشتیبان از تغییراتی که شما اعمال نموده اید [%(backup_url)s·اینجا] ذخیره "
-"شده است."
-
-msgid "You did not change the page content, not saved!"
-msgstr "تغییری از طرف شما اعمال نشد٬ چیزی ذخیره نشد!"
-
-msgid ""
-"You can't change ACLs on this page since you have no admin rights on it!"
-msgstr ""
-"شما مجاز به تغییر ACL یا مجوزهای دسترسی در این صفحه نمی باشید. این کار نیاز "
-"به سطح دسترسی مدیر دارد!"
-
-#, python-format
-msgid ""
-"The lock of %(owner)s timed out %(mins_ago)d minute(s) ago, and you were "
-"granted the lock for this page."
-msgstr ""
-"زمان قفل ویرایش %(owner)s حدود %(mins_ago)d دقیقه پیش منقضی شده و قفل ویرایش "
-"این صفحه در اختیار شما می باشد."
-
-#, python-format
-msgid ""
-"Other users will be ''blocked'' from editing this page until %(bumptime)s."
-msgstr "سایر کاربران تا %(bumptime)s دیگر مجاز به تغییر این صفحه نخواهند بود."
-
-#, python-format
-msgid ""
-"Other users will be ''warned'' until %(bumptime)s that you are editing this "
-"page."
-msgstr ""
-"سایر کاربران تا %(bumptime)s دیگر پیغامی مبنی بر اینکه شما در حال ویرایش این "
-"صفحه می باشید دریافت خواهند نمود."
-
-msgid "Use the Preview button to extend the locking period."
-msgstr "جهت تمدید مدت زمان قفل ویرایش دکمه پیش نمایش را فشار دهید."
-
-#, python-format
-msgid ""
-"This page is currently ''locked'' for editing by %(owner)s until %(timestamp)"
-"s, i.e. for %(mins_valid)d minute(s)."
-msgstr ""
-"این صفحه توسط %(owner)s تا %(timestamp)s دیگر بدلیل در حال ویرایش بودن قفل "
-"شده است. مدت قفل %(mins_valid)d دقیقه."
-
-#, python-format
-msgid ""
-"This page was opened for editing or last previewed at %(timestamp)s by %"
-"(owner)s.[[BR]]\n"
-"'''You should ''refrain from editing'' this page for at least another %"
-"(mins_valid)d minute(s),\n"
-"to avoid editing conflicts.'''[[BR]]\n"
-"To leave the editor, press the Cancel button."
-msgstr ""
-"این صفحه برای پیش نمایش و یا ویرایش در %(timestamp)s توسط %(owner)s.[[BR]]\n"
-"باز شده است.برای جلوگیری از ناسازگاریهای ناخواسته٬ از ویرایش این صفحه حداقل "
-"تا %(mins_valid)d·دقیقه(s),\n"
-"دیگر خودداری نمایید.'''[[BR]]\n"
-"برای خروج از محیط ویرایش دکمه لغو را فشار دهید."
-
-msgid "<unknown>"
-msgstr "<نامشخص>"
-
-msgid "Text mode"
-msgstr "ویرایش متنی"
-
-#, python-format
-msgid ""
-"Login Name: %s\n"
-"\n"
-"Login Password: %s\n"
-"\n"
-"Login URL: %s/%s?action=login\n"
-msgstr ""
-"نام کاربری: %s\n"
-"\n"
-"کلمه عبور: %s\n"
-"\n"
-"آدرس ورود: %s/%s?action=login\n"
-
-msgid ""
-"Somebody has requested to submit your account data to this email address.\n"
-"\n"
-"If you lost your password, please use the data below and just enter the\n"
-"password AS SHOWN into the wiki's password form field (use copy and paste\n"
-"for that).\n"
-"\n"
-"After successfully logging in, it is of course a good idea to set a new and "
-"known password.\n"
-msgstr ""
-"شخصی درخواست نموده است تا اطلاعات کاربری شما به این آدرس ایمیل ارسال شود.\n"
-"\n"
-"در صورتی که کلمه عبور خود را فراموش نموده اید از اطلاعات زیر استفاده نموده و "
-"کلمه عبور را به صورتی که ذکر شده در قسمت کلمه عبور بنویسید.\n"
-"\n"
-"پس از ورود به سیستم می توانید کلمه عبور خود را تغییر دهید.\n"
-
-#, python-format
-msgid "[%(sitename)s] Your wiki account data"
-msgstr "[%(sitename)s] اطلاعات مربوط به حساب کاربری شما"
-
-msgid ""
-" Emphasis:: [[Verbatim('')]]''italics''[[Verbatim('')]]; [[Verbatim"
-"(''')]]'''bold'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''bold "
-"italics'''''[[Verbatim(''''')]]; [[Verbatim('')]]''mixed ''[[Verbatim"
-"(''')]]'''''bold'''[[Verbatim(''')]] and italics''[[Verbatim('')]]; "
-"[[Verbatim(----)]] horizontal rule.\n"
-" Headings:: [[Verbatim(=)]] Title 1 [[Verbatim(=)]]; [[Verbatim(==)]] Title "
-"2 [[Verbatim(==)]]; [[Verbatim(===)]] Title 3 [[Verbatim(===)]];   [[Verbatim"
-"(====)]] Title 4 [[Verbatim(====)]]; [[Verbatim(=====)]] Title 5 [[Verbatim"
-"(=====)]].\n"
-" Lists:: space and one of: * bullets; 1., a., A., i., I. numbered items; 1."
-"#n start numbering at n; space alone indents.\n"
-" Links:: [[Verbatim(JoinCapitalizedWords)]]; [[Verbatim([\"brackets and "
-"double quotes\"])]]; url; [url]; [url label].\n"
-" Tables:: || cell text |||| cell text spanning 2 columns ||;    no trailing "
-"white space allowed after tables or titles.\n"
-"\n"
-"(!) For more help, see HelpOnEditing or SyntaxReference.\n"
-msgstr ""
-" پررنگ و مورب سازی:: [[Verbatim('')]]''مورب سازی''[[Verbatim('')]]; "
-"[[Verbatim(''')]]'''پررنگ'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''پررنگ "
-"و مورب'''''[[Verbatim(''''')]]; [[Verbatim('')]]''مخلوط ''[[Verbatim"
-"(''')]]'''''پررنگ'''[[Verbatim(''')]] و مورب''[[Verbatim('')]]; [[Verbatim"
-"(----)]] خط افقی زیر پاراگراف.\n"
-" عنوان ها:: [[Verbatim(=)]] عنوان ۱ [[Verbatim(=)]]; [[Verbatim(==)]] عنوان "
-"۲ [[Verbatim(==)]]; [[Verbatim(===)]] عنوان ۳ [[Verbatim(===)]];   [[Verbatim"
-"(====)]] عنوان ۴ [[Verbatim(====)]]; [[Verbatim(=====)]] عنوان ۵ [[Verbatim"
-"(=====)]].\n"
-" لیستها:: یک فاصله در ابتدای خط و سپس یکی از کاراکترهای: * برای لیست گلوله "
-"ای و 1, a, A, i, I برای لیستهای عددی و آیتمی. \n"
-" لینکها:: [[Verbatim(آدرس های اینترنتی در این سایت با حروف بزرگ شروع میشوند٬ "
-"این کلمات را جدا از هم ننویسید.)]]; [[Verbatim([\"براکت و دو علامت quote"
-"\"])]]; آدرس اینترنتی; [آدرس اینترنتی]; [برچسب آدرس اینترنتی].\n"
-" جدولها:: || متن درون یک سلول جدول |||| متن درون یک سلول با دو ستون ||;     "
-"پس از جدول ها و عنوان ها نباید فاصله خالی بگذارید.\n"
-"\n"
-"(!) برای راهنمایی بیشتر HelpOnEditing و یا SyntaxReference را ببینید.\n"
-
-msgid ""
-"Emphasis: <i>*italic*</i> <b>**bold**</b> ``monospace``<br/>\n"
-"<br/><pre>\n"
-"Headings: Heading 1  Heading 2  Heading 3\n"
-"          =========  ---------  ~~~~~~~~~\n"
-"\n"
-"Horizontal rule: ---- \n"
-"Links: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
-"\n"
-".. _external: http://external-site.net/foo/\n"
-"\n"
-"Lists: * bullets; 1., a. numbered items.\n"
-"</pre>\n"
-"<br/>\n"
-"(!) For more help, see the \n"
-"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
-"reStructuredText Quick Reference\n"
-"</a>.\n"
-msgstr ""
-"پررنگ: <i>*مورب سازی*</i> <b>**پررنگ**</b> ``monospace``<br/>\n"
-"<br/><pre>\n"
-"سرنویسها: سرنویس ۱  سرنویس ۲  سرنویس ۳\n"
-"          =========  ---------  ~~~~~~~~~\n"
-"\n"
-"خط افقی: ---- \n"
-"لینکها: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
-"\n"
-".. _external: http://external-site.net/foo/\n"
-"\n"
-"لیستها: * bullets; 1., a. numbered items.\n"
-"</pre>\n"
-"<br/>\n"
-"(!) برای راهنمایی بیشتر این صفحه را ببینید \n"
-"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
-"reStructuredText Quick Reference\n"
-"</a>.\n"
-
-msgid "Diffs"
-msgstr "تغییرات"
-
-msgid "Info"
-msgstr "گزارشات"
-
-msgid "Edit"
-msgstr "ویرایش"
-
-msgid "UnSubscribe"
-msgstr "لغو عضویت"
-
-msgid "Subscribe"
-msgstr "عضویت"
-
-msgid "Raw"
-msgstr "متن خام"
-
-msgid "XML"
-msgstr "XML"
-
-msgid "Print"
-msgstr "چاپ"
-
-msgid "View"
-msgstr "مشاهده"
-
-msgid "Up"
-msgstr "بالا"
-
-msgid "Publish my email (not my wiki homepage) in author info"
-msgstr "لطفا در اطلاعات نویسنده آدرس ایمیل من را اصلاح نمایید"
-
-msgid "Open editor on double click"
-msgstr "ویرایشگر با دوبار کلیک باز شود"
-
-msgid "After login, jump to last visited page"
-msgstr "پس از ورود٬ به آخرین صفحه بازدید شده برو"
-
-msgid "Show question mark for non-existing pagelinks"
-msgstr "به جای لینک صفحه هایی که وجود ندارند علامت سوال بگذار"
-
-msgid "Show page trail"
-msgstr "دنبالک صفحه را نشان بده"
-
-msgid "Show icon toolbar"
-msgstr "نوار ابزار آیکونها را نشان بده"
-
-msgid "Show top/bottom links in headings"
-msgstr "لینکهای رفتن به بالا/پایین را در کنار لینکهای اصلی نشان بده"
-
-msgid "Show fancy diffs"
-msgstr "دکمه های تفاوتها را نشان بده"
-
-msgid "Add spaces to displayed wiki names"
-msgstr "بین نام ویکی های نمایش داده شده فاصله اضافه کن"
-
-msgid "Remember login information"
-msgstr "اطلاعات ورودی من را به خاطر بسپار"
-
-msgid "Subscribe to trivial changes"
-msgstr "عضویت در گزارش تغییرات جزئی"
-
-msgid "Disable this account forever"
-msgstr "این حساب کاربری را برای همیشه غیرفعال کن"
-
-msgid "Name"
-msgstr "نام کاربری"
-
-msgid "(Use Firstname''''''Lastname)"
-msgstr ""
-"(از نام '''''' و نام خانوادگی به زبان انگلیسی و طبق الگوی صحیح استفاده "
-"نمایید)"
-
-msgid "Alias-Name"
-msgstr "نام مستعار"
-
-msgid "Password"
-msgstr "کلمه عبور"
-
-msgid "Password repeat"
-msgstr "تکرار کلمه عبور"
-
-msgid "(Only for password change or new account)"
-msgstr "(فقط جهت تغییر کلمه عبور و یا ایجاد حساب کاربری جدید)"
-
-msgid "Email"
-msgstr "آدرس ایمیل"
-
-msgid "User CSS URL"
-msgstr "آدرس CSS کاربر"
-
-msgid "(Leave it empty for disabling user CSS)"
-msgstr "(جهت غیر فعال نمودن CSS کاربر٬ این قسمت را خالی بگذارید)"
-
-msgid "Editor size"
-msgstr "اندازه ویرایشگر"
-
-#, python-format
-msgid "The package needs a newer version of MoinMoin (at least %s)."
-msgstr "این بسته نیاز به MoinMoin نسخه جدیدتری دارد (نسخه %s یا بالاتر)."
-
-msgid "The theme name is not set."
-msgstr "قالب گرافیکی تنظیم نشده است."
-
-msgid "Installing theme files is only supported for standalone type servers."
-msgstr ""
-"نصب فایلهای قالب گرافیکی تنها در سرویس دهنده های standalone پشتیبانی میشود."
-
-#, python-format
-msgid "Installation of '%(filename)s' failed."
-msgstr "نصب فایل '%(filename)s' با ایراد مواجه شد."
-
-#, python-format
-msgid "The file %s is not a MoinMoin package file."
-msgstr "فایل %s از فایلهای  بسته MoinMoin نیست."
-
-#, python-format
-msgid "The page %s does not exist."
-msgstr "صفحه %s وجود ندارد."
-
-msgid "Invalid package file header."
-msgstr "بسته غیرمجاز."
-
-msgid "Package file format unsupported."
-msgstr "نوع فایل این بسته پشتیبانی نمیشود."
-
-#, python-format
-msgid "Unknown function %(func)s in line %(lineno)i."
-msgstr "تابع غیر مجاز %(func)s در خط %(lineno)i."
-
-#, python-format
-msgid "The file %s was not found in the package."
-msgstr "فایل %s در بسته یافت نشد."
-
-msgid ""
-"This wiki is not enabled for mail processing.\n"
-"Contact the owner of the wiki, who can enable email."
-msgstr ""
-"گزینه جابجایی ایمیل در این ویکی فعال نمی باشد.\n"
-"از مدیر ویکی بخواهید تا این امکان را فراهم نماید."
-
-msgid "Please provide a valid email address!"
-msgstr "لطفا یک آدرس ایمیل معتبر وارد نمایید!"
-
-#, python-format
-msgid "Found no account matching the given email address '%(email)s'!"
-msgstr "حساب کاربری با آدرس ایمیل '%(email)s' یافت نشد!"
-
-msgid "Use UserPreferences to change your settings or create an account."
-msgstr ""
-"جهت تغییر تنظیمات جاری و یا ایجاد یک حساب جدید از مرجع اطلاعات کاربری "
-"استفاده نمایید."
-
-msgid "Empty user name. Please enter a user name."
-msgstr "محل نام کاربری خالی است. لطفا یک نام کاربری وارد نمایید."
-
-#, python-format
-msgid ""
-"Invalid user name {{{'%s'}}}.\n"
-"Name may contain any Unicode alpha numeric character, with optional one\n"
-"space between words. Group page name is not allowed."
-msgstr ""
-"نام کاربری غیر قابل قبول {{{'%s'}}}.\n"
-"نام کاربری میتواند شامل کلیه کاراکترهای حرفی عددی Unicode با یک فاصله بین "
-"کلمات باشد.\n"
-"نام صفحات گروهی قابل قبول نیست."
-
-msgid "This user name already belongs to somebody else."
-msgstr "این نام کاربری توسط شخص دیگری ثبت شده است."
-
-msgid "Passwords don't match!"
-msgstr "کلمات عبور وارد شده یکی نیستند!"
-
-msgid "Please specify a password!"
-msgstr "لطفا یک کلمه عبور وارد نمایید!"
-
-msgid ""
-"Please provide your email address. If you lose your login information, you "
-"can get it by email."
-msgstr ""
-"لطفا آدرس ایمیل خود را وارد نمایید. در صورتی که اطلاعات حساب کاربری خود را "
-"فراموش کنید این اطلاعات برای شما ایمیل خواهند شد."
-
-msgid "This email already belongs to somebody else."
-msgstr "این ایمیل توسط شخص دیگری ثبت شده است."
-
-msgid "User account created! You can use this account to login now..."
-msgstr ""
-"حساب کاربری شما ایجاد شد! شما می توانید از این حساب کاربری برای ورود به "
-"سیستم استفاده نمائید..."
-
-msgid "Use UserPreferences to change settings of the selected user account"
-msgstr ""
-"از مرجع اطلاعات کاربری برای تغییر تنظیمات جاری و یا ایجاد یک حساب جدید "
-"استفاده نمایید."
-
-#, python-format
-msgid "The theme '%(theme_name)s' could not be loaded!"
-msgstr "قالب گرافیکی درخواستی شما '%(theme_name)s' قابل استفاده نمی باشد!"
-
-msgid "User preferences saved!"
-msgstr "اطلاعات کاربری شما ذخیره شد!"
-
-msgid "Default"
-msgstr "پیش گزینه"
-
-msgid "<Browser setting>"
-msgstr "<بر اساس تنظیمات مرورگر>"
-
-msgid "the one preferred"
-msgstr "گزینه ارجح"
-
-msgid "free choice"
-msgstr "گزینه آزاد"
-
-msgid "Select User"
-msgstr "انتخاب کاربر"
-
-msgid "Save"
-msgstr "ثبت"
-
-msgid "Preferred theme"
-msgstr "قالب گرافیکی ارجح"
-
-msgid "Editor Preference"
-msgstr "نوع ویرایشگر"
-
-msgid "Editor shown on UI"
-msgstr "ویرایشگر قابل نمایش در UI"
-
-msgid "Time zone"
-msgstr "موقعیت زمانی"
-
-msgid "Your time is"
-msgstr "ساعت به وقت شما"
-
-msgid "Server time is"
-msgstr "ساعت سرویس دهنده"
-
-msgid "Date format"
-msgstr "الگوی تاریخ"
-
-msgid "Preferred language"
-msgstr "زبان نمایش ویکی"
-
-msgid "General options"
-msgstr "گزینه های عمومی"
-
-msgid "Quick links"
-msgstr "لینکهای دسترسی سریع"
-
-msgid "This list does not work, unless you have entered a valid email address!"
-msgstr ""
-"این لیست تا زمانی که شما یک شما یک آدرس ایمیل معتبر وارد ننمایید کار نخواهد "
-"کرد!"
-
-msgid "Subscribed wiki pages (one regex per line)"
-msgstr "صفحات ویکی که در آنها عضو می باشید (یک صفحه در هر خط)"
-
-msgid "Create Profile"
-msgstr "ثبت کاربر جدید"
-
-msgid "Mail me my account data"
-msgstr "اطلاعات حساب من را ایمیل کن"
-
-#, python-format
-msgid ""
-"To create an account or recover a lost password, see the %(userprefslink)s "
-"page."
-msgstr ""
-"جهت ایجاد حساب کاربری جدید و یا بازیافت کلمه رمز خود صفحه %(userprefslink)s "
-"را ببینید."
-
-msgid "Login"
-msgstr "ورود"
-
-msgid "Action"
-msgstr "امکانات"
-
-#, python-format
-msgid "Expected \"=\" to follow \"%(token)s\""
-msgstr "به جای علامت \"=\" عبارت \"%(token)s\" مشاهده شد"
-
-#, python-format
-msgid "Expected a value for key \"%(token)s\""
-msgstr "عبارت \"%(token)s\" در اینجا صحیح نیست"
-
-#, python-format
-msgid "[%d attachments]"
-msgstr "[%d·attachments]"
-
-#, python-format
-msgid ""
-"There are <a href=\"%(link)s\">%(count)s attachment(s)</a> stored for this "
-"page."
-msgstr "این صفحه  دارای <a·href=\"%(link)s\">%(count)s·ضمیمه</a> می باشد."
-
-msgid "Filename of attachment not specified!"
-msgstr "نام فایل ضمیمه مشخص نشده است!"
-
-#, python-format
-msgid "Attachment '%(filename)s' does not exist!"
-msgstr "ضمیمه '%(filename)s' وجود ندارد!"
-
-msgid ""
-"To refer to attachments on a page, use '''{{{attachment:filename}}}''', \n"
-"as shown below in the list of files. \n"
-"Do '''NOT''' use the URL of the {{{[get]}}} link, \n"
-"since this is subject to change and can break easily."
-msgstr ""
-"جهت آدرس دهی به ضمیمه موجود در یک صفحه٬ از عبارت '''{{{ضمیمه:نام فایل}}}''' "
-"استفاده نمایید.\n"
-"همینگونه که در زیر در قسمت لیست فایل ها نشان داده شده است از لینک آدرس "
-"{{{[get]}}} استفاده ننمایید."
-
-msgid "del"
-msgstr "حذف"
-
-msgid "get"
-msgstr "دریافت"
-
-msgid "edit"
-msgstr "ویرایش"
-
-msgid "view"
-msgstr "نمایش"
-
-msgid "unzip"
-msgstr "فایل فشرده بار شود"
-
-msgid "install"
-msgstr "نصب"
-
-#, python-format
-msgid "No attachments stored for %(pagename)s"
-msgstr "صفحه %(pagename)s ضمیمه ندارد"
-
-msgid "Edit drawing"
-msgstr "ویرایش ترسیمات"
-
-msgid "Attached Files"
-msgstr "فایل های ضمیمه شده"
-
-msgid "You are not allowed to attach a file to this page."
-msgstr "شما مجاز نیستید فایلی را به این صفحه ضمیمه نمایید."
-
-msgid "New Attachment"
-msgstr "ضمیمه جدید"
-
-msgid ""
-"An upload will never overwrite an existing file. If there is a name\n"
-"conflict, you have to rename the file that you want to upload.\n"
-"Otherwise, if \"Rename to\" is left blank, the original filename will be "
-"used."
-msgstr ""
-"در صورتی که فایل جدید ارسالی تشابه اسمی با ضمایم موجود داشته باشد٬ فایل "
-"ارسالی جدید جایگزین فایل ضمیمه قبلی خواهد شد.\n"
-"شما می توانید از گزینه \"تغییرنام به\" جهت ضمیمه شدن فایل با نامی متفاوت "
-"استفاده نمائید."
-
-msgid "File to upload"
-msgstr "فایل ارسالی"
-
-msgid "Rename to"
-msgstr "تغییر نام به"
-
-msgid "Upload"
-msgstr "ارسال"
-
-msgid "File attachments are not allowed in this wiki!"
-msgstr "ضمیمه کردن فایل دراین ویکی مجاز نمی باشد!"
-
-msgid "You are not allowed to save a drawing on this page."
-msgstr "شما مجاز به ذخیره ترسیمات برای این صفحه نیستید."
-
-msgid ""
-"No file content. Delete non ASCII characters from the file name and try "
-"again."
-msgstr ""
-"محتویات فایل یافت نشد. کاراکترهای غیر ASCII را از نام فایل حذف نموده و مجددا "
-"سعی نمایید."
-
-msgid "You are not allowed to delete attachments on this page."
-msgstr "شما مجاز به حذف ضمیمه های این صفحه نمی باشید."
-
-msgid "You are not allowed to get attachments from this page."
-msgstr "شما مجاز به دریافت ضمیمه های این صفحه نمی باشید."
-
-msgid "You are not allowed to unzip attachments of this page."
-msgstr "شما مجاز نیستید ضمیمه های فشرده این صفحه را باز کنید."
-
-msgid "You are not allowed to install files."
-msgstr "شما اجازه نصب فایل ندارید."
-
-msgid "You are not allowed to view attachments of this page."
-msgstr "شما مجاز به دیدن ضمیمه های این صفحه نمی باشید."
-
-#, python-format
-msgid "Unsupported upload action: %s"
-msgstr "ارسال غیر مجاز: %s"
-
-#, python-format
-msgid "Attachments for \"%(pagename)s\""
-msgstr "ضمیمه های صفحه \"%(pagename)s\""
-
-#, python-format
-msgid ""
-"Attachment '%(target)s' (remote name '%(filename)s') with %(bytes)d bytes "
-"saved."
-msgstr ""
-"ضمیمه '%(target)s' (به نام·'%(filename)s') به حجم %(bytes)d بایت ذخیره شد."
-
-#, python-format
-msgid "Attachment '%(target)s' (remote name '%(filename)s') already exists."
-msgstr "ضمیمه '%(target)s' (به نام '%(filename)s') در حال حاضر وجود دارد."
-
-#, python-format
-msgid "Attachment '%(filename)s' deleted."
-msgstr "ضمیمه '%(filename)s' حذف شد."
-
-#, python-format
-msgid "Attachment '%(filename)s' installed."
-msgstr "ضمیمه '%(filename)s' نصب شد."
-
-#, python-format
-msgid ""
-"Attachment '%(filename)s' could not be unzipped because the resulting files "
-"would be too large (%(space)d kB missing)."
-msgstr ""
-"ضمیمه '%(filename)s' به دلیل اینکه پس از باز شدن حجم زیادی دارد٬ باز نشد (%"
-"(space)d kB missing)."
-
-#, python-format
-msgid ""
-"Attachment '%(filename)s' could not be unzipped because the resulting files "
-"would be too many (%(count)d missing)."
-msgstr ""
-"ضمیمه·'%(filename)s'·به·دلیل·اینکه·پس·از·باز·شدن·تعداد فایلها بسیار زیاد "
-"است٬·باز·نشد.(%(count)d·missing)."
-
-#, python-format
-msgid "Attachment '%(filename)s' unzipped."
-msgstr "ضمیمه '%(filename)s' از حالت فشرده خارج شد."
-
-#, python-format
-msgid ""
-"Attachment '%(filename)s' not unzipped because the files are too big, .zip "
-"files only, exist already or reside in folders."
-msgstr "ضمیمه '%(filename)s' باز نشد."
-
-#, python-format
-msgid "The file %(target)s is not a .zip file."
-msgstr "فایل %(target)s یک فایل zip نیست."
-
-#, python-format
-msgid "Attachment '%(filename)s'"
-msgstr "فایل ضمیمه '%(filename)s'"
-
-msgid "Package script:"
-msgstr "اسکریپت بسته:"
-
-msgid "File Name"
-msgstr "نام فایل"
-
-msgid "Modified"
-msgstr "اصلاح شده"
-
-msgid "Size"
-msgstr "اندازه"
-
-msgid "Unknown file type, cannot display this attachment inline."
-msgstr "نوع فایل نامشخص است٬ این فایل ضمیمه قابل نمایش نمی باشد."
-
-#, python-format
-msgid "attachment:%(filename)s of %(pagename)s"
-msgstr "فایل ضمیمه: فایل %(filename)s از صفحه %(pagename)s"
-
-msgid "Delete"
-msgstr "حذف"
-
-msgid "This page is already deleted or was never created!"
-msgstr "این صفحه یا اخیرا حذف شده و یا هرگز وجود نداشته است!"
-
-msgid "Optional reason for the deletion"
-msgstr "توضیحات دلخواه برای این حذف"
-
-msgid "Really delete this page?"
-msgstr "اطمینان دارید که این صفحه می بایست حذف شود؟"
-
-msgid "Editor"
-msgstr "ویرایش توسط"
-
-msgid "Pages"
-msgstr "صفحات"
-
-msgid "Select Author"
-msgstr "انتخاب نویسنده"
-
-msgid "Revert all!"
-msgstr "کلیه ویرایش ها بازگردانی شود!"
-
-msgid "You are not allowed to use this action."
-msgstr "عملیات غیر مجاز"
-
-#, python-format
-msgid "No pages like \"%s\"!"
-msgstr "هیچ صفحه ای شبیه \"%s\" یافت نشد!"
-
-#, python-format
-msgid "Exactly one page like \"%s\" found, redirecting to page."
-msgstr "یک صفحه شبیه \"%s\" پیدا شد٬ اکنون به آن صفحه میروید."
-
-#, python-format
-msgid "Pages like \"%s\""
-msgstr "صفحات شبیه \"%s\""
-
-#, python-format
-msgid "%(matchcount)d %(matches)s for \"%(title)s\""
-msgstr "%(matchcount)d·%(matches)s·برای·\"%(title)s\""
-
-msgid "match"
-msgstr "نتیجه"
-
-msgid "matches"
-msgstr "نتایج"
-
-#, python-format
-msgid "Local Site Map for \"%s\""
-msgstr "نقشه سایت محلی برای \"%s\""
-
-msgid "Please log in first."
-msgstr "لطفا وارد سیستم شوید."
-
-msgid "Please first create a homepage before creating additional pages."
-msgstr "لطفا پیش از ساخت صفحات در این سایت٬ یک صفحه خانگی برای خود بسازید."
+
 
 #, python-format
-msgid ""
-"You can add some additional sub pages to your already existing homepage "
-"here.\n"
-"\n"
-"You can choose how open to other readers or writers those pages shall be,\n"
-"access is controlled by group membership of the corresponding group page.\n"
-"\n"
-"Just enter the sub page's name and click on the button to create a new "
-"page.\n"
-"\n"
-"Before creating access protected pages, make sure the corresponding group "
-"page\n"
-"exists and has the appropriate members in it. Use HomepageGroupsTemplate for "
-"creating\n"
-"the group pages.\n"
-"\n"
-"||'''Add a new personal page:'''||'''Related access control list "
-"group:'''||\n"
-"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
-"[\"%(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"
-msgstr ""
-"شما میتوانید به صفحه خانگی خود تعدادی زیر صفحه نیز اضافه نمایید.\n"
-"\n"
-"شما به دلخواه خود میتوانید مجوز خواندن و نوشتن این صفحات توسط کاربران دیگر "
-"را تنظیم نمایید,\n"
-"این دسترسی ها توسط اعضای گروه نویسندگان این صفحه قابل تنظیم می باشند.\n"
-"\n"
-"فقط کافیست نام زیر صفحه مورد نظر خود را نوشته و روی ایجاد صفحه جدید کلیک "
-"نمایید.\n"
-" \n"
-"پیش از ایجاد این صفحات٬ صفحه اسامی گروه نویسندگان دارای حق دسترسی به این "
-"صفحه را نیز ایجاد نموده و اسامی کاربران دارای حق ویرایش را در ان صفحه ذکر "
-"نمایید\n"
-" جهت ساخت این صفحات گروهی میتوانید از الگوی HomepageGroupsTemplate استفاده "
-"نمایید.\n"
-"\n"
-"||'''صفحه شخصی جدید:'''||'''حق دسترسی های مربوطه:'''||\n"
-"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
-"[\"%(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"
-
-msgid "MyPages management"
-msgstr "مدیریت صفحات من"
-
-#, python-format
-msgid "Invalid filename \"%s\"!"
-msgstr "نام فایل \"%s\" نامشخص است !"
-
-#, python-format
-msgid "Created the package %s containing the pages %s."
-msgstr "بسته %s شامل صفحات %s ساخته شد."
-
-msgid "Package pages"
-msgstr "بسته صفحات"
-
-msgid "Package name"
-msgstr "نام بسته"
-
-msgid "List of page names - separated by a comma"
-msgstr "لیست نام صفحات - نام صفحات با کاما جدا شوند"
-
-msgid "Rename Page"
-msgstr "تغیر نام صفحه"
-
-msgid "New name"
-msgstr "نام جدید"
-
-msgid "Optional reason for the renaming"
-msgstr "توضیحات اختیاری برای تغببر نام صفحه"
-
-#, python-format
-msgid "(including %(localwords)d %(pagelink)s)"
-msgstr "( مرجع لغت %(pagelink)s دارای %(localwords)d لغت )"
-
-#, python-format
-msgid ""
-"The following %(badwords)d words could not be found in the dictionary of %"
-"(totalwords)d words%(localwords)s and are highlighted below:"
-msgstr ""
-"این %(badwords)d لغت در مرجع لغات %(totalwords)d لغتی شما %(localwords)s "
-"یافت نشدند٬ در صورت تمایل می توانید آنها را به مرجع لغات خود اضافه نمایید:"
-
-msgid "Add checked words to dictionary"
-msgstr "لغات تیک دار را به مرجع لغات اضافه نما"
-
-msgid "No spelling errors found!"
-msgstr "اشتباه املایی یافت نشد!"
-
-msgid "You can't check spelling on a page you can't read."
-msgstr ""
-"شما نمی توانید صفحه ای که مجاز به خواندن آن نیستید را تصحیح املایی نمایید."
-
-#, python-format
-msgid "Subscribe users to the page %s"
-msgstr "کاربران را عضو این صفحه نما %s"
-
-#, python-format
-msgid "Subscribed for %s:"
-msgstr "عضو %s شدند:"
-
-msgid "Not a user:"
-msgstr "کاربر ثبت نشده:"
-
-msgid "You are not allowed to perform this action."
-msgstr "عملیات غیر مجاز"
-
-msgid "Do it."
-msgstr "انجام بده."
-
-#, python-format
-msgid "Execute action %(actionname)s?"
-msgstr "عملیات %(actionname)s انجام شود؟"
+
+msgid "Revision %(rev)d as of %(date)s"
+
+msgstr "ویرایش %(rev)d در تاریخ %(date)s"
+
+
 
 #, python-format
-msgid "Action %(actionname)s is excluded in this wiki!"
-msgstr "عملیات %(actionname)s در این ویکی غیر مجاز است!"
-
-#, python-format
-msgid "You are not allowed to use action %(actionname)s on this page!"
-msgstr "عملیات %(actionname)s روی این صفحه مجاز نیست!"
-
-#, python-format
-msgid "Please use the interactive user interface to use action %(actionname)s!"
-msgstr ""
-"لطفا جهت انجام عملیات %(actionname)s از جلوه های کاربردی استفاده نمایید!"
-
-msgid "You are not allowed to revert this page!"
-msgstr "شما مجاز نیستید این صفحه را ارجاع دهید!"
-
-msgid "No older revisions available!"
-msgstr "ویرایش قدیمی تری موجود نیست!"
-
-#, python-format
-msgid "Diff for \"%s\""
-msgstr "تغییرات \"%s\""
-
-#, python-format
-msgid "Differences between revisions %d and %d"
-msgstr "تغییرات بین ویرایش های %d و %d"
+
+msgid "Redirected from page \"%(page)s\""
+
+msgstr "ارجاع از صفحه \"%(page)s\""
+
+
 
 #, python-format
+
+msgid "This page redirects to page \"%(page)s\""
+
+msgstr "این صفحه به صفحه \"%(page)s\" ارجاع دارد"
+
+
+
+#, python-format
+
+msgid ""
+
+"~-If you submit this form, the submitted values will be displayed.\n"
+
+"To use this form on other pages, insert a\n"
+
+"[[BR]][[BR]]'''{{{    [[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
+
+"macro call.-~\n"
+
+msgstr ""
+
+"~-در صورتی که این فرم را ثبت نمايید٬ مقادیر ثبت شده قابل رویت خواهند بود.\n"
+
+"برای استفاده از این فرم در صفحات دیگر از نمونه کد زیر استفاده نمايید.·a\n"
+
+"[[BR]][[BR]]'''{{{····[[Form(\"%(pagename)s\")]]}}}'''[[BR]][[BR]]\n"
+
+"-~\n"
+
+
+
+msgid "Create New Page"
+
+msgstr "ایجاد صفحه جدید"
+
+
+
+msgid "You are not allowed to view this page."
+
+msgstr "شما مجاز به مشاهده این صفحه نمی باشید"
+
+
+
+msgid "Your changes are not saved!"
+
+msgstr "تغییرات شما ذخیره نشد!"
+
+
+
+msgid "You are not allowed to edit this page."
+
+msgstr "شما مجاز به ویرایش این صفحه نمی باشید"
+
+
+
+msgid "Page is immutable!"
+
+msgstr "این صفحه غیر قابل ویرایش است!"
+
+
+
+msgid "Cannot edit old revisions!"
+
+msgstr "ویرایش های قبلی قابل ویرایش مجدد نمی باشند!"
+
+
+
+msgid "The lock you held timed out. Be prepared for editing conflicts!"
+
+msgstr "مدت زمان ویرایش شما به پایان رسیده است. آماده ویرایش مجدد باشید!"
+
+
+
+msgid "Page name is too long, try shorter name."
+
+msgstr "نام این صفحه طولانی است٬ لطفا نام کوتاه تری انتخاب نمایید."
+
+
+
+#, python-format
+
+msgid "Edit \"%(pagename)s\""
+
+msgstr "ویرایش \"%(pagename)s\""
+
+
+
+#, python-format
+
+msgid "Preview of \"%(pagename)s\""
+
+msgstr "پیش نمایش \"%(pagename)s\""
+
+
+
+#, python-format
+
+msgid "Your edit lock on %(lock_page)s has expired!"
+
+msgstr "زمان قفل ویرایش شما بر روی %(lock_page)s به پایان رسیده است!"
+
+
+
+#, python-format
+
+msgid "Your edit lock on %(lock_page)s will expire in # minutes."
+
+msgstr ""
+
+"زمان قفل ویرایش شما بر روی %(lock_page)s تا # دقیقه دیگر به پایان میرسد."
+
+
+
+#, python-format
+
+msgid "Your edit lock on %(lock_page)s will expire in # seconds."
+
+msgstr ""
+
+"زمان·قفل·ویرایش·شما·بر·روی·%(lock_page)s·تا·#·ثانیه·دیگر به·پایان·میرسد."
+
+
+
+msgid "Someone else deleted this page while you were editing!"
+
+msgstr "این صفحه در زمان ویرایش شما توسط شخص دیگری حذف شده است!"
+
+
+
+msgid "Someone else changed this page while you were editing!"
+
+msgstr "این صفحه در زمان ویرایش شما توسط شخص دیگری تغییر کرده است!"
+
+
+
+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 ""
+
+"این صفحه در زمان ویرایش شما توسط شخص دیگری ذخیره شده است!\n"
+
+"لطفا یک بار صفحه را مرور نموده و سپس ذخیره نمایید. این صفحه را همینگونه که هست ذخیره ننمایید!"
+
+
+
+
+
+#, python-format
+
+msgid "[Content of new page loaded from %s]"
+
+msgstr "[محتویات صفحه جدید از %s بارگذاری شد]"
+
+
+
+#, python-format
+
+msgid "[Template %s not found]"
+
+msgstr "[قالب %s یافت نشد]"
+
+
+
+#, python-format
+
+msgid "[You may not read %s]"
+
+msgstr "[شما نمی توانید %s را مطالعه نمایید]"
+
+
+
+#, python-format
+
+msgid "Describe %s here."
+
+msgstr "در مورد %s اینجا توضیح دهید."
+
+
+
+msgid "Check Spelling"
+
+msgstr "تصحیح املایی"
+
+
+
+msgid "Save Changes"
+
+msgstr "تغییرات ذخیره شود"
+
+
+
+msgid "Cancel"
+
+msgstr "لغو"
+
+
+
+#, python-format
+
+msgid ""
+
+"By hitting '''%(save_button_text)s''' you put your changes under the %"
+
+"(license_link)s.\n"
+
+"If you don't want that, hit '''%(cancel_button_text)s''' to cancel your "
+
+"changes."
+
+msgstr ""
+
+"با فشردن کلید '''%(save_button_text)s''' تغییرات شما تحت مجوز %(license_link)"
+
+"s اعمل میشوند.\n"
+
+"در صورت عدم تمایل٬ برای لغو تغییرات خود دکمه '''%(cancel_button_text)s''' را "
+
+"فشار دهید."
+
+
+
+msgid "Preview"
+
+msgstr "پیش نمایش"
+
+
+
+msgid "GUI Mode"
+
+msgstr "ویرایش گرافیکی"
+
+
+
+msgid "Comment:"
+
+msgstr "توضیحات:"
+
+
+
+msgid "<No addition>"
+
+msgstr "<طبقه بندی نشود>"
+
+
+
+#, python-format
+
+msgid "Add to: %(category)s"
+
+msgstr "به طبقه %(category)s اضافه شود"
+
+
+
+msgid "Trivial change"
+
+msgstr "تغییرات جزئی"
+
+
+
+msgid "Remove trailing whitespace from each line"
+
+msgstr "جاهای خالی را از هر خط حذف نما"
+
+
+
+msgid "Edit was cancelled."
+
+msgstr "ویرایش لغو شد."
+
+
+
+msgid "You can't rename to an empty pagename."
+
+msgstr "تغییر نام به یک صفحه بدون نام مجاز نیست."
+
+
+
+#, python-format
+
+msgid ""
+
+"'''A page with the name {{{'%s'}}} already exists.'''\n"
+
+"\n"
+
+"Try a different name."
+
+msgstr ""
+
+"'''صفحه ای با نام {{{'%s'}}} وجود دارد.'''\n"
+
+"\n"
+
+"لطفا نام دیگری انتخاب نمایید."
+
+
+
+#, python-format
+
+msgid "Could not rename page because of file system error: %s."
+
+msgstr "بدلیل ایراد سیستمی %s نام صفحه تغییر نکرد."
+
+
+
+msgid "Thank you for your changes. Your attention to detail is appreciated."
+
+msgstr "تغییرات مورد نظر شما اعمال شد."
+
+
+
+#, python-format
+
+msgid "Page \"%s\" was successfully deleted!"
+
+msgstr "صفحه \"%s\" با موفقیت حذف شد!"
+
+
+
+#, python-format
+
+msgid ""
+
+"Dear Wiki user,\n"
+
+"\n"
+
+"You have subscribed to a wiki page or wiki category on \"%(sitename)s\" for "
+
+"change notification.\n"
+
+"\n"
+
+"The following page has been changed by %(editor)s:\n"
+
+"%(pagelink)s\n"
+
+"\n"
+
+msgstr ""
+
+"کاربر گرامی٬\n"
+
+"\n"
+
+"شما در صفحه یا طبقه بندی \"%(sitename)s\" برای اطلاع از تغییرات صورت گرفته "
+
+"عضو می باشید\n"
+
+"این صفحه توسط %(editor)s ویرایش شده است:\n"
+
+"%(pagelink)s\n"
+
+"\n"
+
+
+
+#, python-format
+
+msgid ""
+
+"The comment on the change is:\n"
+
+"%(comment)s\n"
+
+"\n"
+
+msgstr ""
+
+"نظرات در مورد تغییر صورت گرفته:\n"
+
+"%(comment)s\n"
+
+"\n"
+
+
+
+msgid "New page:\n"
+
+msgstr "صفحه جدید:\n"
+
+
+
+msgid "No differences found!\n"
+
+msgstr "تغییری مشاهده نشد!\n"
+
+
+
+#, python-format
+
+msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s"
+
+msgstr ""
+
+"بروزآوری %(trivial)s های سایت [%(sitename)s] در صفحه \"%(pagename)s\" توسط %"
+
+"(username)s"
+
+
+
+msgid "Trivial "
+
+msgstr "جزئی"
+
+
+
+msgid "Status of sending notification mails:"
+
+msgstr "وضعیت ارسال ایمیل های آگاه سازی:"
+
+
+
+#, python-format
+
+msgid "[%(lang)s] %(recipients)s: %(status)s"
+
+msgstr "[%(lang)s]·%(recipients)s:·%(status)s"
+
+
+
+#, python-format
+
+msgid "## backup of page \"%(pagename)s\" submitted %(date)s"
+
+msgstr "## نسخه پشتیبان صفحه \"%(pagename)s\" در تاریخ %(date)s ثبت شد"
+
+
+
+#, python-format
+
+msgid "Page could not get locked. Unexpected error (errno=%d)."
+
+msgstr "این صفحه قفل ویرایش نشد. خطا (errno=%d)."
+
+
+
+msgid "Page could not get locked. Missing 'current' file?"
+
+msgstr "صفحه قفل ویرایش نشد. فایل جاری از دست رفته است؟"
+
+
+
+msgid "You are not allowed to edit this page!"
+
+msgstr "شما مجاز به ویرایش این صفحه نمی باشید!"
+
+
+
+msgid "You cannot save empty pages."
+
+msgstr "ذخیره صفحات خالی مجاز نیست."
+
+
+
+msgid "You already saved this page!"
+
+msgstr "صفحه ذخیره شده است!"
+
+
+
+msgid "You already edited this page! Please do not use the back button."
+
+msgstr "شما هم اکنون این صفحه را ویرایش نموده اید! لطفا از دکمه back استفاده ننمائید."
+
+
+
+#, python-format
+
+msgid "A backup of your changes is [%(backup_url)s here]."
+
+msgstr ""
+
+"نسخه پشتیبان از تغییراتی که شما اعمال نموده اید [%(backup_url)s·اینجا] ذخیره "
+
+"شده است."
+
+
+
+msgid "You did not change the page content, not saved!"
+
+msgstr "تغییری از طرف شما اعمال نشد٬ چیزی ذخیره نشد!"
+
+
+
+msgid ""
+
+"You can't change ACLs on this page since you have no admin rights on it!"
+
+msgstr ""
+
+"شما مجاز به تغییر ACL یا مجوزهای دسترسی در این صفحه نمی باشید. این کار نیاز "
+
+"به سطح دسترسی مدیر دارد!"
+
+
+
+#, python-format
+
+msgid ""
+
+"The lock of %(owner)s timed out %(mins_ago)d minute(s) ago, and you were "
+
+"granted the lock for this page."
+
+msgstr ""
+
+"زمان قفل ویرایش %(owner)s حدود %(mins_ago)d دقیقه پیش منقضی شده و قفل ویرایش "
+
+"این صفحه در اختیار شما می باشد."
+
+
+
+#, python-format
+
+msgid ""
+
+"Other users will be ''blocked'' from editing this page until %(bumptime)s."
+
+msgstr "سایر کاربران تا %(bumptime)s دیگر مجاز به تغییر این صفحه نخواهند بود."
+
+
+
+#, python-format
+
+msgid ""
+
+"Other users will be ''warned'' until %(bumptime)s that you are editing this "
+
+"page."
+
+msgstr ""
+
+"سایر کاربران تا %(bumptime)s دیگر پیغامی مبنی بر اینکه شما در حال ویرایش این "
+
+"صفحه می باشید دریافت خواهند نمود."
+
+
+
+msgid "Use the Preview button to extend the locking period."
+
+msgstr "جهت تمدید مدت زمان قفل ویرایش دکمه پیش نمایش را فشار دهید."
+
+
+
+#, python-format
+
+msgid ""
+
+"This page is currently ''locked'' for editing by %(owner)s until %(timestamp)"
+
+"s, i.e. for %(mins_valid)d minute(s)."
+
+msgstr ""
+
+"این صفحه توسط %(owner)s تا %(timestamp)s دیگر بدلیل در حال ویرایش بودن قفل "
+
+"شده است. مدت قفل %(mins_valid)d دقیقه."
+
+
+
+#, python-format
+
+msgid ""
+
+"This page was opened for editing or last previewed at %(timestamp)s by %"
+
+"(owner)s.[[BR]]\n"
+
+"'''You should ''refrain from editing'' this page for at least another %"
+
+"(mins_valid)d minute(s),\n"
+
+"to avoid editing conflicts.'''[[BR]]\n"
+
+"To leave the editor, press the Cancel button."
+
+msgstr ""
+
+"این صفحه برای پیش نمایش و یا ویرایش در %(timestamp)s توسط %(owner)s.[[BR]]\n"
+
+"باز شده است.برای جلوگیری از ناسازگاریهای ناخواسته٬ از ویرایش این صفحه حداقل "
+
+"تا %(mins_valid)d·دقیقه(s),\n"
+
+"دیگر خودداری نمایید.'''[[BR]]\n"
+
+"برای خروج از محیط ویرایش دکمه لغو را فشار دهید."
+
+
+
+msgid "<unknown>"
+
+msgstr "<نامشخص>"
+
+
+
+msgid "Text mode"
+
+msgstr "ویرایش متنی"
+
+
+
+#, python-format
+
+msgid ""
+
+"Login Name: %s\n"
+
+"\n"
+
+"Login Password: %s\n"
+
+"\n"
+
+"Login URL: %s/%s?action=login\n"
+
+msgstr ""
+
+"نام کاربری: %s\n"
+
+"\n"
+
+"کلمه عبور: %s\n"
+
+"\n"
+
+"آدرس ورود: %s/%s?action=login\n"
+
+
+
+msgid ""
+
+"Somebody has requested to submit your account data to this email address.\n"
+
+"\n"
+
+"If you lost your password, please use the data below and just enter the\n"
+
+"password AS SHOWN into the wiki's password form field (use copy and paste\n"
+
+"for that).\n"
+
+"\n"
+
+"After successfully logging in, it is of course a good idea to set a new and "
+
+"known password.\n"
+
+msgstr ""
+
+"شخصی درخواست نموده است تا اطلاعات کاربری شما به این آدرس ایمیل ارسال شود.\n"
+
+"\n"
+
+"در صورتی که کلمه عبور خود را فراموش نموده اید از اطلاعات زیر استفاده نموده و "
+
+"کلمه عبور را به صورتی که ذکر شده در قسمت کلمه عبور بنویسید.\n"
+
+"\n"
+
+"پس از ورود به سیستم می توانید کلمه عبور خود را تغییر دهید.\n"
+
+
+
+#, python-format
+
+msgid "[%(sitename)s] Your wiki account data"
+
+msgstr "[%(sitename)s] اطلاعات مربوط به حساب کاربری شما"
+
+
+
+msgid ""
+
+" Emphasis:: [[Verbatim('')]]''italics''[[Verbatim('')]]; [[Verbatim"
+
+"(''')]]'''bold'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''bold "
+
+"italics'''''[[Verbatim(''''')]]; [[Verbatim('')]]''mixed ''[[Verbatim"
+
+"(''')]]'''''bold'''[[Verbatim(''')]] and italics''[[Verbatim('')]]; "
+
+"[[Verbatim(----)]] horizontal rule.\n"
+
+" Headings:: [[Verbatim(=)]] Title 1 [[Verbatim(=)]]; [[Verbatim(==)]] Title "
+
+"2 [[Verbatim(==)]]; [[Verbatim(===)]] Title 3 [[Verbatim(===)]];   [[Verbatim"
+
+"(====)]] Title 4 [[Verbatim(====)]]; [[Verbatim(=====)]] Title 5 [[Verbatim"
+
+"(=====)]].\n"
+
+" Lists:: space and one of: * bullets; 1., a., A., i., I. numbered items; 1."
+
+"#n start numbering at n; space alone indents.\n"
+
+" Links:: [[Verbatim(JoinCapitalizedWords)]]; [[Verbatim([\"brackets and "
+
+"double quotes\"])]]; url; [url]; [url label].\n"
+
+" Tables:: || cell text |||| cell text spanning 2 columns ||;    no trailing "
+
+"white space allowed after tables or titles.\n"
+
+"\n"
+
+"(!) For more help, see HelpOnEditing or SyntaxReference.\n"
+
+msgstr ""
+
+" پررنگ و مورب سازی:: [[Verbatim('')]]''مورب سازی''[[Verbatim('')]]; "
+
+"[[Verbatim(''')]]'''پررنگ'''[[Verbatim(''')]]; [[Verbatim(''''')]]'''''پررنگ "
+
+"و مورب'''''[[Verbatim(''''')]]; [[Verbatim('')]]''مخلوط ''[[Verbatim"
+
+"(''')]]'''''پررنگ'''[[Verbatim(''')]] و مورب''[[Verbatim('')]]; [[Verbatim"
+
+"(----)]] خط افقی زیر پاراگراف.\n"
+
+" عنوان ها:: [[Verbatim(=)]] عنوان ۱ [[Verbatim(=)]]; [[Verbatim(==)]] عنوان "
+
+"۲ [[Verbatim(==)]]; [[Verbatim(===)]] عنوان ۳ [[Verbatim(===)]];   [[Verbatim"
+
+"(====)]] عنوان ۴ [[Verbatim(====)]]; [[Verbatim(=====)]] عنوان ۵ [[Verbatim"
+
+"(=====)]].\n"
+
+" لیستها:: یک فاصله در ابتدای خط و سپس یکی از کاراکترهای: * برای لیست گلوله "
+
+"ای و 1, a, A, i, I برای لیستهای عددی و آیتمی. \n"
+
+" لینکها:: [[Verbatim(آدرس های اینترنتی در این سایت با حروف بزرگ شروع میشوند٬ "
+
+"این کلمات را جدا از هم ننویسید.)]]; [[Verbatim([\"براکت و دو علامت quote"
+
+"\"])]]; آدرس اینترنتی; [آدرس اینترنتی]; [برچسب آدرس اینترنتی].\n"
+
+" جدولها:: || متن درون یک سلول جدول |||| متن درون یک سلول با دو ستون ||;     "
+
+"پس از جدول ها و عنوان ها نباید فاصله خالی بگذارید.\n"
+
+"\n"
+
+"(!) برای راهنمایی بیشتر HelpOnEditing و یا SyntaxReference را ببینید.\n"
+
+
+
+msgid ""
+
+"Emphasis: <i>*italic*</i> <b>**bold**</b> ``monospace``<br/>\n"
+
+"<br/><pre>\n"
+
+"Headings: Heading 1  Heading 2  Heading 3\n"
+
+"          =========  ---------  ~~~~~~~~~\n"
+
+"\n"
+
+"Horizontal rule: ---- \n"
+
+"Links: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
+
+"\n"
+
+".. _external: http://external-site.net/foo/\n"
+
+"\n"
+
+"Lists: * bullets; 1., a. numbered items.\n"
+
+"</pre>\n"
+
+"<br/>\n"
+
+"(!) For more help, see the \n"
+
+"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
+
+"reStructuredText Quick Reference\n"
+
+"</a>.\n"
+
+msgstr ""
+
+"پررنگ: <i>*مورب سازی*</i> <b>**پررنگ**</b> ``monospace``<br/>\n"
+
+"<br/><pre>\n"
+
+"سرنویسها: سرنویس ۱  سرنویس ۲  سرنویس ۳\n"
+
+"          =========  ---------  ~~~~~~~~~\n"
+
+"\n"
+
+"خط افقی: ---- \n"
+
+"لینکها: TrailingUnderscore_ `multi word with backticks`_ external_ \n"
+
+"\n"
+
+".. _external: http://external-site.net/foo/\n"
+
+"\n"
+
+"لیستها: * bullets; 1., a. numbered items.\n"
+
+"</pre>\n"
+
+"<br/>\n"
+
+"(!) برای راهنمایی بیشتر این صفحه را ببینید \n"
+
+"<a href=\"http://docutils.sourceforge.net/docs/user/rst/quickref.html\">\n"
+
+"reStructuredText Quick Reference\n"
+
+"</a>.\n"
+
+
+
+msgid "Diffs"
+
+msgstr "تغییرات"
+
+
+
+msgid "Info"
+
+msgstr "گزارشات"
+
+
+
+msgid "Edit"
+
+msgstr "ویرایش"
+
+
+
+msgid "UnSubscribe"
+
+msgstr "لغو عضویت"
+
+
+
+msgid "Subscribe"
+
+msgstr "عضویت"
+
+
+
+msgid "Raw"
+
+msgstr "متن خام"
+
+
+
+msgid "XML"
+
+msgstr "XML"
+
+
+
+msgid "Print"
+
+msgstr "چاپ"
+
+
+
+msgid "View"
+
+msgstr "مشاهده"
+
+
+
+msgid "Up"
+
+msgstr "بالا"
+
+
+
+msgid "Publish my email (not my wiki homepage) in author info"
+
+msgstr "لطفا در اطلاعات نویسنده آدرس ایمیل من را اصلاح نمایید"
+
+
+
+msgid "Open editor on double click"
+
+msgstr "ویرایشگر با دوبار کلیک باز شود"
+
+msgid "Jump to last visited page instead of frontpage"
+
+msgstr "بجای صفحه اولیه به آخرین صفحه بازدید شده برو"
+
+
+
+msgid "Show question mark for non-existing pagelinks"
+
+msgstr "به جای لینک صفحه هایی که وجود ندارند علامت سوال بگذار"
+
+
+
+msgid "Show page trail"
+
+msgstr "دنبالک صفحه را نشان بده"
+
+
+
+msgid "Show icon toolbar"
+
+msgstr "نوار ابزار آیکونها را نشان بده"
+
+
+
+msgid "Show top/bottom links in headings"
+
+msgstr "لینکهای رفتن به بالا/پایین را در کنار لینکهای اصلی نشان بده"
+
+
+
+msgid "Show fancy diffs"
+
+msgstr "دکمه های تفاوتها را نشان بده"
+
+
+
+msgid "Add spaces to displayed wiki names"
+
+msgstr "بین نام ویکی های نمایش داده شده فاصله اضافه کن"
+
+
+
+msgid "Remember login information"
+
+msgstr "اطلاعات ورودی من را به خاطر بسپار"
+
+
+
+msgid "Subscribe to trivial changes"
+
+msgstr "عضویت در گزارش تغییرات جزئی"
+
+
+
+msgid "Disable this account forever"
+
+msgstr "این حساب کاربری را برای همیشه غیرفعال کن"
+
+
+
+msgid "Name"
+
+msgstr "نام کاربری"
+
+
+
+msgid "(Use Firstname''''''Lastname)"
+
+msgstr ""
+
+"(از نام '''''' و نام خانوادگی به زبان انگلیسی و طبق الگوی صحیح استفاده "
+
+"نمایید)"
+
+
+
+msgid "Alias-Name"
+
+msgstr "نام مستعار"
+
+
+
+msgid "Password"
+
+msgstr "کلمه عبور"
+
+
+
+msgid "Password repeat"
+
+msgstr "تکرار کلمه عبور"
+
+
+
+msgid "(Only for password change or new account)"
+
+msgstr "(فقط جهت تغییر کلمه عبور و یا ایجاد حساب کاربری جدید)"
+
+
+
+msgid "Email"
+
+msgstr "آدرس ایمیل"
+
+
+
+msgid "User CSS URL"
+
+msgstr "آدرس CSS کاربر"
+
+
+
+msgid "(Leave it empty for disabling user CSS)"
+
+msgstr "(جهت غیر فعال نمودن CSS کاربر٬ این قسمت را خالی بگذارید)"
+
+
+
+msgid "Editor size"
+
+msgstr "اندازه ویرایشگر"
+
+
+
+#, python-format
+
+msgid "The package needs a newer version of MoinMoin (at least %s)."
+
+msgstr "این بسته نیاز به MoinMoin نسخه جدیدتری دارد (نسخه %s یا بالاتر)."
+
+
+
+msgid "The theme name is not set."
+
+msgstr "قالب گرافیکی تنظیم نشده است."
+
+
+
+msgid "Installing theme files is only supported for standalone type servers."
+
+msgstr ""
+
+"نصب فایلهای قالب گرافیکی تنها در سرویس دهنده های standalone پشتیبانی میشود."
+
+
+
+#, python-format
+
+msgid "Installation of '%(filename)s' failed."
+
+msgstr "نصب فایل '%(filename)s' با ایراد مواجه شد."
+
+
+
+#, python-format
+
+msgid "The file %s is not a MoinMoin package file."
+
+msgstr "فایل %s از فایلهای  بسته MoinMoin نیست."
+
+
+
+#, python-format
+
+msgid "The page %s does not exist."
+
+msgstr "صفحه %s وجود ندارد."
+
+
+
+msgid "Invalid package file header."
+
+msgstr "بسته غیرمجاز."
+
+
+
+msgid "Package file format unsupported."
+
+msgstr "نوع فایل این بسته پشتیبانی نمیشود."
+
+
+
+#, python-format
+
+msgid "Unknown function %(func)s in line %(lineno)i."
+
+msgstr "تابع غیر مجاز %(func)s در خط %(lineno)i."
+
+
+
+#, python-format
+
+msgid "The file %s was not found in the package."
+
+msgstr "فایل %s در بسته یافت نشد."
+
+
+
+#, python-format
+
+msgid "%(hits)d results out of about %(pages)d pages."
+
+msgstr "%(hits)d نتیجه بدست آمده حاصل از جستجوی %(pages)d صفحه"
+
+
+
+#, python-format
+
+msgid "%.2f seconds"
+
+msgstr "%.2f ثانیه"
+
+
+
+msgid "match"
+
+msgstr "نتیجه"
+
+
+
+msgid "matches"
+
+msgstr "نتایج"
+
+
+
+msgid ""
+
+"This wiki is not enabled for mail processing.\n"
+
+"Contact the owner of the wiki, who can enable email."
+
+msgstr ""
+
+"گزینه جابجایی ایمیل در این ویکی فعال نمی باشد.\n"
+
+"از مدیر ویکی بخواهید تا این امکان را فراهم نماید."
+
+
+
+msgid "Please provide a valid email address!"
+
+msgstr "لطفا یک آدرس ایمیل معتبر وارد نمایید!"
+
+
+
+#, python-format
+
+msgid "Found no account matching the given email address '%(email)s'!"
+
+msgstr "حساب کاربری با آدرس ایمیل '%(email)s' یافت نشد!"
+
+
+
+msgid "Use UserPreferences to change your settings or create an account."
+
+msgstr ""
+
+"جهت تغییر تنظیمات جاری و یا ایجاد یک حساب جدید از مرجع اطلاعات کاربری "
+
+"استفاده نمایید."
+
+
+
+msgid "Empty user name. Please enter a user name."
+
+msgstr "محل نام کاربری خالی است. لطفا یک نام کاربری وارد نمایید."
+
+
+
+#, python-format
+
+msgid ""
+
+"Invalid user name {{{'%s'}}}.\n"
+
+"Name may contain any Unicode alpha numeric character, with optional one\n"
+
+"space between words. Group page name is not allowed."
+
+msgstr ""
+
+"نام کاربری غیر قابل قبول {{{'%s'}}}.\n"
+
+"نام کاربری میتواند شامل کلیه کاراکترهای حرفی عددی Unicode با یک فاصله بین "
+
+"کلمات باشد.\n"
+
+"نام صفحات گروهی قابل قبول نیست."
+
+
+
+msgid "This user name already belongs to somebody else."
+
+msgstr "این نام کاربری توسط شخص دیگری ثبت شده است."
+
+
+
+msgid "Passwords don't match!"
+
+msgstr "کلمات عبور وارد شده یکی نیستند!"
+
+
+
+msgid "Please specify a password!"
+
+msgstr "لطفا یک کلمه عبور وارد نمایید!"
+
+
+
+msgid ""
+
+"Please provide your email address. If you lose your login information, you "
+
+"can get it by email."
+
+msgstr ""
+
+"لطفا آدرس ایمیل خود را وارد نمایید. در صورتی که اطلاعات حساب کاربری خود را "
+
+"فراموش کنید این اطلاعات برای شما ایمیل خواهند شد."
+
+
+
+msgid "This email already belongs to somebody else."
+
+msgstr "این ایمیل توسط شخص دیگری ثبت شده است."
+
+
+
+msgid "User account created! You can use this account to login now..."
+
+msgstr ""
+
+"حساب کاربری شما ایجاد شد! شما می توانید از این حساب کاربری برای ورود به "
+
+"سیستم استفاده نمائید..."
+
+
+
+msgid "Use UserPreferences to change settings of the selected user account"
+
+msgstr ""
+
+"از مرجع اطلاعات کاربری برای تغییر تنظیمات جاری و یا ایجاد یک حساب جدید "
+
+"استفاده نمایید."
+
+
+
+#, python-format
+
+msgid "The theme '%(theme_name)s' could not be loaded!"
+
+msgstr "قالب گرافیکی درخواستی شما '%(theme_name)s' قابل استفاده نمی باشد!"
+
+
+
+msgid "User preferences saved!"
+
+msgstr "اطلاعات کاربری شما ذخیره شد!"
+
+
+
+msgid "Default"
+
+msgstr "پیش گزینه"
+
+
+
+msgid "<Browser setting>"
+
+msgstr "<بر اساس تنظیمات مرورگر>"
+
+
+
+msgid "the one preferred"
+
+msgstr "گزینه ارجح"
+
+
+
+msgid "free choice"
+
+msgstr "گزینه آزاد"
+
+
+
+msgid "Select User"
+
+msgstr "انتخاب کاربر"
+
+
+
+msgid "Save"
+
+msgstr "ثبت"
+
+
+
+msgid "Preferred theme"
+
+msgstr "قالب گرافیکی ارجح"
+
+
+
+msgid "Editor Preference"
+
+msgstr "نوع ویرایشگر"
+
+
+
+msgid "Editor shown on UI"
+
+msgstr "ویرایشگر قابل نمایش در UI"
+
+
+
+msgid "Time zone"
+
+msgstr "موقعیت زمانی"
+
+
+
+msgid "Your time is"
+
+msgstr "ساعت به وقت شما"
+
+
+
+msgid "Server time is"
+
+msgstr "ساعت سرویس دهنده"
+
+
+
+msgid "Date format"
+
+msgstr "الگوی تاریخ"
+
+
+
+msgid "Preferred language"
+
+msgstr "زبان نمایش ویکی"
+
+
+
+msgid "General options"
+
+msgstr "گزینه های عمومی"
+
+
+
+msgid "Quick links"
+
+msgstr "لینکهای دسترسی سریع"
+
+
+
+msgid "This list does not work, unless you have entered a valid email address!"
+
+msgstr ""
+
+"این لیست تا زمانی که شما یک شما یک آدرس ایمیل معتبر وارد ننمایید کار نخواهد "
+
+"کرد!"
+
+
+
+msgid "Subscribed wiki pages (one regex per line)"
+
+msgstr "صفحات ویکی که در آنها عضو می باشید (یک صفحه در هر خط)"
+
+
+
+msgid "Create Profile"
+
+msgstr "ثبت کاربر جدید"
+
+
+
+msgid "Mail me my account data"
+
+msgstr "اطلاعات حساب من را ایمیل کن"
+
+
+
+#, python-format
+
+msgid ""
+
+"To create an account or recover a lost password, see the %(userprefslink)s "
+
+"page."
+
+msgstr ""
+
+"جهت ایجاد حساب کاربری جدید و یا بازیافت کلمه رمز خود صفحه %(userprefslink)s "
+
+"را ببینید."
+
+
+
+msgid "Login"
+
+msgstr "ورود"
+
+
+
+msgid "Action"
+
+msgstr "امکانات"
+
+
+
+#, python-format
+
+msgid "Expected \"=\" to follow \"%(token)s\""
+
+msgstr "به جای علامت \"=\" عبارت \"%(token)s\" مشاهده شد"
+
+
+
+#, python-format
+
+msgid "Expected a value for key \"%(token)s\""
+
+msgstr "عبارت \"%(token)s\" در اینجا صحیح نیست"
+
+
+
+#, python-format
+
+msgid "[%d attachments]"
+
+msgstr "[%d·attachments]"
+
+
+
+#, python-format
+
+msgid ""
+
+"There are <a href=\"%(link)s\">%(count)s attachment(s)</a> stored for this "
+
+"page."
+
+msgstr "این صفحه  دارای <a·href=\"%(link)s\">%(count)s·ضمیمه</a> می باشد."
+
+
+
+msgid "Filename of attachment not specified!"
+
+msgstr "نام فایل ضمیمه مشخص نشده است!"
+
+
+
+#, python-format
+
+msgid "Attachment '%(filename)s' does not exist!"
+
+msgstr "ضمیمه '%(filename)s' وجود ندارد!"
+
+
+
+msgid ""
+
+"To refer to attachments on a page, use '''{{{attachment:filename}}}''', \n"
+
+"as shown below in the list of files. \n"
+
+"Do '''NOT''' use the URL of the {{{[get]}}} link, \n"
+
+"since this is subject to change and can break easily."
+
+msgstr ""
+
+"جهت آدرس دهی به ضمیمه موجود در یک صفحه٬ از عبارت '''{{{ضمیمه:نام فایل}}}''' "
+
+"استفاده نمایید.\n"
+
+"همینگونه که در زیر در قسمت لیست فایل ها نشان داده شده است از لینک آدرس "
+
+"{{{[get]}}} استفاده ننمایید."
+
+
+
+msgid "del"
+
+msgstr "حذف"
+
+
+
+msgid "get"
+
+msgstr "دریافت"
+
+
+
+msgid "edit"
+
+msgstr "ویرایش"
+
+
+
+msgid "view"
+
+msgstr "نمایش"
+
+
+
+msgid "unzip"
+
+msgstr "فایل فشرده بار شود"
+
+
+
+msgid "install"
+
+msgstr "نصب"
+
+
+
+#, python-format
+
+msgid "No attachments stored for %(pagename)s"
+
+msgstr "صفحه %(pagename)s ضمیمه ندارد"
+
+
+
+msgid "Edit drawing"
+
+msgstr "ویرایش ترسیمات"
+
+
+
+msgid "Attached Files"
+
+msgstr "فایل های ضمیمه شده"
+
+
+
+msgid "You are not allowed to attach a file to this page."
+
+msgstr "شما مجاز نیستید فایلی را به این صفحه ضمیمه نمایید."
+
+
+
+msgid "New Attachment"
+
+msgstr "ضمیمه جدید"
+
+
+
+msgid ""
+
+"An upload will never overwrite an existing file. If there is a name\n"
+
+"conflict, you have to rename the file that you want to upload.\n"
+
+"Otherwise, if \"Rename to\" is left blank, the original filename will be "
+
+"used."
+
+msgstr ""
+
+"در صورتی که فایل جدید ارسالی تشابه اسمی با ضمایم موجود داشته باشد٬ فایل "
+
+"ارسالی جدید جایگزین فایل ضمیمه قبلی خواهد شد.\n"
+
+"شما می توانید از گزینه \"تغییرنام به\" جهت ضمیمه شدن فایل با نامی متفاوت "
+
+"استفاده نمائید."
+
+
+
+msgid "File to upload"
+
+msgstr "فایل ارسالی"
+
+
+
+msgid "Rename to"
+
+msgstr "تغییر نام به"
+
+
+
+msgid "Upload"
+
+msgstr "ارسال"
+
+
+
+msgid "File attachments are not allowed in this wiki!"
+
+msgstr "ضمیمه کردن فایل دراین ویکی مجاز نمی باشد!"
+
+
+
+msgid "You are not allowed to save a drawing on this page."
+
+msgstr "شما مجاز به ذخیره ترسیمات برای این صفحه نیستید."
+
+
+
+msgid ""
+
+"No file content. Delete non ASCII characters from the file name and try "
+
+"again."
+
+msgstr ""
+
+"محتویات فایل یافت نشد. کاراکترهای غیر ASCII را از نام فایل حذف نموده و مجددا "
+
+"سعی نمایید."
+
+
+
+msgid "You are not allowed to delete attachments on this page."
+
+msgstr "شما مجاز به حذف ضمیمه های این صفحه نمی باشید."
+
+
+
+msgid "You are not allowed to get attachments from this page."
+
+msgstr "شما مجاز به دریافت ضمیمه های این صفحه نمی باشید."
+
+
+
+msgid "You are not allowed to unzip attachments of this page."
+
+msgstr "شما مجاز نیستید ضمیمه های فشرده این صفحه را باز کنید."
+
+
+
+msgid "You are not allowed to install files."
+
+msgstr "شما اجازه نصب فایل ندارید."
+
+
+
+msgid "You are not allowed to view attachments of this page."
+
+msgstr "شما مجاز به دیدن ضمیمه های این صفحه نمی باشید."
+
+
+
+#, python-format
+
+msgid "Unsupported upload action: %s"
+
+msgstr "ارسال غیر مجاز: %s"
+
+
+
+#, python-format
+
+msgid "Attachments for \"%(pagename)s\""
+
+msgstr "ضمیمه های صفحه \"%(pagename)s\""
+
+
+
+#, python-format
+
+msgid ""
+
+"Attachment '%(target)s' (remote name '%(filename)s') with %(bytes)d bytes "
+
+"saved."
+
+msgstr ""
+
+"ضمیمه '%(target)s' (به نام·'%(filename)s') به حجم %(bytes)d بایت ذخیره شد."
+
+
+
+#, python-format
+
+msgid "Attachment '%(target)s' (remote name '%(filename)s') already exists."
+
+msgstr "ضمیمه '%(target)s' (به نام '%(filename)s') در حال حاضر وجود دارد."
+
+
+
+#, python-format
+
+msgid "Attachment '%(filename)s' deleted."
+
+msgstr "ضمیمه '%(filename)s' حذف شد."
+
+
+
+#, python-format
+
+msgid "Attachment '%(filename)s' installed."
+
+msgstr "ضمیمه '%(filename)s' نصب شد."
+
+
+
+#, python-format
+
+msgid ""
+
+"Attachment '%(filename)s' could not be unzipped because the resulting files "
+
+"would be too large (%(space)d kB missing)."
+
+msgstr ""
+
+"ضمیمه '%(filename)s' به دلیل اینکه پس از باز شدن حجم زیادی دارد٬ باز نشد (%"
+
+"(space)d kB missing)."
+
+
+
+#, python-format
+
+msgid ""
+
+"Attachment '%(filename)s' could not be unzipped because the resulting files "
+
+"would be too many (%(count)d missing)."
+
+msgstr ""
+
+"ضمیمه·'%(filename)s'·به·دلیل·اینکه·پس·از·باز·شدن·تعداد فایلها بسیار زیاد "
+
+"است٬·باز·نشد.(%(count)d·missing)."
+
+
+
+#, python-format
+
+msgid "Attachment '%(filename)s' unzipped."
+
+msgstr "ضمیمه '%(filename)s' از حالت فشرده خارج شد."
+
+
+
+#, python-format
+
+msgid ""
+
+"Attachment '%(filename)s' not unzipped because the files are too big, .zip "
+
+"files only, exist already or reside in folders."
+
+msgstr "ضمیمه '%(filename)s' باز نشد."
+
+
+
+#, python-format
+
+msgid "The file %(target)s is not a .zip file."
+
+msgstr "فایل %(target)s یک فایل zip نیست."
+
+
+
+#, python-format
+
+msgid "Attachment '%(filename)s'"
+
+msgstr "فایل ضمیمه '%(filename)s'"
+
+
+
+msgid "Package script:"
+
+msgstr "اسکریپت بسته:"
+
+
+
+msgid "File Name"
+
+msgstr "نام فایل"
+
+
+
+msgid "Modified"
+
+msgstr "اصلاح شده"
+
+
+
+msgid "Size"
+
+msgstr "اندازه"
+
+
+
+msgid "Unknown file type, cannot display this attachment inline."
+
+msgstr "نوع فایل نامشخص است٬ این فایل ضمیمه قابل نمایش نمی باشد."
+
+
+
+#, python-format
+
+msgid "attachment:%(filename)s of %(pagename)s"
+
+msgstr "فایل ضمیمه: فایل %(filename)s از صفحه %(pagename)s"
+
+
+
+msgid "Delete"
+
+msgstr "حذف"
+
+
+
+msgid "This page is already deleted or was never created!"
+
+msgstr "این صفحه یا اخیرا حذف شده و یا هرگز وجود نداشته است!"
+
+
+
+msgid "Optional reason for the deletion"
+
+msgstr "توضیحات دلخواه برای این حذف"
+
+
+
+msgid "Really delete this page?"
+
+msgstr "اطمینان دارید که این صفحه می بایست حذف شود؟"
+
+
+
+msgid "Editor"
+
+msgstr "ویرایش توسط"
+
+
+
+msgid "Pages"
+
+msgstr "صفحات"
+
+
+
+msgid "Select Author"
+
+msgstr "انتخاب نویسنده"
+
+
+
+msgid "Revert all!"
+
+msgstr "کلیه ویرایش ها بازگردانی شود!"
+
+
+
+msgid "You are not allowed to use this action."
+
+msgstr "عملیات غیر مجاز"
+
+
+
+#, python-format
+
+msgid "No pages like \"%s\"!"
+
+msgstr "هیچ صفحه ای شبیه \"%s\" یافت نشد!"
+
+
+
+#, python-format
+
+msgid "Exactly one page like \"%s\" found, redirecting to page."
+
+msgstr "یک صفحه شبیه \"%s\" پیدا شد٬ اکنون به آن صفحه میروید."
+
+
+
+#, python-format
+
+msgid "Pages like \"%s\""
+
+msgstr "صفحات شبیه \"%s\""
+
+
+
+#, python-format
+
+msgid "%(matchcount)d %(matches)s for \"%(title)s\""
+
+msgstr "%(matchcount)d·%(matches)s·برای·\"%(title)s\""
+
+
+
+#, python-format
+
+msgid "Local Site Map for \"%s\""
+
+msgstr "نقشه سایت محلی برای \"%s\""
+
+
+
+msgid "Please log in first."
+
+msgstr "لطفا وارد سیستم شوید."
+
+
+
+msgid "Please first create a homepage before creating additional pages."
+
+msgstr "لطفا پیش از ساخت صفحات در این سایت٬ یک صفحه خانگی برای خود بسازید."
+
+
+
+#, python-format
+
+msgid ""
+
+"You can add some additional sub pages to your already existing homepage "
+
+"here.\n"
+
+"\n"
+
+"You can choose how open to other readers or writers those pages shall be,\n"
+
+"access is controlled by group membership of the corresponding group page.\n"
+
+"\n"
+
+"Just enter the sub page's name and click on the button to create a new "
+
+"page.\n"
+
+"\n"
+
+"Before creating access protected pages, make sure the corresponding group "
+
+"page\n"
+
+"exists and has the appropriate members in it. Use HomepageGroupsTemplate for "
+
+"creating\n"
+
+"the group pages.\n"
+
+"\n"
+
+"||'''Add a new personal page:'''||'''Related access control list "
+
+"group:'''||\n"
+
+"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
+
+"[\"%(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"
+
+msgstr ""
+
+"شما میتوانید به صفحه خانگی خود تعدادی زیر صفحه نیز اضافه نمایید.\n"
+
+"\n"
+
+"شما به دلخواه خود میتوانید مجوز خواندن و نوشتن این صفحات توسط کاربران دیگر "
+
+"را تنظیم نمایید,\n"
+
+"این دسترسی ها توسط اعضای گروه نویسندگان این صفحه قابل تنظیم می باشند.\n"
+
+"\n"
+
+"فقط کافیست نام زیر صفحه مورد نظر خود را نوشته و روی ایجاد صفحه جدید کلیک "
+
+"نمایید.\n"
+
+" \n"
+
+"پیش از ایجاد این صفحات٬ صفحه اسامی گروه نویسندگان دارای حق دسترسی به این "
+
+"صفحه را نیز ایجاد نموده و اسامی کاربران دارای حق ویرایش را در ان صفحه ذکر "
+
+"نمایید\n"
+
+" جهت ساخت این صفحات گروهی میتوانید از الگوی HomepageGroupsTemplate استفاده "
+
+"نمایید.\n"
+
+"\n"
+
+"||'''صفحه شخصی جدید:'''||'''حق دسترسی های مربوطه:'''||\n"
+
+"||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||"
+
+"[\"%(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"
+
+
+
+msgid "MyPages management"
+
+msgstr "مدیریت صفحات من"
+
+
+
+#, python-format
+
+msgid "Invalid filename \"%s\"!"
+
+msgstr "نام فایل \"%s\" نامشخص است !"
+
+
+
+#, python-format
+
+msgid "Created the package %s containing the pages %s."
+
+msgstr "بسته %s شامل صفحات %s ساخته شد."
+
+
+
+msgid "Package pages"
+
+msgstr "بسته صفحات"
+
+
+
+msgid "Package name"
+
+msgstr "نام بسته"
+
+
+
+msgid "List of page names - separated by a comma"
+
+msgstr "لیست نام صفحات - نام صفحات با کاما جدا شوند"
+
+
+
+msgid "Rename Page"
+
+msgstr "تغیر نام صفحه"
+
+
+
+msgid "New name"
+
+msgstr "نام جدید"
+
+
+
+msgid "Optional reason for the renaming"
+
+msgstr "توضیحات اختیاری برای تغببر نام صفحه"
+
+
+
+#, python-format
+
+msgid "(including %(localwords)d %(pagelink)s)"
+
+msgstr "( مرجع لغت %(pagelink)s دارای %(localwords)d لغت )"
+
+
+
+#, python-format
+
+msgid ""
+
+"The following %(badwords)d words could not be found in the dictionary of %"
+
+"(totalwords)d words%(localwords)s and are highlighted below:"
+
+msgstr ""
+
+"این %(badwords)d لغت در مرجع لغات %(totalwords)d لغتی شما %(localwords)s "
+
+"یافت نشدند٬ در صورت تمایل می توانید آنها را به مرجع لغات خود اضافه نمایید:"
+
+
+
+msgid "Add checked words to dictionary"
+
+msgstr "لغات تیک دار را به مرجع لغات اضافه نما"
+
+
+
+msgid "No spelling errors found!"
+
+msgstr "اشتباه املایی یافت نشد!"
+
+
+
+msgid "You can't check spelling on a page you can't read."
+
+msgstr ""
+
+"شما نمی توانید صفحه ای که مجاز به خواندن آن نیستید را تصحیح املایی نمایید."
+
+
+
+#, python-format
+
+msgid "Subscribe users to the page %s"
+
+msgstr "کاربران را عضو این صفحه نما %s"
+
+
+
+#, python-format
+
+msgid "Subscribed for %s:"
+
+msgstr "عضو %s شدند:"
+
+
+
+msgid "Not a user:"
+
+msgstr "کاربر ثبت نشده:"
+
+
+
+msgid "You are not allowed to perform this action."
+
+msgstr "عملیات غیر مجاز"
+
+
+
+msgid "Do it."
+
+msgstr "انجام بده."
+
+
+
+#, python-format
+
+msgid "Execute action %(actionname)s?"
+
+msgstr "عملیات %(actionname)s انجام شود؟"
+
+
+
+#, python-format
+
+msgid "Action %(actionname)s is excluded in this wiki!"
+
+msgstr "عملیات %(actionname)s در این ویکی غیر مجاز است!"
+
+
+
+#, python-format
+
+msgid "You are not allowed to use action %(actionname)s on this page!"
+
+msgstr "عملیات %(actionname)s روی این صفحه مجاز نیست!"
+
+
+
+#, python-format
+
+msgid "Please use the interactive user interface to use action %(actionname)s!"
+
+msgstr ""
+
+"لطفا جهت انجام عملیات %(actionname)s از جلوه های کاربردی استفاده نمایید!"
+
+
+
+msgid "You are not allowed to revert this page!"
+
+msgstr "شما مجاز نیستید این صفحه را ارجاع دهید!"
+
+
+
+msgid "No older revisions available!"
+
+msgstr "ویرایش قدیمی تری موجود نیست!"
+
+
+
+#, python-format
+
+msgid "Diff for \"%s\""
+
+msgstr "تغییرات \"%s\""
+
+
+
+#, python-format
+
+msgid "Differences between revisions %d and %d"
+
+msgstr "تغییرات بین ویرایش های %d و %d"
+
+
+
+#, python-format
+
 msgid "(spanning %d versions)"
+
 msgstr "(spanning %d versions)"
 
+
+
 msgid "No differences found!"
+
 msgstr "هیچ گونه تغییری یافت نشد!"
 
+
+
 #, python-format
+
 msgid "The page was saved %(count)d times, though!"
+
 msgstr "این صفحه %(count)d بار ذخیره شده است!"
 
+
+
 msgid "(ignoring whitespace)"
+
 msgstr "(صرف نظر از فاصله های سفید)"
 
+
+
 msgid "Ignore changes in the amount of whitespace"
+
 msgstr "صرف نظر از تغییرات در تعداد فاصله های سفید"
 
+
+
 msgid "General Information"
+
 msgstr "اطلاعات عمومی"
 
+
+
 #, python-format
+
 msgid "Page size: %d"
+
 msgstr "اندازه صفحه: %d"
 
+
+
 msgid "SHA digest of this page's content is:"
+
 msgstr "نسخه SHA فشرده شده محتویات این صفحه:"
 
+
+
 msgid "The following users subscribed to this page:"
+
 msgstr "کاربران زیر در این صفحه عضو می باشند:"
 
+
+
 msgid "This page links to the following pages:"
+
 msgstr "این صفحه به صفحات زیر لینک دارد:"
 
+
+
 msgid "Date"
+
 msgstr "تاریخ"
 
+
+
 msgid "Diff"
+
 msgstr "تغییرات"
 
+
+
 msgid "Comment"
+
 msgstr "توضیحات"
 
+
+
 msgid "raw"
+
 msgstr "نسخه خام"
 
+
+
 msgid "print"
+
 msgstr "چاپ"
 
+
+
 msgid "revert"
+
 msgstr "بازیابی این نسخه"
 
-#, python-format
-msgid "Revert to revision %(rev)d."
-msgstr "نسخه %(rev)d بازیابی شد"
-
-msgid "N/A"
-msgstr "N/A"
-
-msgid "Revision History"
-msgstr "تاریخچه ویرایش"
-
-msgid "No log entries found."
-msgstr "گزارشی دریافت نشد."
+
 
 #, python-format
-msgid "Info for \"%s\""
-msgstr "گزارشات مربوط به \"%s\""
+
+msgid "Revert to revision %(rev)d."
+
+msgstr "نسخه %(rev)d بازیابی شد"
+
+
+
+msgid "N/A"
+
+msgstr "N/A"
+
+
+
+msgid "Revision History"
+
+msgstr "تاریخچه ویرایش"
+
+
+
+msgid "No log entries found."
+
+msgstr "گزارشی دریافت نشد."
+
+
 
 #, python-format
+
+msgid "Info for \"%s\""
+
+msgstr "گزارشات مربوط به \"%s\""
+
+
+
+#, python-format
+
 msgid "Show \"%(title)s\""
+
 msgstr "\"%(title)s\" را نشان بده"
 
+
+
 msgid "General Page Infos"
+
 msgstr "اطلاعات عمومی صفحه"
 
+
+
 #, python-format
+
 msgid "Show chart \"%(title)s\""
+
 msgstr "جدول \"%(title)s\" را نشان بده"
 
+
+
 msgid "Page hits and edits"
+
 msgstr "مشاهدات و ویرایش های صفحه"
 
+
+
 msgid "You must login to add a quicklink."
+
 msgstr "برای اضافه نمودن یک لینک دسترسی سریع باید وارد سیستم شوید."
 
+
+
 msgid "Your quicklink to this page has been removed."
+
 msgstr "لینک دسترسی سریع شما به این صفحه حذف شد."
 
+
+
 msgid "A quicklink to this page has been added for you."
+
 msgstr "یک لینک دسترسی سریع به این صفحه برای شما اضافه شد."
 
+
+
 msgid "You are not allowed to subscribe to a page you can't read."
+
 msgstr "شما مجاز نیستید در صفحه ای عضو شوید که مجوز خواندن آنرا ندارید."
 
+
+
 msgid "This wiki is not enabled for mail processing."
+
 msgstr "گزینه جابجایی ایمیل ها برای این ویکی فعال نشده است."
 
+
+
 msgid "You must log in to use subscribtions."
+
 msgstr "برای استفاده از امکانات اعضا حتما باید وارد سیستم شوید."
 
+
+
 msgid "Add your email address in your UserPreferences to use subscriptions."
+
 msgstr ""
+
 "جهت استفاده از امکانات اعضاء٬ آدرس ایمیل خود را در مرجع اطلاعات کاربری اضافه "
+
 "نمایید."
 
+
+
 msgid "Your subscribtion to this page has been removed."
+
 msgstr "عضویت شما از این صفحه حذف شد."
 
+
+
 msgid "Can't remove regular expression subscription!"
+
 msgstr "عضویت در اصطلاحات عمومی قابل حذف نمی باشد!"
 
+
+
 msgid "Edit the subscription regular expressions in your UserPreferences."
+
 msgstr "اصطلاحات عمومی عضویت را در مرجع اطلاعات کاربری ویرایش نمایید."
 
+
+
 msgid "You have been subscribed to this page."
+
 msgstr "شما در این صفحه عضو شدید."
 
+
+
 msgid "Charts are not available!"
+
 msgstr "چارت ها قابل دسترسی نمی باشند!"
 
+
+
 msgid "You need to provide a chart type!"
+
 msgstr "شما باید نوع چارت را مشخص نمایید!"
 
-#, python-format
-msgid "Bad chart type \"%s\"!"
-msgstr "چارت \"%s\" صحیح نمی باشد!"
-
-#, python-format
-msgid ""
-"Restored Backup: %(filename)s to target dir: %(targetdir)s.\n"
-"Files: %(filecount)d, Directories: %(dircount)d"
-msgstr ""
-"نسخه پشتیبان بازیابی شد: %(filename)s در پوشه مقصد: %(targetdir)s.\n"
-"فایلها: %(filecount)d, پوشه ها: %(dircount)d"
+
 
 #, python-format
-msgid "Restoring backup: %(filename)s to target dir: %(targetdir)s failed."
-msgstr ""
-"بازیابی نسخه پشتیبان: %(filename)s در پوشه مقصد: %(targetdir)s موفق نبود."
-
-msgid "Wiki Backup / Restore"
-msgstr "پشتیبان گیری / بازیافت ویکی"
-
-msgid ""
-"Some hints:\n"
-" * To restore a backup:\n"
-"  * Restoring a backup will overwrite existing data, so be careful.\n"
-"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
-"stuff).\n"
-"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
-"  * Hit the [[GetText(Restore)]] button below.\n"
-"\n"
-" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
-"file\n"
-"   you get to a secure place.\n"
-"\n"
-"Please make sure your wiki configuration backup_* values are correct and "
-"complete.\n"
-"\n"
-msgstr ""
-"Some hints:\n"
-" * To restore a backup:\n"
-"  * Restoring a backup will overwrite existing data, so be careful.\n"
-"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
-"stuff).\n"
-"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
-"  * Hit the [[GetText(Restore)]] button below.\n"
-"\n"
-" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
-"file\n"
-"   you get to a secure place.\n"
-"\n"
-"Please make sure your wiki configuration backup_* values are correct and "
-"complete.\n"
-"\n"
-
-msgid "Backup"
-msgstr "پشتیبان گیری"
-
-msgid "Restore"
-msgstr "بازیافت"
-
-msgid "You are not allowed to do remote backup."
-msgstr "شما مجاز به پشتیبان گیری از راه دور نیستید."
+
+msgid "Bad chart type \"%s\"!"
+
+msgstr "چارت \"%s\" صحیح نمی باشد!"
+
+
 
 #, python-format
-msgid "Unknown backup subaction: %s."
-msgstr "عملیات ناشناخته %s در پشتیبان گیری."
-
-#, python-format
-msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
-msgstr "لطفا به جای {{{\"%s\"}}} جستجوی گزیده تری انجام دهید"
-
-#, python-format
-msgid "Title Search: \"%s\""
-msgstr "جستجوی عنوان: \"%s\""
-
-#, python-format
-msgid "Full Text Search: \"%s\""
-msgstr "جستجوی کامل متن: \"%s\""
-
-#, python-format
-msgid "Full Link List for \"%s\""
-msgstr "لیست کامل لینکها برای \"%s\""
-
-#, python-format
-msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
-msgstr ""
-"نام کاربری {{{\"%s\"}}} یافت نشد. لطفا نام کاربری و کلمه عبور را وارد "
-"نمایید. "
-
-msgid "Missing password. Please enter user name and password."
-msgstr ""
-"کلمه رمز وارد نشده است. لطفا نام کاربری و کلمه عبور صحیح خود را مجددا وارد "
-"نمایید."
-
-msgid "Sorry, login failed."
-msgstr "نام کاربری/کلمه عبور صحیح نیست٬ لطفا مجددا سعی نمائید."
-
-msgid "You are now logged out."
-msgstr "شما از سیستم خارج شدید."
 
 msgid ""
-"Cannot create a new page without a page name.  Please specify a page name."
+
+"Restored Backup: %(filename)s to target dir: %(targetdir)s.\n"
+
+"Files: %(filecount)d, Directories: %(dircount)d"
+
 msgstr ""
-"سیستم نمی تواند صفحه جدید بدون نام ایجاد کند.  لطفا یک نام صفحه مشخص نمایید."
-
-#, python-format
-msgid "Upload new attachment \"%(filename)s\""
-msgstr "ارسال ضمیمه جدید \"%(filename)s\""
-
-#, python-format
-msgid "Create new drawing \"%(filename)s\""
-msgstr "ترسیم جدید \"%(filename)s\" را بساز"
+
+"نسخه پشتیبان بازیابی شد: %(filename)s در پوشه مقصد: %(targetdir)s.\n"
+
+"فایلها: %(filecount)d, پوشه ها: %(dircount)d"
+
+
 
 #, python-format
+
+msgid "Restoring backup: %(filename)s to target dir: %(targetdir)s failed."
+
+msgstr ""
+
+"بازیابی نسخه پشتیبان: %(filename)s در پوشه مقصد: %(targetdir)s موفق نبود."
+
+
+
+msgid "Wiki Backup / Restore"
+
+msgstr "پشتیبان گیری / بازیافت ویکی"
+
+
+
+msgid ""
+
+"Some hints:\n"
+
+" * To restore a backup:\n"
+
+"  * Restoring a backup will overwrite existing data, so be careful.\n"
+
+"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
+
+"stuff).\n"
+
+"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
+
+"  * Hit the [[GetText(Restore)]] button below.\n"
+
+"\n"
+
+" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
+
+"file\n"
+
+"   you get to a secure place.\n"
+
+"\n"
+
+"Please make sure your wiki configuration backup_* values are correct and "
+
+"complete.\n"
+
+"\n"
+
+msgstr ""
+
+"Some hints:\n"
+
+" * To restore a backup:\n"
+
+"  * Restoring a backup will overwrite existing data, so be careful.\n"
+
+"  * Rename it to <siteid>.tar.<compression> (remove the --date--time--UTC "
+
+"stuff).\n"
+
+"  * Put the backup file into the backup_storage_dir (use scp, ftp, ...).\n"
+
+"  * Hit the [[GetText(Restore)]] button below.\n"
+
+"\n"
+
+" * To make a backup, just hit the [[GetText(Backup)]] button and save the "
+
+"file\n"
+
+"   you get to a secure place.\n"
+
+"\n"
+
+"Please make sure your wiki configuration backup_* values are correct and "
+
+"complete.\n"
+
+"\n"
+
+
+
+msgid "Backup"
+
+msgstr "پشتیبان گیری"
+
+
+
+msgid "Restore"
+
+msgstr "بازیافت"
+
+
+
+msgid "You are not allowed to do remote backup."
+
+msgstr "شما مجاز به پشتیبان گیری از راه دور نیستید."
+
+
+
+#, python-format
+
+msgid "Unknown backup subaction: %s."
+
+msgstr "عملیات ناشناخته %s در پشتیبان گیری."
+
+
+
+#, python-format
+
+msgid "Please use a more selective search term instead of {{{\"%s\"}}}"
+
+msgstr "لطفا به جای {{{\"%s\"}}} جستجوی گزیده تری انجام دهید"
+
+
+
+#, python-format
+
+msgid "Title Search: \"%s\""
+
+msgstr "جستجوی عنوان: \"%s\""
+
+
+
+#, python-format
+
+msgid "Full Text Search: \"%s\""
+
+msgstr "جستجوی کامل متن: \"%s\""
+
+
+
+#, python-format
+
+msgid "Full Link List for \"%s\""
+
+msgstr "لیست کامل لینکها برای \"%s\""
+
+
+
+#, python-format
+
+msgid "Unknown user name: {{{\"%s\"}}}. Please enter user name and password."
+
+msgstr ""
+
+"نام کاربری {{{\"%s\"}}} یافت نشد. لطفا نام کاربری و کلمه عبور را وارد "
+
+"نمایید. "
+
+
+
+msgid "Missing password. Please enter user name and password."
+
+msgstr ""
+
+"کلمه رمز وارد نشده است. لطفا نام کاربری و کلمه عبور صحیح خود را مجددا وارد "
+
+"نمایید."
+
+
+
+msgid "Sorry, login failed."
+
+msgstr "نام کاربری/کلمه عبور صحیح نیست٬ لطفا مجددا سعی نمائید."
+
+
+
+msgid "You are now logged out."
+
+msgstr "شما از سیستم خارج شدید."
+
+
+
+msgid ""
+
+"Cannot create a new page without a page name.  Please specify a page name."
+
+msgstr ""
+
+"سیستم نمی تواند صفحه جدید بدون نام ایجاد کند.  لطفا یک نام صفحه مشخص نمایید."
+
+
+
+#, python-format
+
+msgid "Upload new attachment \"%(filename)s\""
+
+msgstr "ارسال ضمیمه جدید \"%(filename)s\""
+
+
+
+#, python-format
+
+msgid "Create new drawing \"%(filename)s\""
+
+msgstr "ترسیم جدید \"%(filename)s\" را بساز"
+
+
+
+#, python-format
+
 msgid "Edit drawing %(filename)s"
+
 msgstr "ویرایش ترسیم %(filename)s"
 
+
+
 msgid "Toggle line numbers"
+
 msgstr "شماره خطوط حذف شود"
 
+
+
 msgid "FrontPage"
+
 msgstr "صفحه اولیه"
 
+
+
 msgid "RecentChanges"
+
 msgstr "آخرین تغییرات"
 
+
+
 msgid "TitleIndex"
+
 msgstr "فهرست موضوعات"
 
+
+
 msgid "WordIndex"
+
 msgstr "فهرست لغات"
 
+
+
 msgid "FindPage"
+
 msgstr "جستجوی صفحه"
 
+
+
 msgid "SiteNavigation"
+
 msgstr "نوع سایت"
 
+
+
 msgid "HelpContents"
+
 msgstr "فهرست راهنما"
 
+
+
 msgid "HelpOnFormatting"
+
 msgstr "راهنمای فرمت ها"
 
+
+
 msgid "UserPreferences"
+
 msgstr "مرجع اطلاعات کاربری"
 
+
+
 msgid "WikiLicense"
+
 msgstr "اجازه نامه ویکی"
 
+
+
 msgid "MissingPage"
+
 msgstr "صفحه گم شده"
 
+
+
 msgid "MissingHomePage"
+
 msgstr "صفحه خانگی یافت نشد"
 
+
+
 msgid "Mon"
+
 msgstr "دوشنبه"
 
+
+
 msgid "Tue"
+
 msgstr "سه شنبه"
 
+
+
 msgid "Wed"
+
 msgstr "چهارشنبه"
 
+
+
 msgid "Thu"
+
 msgstr "پنج شنبه"
 
+
+
 msgid "Fri"
+
 msgstr "جمعه"
 
+
+
 msgid "Sat"
+
 msgstr "شنبه"
 
+
+
 msgid "Sun"
+
 msgstr "یکشنبه"
 
+
+
 msgid "AttachFile"
+
 msgstr "انضمام فایل"
 
+
+
 msgid "DeletePage"
+
 msgstr "حذف صفحه"
 
+
+
 msgid "LikePages"
+
 msgstr "شبیه صفحات"
 
+
+
 msgid "LocalSiteMap"
+
 msgstr "نقشه سایت محلی"
 
+
+
 msgid "RenamePage"
+
 msgstr "تغییرنام صفحه"
 
+
+
 msgid "SpellCheck"
+
 msgstr "تصحیح املایی"
 
+
+
 #, python-format
+
 msgid "Invalid include arguments \"%s\"!"
+
 msgstr "عبارت \"%s\" غیر مجاز است!"
 
-#, python-format
-msgid "Nothing found for \"%s\"!"
-msgstr "برای \"%s\" چیزی یافت نشد!"
-
-#, python-format
-msgid "Invalid MonthCalendar calparms \"%s\"!"
-msgstr "پارامترهای غیرمجاز \"%s\" برای تقویم ماهانه !"
-
-#, python-format
-msgid "Invalid MonthCalendar arguments \"%s\"!"
-msgstr "آرگومانهای غیرمجاز \"%s\" تقویم ماهانه !"
+
 
 #, python-format
+
+msgid "Nothing found for \"%s\"!"
+
+msgstr "برای \"%s\" چیزی یافت نشد!"
+
+
+
+#, python-format
+
+msgid "Invalid MonthCalendar calparms \"%s\"!"
+
+msgstr "پارامترهای غیرمجاز \"%s\" برای تقویم ماهانه !"
+
+
+
+#, python-format
+
+msgid "Invalid MonthCalendar arguments \"%s\"!"
+
+msgstr "آرگومانهای غیرمجاز \"%s\" تقویم ماهانه !"
+
+
+
+#, python-format
+
 msgid "Unsupported navigation scheme '%(scheme)s'!"
+
 msgstr "طرح '%(scheme)s' پشتیبانی نشده است!"
 
+
+
 msgid "No parent page found!"
+
 msgstr "صفحه والد بالاتر یافت نشد!"
 
+
+
 msgid "Wiki"
+
 msgstr "ویکی"
 
+
+
 msgid "Slideshow"
+
 msgstr "نمایش تصاویر پشت سر هم"
 
+
+
 msgid "Start"
+
 msgstr "شروع"
 
+
+
 #, python-format
+
 msgid "Slide %(pos)d of %(size)d"
+
 msgstr "اسلاید %(pos)d با حجم %(size)d"
 
+
+
 msgid "No orphaned pages in this wiki."
+
 msgstr "در این ویکی هیچ صفحه بی والد یافت نشد."
 
-#, python-format
-msgid "No quotes on %(pagename)s."
-msgstr "برای صفحه %(pagename)s نظری وجود ندارد."
-
-#, python-format
-msgid "Upload of attachment '%(filename)s'."
-msgstr "ارسال ضمیمه '%(filename)s'"
+
 
 #, python-format
-msgid "Drawing '%(filename)s' saved."
-msgstr "ترسیم '%(filename)s' ذخیره شد."
+
+msgid "No quotes on %(pagename)s."
+
+msgstr "برای صفحه %(pagename)s نظری وجود ندارد."
+
+
 
 #, python-format
+
+msgid "Upload of attachment '%(filename)s'."
+
+msgstr "ارسال ضمیمه '%(filename)s'"
+
+
+
+#, python-format
+
+msgid "Drawing '%(filename)s' saved."
+
+msgstr "ترسیم '%(filename)s' ذخیره شد."
+
+
+
+#, python-format
+
 msgid "%(mins)dm ago"
+
 msgstr "%(mins)dm دقیقه پیش"
 
+
+
 msgid "(no bookmark set)"
+
 msgstr "(بدون نشان bookmark)"
 
+
+
 #, python-format
+
 msgid "(currently set to %s)"
+
 msgstr "(در حال حاضر تنظیم شده روی %s)"
 
+
+
 msgid "Delete Bookmark"
+
 msgstr "حذف نشان bookmark"
 
+
+
 msgid "Set bookmark"
+
 msgstr "نشان bookmark بگذار"
 
+
+
 msgid "set bookmark"
+
 msgstr "نشان·bookmark·بگذار"
 
+
+
 msgid "[Bookmark reached]"
+
 msgstr "[به نشان bookmark رسید]"
 
+
+
 msgid "Markup"
+
 msgstr "علائم نگارشی"
 
+
+
 msgid "Display"
+
 msgstr "نمایش"
 
+
+
 msgid "Python Version"
+
 msgstr "نسخه python"
 
+
+
 msgid "MoinMoin Version"
+
 msgstr "نسخه MoinMoin"
 
+
+
 #, python-format
+
 msgid "Release %s [Revision %s]"
+
 msgstr "انتشار %s·[Revision·%s]"
 
+
+
 msgid "4Suite Version"
+
 msgstr "4Suite Version"
 
+
+
 msgid "Number of pages"
+
 msgstr "تعداد صفحات"
 
+
+
 msgid "Number of system pages"
+
 msgstr "تعداد صفحات سیستمی"
 
+
+
 msgid "Accumulated page sizes"
+
 msgstr "حجم صفحات جمع شده"
 
-#, python-format
-msgid "Disk usage of %(data_dir)s/pages/"
-msgstr "فضای اشغال شده روی دیسک توسط صفحات %(data_dir)s/"
+
 
 #, python-format
+
+msgid "Disk usage of %(data_dir)s/pages/"
+
+msgstr "فضای اشغال شده روی دیسک توسط صفحات %(data_dir)s/"
+
+
+
+#, python-format
+
 msgid "Disk usage of %(data_dir)s/"
+
 msgstr "فضای اشغال شده روی دیسک توسط %(data_dir)s/"
 
+
+
 msgid "Entries in edit log"
+
 msgstr "محتویات گزارشات ویرایشهای صورت گرفته"
 
+
+
 msgid "NONE"
+
 msgstr "هیچ یک"
 
+
+
 msgid "Global extension macros"
+
 msgstr "Global extension macros"
 
+
+
 msgid "Local extension macros"
+
 msgstr "Local extension macros"
 
+
+
 msgid "Global extension actions"
+
 msgstr "Global extension actions"
 
+
+
 msgid "Local extension actions"
+
 msgstr "Local extension actions"
 
+
+
 msgid "Global parsers"
+
 msgstr "Global parsers"
 
+
+
 msgid "Local extension parsers"
+
 msgstr "Local extension parsers"
 
+
+
 msgid "Disabled"
+
 msgstr "غیرفعال"
 
+
+
 msgid "Enabled"
+
 msgstr "فعال"
 
+
+
 msgid "Xapian search"
+
 msgstr "Xapian search"
 
+
+
 msgid "Active threads"
+
 msgstr "مباحث فعال"
 
+
+
 msgid "Contents"
+
 msgstr "فهرست"
 
+
+
 msgid "Include system pages"
+
 msgstr "با·در·نظر·گرفتن·صفحات·سیستمی"
 
+
+
 msgid "Exclude system pages"
+
 msgstr "بدون در نظر گرفتن صفحات سیستمی"
 
+
+
 msgid "No wanted pages in this wiki."
+
 msgstr "در این ویکی صفحه ای مورد نیاز نیست."
 
+
+
 msgid "Search Titles"
+
 msgstr "جستجو در عناوین"
 
+
+
 msgid "Display context of search results"
+
 msgstr "نتایج جستجو را نشان بده"
 
+
+
 msgid "Case-sensitive searching"
+
 msgstr "جستجوی حساس به حروف بزرگ و کوچک"
 
+
+
 msgid "Search Text"
+
 msgstr "جستجو در متون"
 
+
+
 msgid "Go To Page"
+
 msgstr "برو به صفحه"
 
+
+
 #, python-format
+
 msgid "ERROR in regex '%s'"
+
 msgstr "خطا regex·'%s'"
 
+
+
 #, python-format
+
 msgid "Bad timestamp '%s'"
+
 msgstr "timestamp·'%s' غیر قابل قبول"
 
+
+
 #, python-format
+
 msgid "Connection to mailserver '%(server)s' failed: %(reason)s"
+
 msgstr "ارتباط با سرویس دهنده ایمیل '%(server)s' مقدور نمی باشد: %(reason)s"
 
+
+
 msgid "Mail not sent"
+
 msgstr "پیغام شما فرستاده نشد"
 
+
+
 msgid "Mail sent OK"
+
 msgstr "پیغام با موفقیت ارسال شد"
 
-#, python-format
-msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
-msgstr ""
-"پس از عبارت \"%(key)s\" می بایست عبارت \"%(wanted)s\" می آمد که به اشتباه \"%"
-"(token)s\" آمده است"
-
-#, python-format
-msgid "Expected an integer \"%(key)s\" before \"%(token)s\""
-msgstr "پیش از \"%(token)s\" می بایست یک عبارت عددی \"%(key)s\" بیاید"
+
 
 #, python-format
-msgid "Expected an integer \"%(arg)s\" after \"%(key)s\""
-msgstr "بعد از \"%(key)s\" باید یک کاراکتر عددی \"%(arg)s\" باشد"
+
+msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\""
+
+msgstr ""
+
+"پس از عبارت \"%(key)s\" می بایست عبارت \"%(wanted)s\" می آمد که به اشتباه \"%"
+
+"(token)s\" آمده است"
+
+
 
 #, python-format
+
+msgid "Expected an integer \"%(key)s\" before \"%(token)s\""
+
+msgstr "پیش از \"%(token)s\" می بایست یک عبارت عددی \"%(key)s\" بیاید"
+
+
+
+#, python-format
+
+msgid "Expected an integer \"%(arg)s\" after \"%(key)s\""
+
+msgstr "بعد از \"%(key)s\" باید یک کاراکتر عددی \"%(arg)s\" باشد"
+
+
+
+#, python-format
+
 msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
+
 msgstr "بعد از \"%(key)s\" یک مقدار رنگ \"%(arg)s\" وارد شود"
 
+
+
 msgid ""
+
 "Rendering of reStructured text is not possible, please install Docutils."
+
 msgstr ""
+
 "آماده سازی صفحه تغییر ساختار یافته ممکن نیست٬ لطفا Docutils را نصب نمائید."
 
+
+
 msgid "**Maximum number of allowed includes exceeded**"
+
 msgstr "**حداکثر تعداد ورودی مجاز**"
 
+
+
 #, python-format
+
 msgid "**Could not find the referenced page: %s**"
+
 msgstr "**صفحه ارجاع داده شده: %s یافت نشد**"
 
+
+
 msgid "XSLT option disabled, please look at HelpOnConfiguration."
+
 msgstr ""
+
 "گزینه XSLT غیر فعال است٬ لطفا صفحه راهنمای تنظیمات HelpOnConfiguration را "
+
 "ببینید."
 
+
+
 msgid "XSLT processing is not available, please install 4suite 1.x."
+
 msgstr "پردازش XSLT قابل انجام نیست٬ لطفا بسته 4suite·1.x را نصب نمایید."
 
-#, python-format
-msgid "%(errortype)s processing error"
-msgstr "ایراد پردازش %(errortype)s"
-
-#, python-format
-msgid "You are not allowed to do %s on this page."
-msgstr "شما مجاز به %s روی این صفحه نمی باشید."
-
-msgid "Login and try again."
-msgstr "لطفا وارد سایت شده و مجددا سعی نمایید."
-
-#, python-format
-msgid ""
-"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
-msgstr ""
-"متاسفم! این صفحه بدلیل اینکه عبارت \"%(content)s\" در این ویکی مجاز نمی "
-"باشد٬ ذخیره نشد."
-
-msgid "Views/day"
-msgstr "بازدید در روز"
-
-msgid "Edits/day"
-msgstr "ویرایش در روز"
+
 
 #, python-format
-msgid "%(chart_title)s for %(filterpage)s"
-msgstr "%(chart_title)s برای %(filterpage)s"
+
+msgid "%(errortype)s processing error"
+
+msgstr "ایراد پردازش %(errortype)s"
+
+
+
+#, python-format
+
+msgid "You are not allowed to do %s on this page."
+
+msgstr "شما مجاز به %s روی این صفحه نمی باشید."
+
+
+
+msgid "Login and try again."
+
+msgstr "لطفا وارد سایت شده و مجددا سعی نمایید."
+
+
+
+#, python-format
 
 msgid ""
+
+"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki."
+
+msgstr ""
+
+"متاسفم! این صفحه بدلیل اینکه عبارت \"%(content)s\" در این ویکی مجاز نمی "
+
+"باشد٬ ذخیره نشد."
+
+
+
+msgid "Views/day"
+
+msgstr "بازدید در روز"
+
+
+
+msgid "Edits/day"
+
+msgstr "ویرایش در روز"
+
+
+
+#, python-format
+
+msgid "%(chart_title)s for %(filterpage)s"
+
+msgstr "%(chart_title)s برای %(filterpage)s"
+
+
+
+msgid ""
+
 "green=view\n"
+
 "red=edit"
+
 msgstr ""
+
 "سبز = بازدید\n"
+
 "قرمز = ویرایش"
 
+
+
 msgid "date"
+
 msgstr "تاریخ"
 
+
+
 msgid "# of hits"
+
 msgstr "تعداد بازدید"
 
+
+
 msgid "Page Size Distribution"
+
 msgstr "توزیع حجم صفحه"
 
+
+
 msgid "page size upper bound [bytes]"
+
 msgstr "حداکثر حجم صفحه [bytes]"
 
+
+
 msgid "# of pages of this size"
+
 msgstr "تعداد صفحات با این حجم"
 
+
+
 msgid "User agent"
+
 msgstr "User·agent"
 
+
+
 msgid "Others"
+
 msgstr "سایر"
 
+
+
 msgid "Distribution of User-Agent Types"
+
 msgstr "انواع User-Agent"
 
+
+
 msgid "Unsubscribe"
+
 msgstr "لغو عضویت"
 
+
+
 msgid "Home"
+
 msgstr "صفحه خانگی"
 
+
+
 msgid "[RSS]"
+
 msgstr "[RSS]"
 
+
+
 msgid "[DELETED]"
+
 msgstr "[حذف شده]"
 
+
+
 msgid "[UPDATED]"
+
 msgstr "[به روزآوری شده]"
 
+
+
 msgid "[NEW]"
+
 msgstr "[جدید]"
 
+
+
 msgid "[DIFF]"
+
 msgstr "[تغییرات]"
 
+
+
 msgid "[BOTTOM]"
+
 msgstr "[انتهای صفحه]"
 
+
+
 msgid "[TOP]"
+
 msgstr "[ابتدای صفحه]"
 
+
+
 msgid "Click to do a full-text search for this title"
+
 msgstr "جهت جستجوی کامل این موضوع در سایت کلیک نمایید"
 
+
+
 msgid "Preferences"
+
 msgstr "اطلاعات کاربری"
 
+
+
 msgid "Logout"
+
 msgstr "خروج"
 
+
+
 msgid "Clear message"
+
 msgstr "پیغام حذف شود"
 
-#, python-format
-msgid "last edited %(time)s by %(editor)s"
-msgstr "آخرین بروزآوری %(time)s توسط %(editor)s"
+
 
 #, python-format
+
+msgid "last edited %(time)s by %(editor)s"
+
+msgstr "آخرین بروزآوری %(time)s توسط %(editor)s"
+
+
+
+#, python-format
+
 msgid "last modified %(time)s"
+
 msgstr "آخرین تغییرات %(time)s"
 
+
+
 msgid "Search:"
+
 msgstr "جستجو:"
 
+
+
 msgid "Text"
+
 msgstr "متن"
 
+
+
 msgid "Titles"
+
 msgstr "عنوان"
 
+
+
 msgid "Search"
+
 msgstr "جستجو در"
 
+
+
 msgid "More Actions:"
+
 msgstr "امکانات بیشتر:"
 
+
+
 msgid "------------"
+
 msgstr "------------"
 
+
+
 msgid "Raw Text"
+
 msgstr "متن خام"
 
+
+
 msgid "Print View"
+
 msgstr "مشاهده صفحه قابل چاپ"
 
+
+
 msgid "Delete Cache"
+
 msgstr "حذف حافظه جانبی"
 
+
+
 msgid "Delete Page"
+
 msgstr "حذف صفحه"
 
+
+
 msgid "Like Pages"
+
 msgstr "شبیه صفحات"
 
+
+
 msgid "Local Site Map"
+
 msgstr "نقشه سایت محلی"
 
+
+
 msgid "My Pages"
+
 msgstr "صفحات من"
 
+
+
 msgid "Subscribe User"
+
 msgstr "عضویت کاربران در این صفحه"
 
+
+
 msgid "Remove Spam"
+
 msgstr "حذف هرزصفحه"
 
+
+
 msgid "Package Pages"
+
 msgstr "تهیه بسته صفحات"
 
+
+
 msgid "Render as Docbook"
+
 msgstr "نمایش با ساختار XML"
 
+
+
 msgid "Do"
+
 msgstr "انجام بده"
 
+
+
 msgid "Edit (Text)"
+
 msgstr "ویرایش (متنی)"
 
+
+
 msgid "Edit (GUI)"
+
 msgstr "ویرایش (گرافیکی)"
 
+
+
 msgid "Immutable Page"
+
 msgstr "صفحه غیرقابل تغییر"
 
+
+
 msgid "Remove Link"
+
 msgstr "حذف لینک"
 
+
+
 msgid "Add Link"
+
 msgstr "لینک اضافه نما"
 
+
+
 msgid "Attachments"
+
 msgstr "ضمیمه ها"
 
+
+
 #, python-format
+
 msgid "Show %s days."
+
 msgstr "نمایش %s روز"
 
+
+
 msgid "Wiki Markup"
+
 msgstr "زبان نوشتاری ویکی"
 
+
+
 msgid "DeleteCache"
+
 msgstr "حذف حافظه جانبی"
 
+
+
 #, python-format
+
 msgid "(cached %s)"
+
 msgstr "(در حافظه ذخیره شد·%s)"
 
+
+
 msgid "Or try one of these actions:"
+
 msgstr "و یا یکی از امکانات زیر را انتخاب نمایید:"
 
+
+
 msgid "Page"
+
 msgstr "صفحه"
 
+
+
 msgid "User"
+
 msgstr "کاربر"
 
+
+
 msgid "Line"
+
 msgstr "خط"
 
+
+
 msgid "Deletions are marked like this."
+
 msgstr "حذفیات در این ستون و با این رنگ نمایش داده میشوند."
 
+
+
 msgid "Additions are marked like this."
+
 msgstr "اضافات در این ستون و با این رنگ نمایش داده میشوند."
 
-#, python-format
-msgid "%(hits)d results out of about %(pages)d pages."
-msgstr "%(hits)d نتیجه بدست آمده حاصل از جستجوی %(pages)d صفحه"
-
-#, python-format
-msgid "%.2f seconds"
-msgstr "%.2f ثانیه"
+
 
 #~ msgid "Required attribute \"%(attrname)s\" missing"
+
 #~ msgstr "نسبت های مورد نیاز \"%(attrname)s\" یافت نشد"
 
+
+
 #~ msgid "Submitted form data:"
+
 #~ msgstr "اطلاعات وارد شده:"
 
+
+
 #~ msgid "Plain title index"
+
 #~ msgstr "فهرست عناوین به صورت متن ساده"
 
+
+
 #~ msgid "XML title index"
+
 #~ msgstr "فهرست عنواین بصورت XML"
 
+
+
 #~ msgid "Installed processors (DEPRECATED -- use Parsers instead)"
+
 #~ msgstr "Installed processors (DEPRECATED·--·use·Parsers·instead)"
 
+
+
 #~ msgid ""
+
 #~ "Sorry, someone else saved the page while you edited it.\n"
+
 #~ "\n"
+
 #~ "Please do the following: Use the back button of your browser, and "
+
 #~ "cut&paste\n"
+
 #~ "your changes from there. Then go forward to here, and click EditText "
+
 #~ "again.\n"
+
 #~ "Now re-add your changes to the current page contents.\n"
+
 #~ "\n"
+
 #~ "''Do not just replace\n"
+
 #~ "the content editbox with your version of the page, because that would\n"
+
 #~ "delete the changes of the other person, which is excessively rude!''\n"
+
 #~ msgstr ""
+
 #~ "متاسفانه شخص دیگری در حالی که شما مشغول ویرایش این صفحه بودید٬ صفحه را "
+
 #~ "ذخیره نموده است.\n"
+
 #~ "\n"
+
 #~ "لطفا مراحل زیر را انجام دهید: دکمه back مرورگر خود را فشار داده و روی "
+
 #~ "دکمه ویرایش متنی کلیک نموده و تغییرات خود را در صفحه انجام دهید..\n"
+
 #~ "\n"
+
 #~ "لطفا با توجه به تغییراتی که نفر قبل انجام داده است شما مجددا صفحه را مرور "
+
 #~ "نموده و تغییراتی را که لازم میدانید اعمال نمایید.\n"
 
-#~ msgid "Jump to last visited page instead of frontpage"
-#~ msgstr "بجای صفحه اولیه به آخرین صفحه بازدید شده برو"
-
-#~ msgid "(Only when changing passwords)"
-#~ msgstr "(فقط برای زمانی که میخواهید کلمه عبور خود را تغییر دهید)"
+
+
+
+msgid "(Only when changing passwords)"
+
+msgstr "(فقط برای تغییر کلمه عبور)"
+
+
 
 #~ msgid "Filename"
+
 #~ msgstr "نام فایل"
 
+
+
 #~ msgid "You are not allowed to rename pages in this wiki!"
+
 #~ msgstr "شما مجاز به تغییر نام صفحات این ویکی نمی باشید!"
 
+
+
 #~ msgid "Please use the interactive user interface to rename pages!"
+
 #~ msgstr ""
+
 #~ "لطفا برای تغییر نام صفحات از صفحه کاربری interactive استفاده نمایید!"
 
+
+
 #~ msgid "You are not allowed to delete this page."
+
 #~ msgstr "شما مجاز به حذف این صفحه نمی باشید."
 
+
+
 #~ msgid "%(logcount)s (%(logsize)s bytes)"
+
 #~ msgstr "%(logcount)s·(%(logsize)s·bytes)"
 
+
+
 #~ msgid "User Preferences"
+
 #~ msgstr "مرجع اطلاعات کاربری"
 
+
+
 #~ msgid "Download XML export of this wiki"
+
 #~ msgstr "دریافت خروجی این ویکی با فرمت XML"
 
+
+
 #~ msgid "EditText"
+
 #~ msgstr "ویرایش متن"
 
+
+
 #~ msgid "Immutable page"
+
 #~ msgstr "صفحه·تغییرناپذیر"
 
+
+
 #~ msgid "Account \"%s\" is disabled."
+
 #~ msgstr "حساب کاربری \"%s\" غیر فعال شده است."
 
+
+
 #~ msgid "Bad relogin URL."
+
 #~ msgstr "آدرس ورود مجدد اشتباه است."
 
+
+
 #~ msgid "Unknown user."
+
 #~ msgstr "کاربر غیر ثبت شده"
 
+
+
 #~ msgid "User account created!"
+
 #~ msgstr "حساب کاربری شما ثبت شد!"
 
+
+
 #~ msgid "Remember last page visited"
+
 #~ msgstr "آخرین صفحه ای که میبینم را به خاطر بسپار"
 
+
+
 #~ msgid "Skip to preview"
+
 #~ msgstr "رفتن به پیش نمایش"
 
+
+
 #~ msgid "[current page size '''%(size)d''' bytes]"
+
 #~ msgstr "حجم این صفحه '''%(size)d''' بایت است"
 
+
+
 #~ msgid "Optional comment about this change"
+
 #~ msgstr "توضیحات اختیاری در مورد این صفحه"
 
+
+
 #~ msgid "Make this page belong to category %(category)s"
+
 #~ msgstr "این صفحه را متعلق به دسته %(category)s نمایید"
--- a/MoinMoin/i18n/it.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/it.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -583,7 +583,7 @@
 
 #, python-format
 msgid "The page %s does not exist."
-msgstr "La pagina %s risulta inesistente."
+msgstr "La pagina %s non esiste."
 
 msgid "Invalid package file header."
 msgstr "Intestazione del pacchetto invalida."
@@ -1155,7 +1155,7 @@
 
 #, python-format
 msgid "Differences between revisions %d and %d"
-msgstr "Differenze tra le versioni del %d e del %d"
+msgstr "Differenze tra le versioni %d e %d"
 
 #, python-format
 msgid "(spanning %d versions)"
@@ -1169,7 +1169,7 @@
 msgstr "La pagina è stata comunque salvata %(count)d volte!"
 
 msgid "(ignoring whitespace)"
-msgstr "(ignorando gli spazi vuoti)"
+msgstr "(ignorando la spaziatura)"
 
 msgid "Ignore changes in the amount of whitespace"
 msgstr "Ignora differenze nella spaziatura"
@@ -1582,11 +1582,11 @@
 
 #, python-format
 msgid "Disk usage of %(data_dir)s/pages/"
-msgstr "Uso della memoria di %(data_dir)s/pages/"
+msgstr "Occupazione disco di %(data_dir)s/pages/"
 
 #, python-format
 msgid "Disk usage of %(data_dir)s/"
-msgstr "Uso della memoria disco di %(data_dir)s/"
+msgstr "Occupazione disco di %(data_dir)s/"
 
 msgid "Entries in edit log"
 msgstr "Voci nel registro delle modifiche"
@@ -1675,11 +1675,11 @@
 
 #, python-format
 msgid "Expected an integer \"%(key)s\" before \"%(token)s\""
-msgstr "Atteso un intero \"%(key)s\" prima di \"%(token)s\""
+msgstr "Atteso un numero intero \"%(key)s\" prima di \"%(token)s\""
 
 #, python-format
 msgid "Expected an integer \"%(arg)s\" after \"%(key)s\""
-msgstr "Atteso un intero \"%(arg)s\" dopo di \"%(key)s\""
+msgstr "Atteso un numero intero \"%(arg)s\" dopo di \"%(key)s\""
 
 #, python-format
 msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
@@ -1821,7 +1821,7 @@
 msgstr "Cerca"
 
 msgid "More Actions:"
-msgstr "Altre Azioni:"
+msgstr "Altre azioni:"
 
 msgid "------------"
 msgstr "------------"
--- a/MoinMoin/i18n/ko.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/ko.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -14,7 +14,7 @@
 "Project-Id-Version: MoinMoin 1.5\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2006-07-17 12:27+0200\n"
-"PO-Revision-Date: 2006-05-26 17:16+0900\n"
+"PO-Revision-Date: 2006-07-24 20:20+0900\n"
 "Last-Translator: Seungik Lee <seungiklee@gmail.com>\n"
 "Language-Team: Korean <moin-devel@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -107,15 +107,13 @@
 msgid "Someone else changed this page while you were editing!"
 msgstr "이 문서를 수정하는 동안에 다른 사람이 같은 문서를 수정했습니다."
 
-#, 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 ""
-"이 문서를 수정하는 동안에 다른 사람이 먼저 이 문서를 수정했습니다.\n"
+"이 문서를 수정하는 동안에 다른 사람이 먼저 이 문서를 저장했습니다!\n"
 "문서 내용을 다시 검토한 뒤에 저장하시고, 절대로 지금 그대로 저장하지 마세"
-"요!\n"
-"%(difflink)s에서 어떤 것이 바뀌었는지 살펴보세요."
+"요!"
 
 #, python-format
 msgid "[Content of new page loaded from %s]"
@@ -275,7 +273,7 @@
 msgstr "이 문서는 이미 저장했습니다!"
 
 msgid "You already edited this page! Please do not use the back button."
-msgstr ""
+msgstr "이 문서를 수정하는 중입니다. 브라우저의 뒤로가기 버튼을 누르지 마십시오."
 
 #, python-format
 msgid "A backup of your changes is [%(backup_url)s here]."
@@ -487,7 +485,7 @@
 msgstr "더블 클릭해서 문서를 수정함"
 
 msgid "After login, jump to last visited page"
-msgstr ""
+msgstr "로그인 후 마지막으로 방문한 문서로 바로 가기"
 
 msgid "Show question mark for non-existing pagelinks"
 msgstr "존재하지 않는 문서 링크 옆에 물음표 표시"
@@ -532,7 +530,7 @@
 msgstr "암호 (확인)"
 
 msgid "(Only for password change or new account)"
-msgstr ""
+msgstr "(암호 변경 및 새로운 계정 생성용)"
 
 msgid "Email"
 msgstr "Email"
@@ -1079,15 +1077,15 @@
 msgstr "이 작업을 수행할 수 있는 권한이 없습니다."
 
 msgid "Do it."
-msgstr ""
+msgstr "실행"
 
 #, python-format
 msgid "Execute action %(actionname)s?"
-msgstr ""
+msgstr "%(actionname)s 액션을 수행할까요?"
 
 #, python-format
 msgid "Action %(actionname)s is excluded in this wiki!"
-msgstr ""
+msgstr "%(actionname)s 액션은 이 위키에서 제외되었습니다."
 
 #, python-format
 msgid "You are not allowed to use action %(actionname)s on this page!"
@@ -1326,9 +1324,8 @@
 msgid "Missing password. Please enter user name and password."
 msgstr "비밀번호가 없습니다. 사용자 이름과 비밀번호를 다시 입력하세요."
 
-#, fuzzy
 msgid "Sorry, login failed."
-msgstr "비밀번호가 틀렸습니다."
+msgstr "로그인에 실패하였습니다."
 
 msgid "You are now logged out."
 msgstr "로그아웃 되었습니다."
@@ -1567,9 +1564,8 @@
 msgid "Enabled"
 msgstr "사용 가능"
 
-#, fuzzy
 msgid "Xapian search"
-msgstr "루피 검색"
+msgstr "Xapian 검색"
 
 msgid "Active threads"
 msgstr "사용 중인 쓰레드 개수"
@@ -1638,7 +1634,6 @@
 msgid "Expected a color value \"%(arg)s\" after \"%(key)s\""
 msgstr "\"%(key)s\"뒤에는 색상 값 \"%(arg)s\"가(이) 필요합니다."
 
-#, fuzzy
 msgid ""
 "Rendering of reStructured text is not possible, please install Docutils."
 msgstr "ReStructured text를 처리할 수 없습니다. docutils를 설치해주세요."
@@ -1664,9 +1659,8 @@
 msgid "You are not allowed to do %s on this page."
 msgstr "이 문서에 %s 작업을 할 수 있는 권한이 없습니다."
 
-#, fuzzy
 msgid "Login and try again."
-msgstr " %s 하고 다시 시도하세요."
+msgstr "로그인 후 다시 시도하세요."
 
 #, python-format
 msgid ""
--- a/MoinMoin/i18n/lv.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/lv.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -13,7 +13,7 @@
 msgstr ""
 "Project-Id-Version: MoinMoin 1.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-07-17 12:27+0200\n"
+"POT-Creation-Date: 2006-07-24 15:27+0300\n"
 "PO-Revision-Date: 2005-09-07 20:50+0200\n"
 "Last-Translator: Radomirs Cirskis <nad2000@gmail.com>\n"
 "Language-Team: Latvian <r.cirskis@datapro.lv>\n"
@@ -494,7 +494,7 @@
 msgstr "Labot ar dubultklikšķi"
 
 msgid "After login, jump to last visited page"
-msgstr ""
+msgstr "Pēc pieslēgšanās pāriet uz pēdējo apmeklēto lapu"
 
 msgid "Show question mark for non-existing pagelinks"
 msgstr "Rādīt jautājuma zīmi neeksistējošu lapu saitēm"
@@ -539,7 +539,7 @@
 msgstr "Atkārtot paroli"
 
 msgid "(Only for password change or new account)"
-msgstr ""
+msgstr "(Paroles maiņai vai jaunam lietotāja kontam)"
 
 msgid "Email"
 msgstr "E-pasts"
--- a/MoinMoin/i18n/pt_br.MoinMoin.po	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/pt_br.MoinMoin.po	Fri Aug 18 11:43:50 2006 +0200
@@ -1506,7 +1506,7 @@
 
 #, python-format
 msgid "Release %s [Revision %s]"
-msgstr "Liberar %s [Revisão %s]"
+msgstr "Versão %s [Revisão %s]"
 
 msgid "4Suite Version"
 msgstr "Versão 4Suite"
--- a/MoinMoin/i18n/tools/mk_POTFILES.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/tools/mk_POTFILES.py	Fri Aug 18 11:43:50 2006 +0200
@@ -30,17 +30,14 @@
             path = os.path.join(d, name)
 
             # Strip the prefix.
-
             if path.startswith(prefix):
                 path = path[len(prefix):]
 
             # Test for exact blacklist matches.
-
             if path in blacklist:
                 continue
 
             # Test for directory blacklist matches.
-
             found = 0
             for blackitem in blacklist:
                 if path.startswith(blackitem):
@@ -51,11 +48,9 @@
                 files.append(path)
 
 def find_files(startdir, blacklist):
-
     "Find files under 'startdir' excluding those in the 'blacklist'."
 
     # Calculate the prefix from the start directory.
-
     prefix = os.path.join(startdir, "")
 
     # Start with an empty list of files.
@@ -67,11 +62,9 @@
 if __name__ == "__main__":
 
     # Find those files using the module defaults.
-
     files = find_files(startdir, blacklist)
 
     # Write the names out.
-
     outfile = open(outname_in, "w")
     try:
         for file in files:
@@ -80,7 +73,6 @@
         outfile.close()
 
     # Write the processed list out, ready for other purposes.
-
     outfile = open(outname_final, "w")
     outfile.write("POTFILES = \\\n")
     try:
--- a/MoinMoin/i18n/tools/po2wiki.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/tools/po2wiki.py	Fri Aug 18 11:43:50 2006 +0200
@@ -8,7 +8,7 @@
     import sys, os, xmlrpclib
     sys.path.insert(0, '../..')
 
-    excluded = ["en",] # languages managed in repository, not in wiki
+    excluded = ["en", ] # languages managed in repository, not in wiki
 
     lang = sys.argv[1]
     lang = lang.replace('_', '-') # module names use _ instead of -
@@ -20,7 +20,7 @@
         f.write(data)
         f.close()
         sys.exit(0)
-        
+
     data = data.decode('utf-8')
 
     cutpos = data.index(u"msgid")
--- a/MoinMoin/i18n/tools/wiki2po.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/i18n/tools/wiki2po.py	Fri Aug 18 11:43:50 2006 +0200
@@ -8,7 +8,7 @@
     import sys, xmlrpclib
     sys.path.insert(0, '../../..')
 
-    excluded = ["en",] # languages managed in repository, not in wiki
+    excluded = ["en", ] # languages managed in repository, not in wiki
 
     langfname = sys.argv[1]
     lang = langfname.replace('_', '-') # module names use _ instead of -
@@ -18,7 +18,7 @@
 
         pagename = "MoinI18n/%s" % lang
         print pagename
-        pagedata = wiki.getPage(pagename).encode('utf-8').replace("\n","\r\n")
+        pagedata = wiki.getPage(pagename).encode('utf-8').replace("\n", "\r\n")
 
         f = open("%s.%s.po" % (langfname, DOMAIN), "w")
         f.write(pagedata)
--- a/MoinMoin/macro/NewPage.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/macro/NewPage.py	Fri Aug 18 11:43:50 2006 +0200
@@ -79,7 +79,7 @@
         if parent == '@ME' and self.request.user.valid:
             parent = self.request.user.name
 
-        requires_input = nametemplate.find('%s') != -1
+        requires_input = '%s' in nametemplate
 
         if label:
             # Try to get a translation, this will probably not work in
--- a/MoinMoin/macro/RecentChanges.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/macro/RecentChanges.py	Fri Aug 18 11:43:50 2006 +0200
@@ -38,7 +38,7 @@
         elif line.action == 'ATTDRW':
             comment = _("Drawing '%(filename)s' saved.") % {
                 'filename': filename}
-    elif line.action.find('/REVERT') != -1:
+    elif '/REVERT' in line.action:
         rev = int(line.extra)
         comment = _("Revert to revision %(rev)d.") % {'rev': rev}
 
--- a/MoinMoin/macro/TableOfContents.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/macro/TableOfContents.py	Fri Aug 18 11:43:50 2006 +0200
@@ -67,7 +67,7 @@
         if self.include_macro is None:
             self.include_macro = wikiutil.importPlugin(self.macro.request.cfg,
                                                        'macro', "Include")
-        return self.pre_re.sub('', apply(self.include_macro, args, kwargs)).split('\n')
+        return self.pre_re.sub('', self.include_macro(*args, **kwargs)).split('\n')
 
     def run(self):
         _ = self._
--- a/MoinMoin/macro/__init__.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/macro/__init__.py	Fri Aug 18 11:43:50 2006 +0200
@@ -295,7 +295,7 @@
         for tag, url in list:
             buf.write('<dt><tt><a href="%s">%s</a></tt></dt>' % (
                 wikiutil.join_wiki(url, 'RecentChanges'), tag))
-            if url.find('$PAGE') == -1:
+            if '$PAGE' not in url:
                 buf.write('<dd><tt><a href="%s">%s</a></tt></dd>' % (url, url))
             else:
                 buf.write('<dd><tt>%s</tt></dd>' % url)
@@ -415,7 +415,7 @@
         from MoinMoin.mail.sendmail import decodeSpamSafeEmail
 
         args = args or ''
-        if args.find(',') == -1:
+        if ',' not in args:
             email = args
             text = ''
         else:
--- a/MoinMoin/mail/mailimport.py	Fri Aug 18 11:42:58 2006 +0200
+++ b/MoinMoin/mail/mailimport.py	Fri Aug 18 11:43:50 2006 +0200
@@ -77,16 +77,16 @@
     html_data = []
     text_data = []
 
-    to_addr = get_addrs(message, 'To')[0]
     from_addr = get_addrs(message, 'From')[0]
+    to_addrs = get_addrs(message, 'To')
     cc_addrs = get_addrs(message, 'Cc')
     bcc_addrs = get_addrs(message, 'Bcc')
-    target_addrs = [to_addr] + cc_addrs + bcc_addrs
+    target_addrs = to_addrs + cc_addrs + bcc_addrs
 
     subject = decode_2044(message['Subject'])
     date = time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(mktime_tz(parsedate_tz(message['Date']))))
 
-    log("Processing mail:\n To: %r\n From: %r\n Subject: %r" % (to_addr, from_addr, subject))
+    log("Processing mail:\n To: %r\n From: %r\n Subject: %r" % (to_addrs[0], from_addr, subject))
 
     for part in message.walk():
         log(" Part " + repr((part.get_charsets(), part.get_content_charset(), part.get_content_type(), part.is_multipart(), )))
@@ -117,14 +117,13 @@
 
     return {'text': u"".join(text_data), 'html': u"".join(html_data),
             'attachments': attachments,
-            'target_addrs': target_addrs, 'to_addr': to_addr, 'cc_addrs': cc_addrs, 'bcc_addrs': bcc_addrs,
+            'target_addrs': target_addrs, 'to_addrs': to_addrs, 'cc_addrs': cc_addrs, 'bcc_addrs': bcc_addrs,
             'from_addr': from_addr,
             'subject': subject, 'date': date}
 
-def get_pagename_content(msg, email_subpage_template, wiki_address):
+def get_pagename_content(request, msg, email_subpage_template, wiki_address):
     """ Generates pagename and content according to the specification
         that can be found on MoinMoin:FeatureRequests/WikiEmailintegration """
-
     generate_summary = False
     choose_html = True
 
@@ -147,6 +146,10 @@
         if pagename_tpl[-1] == pagename_tpl[0] == "'":
             pagename_tpl = pagename_tpl[1:-1]
 
+    if not msg['subject'].strip():
+        msg['subject'] = '(...)' # we need non-empty subject
+
+    pagename_tpl = pagename_tpl.strip()
     if pagename_tpl.endswith("/"):
         pagename_tpl += email_subpage_template
 
@@ -163,6 +166,8 @@
         generate_summary = True
         pagename = pagename[1:].lstrip()
 
+    pagename = request.normalizePagename(pagename)
+
     if choose_html and msg['html']:
         content = "{{{#!html\n%s\n}}}" % msg['html'].replace("}}}", "} } }")
     else:
@@ -194,7 +199,7 @@
     if not request.user:
         raise ProcessingError("No suitable user found for mail address %r" % (msg['from_addr'][1], ))
 
-    d = get_pagename_content(msg, email_subpage_template, wiki_address)
+    d = get_pagename_content(request, msg, email_subpage_template, wiki_address)
     pagename = d['pagename']
     generate_summary = d['generate_summary']
 
@@ -235,9 +240,14 @@
     # assemble old page content and new mail body together
     old_content = Page(request, pagename).get_raw_body()
     if old_content:
-        new_content = u"%s\n-----\n%s" % (old_content, d['content'], )
+        new_content = u"%s\n-----\n" % old_content
     else:
-        new_content = d['content']
+        new_content = ''
+
+    if not (generate_summary and "/" in pagename):
+        new_content += u"'''Mail: %s (%s, [[DateTime(%s)]])'''\n\n" % (msg['subject'], email_to_markup(request, msg['from_addr']), msg['date'])
+
+    new_content += d['content']
     new_content += "\n" + u"\n * ".join(attachment_links)
 
     try:
@@ -260,17 +270,16 @@
                 break
 
         table_header = (u"\n\n## mail_overview (don't delete this line)\n" +
-                        u"|| '''[[GetText(From)]] ''' || '''[[GetText(To)]] ''' || '''[[GetText(Subject)]] ''' || '''[[GetText(Date)]] ''' || '''[[GetText(Link)]] ''' || '''[[GetText(Attachments)]] ''' ||\n"
+                        u"|| '''[[GetText(From)]] ''' || '''[[GetText(To)]] ''' || '''[[GetText(Content)]] ''' || '''[[GetText(Date)]] ''' || '''[[GetText(Attachments)]] ''' ||\n"
                        )
 
         from_col = email_to_markup(request, msg['from_addr'])
-        to_col = ' '.join([email_to_markup(request, (realname, mailaddr)) for realname, mailaddr in msg['target_addrs'] if mailaddr != wiki_address])
-        subj_col = msg['subject']
+        to_col = ' '.join([email_to_markup(request, (realname, mailaddr))
+                           for realname, mailaddr in msg['target_addrs'] if mailaddr != wiki_address])
+        subj_col = '["%s" %s]' % (pagename, msg['subject'])
         date_col = msg['date']
-        page_col = pagename
         attach_col = " ".join(attachment_links)
-        new_line = u'|| %s || %s || %s || [[DateTime(%s)]] || ["%s"] || %s ||' % (
-                    from_col, to_col, subj_col, date_col, page_col, attach_col)
+        new_line = u'|| %s || %s || %s || [[DateTime(%s)]] || %s ||' % (from_col, to_col, subj_col, date_col, attach_col)
         if found_table is not None:
             content = "\n".join(old_content[:table_