Mercurial > moin > 1.9
changeset 4327:62177a952833
merged moin/1.8 repo (tests need more fixing)
line wrap: on
line diff
--- a/.hgtags Fri Aug 22 22:58:18 2008 +0200 +++ b/.hgtags Tue Sep 23 00:53:18 2008 +0200 @@ -23,3 +23,7 @@ 01ef230fb671b0f0636328b04ade9b44c5548327 1.7.0rc3 761c3a503be2b97d8e7beb902751dbb5e60f3127 1.7.0 b1e192a3651a57aa451fefca06f5a849e1e4b422 SOC2008-END +da9e664b3f518f0cab89f7ebf22b99ecac0eaaa1 1.7.1 +ae9bf455eec6a080dd6aafacdaf30fb881b1ca68 1.7.2 +2907390f9d4630f5459506d3d3352c96f75e67b3 1.8.0beta1 +117a21659358defd880baaccf5c73e7b1a71ea1e 1.8.0beta2
--- a/Makefile Fri Aug 22 22:58:18 2008 +0200 +++ b/Makefile Tue Sep 23 00:53:18 2008 +0200 @@ -3,7 +3,7 @@ # # location for the wikiconfig.py we use for testing: -export PYTHONPATH=$(PWD)/tests:$(PWD) +export PYTHONPATH=$(PWD) testwiki := ./tests/wiki share := ./wiki @@ -13,9 +13,9 @@ install-docs: -mkdir build - wget -U MoinMoin/Makefile -O build/INSTALL.html "http://master17.moinmo.in/MoinMoin/InstallDocs?action=print" + wget -U MoinMoin/Makefile -O build/INSTALL.html "http://master18.moinmo.in/MoinMoin/InstallDocs?action=print" sed \ - -e 's#href="/#href="http://master17.moinmo.in/#g' \ + -e 's#href="/#href="http://master18.moinmo.in/#g' \ -e 's#http://[a-z\.]*/wiki/classic/#/wiki/classic/#g' \ -e 's#http://[a-z\.]*/wiki/modern/#/wiki/modern/#g' \ -e 's#http://[a-z\.]*/wiki/rightsidebar/#/wiki/rightsidebar/#g' \ @@ -25,9 +25,9 @@ build/INSTALL.html >docs/INSTALL.html -rm build/INSTALL.html - wget -U MoinMoin/Makefile -O build/UPDATE.html "http://master17.moinmo.in/HelpOnUpdating?action=print" + wget -U MoinMoin/Makefile -O build/UPDATE.html "http://master18.moinmo.in/HelpOnUpdating?action=print" sed \ - -e 's#href="/#href="http://master17.moinmo.in/#g' \ + -e 's#href="/#href="http://master18.moinmo.in/#g' \ -e 's#http://[a-z\.]*/wiki/classic/#/wiki/classic/#g' \ -e 's#http://[a-z\.]*/wiki/modern/#/wiki/modern/#g' \ -e 's#http://[a-z\.]*/wiki/rightsidebar/#/wiki/rightsidebar/#g' \ @@ -39,7 +39,7 @@ -rmdir build interwiki: - wget -U MoinMoin/Makefile -O $(share)/data/intermap.txt "http://master17.moinmo.in/InterWikiMap?action=raw" + wget -U MoinMoin/Makefile -O $(share)/data/intermap.txt "http://master18.moinmo.in/InterWikiMap?action=raw" chmod 664 $(share)/data/intermap.txt check-tabs: @@ -47,21 +47,21 @@ # Create documentation epydoc: patchlevel - @epydoc -o ../html-1.7 --name=MoinMoin --url=http://moinmo.in/ --graph=all --graph-font=Arial MoinMoin + @epydoc -o ../html-1.8 --name=MoinMoin --url=http://moinmo.in/ --graph=all --graph-font=Arial MoinMoin # Create new underlay directory from MoinMaster # Should be used only on TW machine underlay: rm -rf $(share)/underlay - MoinMoin/script/moin.py --config-dir=/srv/moin/cfg/1.7 --wiki-url=master17.moinmo.in/ maint globaledit - MoinMoin/script/moin.py --config-dir=/srv/moin/cfg/1.7 --wiki-url=master17.moinmo.in/ maint reducewiki --target-dir=$(share)/underlay + MoinMoin/script/moin.py --config-dir=/srv/moin/cfg/1.8 --wiki-url=master18.moinmo.in/ maint globaledit + MoinMoin/script/moin.py --config-dir=/srv/moin/cfg/1.8 --wiki-url=master18.moinmo.in/ maint reducewiki --target-dir=$(share)/underlay rm -rf $(share)/underlay/pages/InterWikiMap rm -rf $(share)/underlay/pages/MoinPagesEditorGroup cd $(share); rm -f underlay.tar; tar cf underlay.tar underlay pagepacks: @python MoinMoin/_tests/maketestwiki.py - @MoinMoin/script/moin.py --config-dir=$(testwiki)/.. maint mkpagepacks + @MoinMoin/script/moin.py --config-dir=MoinMoin/_tests maint mkpagepacks cd $(share) ; rm -rf underlay cp -a $(testwiki)/underlay $(share)/
--- a/MoinMoin/__init__.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/__init__.py Tue Sep 23 00:53:18 2008 +0200 @@ -1,6 +1,6 @@ # -*- coding: iso-8859-1 -*- """ -MoinMoin Version 1.8.0alpha +MoinMoin Version 1.8.0beta @copyright: 2000-2006 by Juergen Hermann <jh@web.de>, 2002-2008 MoinMoin:ThomasWaldmann
--- a/MoinMoin/_tests/_test_template.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/_tests/_test_template.py Tue Sep 23 00:53:18 2008 +0200 @@ -45,19 +45,17 @@ ('Line break', '<<BR>>', '<br>'), ) + from MoinMoin._tests import wikiconfig + class Config(wikiconfig.Config): + foo = 'bar' # we want to have this non-default setting + def setup_class(self): """ Stuff that should be run to init the state of this test class - - Some test needs specific config values, or they will fail. """ - self.config = self.TestConfig(defaults=['this option', 'that option'], - another_option='non default value') def teardown_class(self): """ Stuff that should run to clean up the state of this test class - """ - self.config.reset() def testFunction(self): """ module_tested: function should... """
--- a/MoinMoin/_tests/compat.py Fri Aug 22 22:58:18 2008 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -""" UnitTest compatiblity code, from the py lib. MIT licensed originally, copyright Holger Krekel. """ - -import py -from py.__.test.outcome import Failed, Passed - - -class TestCaseUnit(py.test.collect.Function): - """ compatibility Unit executor for TestCase methods - honouring setUp and tearDown semantics. - """ - def execute(self, session): - boundmethod = self.obj - instance = boundmethod.im_self - instance.setUp() - try: - boundmethod() - finally: - instance.tearDown() - return Passed() - -class TestCase(object): - """compatibility class of unittest's TestCase. """ - Function = TestCaseUnit - - def setUp(self): - pass - - def tearDown(self): - pass - - def fail(self, msg=None): - """ fail immediate with given message. """ - raise Failed(msg=msg) - - def assertRaises(self, excclass, func, *args, **kwargs): - py.test.raises(excclass, func, *args, **kwargs) - failUnlessRaises = assertRaises - - # dynamically construct (redundant) methods - aliasmap = [ - ('x', 'not x', 'assert_, failUnless'), - ('x', 'x', 'failIf'), - ('x,y', 'x!=y', 'failUnlessEqual,assertEqual, assertEquals'), - ('x,y', 'x==y', 'failIfEqual,assertNotEqual, assertNotEquals'), - ] - items = [] - for sig, expr, names in aliasmap: - names = map(str.strip, names.split(',')) - sigsubst = expr.replace('y', '%s').replace('x', '%s') - for name in names: - items.append(""" - def %(name)s(self, %(sig)s, msg=""): - __tracebackhide__ = True - if %(expr)s: - raise Failed(msg=msg + (%(sigsubst)r %% (%(sig)s))) - """ % locals() ) - - source = "".join(items) - exec py.code.Source(source).compile() - -__all__ = ['TestCase']
--- a/MoinMoin/_tests/test_PageEditor.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/_tests/test_PageEditor.py Tue Sep 23 00:53:18 2008 +0200 @@ -73,11 +73,7 @@ def testExtendedNamesEnabled(self): """ PageEditor: expand @USERNAME@ extended name - enabled """ - try: - config = self.TestConfig() - assert self.expand() == u'[[%s]]' % self.name - finally: - del config + assert self.expand() == u'[[%s]]' % self.name class TestExpandMailto(TestExpandUserName):
--- a/MoinMoin/_tests/test_user.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/_tests/test_user.py Tue Sep 23 00:53:18 2008 +0200 @@ -178,19 +178,9 @@ class TestGroupName(object): - def setUp(self): - self.config = self.TestConfig(page_group_regex=r'.+Group') - - def tearDown(self): - del self.config - - import re - group = re.compile(r'.+Group', re.UNICODE) - def testGroupNames(self): """ user: isValidName: reject group names """ test = u'AdminGroup' - assert self.group.search(test) assert not user.isValidName(self.request, test)
--- a/MoinMoin/_tests/test_wikiutil.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/_tests/test_wikiutil.py Tue Sep 23 00:53:18 2008 +0200 @@ -1028,12 +1028,6 @@ class TestGroupPages(object): - def setup_method(self, method): - self.config = self.TestConfig(page_group_regex=r'.+Group') - - def teardown_method(self, method): - del self.config - def testNormalizeGroupName(self): """ request: normalize pagename: restrict groups to alpha numeric Unicode
--- a/MoinMoin/_tests/test_wsgiapp.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/_tests/test_wsgiapp.py Tue Sep 23 00:53:18 2008 +0200 @@ -22,6 +22,7 @@ for page in self.PAGES: def _test_(): appiter, status, headers = self.client.get('/%s' % page) + print repr(list(appiter)) assert status[:3] == '200' assert ('Content-Type', 'text/html; charset=utf-8') in headers output = ''.join(appiter)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MoinMoin/_tests/wikiconfig.py Tue Sep 23 00:53:18 2008 +0200 @@ -0,0 +1,33 @@ +# -*- coding: iso-8859-1 -*- +""" +MoinMoin - test wiki configuration + +Do not change any values without good reason. + +We mostly want to have default values here, except for stuff that doesn't +work without setting them (like data_dir and underlay_dir). + +@copyright: 2000-2004 by Juergen Hermann <jh@web.de> +@license: GNU GPL, see COPYING for details. +""" + +import os + +from MoinMoin.config.multiconfig import DefaultConfig + + +class Config(DefaultConfig): + sitename = u'Developer Test Wiki' + logo_string = sitename + + _base_dir = os.path.join(os.path.dirname(__file__), '../../tests/wiki') + data_dir = os.path.join(_base_dir, "data") + data_underlay_dir = os.path.join(_base_dir, "underlay") + + #show_hosts = 1 + + #secrets = 'some not secret string just to make tests happy' + + # used to check if it is really a wiki we may modify + is_test_wiki = True +
--- a/MoinMoin/action/AttachFile.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/AttachFile.py Tue Sep 23 00:53:18 2008 +0200 @@ -1085,7 +1085,7 @@ browser = DataBrowserWidget(request) browser.setData(data) - return browser.render() + return browser.render(method="GET") return ''
--- a/MoinMoin/action/CopyPage.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/CopyPage.py Tue Sep 23 00:53:18 2008 +0200 @@ -74,7 +74,6 @@ if success: url = Page(self.request, self.newpagename).url(self.request) self.request.http_redirect(url) - self.request.finish() else: self.render_msg(self.make_form(), "dialog")
--- a/MoinMoin/action/Despam.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/Despam.py Tue Sep 23 00:53:18 2008 +0200 @@ -71,7 +71,7 @@ table = DataBrowserWidget(request) table.setData(dataset) - return table.render() + return table.render(method="GET") class tmp: pass
--- a/MoinMoin/action/Load.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/Load.py Tue Sep 23 00:53:18 2008 +0200 @@ -72,7 +72,6 @@ if success: url = Page(self.request, self.pagename).url(self.request) self.request.http_redirect(url) - self.request.finish() else: self.render_msg(self.make_form(), "dialog")
--- a/MoinMoin/action/PackagePages.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/PackagePages.py Tue Sep 23 00:53:18 2008 +0200 @@ -70,6 +70,7 @@ # Get new name from form and normalize. pagelist = form.get('pagelist', u'') packagename = form.get('packagename', u'') + include_attachments = form.get('include_attachments', False) if not form.get('submit'): self.request.theme.add_msg(self.makeform(), "dialog") @@ -91,7 +92,7 @@ # Generate a package output = open(fpath, "wb") - package = self.collectpackage(unpackLine(pagelist, ","), output, target) + package = self.collectpackage(unpackLine(pagelist, ","), output, target, include_attachments) if package: self.request.theme.add_msg(self.makeform(), "dialog") @@ -118,6 +119,8 @@ 'error': error, 'action': self.__class__.__name__, 'pagename': wikiutil.escape(self.pagename, True), + 'pagename_quoted': wikiutil.quoteWikinameURL(self.pagename), + 'include_attachments_label': _('Include all attachments?'), 'package': _('Package pages'), 'cancel': _('Cancel'), 'newname_label': _("Package name"), @@ -141,6 +144,11 @@ </td> </tr> <tr> + <td class="label"> + %(include_attachments_label)s<input type="checkbox" name="include_attachments" value="0" %(include_attachments_label)s> + </td> + </tr> + <tr> <td></td> <td class="buttons"> <input type="submit" name="submit" value="%(package)s"> @@ -171,7 +179,7 @@ titles.append(title.page_name) return titles - def collectpackage(self, pagelist, fileobject, pkgname=""): + def collectpackage(self, pagelist, fileobject, pkgname="", include_attachments=False): """ Expects a list of pages as an argument, and fileobject to be an open file object, which a zipfile will get written to. @@ -180,6 +188,8 @@ @param pkgname: optional file name, to prevent self packaging @rtype: string or None @return: error message, if one happened + @rtype: boolean + @param include_attachments: True if you want attachments collected """ _ = self.request.getText COMPRESSION_LEVEL = zipfile.ZIP_DEFLATED @@ -210,13 +220,14 @@ zi = zipfile.ZipInfo(filename=str(cnt), date_time=datetime.fromtimestamp(timestamp).timetuple()[:6]) zi.compress_type = COMPRESSION_LEVEL zf.writestr(zi, page.get_raw_body().encode("utf-8")) - for attname in files: - if attname != pkgname: - cnt += 1 - zipname = "%d_attachment" % cnt - script.append(packLine(["AddAttachment", zipname, attname, page.page_name, userid, "Created by the PackagePages action."])) - filename = AttachFile.getFilename(self.request, page.page_name, attname) - zf.write(filename, zipname) + if include_attachments: + for attname in files: + if attname != pkgname: + cnt += 1 + zipname = "%d_attachment" % cnt + script.append(packLine(["AddAttachment", zipname, attname, page.page_name, userid, "Created by the PackagePages action."])) + filename = AttachFile.getFilename(self.request, page.page_name, attname) + zf.write(filename, zipname) script += [packLine(['Print', 'Thank you for using PackagePages!'])] zf.writestr(MOIN_PACKAGE_FILE, u"\n".join(script).encode("utf-8"))
--- a/MoinMoin/action/RenamePage.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/RenamePage.py Tue Sep 23 00:53:18 2008 +0200 @@ -73,7 +73,6 @@ if success: url = Page(self.request, self.newpagename).url(self.request) self.request.http_redirect(url) - self.request.finish() else: self.render_msg(self.make_form(), "dialog")
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MoinMoin/action/backup.py Tue Sep 23 00:53:18 2008 +0200 @@ -0,0 +1,114 @@ +# -*- coding: iso-8859-1 -*- +""" + MoinMoin - download a backup via http. + + Triggering backup action will check if you are authorized to do a backup + and if yes, just send a <siteid>-<date>--<time>.tar.<format> to you. + What exactly is contained in your backup depends on your wiki's + configuration - please make sure you have everything you need BEFORE you + really need it. + + Note: there is no restore support, you need somebody having access to your + wiki installation via the server's file system, knowing about tar + and restoring your data CAREFULLY (AKA "the server admin"). + + @copyright: 2005-2008 by MoinMoin:ThomasWaldmann + @license: GNU GPL, see COPYING for details. +""" + +import os, re, time + +from MoinMoin import wikiutil +from MoinMoin.support import tarfile + + +def addFiles(path, tar, exclude_func): + """ Add files in path to tar """ + for root, dirs, files in os.walk(path): + files.sort() # sorted page revs may compress better + for name in files: + path = os.path.join(root, name) + if exclude_func(path): + continue + tar.add(path) + + +def sendBackup(request): + """ Send compressed tar file """ + dateStamp = time.strftime("%Y-%m-%d--%H-%M-%S-UTC", time.gmtime()) + filename = "%s-%s.tar.%s" % (request.cfg.siteid, dateStamp, request.cfg.backup_compression) + request.emit_http_headers([ + 'Content-Type: application/octet-stream', + 'Content-Disposition: inline; filename="%s"' % filename, ]) + + tar = tarfile.open(fileobj=request, mode="w|%s" % request.cfg.backup_compression) + # allow GNU tar's longer file/pathnames + tar.posix = False + for path in request.cfg.backup_include: + addFiles(path, tar, request.cfg.backup_exclude) + tar.close() + + +def sendBackupForm(request, pagename): + _ = request.getText + request.emit_http_headers() + request.setContentLanguage(request.lang) + title = _('Wiki Backup') + request.theme.send_title(title, form=request.form, pagename=pagename) + request.write(request.formatter.startContent("content")) + + request.write(_("""= Downloading a backup = + +Please note: + * Store backups in a safe and secure place - they contain sensitive information. + * Make sure your wiki configuration backup_* values are correct and complete. + * Make sure the backup file you get contains everything you need in case of problems. + * Make sure it is downloaded without problems. + +To get a backup, just click here:""", wiki=True)) + + request.write(""" +<form action="%(baseurl)s/%(pagename)s" method="POST" enctype="multipart/form-data"> +<input type="hidden" name="action" value="backup"> +<input type="hidden" name="do" value="backup"> +<input type="submit" value="%(backup_button)s"> +</form> +""" % { + 'baseurl': request.getScriptname(), + 'pagename': wikiutil.quoteWikinameURL(pagename), + 'backup_button': _('Backup'), +}) + + request.write(request.formatter.endContent()) + request.theme.send_footer(pagename) + request.theme.send_closing_html() + + +def sendMsg(request, pagename, msg, msgtype): + from MoinMoin import Page + request.theme.add_msg(msg, msgtype) + return Page.Page(request, pagename).send_page() + + +def backupAllowed(request): + """ Return True if backup is allowed """ + action = __name__.split('.')[-1] + user = request.user + return user.valid and user.name in request.cfg.backup_users + + +def execute(pagename, request): + _ = request.getText + if not backupAllowed(request): + return sendMsg(request, pagename, + msg=_('You are not allowed to do remote backup.'), msgtype="error") + + dowhat = request.form.get('do', [None])[0] + if dowhat == 'backup': + sendBackup(request) + elif dowhat is None: + sendBackupForm(request, pagename) + else: + return sendMsg(request, pagename, + msg=_('Unknown backup subaction: %s.') % dowhat, msgtype="error") +
--- a/MoinMoin/action/fckdialog.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/fckdialog.py Tue Sep 23 00:53:18 2008 +0200 @@ -7,7 +7,7 @@ """ from MoinMoin import config, wikiutil -import re +import re ############################################################################## ### Macro dialog @@ -235,15 +235,15 @@ else: resultlist = iwpreferred[:-1] interwiki = "\n".join( - ['<option value="%s">%s</option>' % (key, key) for key in resultlist]) - + ['<option value="%s">%s</option>' % (key, key) for key in resultlist]) + # wiki url url_prefix_static = request.cfg.url_prefix_static scriptname = request.script_root if not scriptname or scriptname[-1] != "/": scriptname += "/" action = scriptname - basepage = request.page.page_name.encode(config.charset) + basepage = request.page.page_name.encode(config.charset) request.write(''' <!-- * FCKeditor - The text editor for internet @@ -320,7 +320,7 @@ <td> <span fckLang="WikiDlgName">Wiki:PageName</span><br> <select id="sctInterwiki" size="1"> - %(interwiki)s + %(interwiki)s </select>: <input id="txtInterwikipagename"></input> </td>
--- a/MoinMoin/action/info.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/info.py Tue Sep 23 00:53:18 2008 +0200 @@ -176,7 +176,7 @@ div = html.DIV(id="page-history") div.append(html.INPUT(type="hidden", name="action", value="diff")) - div.append(history_table.render()) + div.append(history_table.render(method="GET")) form = html.FORM(method="GET", action="") form.append(div)
--- a/MoinMoin/action/sitemap.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/action/sitemap.py Tue Sep 23 00:53:18 2008 +0200 @@ -4,7 +4,7 @@ Generate a URL list of all your pages (using google's sitemap XML format). - @copyright: 2006 MoinMoin:ThomasWaldmann + @copyright: 2006-2008 MoinMoin:ThomasWaldmann @license: GNU GPL, see COPYING for details. """ import time @@ -15,18 +15,20 @@ def now(): return time.strftime(datetime_fmt, time.gmtime()) -def make_url_xml(vars): +def make_url_xml(request, vars): """ assemble a single <url> xml fragment """ + # add protocol:server - url must be complete path starting with/from / + vars['url'] = request.getQualifiedURL(vars['url']) return """\ <url> - <loc>%(base)s%(url)s</loc> + <loc>%(url)s</loc> <lastmod>%(lastmod)s</lastmod> <changefreq>%(changefreq)s</changefreq> <priority>%(priority)s</priority> </url> """ % vars -def sitemap_url(request, base, page): +def sitemap_url(request, page): """ return a sitemap <url>..</url> fragment for page object <page> """ url = page.url(request) pagename = page.page_name @@ -56,13 +58,12 @@ changefreq = "daily" priority = "0.5" - return make_url_xml(locals()) + return make_url_xml(request, locals()) def execute(pagename, request): _ = request.getText form = request.form request.user.datetime_fmt = datetime_fmt - base = request.getBaseURL() request.mimetype ='text/xml' @@ -70,12 +71,14 @@ request.write("""<?xml version="1.0" encoding="UTF-8"?>\r\n""") result = [] - result.append("""<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n""") + result.append("""<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">\n""") - # we include the / url as an important and often changed URL - result.append(make_url_xml({ - 'base': base, - 'url': '/', + # we include the root url as an important and often changed URL + rooturl = request.getScriptname() + if not rooturl.endswith('/'): + rooturl += '/' + result.append(make_url_xml(request, { + 'url': rooturl, 'lastmod': now(), # fake 'changefreq': 'hourly', 'priority': '1.0', @@ -90,7 +93,7 @@ pagelist = pages.keys() pagelist.sort() for name in pagelist: - result.append(sitemap_url(request, base, pages[name])) + result.append(sitemap_url(request, pages[name])) result.append("""</urlset>\n""")
--- a/MoinMoin/auth/_tests/test_auth.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/_tests/test_auth.py Tue Sep 23 00:53:18 2008 +0200 @@ -5,11 +5,15 @@ @copyright: 2008 MoinMoin:ThomasWaldmann @license: GNU GPL, see COPYING for details. """ +import py.test +py.test.skip("broken due to test Config refactoring, fix later") from MoinMoin.web.request import TestRequest, evaluate_request from MoinMoin import wsgiapp +from MoinMoin._tests import wikiconfig -class TestAuth: + +class AuthTest: """ test misc. auth methods """ PAGES = ['FrontPage', 'MoinMoin', 'HelpContents', 'WikiSandBox', ] # must all exist! @@ -18,14 +22,11 @@ Some test needs specific config values, or they will fail. """ - # Why this? - # config = WsgiConfig() # you MUST create an instance def teardown_class(cls): """ Stuff that should run to clean up the state of this test class """ - pass def run_request(self, **params): request = TestRequest(**params) @@ -33,6 +34,8 @@ wsgiapp.run(context) return context + +class TestNoAuth(AuthTest): def testNoAuth(self): """ run a simple request, no auth, just check if it succeeds """ request = self.run_request() @@ -63,9 +66,12 @@ #assert has_cc # cache anon user's content assert '</html>' in ''.join(appiter) +class TestAnonSession(AuthTest): + class Config(wikiconfig.Config): + anonymous_session_lifetime = 1 + def testAnonSession(self): """ run some requests, no auth, check if anon sessions work """ - self.config = self.TestConfig(anonymous_session_lifetime=1) cookie = '' trail_expected = [] first = True @@ -122,13 +128,16 @@ trail = request.session['trail'] assert trail == trail_expected +class TestHttpAuthSession(AuthTest): + class Config(wikiconfig.Config): + from MoinMoin.auth.http import HTTPAuth + auth = [HTTPAuth(autocreate=True)] + def testHttpAuthSession(self): """ run some requests with http auth, check whether session works """ - from MoinMoin.auth.http import HTTPAuth username = u'HttpAuthTestUser' auth_info = u'%s:%s' % (username, u'testpass') auth_header = 'Basic %s' % auth_info.encode('base64') - self.config = self.TestConfig(auth=[HTTPAuth()], user_autocreate=True) cookie = '' trail_expected = [] first = True @@ -184,11 +193,14 @@ trail = request.session['trail'] assert trail == trail_expected +class TestMoinAuthSession(AuthTest): + class Config(wikiconfig.Config): + from MoinMoin.auth import MoinAuth + auth = [MoinAuth()] + def testMoinAuthSession(self): """ run some requests with MoinAuth, check whether session works """ - from MoinMoin.auth import MoinAuth from MoinMoin.user import User - self.config = self.TestConfig(auth=[MoinAuth()]) username = u'MoinAuthTestUser' password = u'ßecretß' User(self.request, name=username, password=password).save() # create user
--- a/MoinMoin/auth/_tests/test_ldap_login.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/_tests/test_ldap_login.py Tue Sep 23 00:53:18 2008 +0200 @@ -7,10 +7,11 @@ """ import py.test +py.test.skip("Broken due to test Config refactoring") from MoinMoin._tests.ldap_testbase import LDAPTstBase, LdapEnvironment, check_environ, SLAPD_EXECUTABLE from MoinMoin._tests.ldap_testdata import * -from MoinMoin._tests import nuke_user +from MoinMoin._tests import nuke_user, wikiconfig from MoinMoin.auth import handle_login # first check if we have python 2.4, python-ldap and slapd: @@ -21,7 +22,7 @@ import ldap -class TestSimpleLdap(LDAPTstBase): +class TestLDAPServer(LDAPTstBase): basedn = BASEDN rootdn = ROOTDN rootpw = ROOTPW @@ -40,14 +41,24 @@ assert 'usera' in uids assert 'userb' in uids +class TestMoinLDAPLogin(LDAPTstBase): + basedn = BASEDN + rootdn = ROOTDN + rootpw = ROOTPW + slapd_config = SLAPD_CONFIG + ldif_content = LDIF_CONTENT + + class Config(wikiconfig.Config): + from MoinMoin.auth.ldap_login import LDAPAuth + server_uri = self.ldap_env.slapd.url # XXX no self + base_dn = self.ldap_env.basedn + ldap_auth1 = LDAPAuth(server_uri=server_uri, base_dn=base_dn, autocreate=True) + auth = [ldap_auth1, ] + def testMoinLDAPLogin(self): """ Just try accessing the LDAP server and see if usera and userb are in LDAP. """ - server_uri = self.ldap_env.slapd.url - base_dn = self.ldap_env.basedn - from MoinMoin.auth.ldap_login import LDAPAuth - ldap_auth1 = LDAPAuth(server_uri=server_uri, base_dn=base_dn) - self.config = self.TestConfig(auth=[ldap_auth1, ], user_autocreate=True) + handle_auth = self.request.handle_auth # tests that must not authenticate: u = handle_login(self.request, None, username='', password='') @@ -79,6 +90,15 @@ slapd_config = SLAPD_CONFIG ldif_content = LDIF_CONTENT + class Config(wikiconfig.Config): + from MoinMoin.auth.ldap_login import LDAPAuth + from MoinMoin.auth import MoinAuth + server_uri = self.ldap_env.slapd.url # XXX no self + base_dn = self.ldap_env.basedn + ldap_auth = LDAPAuth(server_uri=server_uri, base_dn=base_dn, autocreate=True) + moin_auth = MoinAuth() + auth = [ldap_auth, moin_auth] + def teardown_class(self): """ Stop slapd, remove LDAP server environment """ #self.ldap_env.stop_slapd() # it is already stopped @@ -89,14 +109,6 @@ a default password there), then try logging in via moin login using that default password or an empty password. """ - server_uri = self.ldap_env.slapd.url - base_dn = self.ldap_env.basedn - - from MoinMoin.auth.ldap_login import LDAPAuth - ldap_auth = LDAPAuth(server_uri=server_uri, base_dn=base_dn) - from MoinMoin.auth import MoinAuth - moin_auth = MoinAuth() - self.config = self.TestConfig(auth=[ldap_auth, moin_auth], user_autocreate=True) nuke_user(self.request, u'usera') @@ -169,6 +181,18 @@ slapd_config = SLAPD_CONFIG ldif_content = LDIF_CONTENT + class Config(wikiconfig.Config): + from MoinMoin.auth.ldap_login import LDAPAuth + authlist = [] + for ldap_env in self.ldap_envs: # XXX no self + server_uri = ldap_env.slapd.url + base_dn = ldap_env.basedn + ldap_auth = LDAPAuth(server_uri=server_uri, base_dn=base_dn, + autocreate=True, + timeout=1) # short timeout, faster testing + authlist.append(ldap_auth) + auth = authlist + def setup_class(self): """ Create LDAP servers environment, start slapds """ self.ldap_envs = [] @@ -193,16 +217,7 @@ def testMoinLDAPFailOver(self): """ Try if it does a failover to a secondary LDAP, if the primary fails. """ - from MoinMoin.auth.ldap_login import LDAPAuth - authlist = [] - for ldap_env in self.ldap_envs: - server_uri = ldap_env.slapd.url - base_dn = ldap_env.basedn - ldap_auth = LDAPAuth(server_uri=server_uri, base_dn=base_dn, - timeout=1) # short timeout, faster testing - authlist.append(ldap_auth) - - self.config = self.TestConfig(auth=authlist, user_autocreate=True) + handle_auth = self.request.handle_auth # authenticate user (with primary slapd): u1 = handle_login(self.request, None, username='usera', password='usera')
--- a/MoinMoin/auth/http.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/http.py Tue Sep 23 00:53:18 2008 +0200 @@ -21,6 +21,10 @@ """ authenticate via http basic/digest/ntlm auth """ name = 'http' + def __init__(self, autocreate=False): + self.autocreate = autocreate + BaseAuth.__init__(self) + def request(self, request, user_obj, **kw): u = None _ = request.getText @@ -36,7 +40,7 @@ u = user.User(request, auth_username=authobj.username, auth_method=self.name, auth_attribs=('name', 'password')) - if u: + if u and self.autocreate: u.create_or_update() if u and u.valid: return u, True # True to get other methods called, too
--- a/MoinMoin/auth/interwiki.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/interwiki.py Tue Sep 23 00:53:18 2008 +0200 @@ -20,9 +20,10 @@ logout_possible = True login_inputs = ['username', 'password'] - def __init__(self, trusted_wikis): + def __init__(self, trusted_wikis, autocreate=False): BaseAuth.__init__(self) self.trusted_wikis = trusted_wikis + self.autocreate = autocreate def login(self, request, user_obj, **kw): username = kw.get('username') @@ -68,7 +69,8 @@ if key not in request.cfg.user_transient_fields: setattr(u, key, value) u.valid = True - u.create_or_update(True) + if self.autocreate: + u.create_or_update(True) logging.debug("successful interwiki auth for %r" % name) return ContinueLogin(u)
--- a/MoinMoin/auth/ldap_login.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/ldap_login.py Tue Sep 23 00:53:18 2008 +0200 @@ -81,6 +81,7 @@ tls_keyfile='', tls_require_cert=0, # 0 == ldap.OPT_X_TLS_NEVER (needed for self-signed certs) bind_once=False, # set to True to only do one bind - useful if configured to bind as the user on the first attempt + autocreate=False, # set to True if you want to autocreate user profiles ): self.server_uri = server_uri self.bind_dn = bind_dn @@ -107,7 +108,7 @@ self.tls_require_cert = tls_require_cert self.bind_once = bind_once - + self.autocreate = autocreate def login(self, request, user_obj, **kw): username = kw.get('username') @@ -231,7 +232,7 @@ logging.debug("invalid credentials (wrong password?) for dn %r (username: %r)" % (dn, username)) return CancelLogin(_("Invalid username or password.")) - if u: + if u and self.autocreate: u.create_or_update(True) return ContinueLogin(u)
--- a/MoinMoin/auth/php_session.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/php_session.py Tue Sep 23 00:53:18 2008 +0200 @@ -21,7 +21,7 @@ name = 'php_session' - def __init__(self, apps=['egw'], s_path="/tmp", s_prefix="sess_"): + def __init__(self, apps=['egw'], s_path="/tmp", s_prefix="sess_", autocreate=False): """ @param apps: A list of the enabled applications. See above for possible keys. @param s_path: The path where the PHP sessions are stored. @@ -31,6 +31,7 @@ self.s_path = s_path self.s_prefix = s_prefix self.apps = apps + self.autocreate = autocreate def request(self, request, user_obj, **kw): def handle_egroupware(session): @@ -72,7 +73,7 @@ u.email = email changed = True - if u: + if u and self.autocreate: u.create_or_update(changed) if u and u.valid: return u, True # True to get other methods called, too
--- a/MoinMoin/auth/sslclientcert.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/auth/sslclientcert.py Tue Sep 23 00:53:18 2008 +0200 @@ -20,13 +20,15 @@ def __init__(self, authorities=None, email_key=True, name_key=True, - use_email=False, use_name=False): + use_email=False, use_name=False, + autocreate=False): self.use_email = use_email self.authorities = authorities self.email_key = email_key self.name_key = name_key self.use_email = use_email self.use_name = use_name + self.autocreate = autocreate BaseAuth.__init__(self) def request(self, request, user_obj, **kw): @@ -79,7 +81,7 @@ elif user_obj and user_obj.auth_method == self.name: user_obj.valid = False return user_obj, False - if u: + if u and self.autocreate: u.create_or_update(changed) if u and u.valid: return u, True
--- a/MoinMoin/config/_tests/test_configs.py Fri Aug 22 22:58:18 2008 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -from MoinMoin.config.multiconfig import DefaultConfig - -class NoUnderlay(DefaultConfig): - data_underlay_dir = None - -_tests = [NoUnderlay, ] - -class TestConfigs: - def testConfigs(self): - for cls in _tests: - cls.data_dir = self.request.cfg.data_dir - cls.secrets = self.request.cfg.secrets - # quite a bad hack to make _importPlugin succeed - cls('MoinMoin')
--- a/MoinMoin/config/multiconfig.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/config/multiconfig.py Tue Sep 23 00:53:18 2008 +0200 @@ -593,11 +593,12 @@ # Load the module and set in sys.modules module = imp.load_module(modname, fp, path, info) setattr(sys.modules[self.siteid], 'csum', module) - self._plugin_modules.append(modname) finally: # Make sure fp is closed properly if fp: fp.close() + if modname not in self._plugin_modules: + self._plugin_modules.append(modname) finally: imp.release_lock() except ImportError, err: @@ -697,6 +698,8 @@ "Only used by the DefaultSessionHandler, see HelpOnSessions."), ('session_service', DefaultExpression('web.session.FileSessionService()'), "New session service (used by the new WSGI layer)"), + ('cookie_secure', None, + 'Use secure cookie. (None = auto-enable secure cookie for https, True = ever use secure cookie, False = never use secure cookie).'), ('cookie_domain', None, 'Domain used in the session cookie. (None = do not specify domain).'), ('cookie_path', None, @@ -736,7 +739,9 @@ )), # ========================================================================== - 'spam_leech_dos': ('Anti-Spam/Leech/DOS', None, ( + 'spam_leech_dos': ('Anti-Spam/Leech/DOS', + 'These settings help limiting ressource usage and avoiding abuse.', + ( ('hosts_deny', [], "List of denied IPs; if an IP ends with a dot, it denies a whole subnet (class A, B or C)"), ('surge_action_limits', {# allow max. <count> <action> requests per <dt> secs @@ -777,14 +782,16 @@ "A regex of HTTP_USER_AGENTs that should be excluded from logging and are not allowed to use actions."), ('unzip_single_file_size', 2.0 * 1000 ** 2, - "max. number of files which are extracted from the zip file"), + "max. size of a single file in the archive which will be extracted [bytes]"), ('unzip_attachments_space', 200.0 * 1000 ** 2, "max. total amount of bytes can be used to unzip files [bytes]"), ('unzip_attachments_count', 101, - "max. size of a single file in the archive which will be extracted [bytes]"), + "max. number of files which are extracted from the zip file"), )), # ========================================================================== - 'style': ('Style / Theme / UI related', None, ( + 'style': ('Style / Theme / UI related', + 'These settings control how the wiki user interface will look like.', + ( ('sitename', u'Untitled Wiki', "Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title [Unicode]"), ('interwikiname', None, "unique and stable InterWiki name (prefix, moniker) of the site, or None"), @@ -1059,7 +1066,9 @@ # # options = { - 'acl': ('Access control lists', None, ( + 'acl': ('Access control lists', + 'ACLs control who may do what, see HelpOnAccessControlLists.', + ( ('hierarchic', False, 'True to use hierarchical ACLs'), ('rights_default', u"Trusted:read,write,delete,revert Known:read,write,delete,revert All:read,write", "ACL used if no ACL is specified on the page"), @@ -1083,8 +1092,6 @@ )), 'user': ('Users / User settings', None, ( - ('autocreate', False, - "if True, user accounts are created automatically (see HelpOnAuthentication)."), ('email_unique', True, "if True, check email addresses for uniqueness and don't accept duplicates."), ('jid_unique', True, @@ -1191,6 +1198,15 @@ ('import_pagename_regex', r'\[\[([^\]]*)\]\]', "Regular expression used to search for target pagename specification."), ('import_wiki_addrs', [], "Target mail addresses to consider when importing mail"), )), + + 'backup': ('Backup settings', + 'These settings control how the backup action works and who is allowed to use it.', + ( + ('compression', 'gz', 'What compression to use for the backup ("gz" or "bz2").'), + ('users', [], 'List of trusted user names who are allowed to get a backup.'), + ('include', [], 'List of pathes to backup.'), + ('exclude', lambda filename: False, 'Function f(filename) that tells whether a file should be excluded from backup. By default, nothing is excluded.'), + )), } def _add_options_to_defconfig(opts, addgroup=True):
--- a/MoinMoin/conftest.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/conftest.py Tue Sep 23 00:53:18 2008 +0200 @@ -12,35 +12,30 @@ classes by the framework. Tests that require a certain configuration, like section_numbers = 1, must -use a TestConfig to create the required configuration before the test. -Deleting the TestConfig instance will restore the previous configuration. +use a Config class to define the required configuration within the test class. -@copyright: 2005 Nir Soffer, 2007 Alexander Schremmer +@copyright: 2005 MoinMoin:NirSoffer, + 2007 MoinMoin:AlexanderSchremmer, + 2008 MoinMoin:ThomasWaldmann @license: GNU GPL, see COPYING for details. """ import atexit -from sys import modules import sys import py rootdir = py.magic.autopath().dirpath() moindir = rootdir.join("..") - sys.path.insert(0, str(moindir)) -from MoinMoin._tests import maketestwiki, compat -modules["unittest"] = compat # evil hack - -wikiconfig_dir = str(moindir.join("tests")) from MoinMoin.support.python_compatibility import set from MoinMoin.web.request import TestRequest, Client from MoinMoin.wsgiapp import application, init +from MoinMoin._tests import maketestwiki, wikiconfig coverage_modules = set() - try: """ This code adds support for coverage.py (see @@ -53,7 +48,7 @@ def report_coverage(): coverage.stop() - module_list = [modules[mod] for mod in coverage_modules] + module_list = [sys.modules[mod] for mod in coverage_modules] module_list.sort() coverage.report(module_list) @@ -70,94 +65,15 @@ coverage = None -def init_test_request(static_state=[False]): +def init_test_request(given_config=None, static_state=[False]): if not static_state[0]: maketestwiki.run(True) static_state[0] = True - if sys.path[0] != wikiconfig_dir: - sys.path.insert(0, wikiconfig_dir) # this is a race with py.test's collectors - # because they modify sys.path as well request = TestRequest() + request.given_config = given_config request = init(request) return request -class TestConfig: - """ Custom configuration for unit tests - - Some tests assume a specific configuration, and will fail if the wiki admin - changed the configuration. For example, DateTime macro test assume - the default datetime_fmt. - - When you set custom values in a TestConfig, the previous values are saved, - and when the TestConfig is called specifically, they are restored automatically. - - Typical Usage - ------------- - :: - class SomeTest: - def setUp(self): - self.config = self.TestConfig(defaults=key_list, key=value,...) - def tearDown(self): - self.config.restore() - def testSomething(self): - # test that needs those defaults and custom values - """ - - def __init__(self, request): - """ Create temporary configuration for a test - - @param request: current request - """ - self.request = request - self.old = {} # Old config values - self.new = [] # New added attributes - - def __call__(self, defaults=(), **custom): - """ Initialise a temporary configuration for a test - - @param defaults: list of keys that should use the default value - @param custom: other keys using non default values, or new keys - that request.cfg does not have already - """ - self.setDefaults(defaults) - self.setCustom(**custom) - - return self - - def setDefaults(self, defaults=()): - """ Set default values for keys in defaults list - - Non existing default will raise an AttributeError. - """ - from MoinMoin.config import multiconfig - for key in defaults: - self._setattr(key, getattr(multiconfig.DefaultConfig, key)) - - def setCustom(self, **custom): - """ Set custom values """ - for key, value in custom.items(): - self._setattr(key, value) - - def _setattr(self, key, value): - """ Set a new value for key saving new added keys """ - if hasattr(self.request.cfg, key): - self.old[key] = getattr(self.request.cfg, key) - else: - self.new.append(key) - setattr(self.request.cfg, key, value) - - def restore(self): - """ Restore previous request.cfg - - Set old keys to old values and delete new keys. - """ - for key, value in self.old.items(): - setattr(self.request.cfg, key, value) - for key in self.new: - delattr(self.request.cfg, key) - __del__ = restore # XXX __del__ semantics are currently broken - - # py.test customization starts here @@ -176,8 +92,10 @@ def setup(self): cls = self.obj - cls.request = self.parent.request - cls.TestConfig = TestConfig(cls.request) + if hasattr(cls, 'Config'): + cls.request = init_test_request(given_config=cls.Config) + else: + cls.request = self.parent.request cls.client = Client(application) super(MoinClassCollector, self).setup() @@ -187,7 +105,7 @@ Function = MoinTestFunction def __init__(self, *args, **kwargs): - self.request = init_test_request() + self.request = init_test_request(given_config=wikiconfig.Config) super(Module, self).__init__(*args, **kwargs) def run(self, *args, **kwargs):
--- a/MoinMoin/converter/_tests/test_text_html_text_moin_wiki.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/converter/_tests/test_text_html_text_moin_wiki.py Tue Sep 23 00:53:18 2008 +0200 @@ -23,12 +23,6 @@ class TestBase(object): - def setup_method(self, method): - self.cfg = self.TestConfig(bang_meta=True) - - def teardown_method(self, method): - del self.cfg - def do_convert_real(self, func_args, successful=True): try: ret = convert(*func_args)
--- a/MoinMoin/converter/text_html_text_moin_wiki.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/converter/text_html_text_moin_wiki.py Tue Sep 23 00:53:18 2008 +0200 @@ -13,6 +13,9 @@ from MoinMoin import config, wikiutil from MoinMoin.error import ConvertError +from MoinMoin.parser.text_moin_wiki import Parser as WikiParser +interwiki_re = re.compile(WikiParser.interwiki_rule, re.VERBOSE|re.UNICODE) + # Portions (C) International Organization for Standardization 1986 # Permission to copy in any form is granted for use with # conforming SGML systems and applications as defined in @@ -571,7 +574,7 @@ def process_heading(self, node): text = self.node_list_text_only(node.childNodes).strip() if text: - depth = int(node.localName[1]) - 1 + depth = int(node.localName[1]) hstr = "=" * depth self.text.append(self.new_line) self.text.append("%s %s %s" % (hstr, text.replace("\n", " "), hstr)) @@ -802,7 +805,8 @@ command = ",," elif name == 'sup': command = "^" - elif name in ('font', 'meta', ): + elif name in ('area', 'center', 'code', 'embed', 'fieldset', 'font', 'form', 'iframe', 'input', 'label', 'link', 'map', + 'meta', 'noscript', 'option', 'script', 'select', 'textarea', 'wbr'): command = "" # just throw away unsupported elements else: raise ConvertError("process_inline: Don't support %s element" % name) @@ -963,7 +967,6 @@ content_buffer.append(self.new_line_dont_remove) else: pass - #print i.localName if delimiters: longest_inner_formater = max(delimiters) @@ -992,19 +995,26 @@ except ValueError: return value - def _table_style(self, node): - # TODO: attrs = get_attrs(node) - result = [] + def _get_color(self, node, prefix): if node.hasAttribute("bgcolor"): value = node.getAttribute("bgcolor") match = re.match(r"rgb\((\d+),\s*(\d+),\s*(\d+)\)", value) if match: - result.append('tablebgcolor="#%X%X%X"' % - (int(match.group(1)), - int(match.group(2)), - int(match.group(3)))) + value = '#%X%X%X' % (int(match.group(1)), int(match.group(2)), int(match.group(3))) + else: + match = re.match(r"#[0-9A-Fa-f]{6}", value) + if not prefix and match: + result = value else: - result.append('tablebgcolor="%s"' % value) + result = '%sbgcolor="%s"' % (prefix, value) + else: + result = '' + return result + + def _table_style(self, node): + # TODO: attrs = get_attrs(node) + result = [] + result.append(self._get_color(node, 'table')) if node.hasAttribute("width"): value = node.getAttribute("width") result.append('tablewidth="%s"' % self._check_length(value)) @@ -1023,16 +1033,7 @@ def _row_style(self, node): # TODO: attrs = get_attrs(node) result = [] - if node.hasAttribute("bgcolor"): - value = node.getAttribute("bgcolor") - match = re.match(r"rgb\((\d+),\s*(\d+),\s*(\d+)\)", value) - if match: - result.append('rowbgcolor="#%X%X%X"' % - (int(match.group(1)), - int(match.group(2)), - int(match.group(3)))) - else: - result.append('rowbgcolor="%s"' % value) + result.append(self._get_color(node, 'row')) if node.hasAttribute("style"): result.append('rowstyle="%s"' % node.getAttribute("style")) if node.hasAttribute("class"): @@ -1055,15 +1056,7 @@ align = "" result = [] - if node.hasAttribute("bgcolor"): - value = node.getAttribute("bgcolor") - match = re.match(r"rgb\((\d+),\s*(\d+),\s*(\d+)\)", value) - if match: - result.append("#%X%X%X" % (int(match.group(1)), - int(match.group(2)), - int(match.group(3)))) - else: - result.append('bgcolor="%s"' % value) + result.append(self._get_color(node, '')) if node.hasAttribute("align"): value = node.getAttribute("align") if not spanning or value != "center": @@ -1145,7 +1138,9 @@ colspan = 1 text = self.node_list_text_only(node.childNodes).replace('\n', ' ').strip() if text: - self.text.extend(["%s'''%s%s'''||" % ('||' * colspan, style, text), self.new_line_dont_remove]) + if style: + style = '<%s>' % style + self.text.extend(["%s%s'''%s'''||" % ('||' * colspan, style, text), self.new_line_dont_remove]) def process_table_data(self, node, style=""): if node.hasAttribute("colspan"): @@ -1196,7 +1191,7 @@ for i in node.childNodes: if i.nodeType == Node.ELEMENT_NODE: name = i.localName - if name == 'td': + if name in ('td', 'th', ): self.process_table_data(i, style=style) style = "" else: @@ -1237,10 +1232,11 @@ pagename = wikiutil.url_unquote(href) interwikiname = "%s:%s" % (title, pagename) if interwikiname and pagename == desc: - if ' ' in interwikiname: + if interwiki_re.match(interwikiname+' '): # the blank is needed by interwiki_re to match + # this is valid as a free interwiki link + self.text.append("%s" % interwikiname) + else: self.text.append("[[%s]]" % interwikiname) - else: - self.text.append("%s" % interwikiname) return elif title == 'Self': self.text.append('[[%s|%s]]' % (href, desc)) @@ -1258,10 +1254,17 @@ # Attachments if title.startswith("attachment:"): attname = wikiutil.url_unquote(title[len("attachment:"):]) + if 'do=get' in href: # quick&dirty fix for not dropping &do=get param + parms = '|&do=get' + else: + parms = '' if attname != desc: - self.text.append('[[attachment:%s|%s]]' % (attname, desc)) + desc = '|%s' % desc + elif parms: + desc = '|' else: - self.text.append('[[attachment:%s]]' % (attname, )) + desc = '' + self.text.append('[[attachment:%s%s%s]]' % (attname, desc, parms)) # wiki link elif href.startswith(scriptname): pagename = href[len(scriptname):] @@ -1380,7 +1383,16 @@ """ get the attributes of <node> into an easy-to-use dict """ attrs = {} for attr_name in node.attributes.keys(): - attrs[attr_name] = node.attributes.get(attr_name).nodeValue + # get attributes of style element + if attr_name == "style": + for style_element in node.attributes.get(attr_name).nodeValue.split(';'): + if style_element.strip() != '': + style_elements = style_element.split(':') + if len(style_elements) == 2: + attrs[style_elements[0].strip()] = style_elements[1].strip() + # get attributes without style element + else: + attrs[attr_name] = node.attributes.get(attr_name).nodeValue return attrs
--- a/MoinMoin/events/notification.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/events/notification.py Tue Sep 23 00:53:18 2008 +0200 @@ -128,12 +128,13 @@ @return: a dict containing message body and subject """ subject = _("New user account created on %(sitename)s") % {'sitename': sitename or "Wiki"} - text = _("""Dear Superuser, a new user has just been created. Details follow: + text = _("""Dear Superuser, a new user has just been created on %(sitename)s". Details follow: User name: %(username)s Email address: %(useremail)s""") % { 'username': username, 'useremail': email, + 'sitename': sitename or "Wiki", } return {'subject': subject, 'text': text}
--- a/MoinMoin/filter/application_msword.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/filter/application_msword.py Tue Sep 23 00:53:18 2008 +0200 @@ -8,6 +8,8 @@ @license: GNU GPL, see COPYING for details. """ +import os + from MoinMoin.filter import execfilter def execute(indexobj, filename):
--- a/MoinMoin/formatter/text_gedit.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/formatter/text_gedit.py Tue Sep 23 00:53:18 2008 +0200 @@ -25,7 +25,7 @@ self._base_depth = depth count_depth = max(depth - (self._base_depth - 1), 1) - heading_depth = depth + 1 + heading_depth = depth # closing tag, with empty line after, to make source more readable if not on: @@ -68,10 +68,15 @@ return '<span style="background-color:#ffff11">{{attachment:%s|%s}}</span>' % (url, text) def attachment_link(self, on, url=None, **kw): + assert on in (0, 1, False, True) # make sure we get called the new way, not like the 1.5 api was _ = self.request.getText + querystr = kw.get('querystr', {}) + assert isinstance(querystr, dict) # new in 1.6, only support dicts + if 'do' not in querystr: + querystr['do'] = 'view' if on: pagename = self.page.page_name - target = AttachFile.getAttachUrl(pagename, url, self.request) + target = AttachFile.getAttachUrl(pagename, url, self.request, do=querystr['do']) return self.url(on, target, title="attachment:%s" % wikiutil.quoteWikinameURL(url)) else: return self.url(on)
--- a/MoinMoin/i18n/MoinMoin.pot Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/i18n/MoinMoin.pot Tue Sep 23 00:53:18 2008 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-07-20 14:15+0200\n" +"POT-Creation-Date: 2008-09-12 23:35+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,33 +17,6 @@ "Content-Transfer-Encoding: 8bit\n" #, python-format -msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" -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 "" - -msgid "Create New Page" -msgstr "" - -msgid "You are not allowed to view this page." -msgstr "" - -#, python-format msgid "Argument \"%s\" must be a boolean value, not \"%s\"" msgstr "" @@ -105,6 +78,9 @@ msgid "Expected a value for key \"%(token)s\"" msgstr "" +msgid "Your changes are not saved!" +msgstr "" + msgid "You are not allowed to edit this page." msgstr "" @@ -117,6 +93,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 "Draft of \"%(pagename)s\"" msgstr "" @@ -200,7 +179,7 @@ msgid "Preview" msgstr "" -msgid "Text mode" +msgid "GUI Mode" msgstr "" msgid "Load Draft" @@ -222,75 +201,6 @@ msgid "Remove trailing whitespace from each line" 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 "<unknown>" -msgstr "" - -#, python-format -msgid "" -"Login Name: %s\n" -"\n" -"Password recovery token: %s\n" -"\n" -"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" -msgstr "" - -msgid "" -"Somebody has requested to email you a password recovery token.\n" -"\n" -"If you lost your password, please go to the password reset URL below or\n" -"go to the password recovery page again and enter your username and the\n" -"recovery token.\n" -msgstr "" - -#, python-format -msgid "[%(sitename)s] Your wiki account data" -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 "" @@ -410,6 +320,36 @@ "To leave the editor, press the Cancel button." msgstr "" +msgid "<unknown>" +msgstr "" + +#, python-format +msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" +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 "" + +msgid "Create New Page" +msgstr "" + +msgid "You are not allowed to view this page." +msgstr "" + msgid "The wiki is currently not reachable." msgstr "" @@ -422,6 +362,83 @@ "than you specified (%(localname)s)." msgstr "" +msgid "Text mode" +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 "" + +#, python-format +msgid "" +"Login Name: %s\n" +"\n" +"Password recovery token: %s\n" +"\n" +"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" +msgstr "" + +msgid "" +"Somebody has requested to email you a password recovery token.\n" +"\n" +"If you lost your password, please go to the password reset URL below or\n" +"go to the password recovery page again and enter your username and the\n" +"recovery token.\n" +msgstr "" + +#, python-format +msgid "[%(sitename)s] Your wiki account data" +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 "" + #, python-format msgid "" "Results %(bs)s%(hitsFrom)d - %(hitsTo)d%(be)s of %(aboutHits)s %(bs)s%(hits)d" @@ -456,41 +473,359 @@ msgid "about" msgstr "" -msgid "[all]" -msgstr "" - -msgid "[not empty]" -msgstr "" - -msgid "[empty]" -msgstr "" - -msgid "filter" -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Passwords don't match!" -msgstr "" - -msgid "Please specify a password!" +msgid "Language" +msgstr "" + +msgid "<Browser setting>" +msgstr "" + +msgid "Others" +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 "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 "Distribution of User-Agent Types" +msgstr "" + +msgid "Could not contact botbouncer.com." +msgstr "" + +msgid "Failed to connect to database." +msgstr "" + +msgid "Missing password. Please enter user name and password." +msgstr "" + +#, python-format +msgid "" +"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " +"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" +msgstr "" + +msgid "You need to log in." +msgstr "" + +#, python-format +msgid "LDAP server %(server)s failed." +msgstr "" + +msgid "" +"Please choose an account name now.\n" +"If you choose an existing account name you will be asked for the\n" +"password and be able to associate the account with your OpenID." +msgstr "" + +msgid "Name" +msgstr "" + +msgid "Choose this name" +msgstr "" + +msgid "This is not a valid username, choose a different one." +msgstr "" + +msgid "" +"The username you have chosen is already\n" +"taken. If it is your username, enter your password below to associate\n" +"the username with your OpenID. Otherwise, please choose a different\n" +"username and leave the password field blank." +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Associate this name" +msgstr "" + +#, python-format +msgid "OpenID error: %s." +msgstr "" + +msgid "Verification canceled." +msgstr "" + +msgid "OpenID failure." +msgstr "" + +msgid "Your account is now associated to your OpenID." +msgstr "" + +msgid "The password you entered is not valid." +msgstr "" + +msgid "OpenID verification requires that you click this button:" +msgstr "" + +msgid "Anonymous sessions need to be enabled for OpenID login." +msgstr "" + +msgid "Failed to resolve OpenID." +msgstr "" + +msgid "OpenID discovery failure, not a valid OpenID." +msgstr "" + +msgid "No OpenID." +msgstr "" + +msgid "" +"If you do not have an account yet, you can still log in with your OpenID and " +"create one during login." +msgstr "" + +msgid "Page has been modified" +msgstr "" + +msgid "Page has been modified in a trivial fashion" +msgstr "" + +msgid "Page has been renamed" +msgstr "" + +msgid "Page has been deleted" +msgstr "" + +msgid "Page has been copied" +msgstr "" + +msgid "A new attachment has been added" +msgstr "" + +msgid "A page has been reverted to a previous state" +msgstr "" + +msgid "A user has subscribed to a page" +msgstr "" + +msgid "A new account has been created" +msgstr "" + +#, python-format +msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" +msgstr "" + +msgid "Trivial " msgstr "" #, python-format -msgid "Password not acceptable: %s" -msgstr "" - -msgid "Your password has been changed." -msgstr "" - -msgid "To change your password, enter a new password twice." -msgstr "" - -msgid "Password" -msgstr "" - -msgid "Password repeat" +msgid "" +"Attachment link: %(attach)s\n" +"Page link: %(page)s\n" +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 \"%(pagename)s\" page has been changed by %(editor)s:\n" +msgstr "" + +msgid "New page:\n" +msgstr "" + +msgid "No differences found!\n" +msgstr "" + +#, python-format +msgid "" +"Dear wiki user,\n" +"\n" +"You have subscribed to a wiki page \"%(sitename)s\" for change " +"notification.\n" +"\n" +"The page \"%(pagename)s\" has been deleted by %(editor)s:\n" +"\n" +msgstr "" + +#, python-format +msgid "" +"Dear wiki user,\n" +"\n" +"You have subscribed to a wiki page \"%(sitename)s\" for change " +"notification.\n" +"\n" +"The page \"%(pagename)s\" has been renamed from \"%(oldname)s\" by %(editor)" +"s:\n" +msgstr "" + +#, python-format +msgid "New user account created on %(sitename)s" +msgstr "" + +#, python-format +msgid "" +"Dear Superuser, a new user has just been created on %(sitename)s\". Details " +"follow:\n" +"\n" +" User name: %(username)s\n" +" Email address: %(useremail)s" +msgstr "" + +#, python-format +msgid "New attachment added to page %(pagename)s on %(sitename)s" +msgstr "" + +#, python-format +msgid "" +"Dear Wiki user,\n" +"\n" +"You have subscribed to a wiki page \"%(page_name)s\" for change " +"notification. An attachment has been added to that page by %(editor)s. " +"Following detailed information is available:\n" +"\n" +"Attachment name: %(attach_name)s\n" +"Attachment size: %(attach_size)s\n" +msgstr "" + +msgid "Attachment link" +msgstr "" + +msgid "Page link" +msgstr "" + +msgid "Changed page" +msgstr "" + +msgid "Page changed" +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:: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; " +"===== Title 5 =====.\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([[target|linktext]])" +">>.\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 "" + +#, 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 "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 "" + +msgid "" +"Rendering of reStructured text is not possible, please install Docutils." +msgstr "" + +msgid "" +"{{{\n" +"Emphasis: *italic* **bold** ``monospace``\n" +"\n" +"Headings: Heading 1 Heading 2 Heading 3\n" +" ========= --------- ~~~~~~~~~\n" +"\n" +"Horizontal rule: ----\n" +"\n" +"Links: TrailingUnderscore_ `multi word with backticks`_ external_\n" +"\n" +".. _external: http://external-site.example.org/foo/\n" +"\n" +"Lists: * bullets; 1., a. numbered items.\n" +"}}}\n" +"(!) For more help, see the\n" +"[[http://docutils.sourceforge.net/docs/user/rst/quickref.html|" +"reStructuredText Quick Reference]].\n" +msgstr "" + +msgid "**Maximum number of allowed includes exceeded**" +msgstr "" + +#, python-format +msgid "**You are not allowed to read the page: %s**" +msgstr "" + +#, python-format +msgid "**Could not find the referenced page: %s**" +msgstr "" + +msgid "" +" Emphasis:: <<Verbatim(//)>>''italics''<<Verbatim(//)>>; <<Verbatim(**)" +">>'''bold'''<<Verbatim(**)>>; <<Verbatim(**//)>>'''''bold " +"italics'''''<<Verbatim(//**)>>; <<Verbatim(//)>>''mixed ''<<Verbatim(**)" +">>'''''bold'''<<Verbatim(**)>> and italics''<<Verbatim(//)>>;\n" +" Horizontal Rule:: <<Verbatim(----)>>\n" +" Force Linebreak:: <<Verbatim(\\\\)>>\n" +" Headings:: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; " +"===== Title 5 =====.\n" +" Lists:: * bullets; ** sub-bullets; # numbered items; ## numbered sub " +"items.\n" +" Links:: <<Verbatim([[target]])>>; <<Verbatim([[target|linktext]])>>.\n" +" Tables:: |= header text | cell text | more cell text |;\n" +"\n" +"(!) For more help, see HelpOnEditing or HelpOnCreoleSyntax.\n" msgstr "" msgid "Preferences" @@ -530,9 +865,6 @@ msgid "Default" msgstr "" -msgid "<Browser setting>" -msgstr "" - msgid "the one preferred" msgstr "" @@ -572,6 +904,49 @@ msgid "Quick links" msgstr "" +msgid "Switch user" +msgstr "" + +msgid "No user selected" +msgstr "" + +msgid "" +"You can now change the settings of the selected user account; log out to get " +"back to your account." +msgstr "" + +msgid "You are the only user." +msgstr "" + +msgid "" +"As a superuser, you can temporarily assume the identity of another user." +msgstr "" + +msgid "Select User" +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Passwords don't match!" +msgstr "" + +msgid "Please specify a password!" +msgstr "" + +#, python-format +msgid "Password not acceptable: %s" +msgstr "" + +msgid "Your password has been changed." +msgstr "" + +msgid "To change your password, enter a new password twice." +msgstr "" + +msgid "Password repeat" +msgstr "" + msgid "Notification" msgstr "" @@ -601,27 +976,6 @@ msgid "Subscribed wiki pages<<BR>>(one regex per line)" msgstr "" -msgid "Switch user" -msgstr "" - -msgid "No user selected" -msgstr "" - -msgid "" -"You can now change the settings of the selected user account; log out to get " -"back to your account." -msgstr "" - -msgid "You are the only user." -msgstr "" - -msgid "" -"As a superuser, you can temporarily assume the identity of another user." -msgstr "" - -msgid "Select User" -msgstr "" - msgid "OpenID server" msgstr "" @@ -649,35 +1003,31 @@ msgid "OpenID is already present." msgstr "" -msgid "Failed to resolve OpenID." -msgstr "" - -msgid "OpenID discovery failure, not a valid OpenID." -msgstr "" - -#, python-format -msgid "OpenID error: %s." -msgstr "" - -msgid "Verification canceled." -msgstr "" - msgid "This OpenID is already used for another account." msgstr "" msgid "OpenID added successfully." msgstr "" -msgid "OpenID failure." -msgstr "" - msgid "Current OpenIDs" msgstr "" msgid "Add OpenID" msgstr "" -msgid "OpenID verification requires that you click this button:" +msgid "Options --pages and --search are mutually exclusive!" +msgstr "" + +msgid "You must specify an output file!" +msgstr "" + +msgid "No pages specified using --pages or --search, assuming full package." +msgstr "" + +msgid "All attachments included into the package." +msgstr "" + +msgid "Output file already exists! Cowardly refusing to continue!" msgstr "" msgid "Username" @@ -695,257 +1045,263 @@ msgid "Action" msgstr "" +msgid "Disable user" +msgstr "" + msgid "Enable user" msgstr "" msgid "disabled" msgstr "" -msgid "Disable user" -msgstr "" - msgid "Mail account data" msgstr "" -msgid "Name" -msgstr "" - msgid "OpenID" msgstr "" msgid "Login" msgstr "" -msgid "" -"Rendering of reStructured text is not possible, please install Docutils." -msgstr "" - -msgid "**Maximum number of allowed includes exceeded**" -msgstr "" - #, python-format -msgid "**You are not allowed to read the page: %s**" +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 "**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 "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\"" +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 "Expected a color value \"%(arg)s\" after \"%(key)s\"" +msgid "Please use the interactive user interface to use action %(actionname)s!" +msgstr "" + +msgid "TextCha: Wrong answer! Go back and try again..." +msgstr "" + +#, python-format +msgid "You must login to use this action: %(action)s." +msgstr "" + +msgid "You are not allowed to subscribe to a page you can't read." +msgstr "" + +msgid "This wiki is not enabled for mail/Jabber processing." +msgstr "" + +msgid "You must log in to use subscriptions." 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:: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; " -"===== Title 5 =====.\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([[target|linktext]])" -">>.\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" +"Add your email address or Jabber ID in your user settings to use " +"subscriptions." +msgstr "" + +msgid "You are already subscribed to this page." +msgstr "" + +msgid "You have been subscribed to this page." +msgstr "" + +msgid "You could not get subscribed to this page." msgstr "" msgid "" -"{{{\n" -"Emphasis: *italic* **bold** ``monospace``\n" -"\n" -"Headings: Heading 1 Heading 2 Heading 3\n" -" ========= --------- ~~~~~~~~~\n" -"\n" -"Horizontal rule: ----\n" -"\n" -"Links: TrailingUnderscore_ `multi word with backticks`_ external_\n" -"\n" -".. _external: http://external-site.example.org/foo/\n" -"\n" -"Lists: * bullets; 1., a. numbered items.\n" -"}}}\n" -"(!) For more help, see the\n" -"[[http://docutils.sourceforge.net/docs/user/rst/quickref.html|" -"reStructuredText Quick Reference]].\n" +"Cannot create a new page without a page name. Please specify a page name." +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 "" + +msgid "If this account exists an email was sent." msgstr "" msgid "" -" Emphasis:: <<Verbatim(//)>>''italics''<<Verbatim(//)>>; <<Verbatim(**)" -">>'''bold'''<<Verbatim(**)>>; <<Verbatim(**//)>>'''''bold " -"italics'''''<<Verbatim(//**)>>; <<Verbatim(//)>>''mixed ''<<Verbatim(**)" -">>'''''bold'''<<Verbatim(**)>> and italics''<<Verbatim(//)>>;\n" -" Horizontal Rule:: <<Verbatim(----)>>\n" -" Force Linebreak:: <<Verbatim(\\\\)>>\n" -" Headings:: = Title 1 =; == Title 2 ==; === Title 3 ===; ==== Title 4 ====; " -"===== Title 5 =====.\n" -" Lists:: * bullets; ** sub-bullets; # numbered items; ## numbered sub " -"items.\n" -" Links:: <<Verbatim([[target]])>>; <<Verbatim([[target|linktext]])>>.\n" -" Tables:: |= header text | cell text | more cell text |;\n" +"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 or a username!" +msgstr "" + +msgid "Mail me my account data" +msgstr "" + +msgid "Recovery token" +msgstr "" + +msgid "New password" +msgstr "" + +msgid "New password (repeat)" +msgstr "" + +msgid "Reset my password" +msgstr "" + +msgid "Your password has been changed, you can log in now." +msgstr "" + +msgid "Your token is invalid!" +msgstr "" + +msgid "Password reset" +msgstr "" + +msgid "" "\n" -"(!) For more help, see HelpOnEditing or HelpOnCreoleSyntax.\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 "" - -msgid "Open editor on double click" -msgstr "" - -msgid "After login, jump to last visited page" -msgstr "" - -msgid "Show comment sections" -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 "Disable this account forever" -msgstr "" - -msgid "(Use FirstnameLastname)" -msgstr "" - -msgid "Alias-Name" -msgstr "" - -msgid "Jabber ID" -msgstr "" - -msgid "User CSS URL" -msgstr "" - -msgid "(Leave it empty for disabling user CSS)" -msgstr "" - -msgid "Editor size" +"== Password reset ==\n" +"Enter a new password below." +msgstr "" + +msgid "Lost password" +msgstr "" + +msgid "" +"\n" +"== Recovering a lost password ==\n" +"If you have forgotten your password, provide your email address or\n" +"username and click on '''Mail me my account data'''.\n" +"You will receive an email containing a recovery token that can be\n" +"used to change your password. The email will also contain further\n" +"instructions." +msgstr "" + +msgid "" +"\n" +"=== Password reset ===\n" +"If you already have received the email with the recovery token, enter your\n" +"username, the recovery token and a new password (twice) below." +msgstr "" + +msgid "Wiki Backup" +msgstr "" + +msgid "" +"= Downloading a backup =\n" +"\n" +"Please note:\n" +" * Store backups in a safe and secure place - they contain sensitive " +"information.\n" +" * Make sure your wiki configuration backup_* values are correct and " +"complete.\n" +" * Make sure the backup file you get contains everything you need in case of " +"problems.\n" +" * Make sure it is downloaded without problems.\n" +"\n" +"To get a backup, just click here:" +msgstr "" + +msgid "Backup" +msgstr "" + +msgid "You are not allowed to do remote backup." msgstr "" #, python-format -msgid "Upload new attachment \"%(filename)s\"" -msgstr "" - -#, python-format -msgid "Inlined image: %(url)s" -msgstr "" - -#, python-format -msgid "Create new drawing \"%(filename)s (opens in new window)\"" -msgstr "" - -#, python-format -msgid "Edit drawing %(filename)s (opens in new window)" -msgstr "" - -#, python-format -msgid "Clickable drawing: %(filename)s" -msgstr "" - -msgid "Toggle line numbers" +msgid "Unknown backup subaction: %s." +msgstr "" + +msgid "You must login to add a quicklink." +msgstr "" + +msgid "A quicklink to this page has been added for you." +msgstr "" + +msgid "A quicklink to this page could not be added for you." +msgstr "" + +msgid "You already have a quicklink to this page." +msgstr "" + +msgid "You need to provide a chart type!" msgstr "" #, python-format -msgid "Revert to revision %(rev)d." -msgstr "" - -#, python-format -msgid "Renamed from '%(oldpagename)s'." -msgstr "" - -msgid "You are now logged out." -msgstr "" - -msgid "You are not allowed to use this action." -msgstr "" - -msgid "Delete" -msgstr "" - -msgid "This page is already deleted or was never created!" -msgstr "" - -msgid "Delete all /subpages too?" -msgstr "" - -msgid "Optional reason for the deletion" -msgstr "" - -msgid "Really delete this page?" +msgid "Bad chart type \"%s\"!" +msgstr "" + +msgid "Load" +msgstr "" + +msgid "Pagename not specified!" +msgstr "" + +msgid "Upload page content" +msgstr "" + +msgid "" +"You can upload content for the page named below. If you change the page " +"name, you can also upload content for another page. If the page name is " +"empty, we derive the page name from the file name." +msgstr "" + +msgid "File to load page content from" +msgstr "" + +msgid "Comment" +msgstr "" + +msgid "Page Name" +msgstr "" + +msgid "You are not allowed to create the supplementation page." +msgstr "" + +msgid "You must login to remove a quicklink." +msgstr "" + +msgid "Your quicklink to this page has been removed." +msgstr "" + +msgid "Your quicklink to this page could not be removed." +msgstr "" + +msgid "You need to have a quicklink to this page to remove it." msgstr "" #, python-format @@ -1029,9 +1385,6 @@ msgid "Attachments for \"%(pagename)s\"" msgstr "" -msgid "TextCha: Wrong answer! Go back and try again..." -msgstr "" - msgid "You are not allowed to overwrite a file attachment of this page." msgstr "" @@ -1183,144 +1536,11 @@ msgid "attachment:%(filename)s of %(pagename)s" msgstr "" -msgid "" -"Cannot create a new page without a page name. Please specify a page name." -msgstr "" - #, python-format msgid "Full Link List for \"%s\"" 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 "" -"You need to manually go to your OpenID provider wiki\n" -"and log in before you can use your OpenID. MoinMoin will\n" -"never allow you to enter your password here.\n" -"\n" -"Once you have logged in, simply reload this page." -msgstr "" - -msgid "OpenID Trust verification" -msgstr "" - -#, python-format -msgid "The site %s has asked for your identity." -msgstr "" - -#, python-format -msgid "" -"\n" -"If you approve, the site represented by the trust root below will be\n" -"told that you control the identity URL %s. (If you are using a delegated\n" -"identity, the site will take care of reversing the\n" -"delegation on its own.)" -msgstr "" - -msgid "Trust root" -msgstr "" - -msgid "Identity URL" -msgstr "" - -msgid "Remember decision" -msgstr "" - -msgid "Remember this trust decision and don't ask again" -msgstr "" - -msgid "Approve" -msgstr "" - -msgid "Don't approve" -msgstr "" - -msgid "OpenID not served" -msgstr "" - -msgid "" -"\n" -"Unfortunately you have not created your homepage yet. Therefore,\n" -"we cannot serve an OpenID for you. Please create your homepage first\n" -"and then reload this page or click the button below to cancel this\n" -"verification." -msgstr "" - -#, python-format -msgid "You must login to use this action: %(action)s." -msgstr "" - -msgid "Your subscription to this page has been removed." -msgstr "" - -msgid "Can't remove regular expression subscription!" -msgstr "" - -msgid "Edit the subscription regular expressions in your settings." -msgstr "" - -msgid "You need to be subscribed to unsubscribe." -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 "Subscribe users to the page %s" msgstr "" @@ -1337,9 +1557,15 @@ msgid "You are not allowed to perform this action." msgstr "" +msgid "You are not allowed to use this action." +msgstr "" + msgid "Rename Page" msgstr "" +msgid "This page is already deleted or was never created!" +msgstr "" + msgid "Rename all /subpages too?" msgstr "" @@ -1352,278 +1578,20 @@ msgid "Really rename 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 "Revert to this revision" -msgstr "" - -msgid "Previous change" -msgstr "" - -msgid "Next change" -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 "" - -#, python-format -msgid "(!) Only pages changed since '''%s''' are being displayed!" -msgstr "" - -msgid "" -"/!\\ The modification date you entered was not recognized and is therefore " -"not considered for the search results!" -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 "Advanced Search: \"%s\"" -msgstr "" - -#, python-format -msgid "Full Text Search: \"%s\"" -msgstr "" - -#, python-format -msgid "" -"Your search query {{{\"%s\"}}} is invalid. Please refer to HelpOnSearching " -"for more information." -msgstr "" - -#, python-format -msgid "" -"Your search query {{{\"%s\"}}} didn't return any results. Please change some " -"terms and refer to HelpOnSearching for more information.%s" -msgstr "" - -msgid "(!) Consider performing a" -msgstr "" - -msgid "full-text search with your search terms" -msgstr "" - -msgid "" -"(!) You're performing a title search that might not include all related " -"results of your search query in this wiki. <<BR>>" -msgstr "" - -msgid "Click here to perform a full-text search with your search terms!" -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 save spelling words." -msgstr "" - -msgid "You can't check spelling on a page you can't read." -msgstr "" - -msgid "You are not allowed to create the supplementation page." -msgstr "" - -msgid "General Information" +msgid "No pages like \"%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 "Editor" -msgstr "" - -msgid "Comment" -msgstr "" - -msgid "to previous" -msgstr "" - -msgid "N/A" -msgstr "" - -msgid "Revision History" -msgstr "" - -msgid "No log entries found." -msgstr "" - -#, python-format -msgid "Info for \"%s\"" +msgid "Exactly one page like \"%s\" found, redirecting to page." msgstr "" #, python-format -msgid "Show \"%(title)s\"" -msgstr "" - -msgid "General Page Infos" -msgstr "" - -msgid "Page hits and edits" -msgstr "" - -msgid "User account created! You can use this account to login now..." -msgstr "" - -msgid "TextCha (required)" -msgstr "" - -msgid "Create Profile" -msgstr "" - -msgid "Create Account" -msgstr "" - -msgid "Copy Page" -msgstr "" - -msgid "Copy all /subpages too?" -msgstr "" - -msgid "Optional reason for the copying" -msgstr "" - -msgid "Really copy this page?" -msgstr "" - -msgid "Revert" -msgstr "" - -msgid "You are not allowed to revert this page!" -msgstr "" - -msgid "" -"You were viewing the current revision of this page when you called the " -"revert action. If you want to revert to an older revision, first view that " -"older revision and then call revert to this (older) revision again." -msgstr "" - -msgid "Optional reason for reverting this page" -msgstr "" - -msgid "Really revert this page?" -msgstr "" - -msgid "You must login to add a quicklink." -msgstr "" - -msgid "A quicklink to this page has been added for you." -msgstr "" - -msgid "A quicklink to this page could not be added for you." -msgstr "" - -msgid "You already have a quicklink to this page." -msgstr "" - -msgid "Please choose:" -msgstr "" - -msgid "Settings" -msgstr "" - -msgid "Charts are not available!" -msgstr "" - -msgid "You need to provide a chart type!" +msgid "Pages like \"%s\"" msgstr "" #, python-format -msgid "Bad chart type \"%s\"!" -msgstr "" - -#, python-format -msgid "Local Site Map for \"%s\"" -msgstr "" - -msgid "You must login to remove a quicklink." -msgstr "" - -msgid "Your quicklink to this page has been removed." -msgstr "" - -msgid "Your quicklink to this page could not be removed." -msgstr "" - -msgid "You need to have a quicklink to this page to remove it." -msgstr "" - -msgid "Load" -msgstr "" - -msgid "Pagename not specified!" -msgstr "" - -msgid "Upload page content" -msgstr "" - -msgid "" -"You can upload content for the page named below. If you change the page " -"name, you can also upload content for another page. If the page name is " -"empty, we derive the page name from the file name." -msgstr "" - -msgid "File to load page content from" -msgstr "" - -msgid "Page Name" +msgid "%(matchcount)d %(matches)s for \"%(title)s\"" msgstr "" #, python-format @@ -1634,6 +1602,9 @@ msgid "Created the package %s containing the pages %s." msgstr "" +msgid "Include all attachments?" +msgstr "" + msgid "Package pages" msgstr "" @@ -1643,156 +1614,19 @@ msgid "List of page names - separated by a comma" 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 "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 "Pages" -msgstr "" - -msgid "Select Author" -msgstr "" - -msgid "Revert all!" -msgstr "" - -msgid "Only superuser is allowed to use this action." -msgstr "" - -msgid "You are not allowed to subscribe to a page you can't read." -msgstr "" - -msgid "This wiki is not enabled for mail/Jabber processing." -msgstr "" - -msgid "You must log in to use subscriptions." -msgstr "" - -msgid "" -"Add your email address or Jabber ID in your user settings to use " -"subscriptions." -msgstr "" - -msgid "You are already subscribed to this page." -msgstr "" - -msgid "You have been subscribed to this page." -msgstr "" - -msgid "You could not get subscribed to this page." -msgstr "" - -msgid "If this account exists an email was sent." -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 or a username!" -msgstr "" - -msgid "Mail me my account data" -msgstr "" - -msgid "Recovery token" -msgstr "" - -msgid "New password" -msgstr "" - -msgid "New password (repeat)" -msgstr "" - -msgid "Reset my password" -msgstr "" - -msgid "Your password has been changed, you can log in now." -msgstr "" - -msgid "Your token is invalid!" -msgstr "" - -msgid "Password reset" -msgstr "" - -msgid "" -"\n" -"== Password reset ==\n" -"Enter a new password below." -msgstr "" - -msgid "Lost password" -msgstr "" - -msgid "" -"\n" -"== Recovering a lost password ==\n" -"If you have forgotten your password, provide your email address or\n" -"username and click on '''Mail me my account data'''.\n" -"You will receive an email containing a recovery token that can be\n" -"used to change your password. The email will also contain further\n" -"instructions." -msgstr "" - -msgid "" -"\n" -"=== Password reset ===\n" -"If you already have received the email with the recovery token, enter your\n" -"username, the recovery token and a new password (twice) below." +msgid "Delete" +msgstr "" + +msgid "Delete all /subpages too?" +msgstr "" + +msgid "Optional reason for the deletion" +msgstr "" + +msgid "Really delete this page?" +msgstr "" + +msgid "You are now logged out." msgstr "" #, python-format @@ -1923,618 +1757,373 @@ msgid "Page %s merged with conflicts." msgstr "" +msgid "Editor" +msgstr "" + +msgid "Pages" +msgstr "" + +msgid "Select Author" +msgstr "" + +msgid "Revert all!" +msgstr "" + +msgid "Only superuser is allowed to use this action." +msgstr "" + +msgid "No older revisions available!" +msgstr "" + #, python-format -msgid "Connection to mailserver '%(server)s' failed: %(reason)s" -msgstr "" - -msgid "Mail not sent" -msgstr "" - -msgid "Mail sent OK" -msgstr "" - -msgid "From" -msgstr "" - -msgid "To" -msgstr "" - -msgid "Content" -msgstr "" - -msgid "Attachments" -msgstr "" - -msgid "Line" -msgstr "" - -msgid "Deletions are marked like this." -msgstr "" - -msgid "Additions are marked like this." -msgstr "" - -msgid "Attachment link" -msgstr "" - -msgid "Page link" -msgstr "" - -msgid "Changed page" -msgstr "" - -msgid "Page changed" -msgstr "" - -msgid "Page has been modified" -msgstr "" - -msgid "Page has been modified in a trivial fashion" -msgstr "" - -msgid "Page has been renamed" -msgstr "" - -msgid "Page has been deleted" -msgstr "" - -msgid "Page has been copied" -msgstr "" - -msgid "A new attachment has been added" -msgstr "" - -msgid "A page has been reverted to a previous state" -msgstr "" - -msgid "A user has subscribed to a page" -msgstr "" - -msgid "A new account has been created" +msgid "Diff for \"%s\"" +msgstr "" + +#, python-format +msgid "Differences between revisions %d and %d" +msgstr "" + +#, python-format +msgid "(spanning %d versions)" +msgstr "" + +msgid "Revert to this revision" +msgstr "" + +msgid "Previous change" +msgstr "" + +msgid "Next change" +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 "(including %(localwords)d %(pagelink)s)" 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" +"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 save spelling words." +msgstr "" + +msgid "You can't check spelling on a page you can't read." +msgstr "" + +msgid "Copy Page" +msgstr "" + +msgid "Copy all /subpages too?" +msgstr "" + +msgid "Optional reason for the copying" +msgstr "" + +msgid "Really copy this page?" +msgstr "" + +msgid "Revert" +msgstr "" + +msgid "You are not allowed to revert this page!" +msgstr "" + +msgid "" +"You were viewing the current revision of this page when you called the " +"revert action. If you want to revert to an older revision, first view that " +"older revision and then call revert to this (older) revision again." +msgstr "" + +msgid "Optional reason for reverting this page" +msgstr "" + +msgid "Really revert this page?" +msgstr "" + +msgid "" +"You need to manually go to your OpenID provider wiki\n" +"and log in before you can use your OpenID. MoinMoin will\n" +"never allow you to enter your password here.\n" "\n" -"The \"%(pagename)s\" page has been changed by %(editor)s:\n" -msgstr "" - -msgid "New page:\n" -msgstr "" - -msgid "No differences found!\n" -msgstr "" - -#, python-format -msgid "" -"Dear wiki user,\n" -"\n" -"You have subscribed to a wiki page \"%(sitename)s\" for change " -"notification.\n" -"\n" -"The page \"%(pagename)s\" has been deleted by %(editor)s:\n" -"\n" +"Once you have logged in, simply reload this page." +msgstr "" + +msgid "OpenID Trust verification" msgstr "" #, python-format -msgid "" -"Dear wiki user,\n" -"\n" -"You have subscribed to a wiki page \"%(sitename)s\" for change " -"notification.\n" -"\n" -"The page \"%(pagename)s\" has been renamed from \"%(oldname)s\" by %(editor)" -"s:\n" -msgstr "" - -#, python-format -msgid "New user account created on %(sitename)s" -msgstr "" - -#, python-format -msgid "" -"Dear Superuser, a new user has just been created. Details follow:\n" -"\n" -" User name: %(username)s\n" -" Email address: %(useremail)s" -msgstr "" - -#, python-format -msgid "New attachment added to page %(pagename)s on %(sitename)s" -msgstr "" - -#, python-format -msgid "" -"Dear Wiki user,\n" -"\n" -"You have subscribed to a wiki page \"%(page_name)s\" for change " -"notification. An attachment has been added to that page by %(editor)s. " -"Following detailed information is available:\n" -"\n" -"Attachment name: %(attach_name)s\n" -"Attachment size: %(attach_size)s\n" -msgstr "" - -#, python-format -msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" -msgstr "" - -msgid "Trivial " +msgid "The site %s has asked for your identity." msgstr "" #, python-format msgid "" -"Attachment link: %(attach)s\n" -"Page link: %(page)s\n" -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 "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 "" - -msgid "Discussion" -msgstr "" - -#, python-format -msgid "Invalid include arguments \"%s\"!" -msgstr "" - -#, python-format -msgid "Nothing found for \"%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 "[Bookmark reached]" -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/" +"\n" +"If you approve, the site represented by the trust root below will be\n" +"told that you control the identity URL %s. (If you are using a delegated\n" +"identity, the site will take care of reversing the\n" +"delegation on its own.)" +msgstr "" + +msgid "Trust root" +msgstr "" + +msgid "Identity URL" +msgstr "" + +msgid "Remember decision" +msgstr "" + +msgid "Remember this trust decision and don't ask again" +msgstr "" + +msgid "Approve" +msgstr "" + +msgid "Don't approve" +msgstr "" + +msgid "OpenID not served" +msgstr "" + +msgid "" +"\n" +"Unfortunately you have not created your homepage yet. Therefore,\n" +"we cannot serve an OpenID for you. Please create your homepage first\n" +"and then reload this page or click the button below to cancel this\n" +"verification." +msgstr "" + +msgid "Please choose:" +msgstr "" + +msgid "Settings" +msgstr "" + +msgid "General Information" 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 "" - -msgid "Xapian and/or Python Xapian bindings not installed" -msgstr "" - -msgid "Xapian search" -msgstr "" - -msgid "Stemming for Xapian" -msgstr "" - -msgid "Active threads" -msgstr "" - -msgid "Include system pages" -msgstr "" - -msgid "Exclude system pages" -msgstr "" - -msgid "No wanted pages in this wiki." +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 "to previous" +msgstr "" + +#, python-format +msgid "Revert to revision %(rev)d." +msgstr "" + +#, python-format +msgid "Renamed from '%(oldpagename)s'." +msgstr "" + +msgid "N/A" +msgstr "" + +msgid "Revision History" +msgstr "" + +msgid "No log entries found." msgstr "" #, python-format -msgid "No quotes on %(pagename)s." -msgstr "" - -msgid "Markup" -msgstr "" - -msgid "Display" -msgstr "" - -msgid "Search Titles" -msgstr "" - -msgid "Display context of search results" -msgstr "" - -msgid "Case-sensitive searching" -msgstr "" - -msgid "Search Text" -msgstr "" - -msgid "No orphaned pages in this wiki." -msgstr "" - -msgid "Search for items" -msgstr "" - -msgid "containing all the following terms" -msgstr "" - -msgid "containing one or more of the following terms" -msgstr "" - -msgid "not containing the following terms" -msgstr "" - -msgid "last modified since (e.g. last 2 weeks)" -msgstr "" - -msgid "any category" -msgstr "" - -msgid "any language" -msgstr "" - -msgid "any mimetype" -msgstr "" - -msgid "Categories" -msgstr "" - -msgid "Language" -msgstr "" - -msgid "File Type" -msgstr "" - -msgid "Search only in titles" -msgstr "" - -msgid "Case-sensitive search" -msgstr "" - -msgid "Exclude underlay" -msgstr "" - -msgid "No system items" -msgstr "" - -msgid "Search in all page revisions" -msgstr "" - -msgid "Go get it!" -msgstr "" - -msgid "Contents" +msgid "Info for \"%s\"" +msgstr "" + +#, python-format +msgid "Show \"%(title)s\"" +msgstr "" + +msgid "General Page Infos" +msgstr "" + +#, python-format +msgid "(!) Only pages changed since '''%s''' are being displayed!" +msgstr "" + +msgid "" +"/!\\ The modification date you entered was not recognized and is therefore " +"not considered for the search results!" msgstr "" #, python-format -msgid "Unsupported navigation scheme '%(scheme)s'!" -msgstr "" - -msgid "No parent page found!" -msgstr "" - -msgid "Wiki" -msgstr "" - -msgid "Slideshow" -msgstr "" - -msgid "Start" +msgid "Please use a more selective search term instead of {{{\"%s\"}}}" +msgstr "" + +#, python-format +msgid "Title Search: \"%s\"" msgstr "" #, python-format -msgid "Slide %(pos)d of %(size)d" -msgstr "" - -msgid "Go To Page" -msgstr "" - -msgid "File attachment browser" -msgstr "" - -msgid "User account browser" +msgid "Advanced Search: \"%s\"" +msgstr "" + +#, python-format +msgid "Full Text Search: \"%s\"" +msgstr "" + +#, python-format +msgid "" +"Your search query {{{\"%s\"}}} is invalid. Please refer to HelpOnSearching " +"for more information." msgstr "" #, python-format msgid "" -"%(extension_name)s %(extension_type)s: Required argument %(argument_name)s " -"missing." -msgstr "" - -#, python-format -msgid "" -"%(extension_name)s %(extension_type)s: Invalid %(argument_name)s=%" -"(argument_value)s!" -msgstr "" - -#, python-format -msgid "" -"Current configuration does not allow embedding of the file %(file)s because " -"of its mimetype %(mimetype)s." -msgstr "" - -msgid "Embedded" -msgstr "" - -msgid "Missing password. Please enter user name and password." -msgstr "" - -#, python-format -msgid "LDAP server %(server)s failed." -msgstr "" - -msgid "Failed to connect to database." -msgstr "" - -msgid "You need to log in." -msgstr "" - -msgid "" -"Please choose an account name now.\n" -"If you choose an existing account name you will be asked for the\n" -"password and be able to associate the account with your OpenID." -msgstr "" - -msgid "Choose this name" -msgstr "" - -msgid "This is not a valid username, choose a different one." -msgstr "" - -msgid "" -"The username you have chosen is already\n" -"taken. If it is your username, enter your password below to associate\n" -"the username with your OpenID. Otherwise, please choose a different\n" -"username and leave the password field blank." -msgstr "" - -msgid "Associate this name" -msgstr "" - -msgid "Your account is now associated to your OpenID." -msgstr "" - -msgid "The password you entered is not valid." -msgstr "" - -msgid "Anonymous sessions need to be enabled for OpenID login." -msgstr "" - -msgid "No OpenID." +"Your search query {{{\"%s\"}}} didn't return any results. Please change some " +"terms and refer to HelpOnSearching for more information.%s" +msgstr "" + +msgid "(!) Consider performing a" +msgstr "" + +msgid "full-text search with your search terms" msgstr "" msgid "" -"If you do not have an account yet, you can still log in with your OpenID and " -"create one during login." -msgstr "" - -#, python-format -msgid "" -"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " -"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" -msgstr "" - -msgid "Could not contact botbouncer.com." -msgstr "" - -msgid "User agent" -msgstr "" - -msgid "Others" -msgstr "" - -msgid "Distribution of User-Agent Types" -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 "Options --pages and --search are mutually exclusive!" -msgstr "" - -msgid "You must specify an output file!" -msgstr "" - -msgid "No pages specified using --pages or --search, assuming full package." -msgstr "" - -msgid "Output file already exists! Cowardly refusing to continue!" -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 "" - -#, python-format -msgid "" -"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki." -msgstr "" - -msgid "DeleteCache" -msgstr "" - -#, python-format -msgid "(cached %s)" -msgstr "" - -msgid "Or try one of these actions:" +"(!) You're performing a title search that might not include all related " +"results of your search query in this wiki. <<BR>>" +msgstr "" + +msgid "Click here to perform a full-text search with your search terms!" +msgstr "" + +msgid "User account created! You can use this account to login now..." +msgstr "" + +msgid "(Use FirstnameLastname)" +msgstr "" + +msgid "TextCha (required)" +msgstr "" + +msgid "Create Profile" +msgstr "" + +msgid "Create Account" +msgstr "" + +msgid "Your subscription to this page has been removed." +msgstr "" + +msgid "Can't remove regular expression subscription!" +msgstr "" + +msgid "Edit the subscription regular expressions in your settings." +msgstr "" + +msgid "You need to be subscribed to unsubscribe." +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 "" + +msgid "Open editor on double click" +msgstr "" + +msgid "After login, jump to last visited page" +msgstr "" + +msgid "Show comment sections" +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 "Disable this account forever" +msgstr "" + +msgid "Alias-Name" +msgstr "" + +msgid "Jabber ID" +msgstr "" + +msgid "User CSS URL" +msgstr "" + +msgid "(Leave it empty for disabling user CSS)" +msgstr "" + +msgid "Editor size" msgstr "" msgid "Unsubscribe" @@ -2662,6 +2251,9 @@ msgid "Add Link" msgstr "" +msgid "Attachments" +msgstr "" + #, python-format msgid "Show %s days." msgstr "" @@ -2669,8 +2261,429 @@ msgid "Wiki Markup" msgstr "" +msgid "DeleteCache" +msgstr "" + +#, python-format +msgid "(cached %s)" +msgstr "" + +msgid "Or try one of these actions:" +msgstr "" + +msgid "Wiki" +msgstr "" + msgid "Page" msgstr "" msgid "User" msgstr "" + +msgid "[ATTACH]" +msgstr "" + +msgid "Variable name" +msgstr "" + +msgid "Description" +msgstr "" + +#, python-format +msgid "Upload new attachment \"%(filename)s\"" +msgstr "" + +#, python-format +msgid "" +"%(extension_name)s %(extension_type)s: Required argument %(argument_name)s " +"missing." +msgstr "" + +#, python-format +msgid "" +"%(extension_name)s %(extension_type)s: Invalid %(argument_name)s=%" +"(argument_value)s!" +msgstr "" + +#, python-format +msgid "" +"Current configuration does not allow embedding of the file %(file)s because " +"of its mimetype %(mimetype)s." +msgstr "" + +msgid "Embedded" +msgstr "" + +msgid "Include system pages" +msgstr "" + +msgid "Exclude system pages" +msgstr "" + +msgid "Go To Page" +msgstr "" + +msgid "Markup" +msgstr "" + +msgid "Display" +msgstr "" + +msgid "Wiki configuration" +msgstr "" + +msgid "" +"This table shows all settings in this wiki that do not have default values. " +"Settings that the configuration system doesn't know about are shown in " +"''italic'', those may be due to third-party extensions needing configuration " +"or settings that were removed from Moin." +msgstr "" + +msgid "Setting" +msgstr "" + +msgid "Search for items" +msgstr "" + +msgid "containing all the following terms" +msgstr "" + +msgid "containing one or more of the following terms" +msgstr "" + +msgid "not containing the following terms" +msgstr "" + +msgid "last modified since (e.g. last 2 weeks)" +msgstr "" + +msgid "any category" +msgstr "" + +msgid "any language" +msgstr "" + +msgid "any mimetype" +msgstr "" + +msgid "Categories" +msgstr "" + +msgid "File Type" +msgstr "" + +msgid "Search only in titles" +msgstr "" + +msgid "Case-sensitive search" +msgstr "" + +msgid "Exclude underlay" +msgstr "" + +msgid "No system items" +msgstr "" + +msgid "Search in all page revisions" +msgstr "" + +msgid "Go get it!" +msgstr "" + +msgid "File attachment browser" +msgstr "" + +msgid "User account browser" +msgstr "" + +msgid "No wanted pages in this wiki." +msgstr "" + +#, python-format +msgid "Unsupported navigation scheme '%(scheme)s'!" +msgstr "" + +msgid "No parent page found!" +msgstr "" + +msgid "Slideshow" +msgstr "" + +msgid "Start" +msgstr "" + +#, python-format +msgid "Slide %(pos)d of %(size)d" +msgstr "" + +msgid "Contents" +msgstr "" + +msgid "Search Titles" +msgstr "" + +msgid "Display context of search results" +msgstr "" + +msgid "Case-sensitive searching" +msgstr "" + +msgid "Search Text" +msgstr "" + +#, python-format +msgid "No quotes on %(pagename)s." +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 "" + +msgid "Xapian and/or Python Xapian bindings not installed" +msgstr "" + +msgid "Xapian search" +msgstr "" + +msgid "Stemming for Xapian" +msgstr "" + +msgid "Active threads" +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 "[Bookmark reached]" +msgstr "" + +#, python-format +msgid "Invalid include arguments \"%s\"!" +msgstr "" + +#, python-format +msgid "Nothing found for \"%s\"!" +msgstr "" + +msgid "No orphaned pages in this wiki." +msgstr "" + +msgid "From" +msgstr "" + +msgid "To" +msgstr "" + +msgid "Content" +msgstr "" + +#, python-format +msgid "Connection to mailserver '%(server)s' failed: %(reason)s" +msgstr "" + +msgid "Mail not sent" +msgstr "" + +msgid "Mail sent OK" +msgstr "" + +msgid "[all]" +msgstr "" + +msgid "[not empty]" +msgstr "" + +msgid "[empty]" +msgstr "" + +msgid "filter" +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 "FrontPage" +msgstr "" + +msgid "RecentChanges" +msgstr "" + +msgid "TitleIndex" +msgstr "" + +msgid "WordIndex" +msgstr "" + +msgid "FindPage" +msgstr "" + +msgid "SiteNavigation" +msgstr "" + +msgid "HelpContents" +msgstr "" + +msgid "HelpOnFormatting" +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 "" + +msgid "Discussion" +msgstr "" + +#, python-format +msgid "Inlined image: %(url)s" +msgstr "" + +#, python-format +msgid "Create new drawing \"%(filename)s (opens in new window)\"" +msgstr "" + +#, python-format +msgid "Edit drawing %(filename)s (opens in new window)" +msgstr "" + +#, python-format +msgid "Clickable drawing: %(filename)s" +msgstr "" + +msgid "Toggle line numbers" +msgstr ""
--- a/MoinMoin/i18n/__init__.py Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/i18n/__init__.py Tue Sep 23 00:53:18 2008 +0200 @@ -279,7 +279,7 @@ else: try: language = languages[lang]['x-language-in-english'] - dictpagename = "%sDict" % language + dictpagename = "%sDict" % language.replace(' ', '') dicts = request.dicts if dicts.has_dict(dictpagename): userdict = dicts.dict(dictpagename)
--- a/MoinMoin/i18n/ar.MoinMoin.po Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/i18n/ar.MoinMoin.po Tue Sep 23 00:53:18 2008 +0200 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: moin 1.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-21 22:47+0200\n" +"POT-Creation-Date: 2008-09-12 23:35+0200\n" "PO-Revision-Date: 2008-04-12 20:07+0200\n" "Last-Translator: Mohamed Yahya <yahya.mohamed@gmail.com>\n" "Language-Team: \n" @@ -25,29 +25,70 @@ "X-Language-in-English: Arabic\n" "X-HasWikiMarkup: True\n" -msgid "<unknown>" -msgstr "<مغمور>" +#, python-format +msgid "Argument \"%s\" must be a boolean value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be a boolean value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be an integer value, not \"%s\"" +msgstr "" #, python-format -msgid "" -"Login Name: %s\n" -"\n" -"Password recovery token: %s\n" -"\n" -"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" -msgstr "" - -msgid "" -"Somebody has requested to email you a password recovery token.\n" -"\n" -"If you lost your password, please go to the password reset URL below or\n" -"go to the password recovery page again and enter your username and the\n" -"recovery token.\n" +msgid "Argument must be an integer value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be a floating point value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be a floating point value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be a complex value, not \"%s\"" msgstr "" #, python-format -msgid "[%(sitename)s] Your wiki account data" -msgstr "" +msgid "Argument must be a complex value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be one of \"%s\", not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be one of \"%s\", not \"%s\"" +msgstr "" + +msgid "Too many arguments" +msgstr "معطيات أكثر من المطلوب" + +msgid "Cannot have arguments without name following named arguments" +msgstr "" + +#, python-format +msgid "Argument \"%s\" is required" +msgstr "" + +#, python-format +msgid "No argument named \"%s\"" +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\"" + +msgid "Your changes are not saved!" +msgstr "لم يتم حفظ تغييراتك!" msgid "You are not allowed to edit this page." msgstr "لا يسمح لك بتحرير هذه الصفحة" @@ -61,6 +102,9 @@ msgid "The lock you held timed out. Be prepared for editing conflicts!" msgstr "" +msgid "Page name is too long, try shorter name." +msgstr "إسم الصفحة طويل، جرب إسما أقصر." + #, fuzzy, python-format msgid "Draft of \"%(pagename)s\"" msgstr "تحرير \"%(pagename)s\"" @@ -144,9 +188,8 @@ msgid "Preview" msgstr "معاينة" -#, fuzzy -msgid "Text mode" -msgstr "نص عادي" +msgid "GUI Mode" +msgstr "وضعية واجهة المستخدم الرسومية" #, fuzzy msgid "Load Draft" @@ -168,77 +211,6 @@ msgid "Remove trailing whitespace from each line" msgstr "أزل الفراغ الأبيض في نهاية كل سطر." -#, python-format -msgid "Argument \"%s\" must be a boolean value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a boolean value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be an integer value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be an integer value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be a floating point value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a floating point value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be a complex value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a complex value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be one of \"%s\", not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be one of \"%s\", not \"%s\"" -msgstr "" - -msgid "Too many arguments" -msgstr "معطيات أكثر من المطلوب" - -msgid "Cannot have arguments without name following named arguments" -msgstr "" - -#, python-format -msgid "Argument \"%s\" is required" -msgstr "" - -#, python-format -msgid "No argument named \"%s\"" -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\"" - -msgid "Your changes are not saved!" -msgstr "لم يتم حفظ تغييراتك!" - -msgid "Page name is too long, try shorter name." -msgstr "إسم الصفحة طويل، جرب إسما أقصر." - -msgid "GUI Mode" -msgstr "وضعية واجهة المستخدم الرسومية" - #, fuzzy msgid "Edit was cancelled." msgstr "تم إلغاء التحرير." @@ -366,6 +338,36 @@ "To leave the editor, press the Cancel button." msgstr "" +msgid "<unknown>" +msgstr "<مغمور>" + +#, python-format +msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" +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 "" + +msgid "Create New Page" +msgstr "اخلق صفحة وجديدة" + +msgid "You are not allowed to view this page." +msgstr "لا يسمح لك بنظر هذه الصفحة." + msgid "The wiki is currently not reachable." msgstr "لا يمكن الوصول إلى هذه الويكي حاليا." @@ -378,6 +380,10 @@ "than you specified (%(localname)s)." msgstr "" +#, fuzzy +msgid "Text mode" +msgstr "نص عادي" + #, python-format msgid "The package needs a newer version of MoinMoin (at least %s)." msgstr "" @@ -415,45 +421,41 @@ msgstr "" #, python-format -msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" +msgid "" +"Login Name: %s\n" +"\n" +"Password recovery token: %s\n" +"\n" +"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" 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\"" +"Somebody has requested to email you a password recovery token.\n" +"\n" +"If you lost your password, please go to the password reset URL below or\n" +"go to the password recovery page again and enter your username and the\n" +"recovery token.\n" msgstr "" #, python-format -msgid "This page redirects to page \"%(page)s\"" -msgstr "" - -msgid "Create New Page" -msgstr "اخلق صفحة وجديدة" - -msgid "You are not allowed to view this page." -msgstr "لا يسمح لك بنظر هذه الصفحة." - -msgid "[all]" -msgstr "" - -msgid "[not empty]" -msgstr "" - -msgid "[empty]" -msgstr "" - -msgid "filter" -msgstr "مرشح" - -msgid "about" +msgid "[%(sitename)s] Your wiki account data" +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 "" #, python-format @@ -493,70 +495,76 @@ msgid "matches" msgstr "تطابق" -msgid "Line" -msgstr "سطر" - -msgid "No differences found!" -msgstr "لا توجد الاختلافات!" - -msgid "Deletions are marked like this." -msgstr "" - -msgid "Additions are marked like this." -msgstr "" - -msgid "Name" -msgstr "اسم" - -msgid "Password" -msgstr "كلمةالسرّ" - -msgid "OpenID" -msgstr "" - -#, fuzzy -msgid "Login" -msgstr "ولوج" - -#, fuzzy -msgid "Username" -msgstr "المستخدم" - -#, fuzzy -msgid "Member of Groups" -msgstr "عدد الصفحات" - -msgid "Email" -msgstr "بريد الكتروني" - -msgid "Jabber" -msgstr "" - -#, fuzzy -msgid "Action" -msgstr "إجراء" - -#, fuzzy -msgid "Enable user" -msgstr "مفعل" - -#, fuzzy -msgid "disabled" -msgstr "معطل" - -#, fuzzy -msgid "Disable user" -msgstr "معطل" - -#, fuzzy -msgid "Mail account data" -msgstr "إبعث لي بيانات حسابي بالبريد الإلكتروني." +msgid "about" +msgstr "" + +msgid "Language" +msgstr "لغة" + +msgid "<Browser setting>" +msgstr "<إعدادات المتصفح>" + +msgid "Others" +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 "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 "Distribution of User-Agent Types" +msgstr "" + +msgid "Could not contact botbouncer.com." +msgstr "" + +msgid "Failed to connect to database." +msgstr "فشلت محاولة الإتصال بقاعدة البيانات." msgid "Missing password. Please enter user name and password." msgstr "لا يوجد كلمة سر. الرجاء إدخال إسم مستخدم و كلمة سر" #, python-format -msgid "LDAP server %(server)s failed." +msgid "" +"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " +"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" msgstr "" #, fuzzy @@ -564,9 +572,7 @@ msgstr "لقد قمت بتسجيل الخروج." #, python-format -msgid "" -"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " -"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" +msgid "LDAP server %(server)s failed." msgstr "" msgid "" @@ -575,6 +581,9 @@ "password and be able to associate the account with your OpenID." msgstr "" +msgid "Name" +msgstr "اسم" + msgid "Choose this name" msgstr "إختر هذا الإسم" @@ -588,6 +597,9 @@ "username and leave the password field blank." msgstr "" +msgid "Password" +msgstr "كلمةالسرّ" + msgid "Associate this name" msgstr "" @@ -628,555 +640,46 @@ "create one during login." msgstr "" -msgid "Failed to connect to database." -msgstr "فشلت محاولة الإتصال بقاعدة البيانات." - -msgid "Could not contact botbouncer.com." -msgstr "" - -msgid "Wiki" -msgstr "ويكي" - -msgid "Page" -msgstr "الصفحة" - -msgid "User" -msgstr "المستخدم" - -msgid "Diffs" -msgstr "" - -msgid "Info" -msgstr "" +msgid "Page has been modified" +msgstr "تم تعديل الصفحة" + +msgid "Page has been modified in a trivial fashion" +msgstr "تم تعديل الصفحة بشكل بسيط" + +msgid "Page has been renamed" +msgstr "تم إعادة تسمية الصفحة" + +msgid "Page has been deleted" +msgstr "تم حذف الصفحة" + +msgid "Page has been copied" +msgstr "تم نسخ الصفحة" #, fuzzy -msgid "Edit" -msgstr "حرّر" - -msgid "Unsubscribe" -msgstr "إلغاء الإشتراك" - -msgid "Subscribe" -msgstr "اشتراك" - -msgid "Raw" -msgstr "" - -msgid "XML" -msgstr "XML" - -msgid "Print" -msgstr "طباعة" - -msgid "View" -msgstr "اظهر" - -msgid "Home" -msgstr "" - -msgid "Up" -msgstr "أعلى" - -msgid "[RSS]" -msgstr "" - -msgid "[DELETED]" -msgstr "" - -msgid "[UPDATED]" -msgstr "" - -msgid "[RENAMED]" -msgstr "" - -msgid "[CONFLICT]" -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 "Settings" -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 "آخدر تعديل %(time)s" - -msgid "Search:" -msgstr "البحث:" - -msgid "Text" -msgstr "النص" - -msgid "Titles" -msgstr "العناوين" - -msgid "Search" -msgstr "ابحث" - -msgid "More Actions:" -msgstr "أفعال أكثر:" - -#, fuzzy -msgid "------------------------" -msgstr "------------" - -msgid "Raw Text" -msgstr "نص مجرد" - -msgid "Print View" -msgstr "معاينة الطباعة" - -#, fuzzy -msgid "Delete Cache" -msgstr "محو المخبأ" - -msgid "Rename Page" -msgstr "أعد تسمية الصفحة" - -#, fuzzy -msgid "Copy Page" -msgstr "صفحاتي" - -msgid "Delete Page" -msgstr "احذف الصفحة" - -msgid "Like Pages" -msgstr "صفحات مشابه" - -msgid "Local Site Map" -msgstr "خارطة الموقع المحلية" - -msgid "My Pages" -msgstr "صفحاتي" - -msgid "Subscribe User" -msgstr "" - -#, fuzzy -msgid "Remove Spam" -msgstr "أزل السخام" - -msgid "Revert to this revision" -msgstr "" - -msgid "Package Pages" -msgstr "" - -msgid "Render as Docbook" -msgstr "" - -#, fuzzy -msgid "Sync Pages" -msgstr "صفحاتي" - -msgid "Do" +msgid "A new attachment has been added" +msgstr "المرفقات" + +msgid "A page has been reverted to a previous state" msgstr "" #, fuzzy -msgid "Comments" -msgstr "تصريح" - -msgid "Edit (Text)" -msgstr "تحرير(نصي)" - -msgid "Edit (GUI)" -msgstr "تحرير (رسومي) " - -#, fuzzy -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 "Date" -msgstr "التاريخ" - -msgid "From" -msgstr "من" - -msgid "To" -msgstr "إلى" - -#, fuzzy -msgid "Content" -msgstr "تصريح" - -#, python-format -msgid "Connection to mailserver '%(server)s' failed: %(reason)s" -msgstr "" - -msgid "Mail not sent" -msgstr "لم يتم ارسال البريد" - -msgid "Mail sent OK" -msgstr "تم ارسال البريد " - -msgid "" -"Rendering of reStructured text is not possible, please install Docutils." -msgstr "" - -msgid "**Maximum number of allowed includes exceeded**" -msgstr "" - -#, fuzzy, python-format -msgid "**You are not allowed to read the page: %s**" -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 "" +msgid "A user has subscribed to a page" +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "A new account has been created" +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 "FrontPage" -msgstr "" - -msgid "RecentChanges" -msgstr "" - -msgid "TitleIndex" -msgstr "" - -msgid "WordIndex" -msgstr "" - -msgid "FindPage" -msgstr "" - -msgid "SiteNavigation" -msgstr "" - -msgid "HelpContents" -msgstr "" - -msgid "HelpOnFormatting" -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 "" - -msgid "Discussion" -msgstr "" +msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" +msgstr "" + +msgid "Trivial " +msgstr "بديهي" #, python-format msgid "" -"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki." -msgstr "" - -msgid "Notification" -msgstr "" - -msgid "Notification settings saved!" -msgstr "" - -#, fuzzy -msgid "'''Email'''" -msgstr "بريد الكتروني" - -msgid "'''Jabber'''" -msgstr "" - -msgid "'''Event type'''" -msgstr "" - -msgid "Select the events you want to be notified about." -msgstr "" - -msgid "" -"Before you can be notified, you need to provide a way to contact you in the " -"general preferences." -msgstr "" - -#, fuzzy -msgid "Subscribed events" -msgstr "اشتراك" - -msgid "Subscribed wiki pages<<BR>>(one regex per line)" -msgstr "" - -msgid "Save" -msgstr "حفظ" - -#, fuzzy -msgid "Change password" -msgstr "كلمةالسرّ" - -msgid "Passwords don't match!" -msgstr "كلمات السر غير متطابقة!" - -msgid "Please specify a password!" -msgstr "الرجاء إدخال كلمة سر!" - -#, python-format -msgid "Password not acceptable: %s" -msgstr "كلمة السر غير مقبولة: %s" - -msgid "Your password has been changed." -msgstr "تم تغيير كلمة السر الخاصة بك." - -msgid "To change your password, enter a new password twice." -msgstr "لتغيير كلمة السر الخاصة بك، أدخل كلمة سر جديدة مرتين." - -msgid "Password repeat" -msgstr "اعادة كلمة السر" - -msgid "Switch user" -msgstr "" - -msgid "No user selected" -msgstr "" - -msgid "" -"You can now change the settings of the selected user account; log out to get " -"back to your account." -msgstr "" - -msgid "You are the only user." -msgstr "أنت المستخدم الوحيد." - -msgid "" -"As a superuser, you can temporarily assume the identity of another user." -msgstr "" - -#, fuzzy -msgid "Select User" -msgstr "إختر مستخدم" - -msgid "OpenID settings" -msgstr "" - -msgid "Cannot remove all OpenIDs." -msgstr "" - -msgid "The selected OpenIDs have been removed." -msgstr "" - -msgid "No OpenID given." -msgstr "" - -msgid "OpenID is already present." -msgstr "" - -msgid "This OpenID is already used for another account." -msgstr "" - -msgid "OpenID added successfully." -msgstr "" - -msgid "Current OpenIDs" -msgstr "" - -msgid "Remove selected" -msgstr "" - -msgid "Add OpenID" -msgstr "" - -msgid "Preferences" -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 "Empty user name. Please enter a user name." -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 "عنوان البريد الإلكتروني هذا يخص شخصا آخر." - -#, fuzzy -msgid "This jabber id already belongs to somebody else." -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 "خيار حر" - -#, fuzzy -msgid "Preferred theme" -msgstr "السمة المفضلة" - -msgid "Editor Preference" -msgstr "تفضيلات المحرر" - -msgid "Editor shown on UI" -msgstr "" - -msgid "Time zone" -msgstr "المنطقة الزمنية" - -#, fuzzy -msgid "Your time is" -msgstr "الوقت عندك هو" - -#, fuzzy -msgid "Server time is" -msgstr "وقت الخادم هو:" - -msgid "Date format" -msgstr "صيغة التاريخ" - -msgid "Preferred language" -msgstr "اللغة المفضلة" - -msgid "General options" -msgstr "خيارات عامة" - -msgid "Quick links" -msgstr "روابط سريعة" - -msgid "OpenID server" -msgstr "" - -msgid "The selected websites have been removed." -msgstr "" - -msgid "Trusted websites" +"Attachment link: %(attach)s\n" +"Page link: %(page)s\n" msgstr "" #, python-format @@ -1223,7 +726,8 @@ #, python-format msgid "" -"Dear Superuser, a new user has just been created. Details follow:\n" +"Dear Superuser, a new user has just been created on %(sitename)s\". Details " +"follow:\n" "\n" " User name: %(username)s\n" " Email address: %(useremail)s" @@ -1245,48 +749,6 @@ "Attachment size: %(attach_size)s\n" msgstr "" -msgid "Page has been modified" -msgstr "تم تعديل الصفحة" - -msgid "Page has been modified in a trivial fashion" -msgstr "تم تعديل الصفحة بشكل بسيط" - -msgid "Page has been renamed" -msgstr "تم إعادة تسمية الصفحة" - -msgid "Page has been deleted" -msgstr "تم حذف الصفحة" - -msgid "Page has been copied" -msgstr "تم نسخ الصفحة" - -#, fuzzy -msgid "A new attachment has been added" -msgstr "المرفقات" - -msgid "A page has been reverted to a previous state" -msgstr "" - -#, fuzzy -msgid "A user has subscribed to a page" -msgstr "لا يسمح لك بتحرير هذه الصفحة" - -msgid "A new account has been created" -msgstr "تم إنشاء حساب جديد" - -#, python-format -msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" -msgstr "" - -msgid "Trivial " -msgstr "بديهي" - -#, python-format -msgid "" -"Attachment link: %(attach)s\n" -"Page link: %(page)s\n" -msgstr "" - #, fuzzy msgid "Attachment link" msgstr "المرفقات" @@ -1303,66 +765,6 @@ msgid "Page changed" msgstr "إحفظ التغييرات" -msgid "Options --pages and --search are mutually exclusive!" -msgstr "" - -msgid "You must specify an output file!" -msgstr "" - -msgid "No pages specified using --pages or --search, assuming full package." -msgstr "" - -msgid "Output file already exists! Cowardly refusing to continue!" -msgstr "" - -msgid "Language" -msgstr "لغة" - -msgid "Others" -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 "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 "User agent" -msgstr "" - -msgid "Distribution of User-Agent Types" -msgstr "" - msgid "" " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')" ">>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold " @@ -1381,6 +783,36 @@ "(!) For more help, see HelpOnEditing or SyntaxReference.\n" 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 "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 "" + +msgid "" +"Rendering of reStructured text is not possible, please install Docutils." +msgstr "" + msgid "" "{{{\n" "Emphasis: *italic* **bold** ``monospace``\n" @@ -1401,6 +833,17 @@ "reStructuredText Quick Reference]].\n" msgstr "" +msgid "**Maximum number of allowed includes exceeded**" +msgstr "" + +#, fuzzy, python-format +msgid "**You are not allowed to read the page: %s**" +msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" + +#, python-format +msgid "**Could not find the referenced page: %s**" +msgstr "" + msgid "" " Emphasis:: <<Verbatim(//)>>''italics''<<Verbatim(//)>>; <<Verbatim(**)" ">>'''bold'''<<Verbatim(**)>>; <<Verbatim(**//)>>'''''bold " @@ -1418,86 +861,622 @@ "(!) For more help, see HelpOnEditing or HelpOnCreoleSyntax.\n" msgstr "" -msgid "UnSubscribe" -msgstr "" - -msgid "Publish my email (not my wiki homepage) in author info" -msgstr "" -"انشر رسائلي الإلكترونية (ليس صفحتي الشخصية في الويكي ) في معلومات المؤلف" - -msgid "Open editor on double click" -msgstr "افتح المحرر عند النقر المزدوج" +msgid "Preferences" +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 "Empty user name. Please enter a user name." +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 "عنوان البريد الإلكتروني هذا يخص شخصا آخر." + +#, fuzzy +msgid "This jabber id already belongs to somebody else." +msgstr "عنوان البريد الإلكتروني هذا يخص شخصا آخر." + +#, python-format +msgid "The theme '%(theme_name)s' could not be loaded!" +msgstr "" + +msgid "User preferences saved!" +msgstr "تم حفظ تفضيلات المستخدم!" + +msgid "Default" +msgstr "إفتراضي" + +msgid "the one preferred" +msgstr "المفضل" + +msgid "free choice" +msgstr "خيار حر" + +msgid "Save" +msgstr "حفظ" + +#, fuzzy +msgid "Preferred theme" +msgstr "السمة المفضلة" + +msgid "Editor Preference" +msgstr "تفضيلات المحرر" + +msgid "Editor shown on UI" +msgstr "" + +msgid "Time zone" +msgstr "المنطقة الزمنية" + +#, fuzzy +msgid "Your time is" +msgstr "الوقت عندك هو" + +#, fuzzy +msgid "Server time is" +msgstr "وقت الخادم هو:" + +msgid "Date format" +msgstr "صيغة التاريخ" + +msgid "Preferred language" +msgstr "اللغة المفضلة" + +msgid "General options" +msgstr "خيارات عامة" + +msgid "Quick links" +msgstr "روابط سريعة" + +msgid "Switch user" +msgstr "" + +msgid "No user selected" +msgstr "" + +msgid "" +"You can now change the settings of the selected user account; log out to get " +"back to your account." +msgstr "" + +msgid "You are the only user." +msgstr "أنت المستخدم الوحيد." + +msgid "" +"As a superuser, you can temporarily assume the identity of another user." +msgstr "" + +#, fuzzy +msgid "Select User" +msgstr "إختر مستخدم" #, fuzzy -msgid "After login, jump to last visited page" -msgstr "بعد الولوج، إذهب إلى آخر صفحة تمت زيارتها" - -msgid "Show comment sections" -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 "Disable this account forever" -msgstr "عطل هذا الحساب للأبد" +msgid "Change password" +msgstr "كلمةالسرّ" + +msgid "Passwords don't match!" +msgstr "كلمات السر غير متطابقة!" + +msgid "Please specify a password!" +msgstr "الرجاء إدخال كلمة سر!" + +#, python-format +msgid "Password not acceptable: %s" +msgstr "كلمة السر غير مقبولة: %s" + +msgid "Your password has been changed." +msgstr "تم تغيير كلمة السر الخاصة بك." + +msgid "To change your password, enter a new password twice." +msgstr "لتغيير كلمة السر الخاصة بك، أدخل كلمة سر جديدة مرتين." + +msgid "Password repeat" +msgstr "اعادة كلمة السر" + +msgid "Notification" +msgstr "" + +msgid "Notification settings saved!" +msgstr "" + +#, fuzzy +msgid "'''Email'''" +msgstr "بريد الكتروني" + +msgid "'''Jabber'''" +msgstr "" + +msgid "'''Event type'''" +msgstr "" + +msgid "Select the events you want to be notified about." +msgstr "" + +msgid "" +"Before you can be notified, you need to provide a way to contact you in the " +"general preferences." +msgstr "" #, fuzzy -msgid "(Use FirstnameLastname)" -msgstr "(استخدم الاسم الأول الاسم الأخير)" - -msgid "Alias-Name" -msgstr "الأسم المستعار" - -msgid "Jabber ID" -msgstr "" - -msgid "User CSS URL" -msgstr "" - -msgid "(Leave it empty for disabling user CSS)" -msgstr "URL CSS المستخدم" - -msgid "Editor size" -msgstr "حجم المحرر" +msgid "Subscribed events" +msgstr "اشتراك" + +msgid "Subscribed wiki pages<<BR>>(one regex per line)" +msgstr "" + +msgid "OpenID server" +msgstr "" + +msgid "The selected websites have been removed." +msgstr "" + +msgid "Trusted websites" +msgstr "" + +msgid "Remove selected" +msgstr "" + +msgid "OpenID settings" +msgstr "" + +msgid "Cannot remove all OpenIDs." +msgstr "" + +msgid "The selected OpenIDs have been removed." +msgstr "" + +msgid "No OpenID given." +msgstr "" + +msgid "OpenID is already present." +msgstr "" + +msgid "This OpenID is already used for another account." +msgstr "" + +msgid "OpenID added successfully." +msgstr "" + +msgid "Current OpenIDs" +msgstr "" + +msgid "Add OpenID" +msgstr "" + +msgid "Options --pages and --search are mutually exclusive!" +msgstr "" + +msgid "You must specify an output file!" +msgstr "" + +msgid "No pages specified using --pages or --search, assuming full package." +msgstr "" + +msgid "All attachments included into the package." +msgstr "" + +msgid "Output file already exists! Cowardly refusing to continue!" +msgstr "" #, fuzzy -msgid "File attachment browser" -msgstr "المرفقات" - -msgid "User account browser" +msgid "Username" +msgstr "المستخدم" + +#, fuzzy +msgid "Member of Groups" +msgstr "عدد الصفحات" + +msgid "Email" +msgstr "بريد الكتروني" + +msgid "Jabber" +msgstr "" + +#, fuzzy +msgid "Action" +msgstr "إجراء" + +#, fuzzy +msgid "Disable user" +msgstr "معطل" + +#, fuzzy +msgid "Enable user" +msgstr "مفعل" + +#, fuzzy +msgid "disabled" +msgstr "معطل" + +#, fuzzy +msgid "Mail account data" +msgstr "إبعث لي بيانات حسابي بالبريد الإلكتروني." + +msgid "OpenID" +msgstr "" + +#, fuzzy +msgid "Login" +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 "Invalid include arguments \"%s\"!" +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 "Nothing found for \"%s\"!" +msgid "Please use the interactive user interface to use action %(actionname)s!" +msgstr "" + +msgid "TextCha: Wrong answer! Go back and try again..." +msgstr "" + +#, fuzzy, python-format +msgid "You must login to use this action: %(action)s." +msgstr "يجب عليك تسجيل دخولك لاستعمال الأشتراكات." + +msgid "You are not allowed to subscribe to a page you can't read." +msgstr "لا يسمح لك الإشتراك بصفحة لا تستطيع قرائتها." + +msgid "This wiki is not enabled for mail/Jabber processing." +msgstr "" + +msgid "You must log in to use subscriptions." +msgstr "يجب عليك تسجيل دخولك لاستعمال الأشتراكات." + +msgid "" +"Add your email address or Jabber ID in your user settings to use " +"subscriptions." +msgstr "" + +#, fuzzy +msgid "You are already subscribed to this page." +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "You have been subscribed to this page." +msgstr "" + +#, fuzzy +msgid "You could not get subscribed to this page." +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "" +"Cannot create a new page without a page name. Please specify a page name." +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 في هذه الصفحة!" + +msgid "If this account exists an email was sent." +msgstr "" + +msgid "" +"This wiki is not enabled for mail processing.\n" +"Contact the owner of the wiki, who can enable email." +msgstr "" + +#, fuzzy +msgid "Please provide a valid email address or a username!" +msgstr "الرجاء تزويد عنوان بريد إلكتروني صحيح!" + +msgid "Mail me my account data" +msgstr "إبعث لي بيانات حسابي بالبريد الإلكتروني." + +msgid "Recovery token" +msgstr "" + +#, fuzzy +msgid "New password" +msgstr "كلمةالسرّ" + +#, fuzzy +msgid "New password (repeat)" +msgstr "اعادة كلمة السر" + +#, fuzzy +msgid "Reset my password" +msgstr "كلمةالسرّ" + +#, fuzzy +msgid "Your password has been changed, you can log in now." +msgstr "تم تغيير كلمة السر الخاصة بك." + +msgid "Your token is invalid!" +msgstr "" + +#, fuzzy +msgid "Password reset" +msgstr "اعادة كلمة السر" + +#, fuzzy +msgid "" +"\n" +"== Password reset ==\n" +"Enter a new password below." +msgstr "لتغيير كلمة السر الخاصة بك، أدخل كلمة سر جديدة مرتين." + +#, fuzzy +msgid "Lost password" +msgstr "كلمةالسرّ" + +msgid "" +"\n" +"== Recovering a lost password ==\n" +"If you have forgotten your password, provide your email address or\n" +"username and click on '''Mail me my account data'''.\n" +"You will receive an email containing a recovery token that can be\n" +"used to change your password. The email will also contain further\n" +"instructions." +msgstr "" + +msgid "" +"\n" +"=== Password reset ===\n" +"If you already have received the email with the recovery token, enter your\n" +"username, the recovery token and a new password (twice) below." +msgstr "" + +#, fuzzy +msgid "Wiki Backup" +msgstr "نسخ احتياطي" + +msgid "" +"= Downloading a backup =\n" +"\n" +"Please note:\n" +" * Store backups in a safe and secure place - they contain sensitive " +"information.\n" +" * Make sure your wiki configuration backup_* values are correct and " +"complete.\n" +" * Make sure the backup file you get contains everything you need in case of " +"problems.\n" +" * Make sure it is downloaded without problems.\n" +"\n" +"To get a backup, just click here:" +msgstr "" + +msgid "Backup" +msgstr "نسخ احتياطي" + +#, fuzzy +msgid "You are not allowed to do remote backup." +msgstr "لا يسمح لك القيام بهذا الإجراء." + +#, fuzzy, python-format +msgid "Unknown backup subaction: %s." +msgstr "نفذ عملية %(actionname)s?" + +msgid "You must login to add a quicklink." +msgstr "يجب عليك تسجيل دخولك لإضافة رابط سريع" + +msgid "A quicklink to this page has been added for you." +msgstr "تم إضافة رابط سريع إلى هذه الصفحة من أجلك." + +msgid "A quicklink to this page could not be added for you." +msgstr "" + +#, fuzzy +msgid "You already have a quicklink to this page." +msgstr "لقد قمت بحفظ هذه الصفحة مسبقا!" + +msgid "You need to provide a chart type!" +msgstr "" + +#, python-format +msgid "Bad chart type \"%s\"!" +msgstr "" + +msgid "Load" +msgstr "حمّل" + +msgid "Pagename not specified!" +msgstr "" + +msgid "Upload page content" +msgstr "" + +msgid "" +"You can upload content for the page named below. If you change the page " +"name, you can also upload content for another page. If the page name is " +"empty, we derive the page name from the file name." +msgstr "" + +msgid "File to load page content from" +msgstr "" + +#, fuzzy +msgid "Comment" +msgstr "تعليق" + +#, fuzzy +msgid "Page Name" +msgstr "صفحة جديدة\n" + +#, fuzzy +msgid "You are not allowed to create the supplementation page." +msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" + +#, fuzzy +msgid "You must login to remove a quicklink." +msgstr "يجب عليك تسجيل دخولك لإضافة رابط سريع" + +msgid "Your quicklink to this page has been removed." +msgstr "تم إزالة رابطك السريع لهذه الصفحة." + +msgid "Your quicklink to this page could not be removed." +msgstr "" + +#, fuzzy +msgid "You need to have a quicklink to this page to remove it." +msgstr "تم إزالة رابطك السريع لهذه الصفحة." + +#, python-format +msgid "[%d attachments]" +msgstr "" + +#, python-format +msgid "" +"There are <a href=\"%(link)s\">%(count)s attachment(s)</a> stored for this " +"page." +msgstr "" + +msgid "Filename of attachment not specified!" +msgstr "" + +#, python-format +msgid "Attachment '%(filename)s' does not exist!" +msgstr "" + +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 "" + +msgid "del" +msgstr "" + +msgid "move" +msgstr "" + +msgid "get" msgstr "" msgid "edit" msgstr "تحرير" +msgid "view" +msgstr "" + +msgid "unzip" +msgstr "" + +msgid "install" +msgstr "تثبيت" + #, python-format -msgid "Upload of attachment '%(filename)s'." +msgid "No attachments stored for %(pagename)s" +msgstr "" + +msgid "Edit drawing" +msgstr "" + +msgid "New Attachment" +msgstr "ملف مرفق جديد" + +msgid "File to upload" +msgstr "" + +msgid "Rename to" +msgstr "" + +msgid "Overwrite existing attachment of same name" +msgstr "" + +msgid "Upload" +msgstr "رفع" + +msgid "Attached Files" +msgstr "الملفات المرفقة" + +msgid "You are not allowed to attach a file to this page." +msgstr "لا يسمح لك إرفاق ملف بهذه الصفحة." + +#, fuzzy, python-format +msgid "Unsupported AttachFile sub-action: %s" +msgstr "نفذ عملية %(actionname)s?" + +#, python-format +msgid "Attachments for \"%(pagename)s\"" +msgstr "" + +#, fuzzy +msgid "You are not allowed to overwrite a file attachment of this page." +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "" +"No file content. Delete non ASCII characters from the file name and try " +"again." +msgstr "" + +#, python-format +msgid "" +"Attachment '%(target)s' (remote name '%(filename)s') with %(bytes)d bytes " +"saved." +msgstr "" + +#, python-format +msgid "Attachment '%(target)s' (remote name '%(filename)s') already exists." +msgstr "" + +msgid "You are not allowed to save a drawing on this page." +msgstr "" + +msgid "You are not allowed to delete attachments on this page." msgstr "" #, python-format @@ -1505,298 +1484,230 @@ msgstr "" #, python-format -msgid "Drawing '%(filename)s' saved." -msgstr "" - -#, python-format -msgid "Revert to revision %(rev)d." -msgstr "" - -#, python-format -msgid "Renamed from '%(oldpagename)s'." +msgid "Attachment '%(new_pagename)s/%(new_filename)s' already exists." msgstr "" #, python-format -msgid "%(mins)dm ago" -msgstr "" - -msgid "(no bookmark set)" -msgstr "" +msgid "" +"Attachment '%(pagename)s/%(filename)s' moved to '%(new_pagename)s/%" +"(new_filename)s'." +msgstr "" + +msgid "Nothing changed" +msgstr "لم يتغير أي شيء" #, python-format -msgid "(currently set to %s)" -msgstr "" - -#, fuzzy -msgid "Delete bookmark" -msgstr "احذف الصفحة" - -msgid "Set bookmark" -msgstr "" - -msgid "[Bookmark reached]" +msgid "Page '%(new_pagename)s' does not exist or you don't have enough rights." +msgstr "" + +msgid "Move aborted!" +msgstr "" + +msgid "Please use the interactive user interface to move attachments!" msgstr "" #, fuzzy -msgid "Contents" -msgstr "محتويات" - -msgid "Include system pages" -msgstr "" - -msgid "Exclude system pages" -msgstr "" - -#, fuzzy -msgid "Go To Page" -msgstr "إذهب إلى الصفحة" - -msgid "No orphaned pages in this wiki." -msgstr "" - -#, fuzzy -msgid "Python Version" -msgstr "إصدار بايثون" - -#, fuzzy -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/" +msgid "You are not allowed to move attachments from this page." +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "Move aborted because new page name is empty." 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 "Please use a valid filename for attachment '%(filename)s'." +msgstr "" + +msgid "Move aborted because new attachment name is empty." +msgstr "" + +msgid "Move" +msgstr "أنقل" #, fuzzy -msgid "Enabled" -msgstr "مفعل" - -msgid "index available" -msgstr "" - -msgid "index unavailable" -msgstr "" - -msgid "Xapian and/or Python Xapian bindings not installed" -msgstr "" +msgid "New page name" +msgstr "صفحة جديدة\n" #, fuzzy -msgid "N/A" -msgstr "غير متاح" - -msgid "Xapian search" -msgstr "" - -msgid "Stemming for Xapian" -msgstr "" - -msgid "Active threads" -msgstr "" - -msgid "Search for items" -msgstr "" - -msgid "containing all the following terms" -msgstr "يحوتي على جميع العبارات التالية" - -msgid "containing one or more of the following terms" -msgstr "يحتوي على واحدا أو أكثر من العبارات التالية" - -msgid "not containing the following terms" -msgstr "لا يحتوي على العبارات التالية" - -msgid "last modified since (e.g. last 2 weeks)" -msgstr "" - -msgid "any category" -msgstr "" - -msgid "any language" -msgstr "أي لغة" - -msgid "any mimetype" -msgstr "أي نوع MIME" - -msgid "Categories" -msgstr "" - -msgid "File Type" -msgstr "نوع الملف" - -msgid "Search only in titles" -msgstr "إبحث في العناوين فقط" - -msgid "Case-sensitive search" -msgstr "بحث حساس لحالة الحرف" - -msgid "Exclude underlay" -msgstr "" - -msgid "No system items" -msgstr "" - -msgid "Search in all page revisions" -msgstr "" - -msgid "Go get it!" +msgid "New attachment name" +msgstr "المرفقات" + +msgid "You are not allowed to get attachments from this page." +msgstr "" + +msgid "You are not allowed to install files." +msgstr "لا يسمح لك بتثبيت الملفات." + +#, python-format +msgid "Attachment '%(filename)s' installed." +msgstr "" + +msgid "You are not allowed to unzip attachments of this page." msgstr "" #, python-format -msgid "No quotes on %(pagename)s." -msgstr "" - -msgid "Search Titles" -msgstr "بحث في العناوين" - -msgid "Display context of search results" -msgstr "" - -msgid "Case-sensitive searching" -msgstr "" - -msgid "Search Text" +msgid "The file %(filename)s is not a .zip file." msgstr "" #, python-format -msgid "Please use a more selective search term instead of {{{\"%s\"}}}" +msgid "" +"Attachment '%(filename)s' not unzipped because some files in the zip are " +"either not in the same directory or exceeded the single file size limit (%" +"(maxsize_file)d kB)." +msgstr "" + +#, python-format +msgid "" +"Attachment '%(filename)s' not unzipped because it would have exceeded the " +"per page attachment storage size limit (%(size)d kB)." +msgstr "" + +#, python-format +msgid "" +"Attachment '%(filename)s' not unzipped because it would have exceeded the " +"per page attachment count limit (%(count)d)." msgstr "" #, python-format msgid "" -"Your search query {{{\"%s\"}}} is invalid. Please refer to HelpOnSearching " -"for more information." -msgstr "" - -#, python-format -msgid "Upload new attachment \"%(filename)s\"" -msgstr "" - -#, python-format -msgid "" -"%(extension_name)s %(extension_type)s: Required argument %(argument_name)s " -"missing." +"Attachment '%(filename)s' partially unzipped (did not overwrite: %(filelist)" +"s)." msgstr "" #, python-format -msgid "" -"%(extension_name)s %(extension_type)s: Invalid %(argument_name)s=%" -"(argument_value)s!" -msgstr "" - -#, python-format -msgid "" -"Current configuration does not allow embedding of the file %(file)s because " -"of its mimetype %(mimetype)s." -msgstr "" - -#, fuzzy -msgid "Embedded" -msgstr "مدمج" - -#, python-format -msgid "Unsupported navigation scheme '%(scheme)s'!" -msgstr "" - -msgid "No parent page found!" -msgstr "" - -msgid "Slideshow" +msgid "Attachment '%(filename)s' unzipped." msgstr "" #, fuzzy -msgid "Start" -msgstr "إبدأ" +msgid "A severe error occurred:" +msgstr "حدث خطاء في الخادم:" #, python-format -msgid "Slide %(pos)d of %(size)d" -msgstr "" - -msgid "Markup" -msgstr "" - -msgid "Display" -msgstr "العرض" - -msgid "No wanted pages in this wiki." -msgstr "" - -msgid "You need to provide a chart type!" +msgid "Attachment '%(filename)s'" +msgstr "" + +msgid "Download" +msgstr "تنزيل" + +msgid "Package script:" +msgstr "" + +msgid "File Name" +msgstr "إسم الملف" + +msgid "Modified" +msgstr "عُدّل" + +msgid "Size" +msgstr "الحجم" + +msgid "Unknown file type, cannot display this attachment inline." +msgstr "نوع ملف مجهول، لا يمكن إظهار هذا الملف المرفق داخل النص." + +msgid "You are not allowed to view attachments of this page." +msgstr "" + +#, python-format +msgid "attachment:%(filename)s of %(pagename)s" +msgstr "" + +#, python-format +msgid "Full Link List for \"%s\"" +msgstr "" + +#, python-format +msgid "Subscribe users to the page %s" +msgstr "" + +msgid "Enter user names (comma separated):" msgstr "" #, python-format -msgid "Bad chart type \"%s\"!" -msgstr "" - -msgid "Revert" +msgid "Subscribed for %s:" +msgstr "" + +msgid "Not a user:" +msgstr "ليس مستدخما:" + +msgid "You are not allowed to perform this action." +msgstr "لا يسمح لك القيام بهذا الإجراء." + +msgid "You are not allowed to use this action." +msgstr "لا يسمح لك استعمال هذا الإجراء" + +msgid "Rename Page" +msgstr "أعد تسمية الصفحة" + +msgid "This page is already deleted or was never created!" +msgstr "" + +msgid "Rename all /subpages too?" +msgstr "" + +msgid "New name" +msgstr "الإسم الجديد" + +msgid "Optional reason for the renaming" +msgstr "سبب إختياري لإعادة التسمية" + +msgid "Really rename this page?" +msgstr "" + +#, python-format +msgid "No pages like \"%s\"!" +msgstr "" + +#, python-format +msgid "Exactly one page like \"%s\" found, redirecting to page." +msgstr "" + +#, fuzzy, python-format +msgid "Pages like \"%s\"" +msgstr "حجم الصفحة: %d" + +#, python-format +msgid "%(matchcount)d %(matches)s for \"%(title)s\"" +msgstr "" + +#, python-format +msgid "Invalid filename \"%s\"!" +msgstr "" + +#, python-format +msgid "Created the package %s containing the pages %s." +msgstr "" + +msgid "Include all attachments?" msgstr "" #, fuzzy -msgid "You are not allowed to revert this page!" -msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" - -msgid "" -"You were viewing the current revision of this page when you called the " -"revert action. If you want to revert to an older revision, first view that " -"older revision and then call revert to this (older) revision again." -msgstr "" - -msgid "This page is already deleted or was never created!" +msgid "Package pages" +msgstr "صفحات مشابه" + +#, fuzzy +msgid "Package name" +msgstr "صفحة جديدة\n" + +msgid "List of page names - separated by a comma" msgstr "" #, fuzzy -msgid "Optional reason for reverting this page" +msgid "Delete" +msgstr "احذف الصفحة" + +msgid "Delete all /subpages too?" +msgstr "" + +#, fuzzy +msgid "Optional reason for the deletion" msgstr "سبب إختياري لإعادة التسمية" #, fuzzy -msgid "Really revert this page?" +msgid "Really delete this page?" msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" +msgid "You are now logged out." +msgstr "لقد قمت بتسجيل الخروج." + #, python-format msgid "Rolled back changes to the page %s." msgstr "" @@ -1830,10 +1741,6 @@ msgstr "" #, fuzzy -msgid "A severe error occurred:" -msgstr "حدث خطاء في الخادم:" - -#, fuzzy msgid "Synchronisation finished. Look below for the status messages." msgstr "تم إنهاء الزامنة. أنظر إلى الأسفل من أجل التقرير." @@ -1930,6 +1837,119 @@ msgid "Page %s merged with conflicts." msgstr "" +msgid "Editor" +msgstr "المحرر" + +#, fuzzy +msgid "Pages" +msgstr "صفحات" + +msgid "Select Author" +msgstr "إختر المؤلف" + +msgid "Revert all!" +msgstr "" + +#, fuzzy +msgid "Only superuser is allowed to use this action." +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 "Revert to this revision" +msgstr "" + +#, fuzzy +msgid "Previous change" +msgstr "السابق" + +#, fuzzy +msgid "Next change" +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 "(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 "" + +#, fuzzy +msgid "Add checked words to dictionary" +msgstr "أضف الكلمات المشار إليها إلى القاموس" + +#, fuzzy +msgid "No spelling errors found!" +msgstr "لم يتم العثور على أخطاء هجائية!" + +msgid "You can't save spelling words." +msgstr "" + +msgid "You can't check spelling on a page you can't read." +msgstr "لا يمكنك تدقيق الإملاء في صفحة لا تستطيع قرائتها." + +#, fuzzy +msgid "Copy Page" +msgstr "صفحاتي" + +msgid "Copy all /subpages too?" +msgstr "" + +#, fuzzy +msgid "Optional reason for the copying" +msgstr "سبب إختياري لإعادة التسمية" + +#, fuzzy +msgid "Really copy this page?" +msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" + +msgid "Revert" +msgstr "" + +#, fuzzy +msgid "You are not allowed to revert this page!" +msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" + +msgid "" +"You were viewing the current revision of this page when you called the " +"revert action. If you want to revert to an older revision, first view that " +"older revision and then call revert to this (older) revision again." +msgstr "" + +#, fuzzy +msgid "Optional reason for reverting this page" +msgstr "سبب إختياري لإعادة التسمية" + +#, fuzzy +msgid "Really revert this page?" +msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" + msgid "" "You need to manually go to your OpenID provider wiki\n" "and log in before you can use your OpenID. MoinMoin will\n" @@ -1985,277 +2005,11 @@ "verification." 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 "" - -#, fuzzy -msgid "Package pages" -msgstr "صفحات مشابه" - -#, fuzzy -msgid "Package name" -msgstr "صفحة جديدة\n" - -msgid "List of page names - separated by a comma" -msgstr "" - -#, python-format -msgid "No pages like \"%s\"!" -msgstr "" - msgid "Please choose:" msgstr "" -#, fuzzy, python-format -msgid "You must login to use this action: %(action)s." -msgstr "يجب عليك تسجيل دخولك لاستعمال الأشتراكات." - -#, fuzzy -msgid "You must login to remove a quicklink." -msgstr "يجب عليك تسجيل دخولك لإضافة رابط سريع" - -msgid "Your quicklink to this page has been removed." -msgstr "تم إزالة رابطك السريع لهذه الصفحة." - -msgid "Your quicklink to this page could not be removed." -msgstr "" - -#, fuzzy -msgid "You need to have a quicklink to this page to remove it." -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 "استعادة" - -#, fuzzy -msgid "You are not allowed to do remote backup." -msgstr "لا يسمح لك القيام بهذا الإجراء." - -#, fuzzy, python-format -msgid "Unknown backup subaction: %s." -msgstr "نفذ عملية %(actionname)s?" - -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 "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 all /subpages too?" -msgstr "" - -msgid "New name" -msgstr "الإسم الجديد" - -msgid "Optional reason for the renaming" -msgstr "سبب إختياري لإعادة التسمية" - -msgid "Really rename this page?" -msgstr "" - -msgid "Your subscription to this page has been removed." -msgstr "تم إزالة اشتراكك بهذه الصفحة." - -msgid "Can't remove regular expression subscription!" -msgstr "" - -msgid "Edit the subscription regular expressions in your settings." -msgstr "" - -#, fuzzy -msgid "You need to be subscribed to unsubscribe." -msgstr "لا يسمح لك بتحرير هذه الصفحة" - -msgid "TextCha: Wrong answer! Go back and try again..." -msgstr "" - -msgid "Copy all /subpages too?" -msgstr "" - -#, fuzzy -msgid "Optional reason for the copying" -msgstr "سبب إختياري لإعادة التسمية" - -#, fuzzy -msgid "Really copy 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 "" - -#, fuzzy -msgid "Previous change" -msgstr "السابق" - -#, fuzzy -msgid "Next change" -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 "Load" -msgstr "حمّل" - -msgid "Pagename not specified!" -msgstr "" - -msgid "Upload page content" -msgstr "" - -msgid "" -"You can upload content for the page named below. If you change the page " -"name, you can also upload content for another page. If the page name is " -"empty, we derive the page name from the file name." -msgstr "" - -msgid "File to load page content from" -msgstr "" - -#, fuzzy -msgid "Comment" -msgstr "تعليق" - -#, fuzzy -msgid "Page Name" -msgstr "صفحة جديدة\n" - -msgid "You are not allowed to subscribe to a page you can't read." -msgstr "لا يسمح لك الإشتراك بصفحة لا تستطيع قرائتها." - -msgid "This wiki is not enabled for mail/Jabber processing." -msgstr "" - -msgid "You must log in to use subscriptions." -msgstr "يجب عليك تسجيل دخولك لاستعمال الأشتراكات." - -msgid "" -"Add your email address or Jabber ID in your user settings to use " -"subscriptions." -msgstr "" - -#, fuzzy -msgid "You are already subscribed to this page." -msgstr "لا يسمح لك بتحرير هذه الصفحة" - -msgid "You have been subscribed to this page." -msgstr "" - -#, fuzzy -msgid "You could not get subscribed to this page." -msgstr "لا يسمح لك بتحرير هذه الصفحة" +msgid "Settings" +msgstr "إعدادات" msgid "General Information" msgstr "معلومات عامة" @@ -2273,27 +2027,24 @@ msgid "This page links to the following pages:" msgstr "" -msgid "Size" -msgstr "الحجم" - msgid "Diff" msgstr "فروقات" -msgid "Editor" -msgstr "المحرر" - -msgid "view" -msgstr "" - #, fuzzy msgid "to previous" msgstr "السابق" -msgid "get" -msgstr "" - -msgid "del" -msgstr "" +#, python-format +msgid "Revert to revision %(rev)d." +msgstr "" + +#, python-format +msgid "Renamed from '%(oldpagename)s'." +msgstr "" + +#, fuzzy +msgid "N/A" +msgstr "غير متاح" #, fuzzy msgid "Revision History" @@ -2313,50 +2064,6 @@ msgid "General Page Infos" msgstr "معلومات عامة عن الصفحة" -msgid "" -"Cannot create a new page without a page name. Please specify a page name." -msgstr "" - -#, fuzzy -msgid "Delete" -msgstr "احذف الصفحة" - -msgid "Delete all /subpages too?" -msgstr "" - -#, fuzzy -msgid "Optional reason for the deletion" -msgstr "سبب إختياري لإعادة التسمية" - -#, fuzzy -msgid "Really delete this page?" -msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" - -#, fuzzy -msgid "You are not allowed to create the supplementation page." -msgstr "!لا يسمح لك بالعودة إلى هذه الصفحة" - -#, fuzzy -msgid "Only superuser is allowed to use this action." -msgstr "لا يسمح لك استعمال هذا الإجراء" - -#, python-format -msgid "Subscribe users to the page %s" -msgstr "" - -msgid "Enter user names (comma separated):" -msgstr "" - -#, python-format -msgid "Subscribed for %s:" -msgstr "" - -msgid "Not a user:" -msgstr "ليس مستدخما:" - -msgid "You are not allowed to perform this action." -msgstr "لا يسمح لك القيام بهذا الإجراء." - #, python-format msgid "(!) Only pages changed since '''%s''' are being displayed!" msgstr "" @@ -2367,6 +2074,10 @@ msgstr "" #, python-format +msgid "Please use a more selective search term instead of {{{\"%s\"}}}" +msgstr "" + +#, python-format msgid "Title Search: \"%s\"" msgstr "" @@ -2380,6 +2091,12 @@ #, python-format msgid "" +"Your search query {{{\"%s\"}}} is invalid. Please refer to HelpOnSearching " +"for more information." +msgstr "" + +#, python-format +msgid "" "Your search query {{{\"%s\"}}} didn't return any results. Please change some " "terms and refer to HelpOnSearching for more information.%s" msgstr "" @@ -2401,6 +2118,10 @@ msgid "User account created! You can use this account to login now..." msgstr "تم إنشاء حساب المستخدم! بإمكانك إستخدام هذا الحساب للولوج الآن..." +#, fuzzy +msgid "(Use FirstnameLastname)" +msgstr "(استخدم الاسم الأول الاسم الأخير)" + msgid "TextCha (required)" msgstr "" @@ -2410,356 +2131,662 @@ msgid "Create Account" msgstr "" -msgid "You must login to add a quicklink." -msgstr "يجب عليك تسجيل دخولك لإضافة رابط سريع" - -msgid "A quicklink to this page has been added for you." -msgstr "تم إضافة رابط سريع إلى هذه الصفحة من أجلك." - -msgid "A quicklink to this page could not be added for you." +msgid "Your subscription to this page has been removed." +msgstr "تم إزالة اشتراكك بهذه الصفحة." + +msgid "Can't remove regular expression subscription!" +msgstr "" + +msgid "Edit the subscription regular expressions in your settings." +msgstr "" + +#, fuzzy +msgid "You need to be subscribed to unsubscribe." +msgstr "لا يسمح لك بتحرير هذه الصفحة" + +msgid "Diffs" +msgstr "" + +msgid "Info" msgstr "" #, fuzzy -msgid "You already have a quicklink to this page." -msgstr "لقد قمت بحفظ هذه الصفحة مسبقا!" - -msgid "You are not allowed to use this action." -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 "افتح المحرر عند النقر المزدوج" + +#, fuzzy +msgid "After login, jump to last visited page" +msgstr "بعد الولوج، إذهب إلى آخر صفحة تمت زيارتها" + +msgid "Show comment sections" +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 "Disable this account forever" +msgstr "عطل هذا الحساب للأبد" + +msgid "Alias-Name" +msgstr "الأسم المستعار" + +msgid "Jabber ID" +msgstr "" + +msgid "User CSS URL" +msgstr "" + +msgid "(Leave it empty for disabling user CSS)" +msgstr "URL CSS المستخدم" + +msgid "Editor size" +msgstr "حجم المحرر" + +msgid "Unsubscribe" +msgstr "إلغاء الإشتراك" + +msgid "Home" +msgstr "" + +msgid "[RSS]" +msgstr "" + +msgid "[DELETED]" +msgstr "" + +msgid "[UPDATED]" +msgstr "" + +msgid "[RENAMED]" +msgstr "" + +msgid "[CONFLICT]" +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 "Logout" +msgstr "تسجيل الخروج" + +msgid "Clear message" +msgstr "" + +#, python-format +msgid "last edited %(time)s by %(editor)s" +msgstr "" #, python-format -msgid "(including %(localwords)d %(pagelink)s)" +msgid "last modified %(time)s" +msgstr "آخدر تعديل %(time)s" + +msgid "Search:" +msgstr "البحث:" + +msgid "Text" +msgstr "النص" + +msgid "Titles" +msgstr "العناوين" + +msgid "Search" +msgstr "ابحث" + +msgid "More Actions:" +msgstr "أفعال أكثر:" + +#, fuzzy +msgid "------------------------" +msgstr "------------" + +msgid "Raw Text" +msgstr "نص مجرد" + +msgid "Print View" +msgstr "معاينة الطباعة" + +#, fuzzy +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 "" + +#, fuzzy +msgid "Remove Spam" +msgstr "أزل السخام" + +msgid "Package Pages" +msgstr "" + +msgid "Render as Docbook" +msgstr "" + +#, fuzzy +msgid "Sync Pages" +msgstr "صفحاتي" + +msgid "Do" +msgstr "" + +#, fuzzy +msgid "Comments" +msgstr "تصريح" + +msgid "Edit (Text)" +msgstr "تحرير(نصي)" + +msgid "Edit (GUI)" +msgstr "تحرير (رسومي) " + +#, fuzzy +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 "Wiki" +msgstr "ويكي" + +msgid "Page" +msgstr "الصفحة" + +msgid "User" +msgstr "المستخدم" + +msgid "[ATTACH]" +msgstr "" + +#, fuzzy +msgid "Variable name" +msgstr "إسم الملف" + +msgid "Description" +msgstr "" + +#, python-format +msgid "Upload new attachment \"%(filename)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 "" - -#, fuzzy -msgid "Add checked words to dictionary" -msgstr "أضف الكلمات المشار إليها إلى القاموس" - -#, fuzzy -msgid "No spelling errors found!" -msgstr "لم يتم العثور على أخطاء هجائية!" - -msgid "You can't save spelling words." -msgstr "" - -msgid "You can't check spelling on a page you can't read." -msgstr "لا يمكنك تدقيق الإملاء في صفحة لا تستطيع قرائتها." - -msgid "You are now logged out." -msgstr "لقد قمت بتسجيل الخروج." - -msgid "If this account exists an email was sent." -msgstr "" - -msgid "" -"This wiki is not enabled for mail processing.\n" -"Contact the owner of the wiki, who can enable email." -msgstr "" - -#, fuzzy -msgid "Please provide a valid email address or a username!" -msgstr "الرجاء تزويد عنوان بريد إلكتروني صحيح!" - -msgid "Mail me my account data" -msgstr "إبعث لي بيانات حسابي بالبريد الإلكتروني." - -msgid "Recovery token" -msgstr "" - -#, fuzzy -msgid "New password" -msgstr "كلمةالسرّ" - -#, fuzzy -msgid "New password (repeat)" -msgstr "اعادة كلمة السر" - -#, fuzzy -msgid "Reset my password" -msgstr "كلمةالسرّ" - -#, fuzzy -msgid "Your password has been changed, you can log in now." -msgstr "تم تغيير كلمة السر الخاصة بك." - -msgid "Your token is invalid!" -msgstr "" - -#, fuzzy -msgid "Password reset" -msgstr "اعادة كلمة السر" - -#, fuzzy -msgid "" -"\n" -"== Password reset ==\n" -"Enter a new password below." -msgstr "لتغيير كلمة السر الخاصة بك، أدخل كلمة سر جديدة مرتين." - -#, fuzzy -msgid "Lost password" -msgstr "كلمةالسرّ" - -msgid "" -"\n" -"== Recovering a lost password ==\n" -"If you have forgotten your password, provide your email address or\n" -"username and click on '''Mail me my account data'''.\n" -"You will receive an email containing a recovery token that can be\n" -"used to change your password. The email will also contain further\n" -"instructions." -msgstr "" - -msgid "" -"\n" -"=== Password reset ===\n" -"If you already have received the email with the recovery token, enter your\n" -"username, the recovery token and a new password (twice) below." +"%(extension_name)s %(extension_type)s: Required argument %(argument_name)s " +"missing." msgstr "" #, python-format -msgid "Local Site Map for \"%s\"" -msgstr "" - -#, fuzzy -msgid "Pages" -msgstr "صفحات" - -msgid "Select Author" -msgstr "إختر المؤلف" - -msgid "Revert all!" -msgstr "" - -#, python-format -msgid "[%d attachments]" +msgid "" +"%(extension_name)s %(extension_type)s: Invalid %(argument_name)s=%" +"(argument_value)s!" msgstr "" #, python-format msgid "" -"There are <a href=\"%(link)s\">%(count)s attachment(s)</a> stored for this " -"page." -msgstr "" - -msgid "Filename of attachment not specified!" -msgstr "" - -#, python-format -msgid "Attachment '%(filename)s' does not exist!" +"Current configuration does not allow embedding of the file %(file)s because " +"of its mimetype %(mimetype)s." +msgstr "" + +#, fuzzy +msgid "Embedded" +msgstr "مدمج" + +msgid "Include system pages" +msgstr "" + +msgid "Exclude system pages" +msgstr "" + +#, fuzzy +msgid "Go To Page" +msgstr "إذهب إلى الصفحة" + +msgid "Markup" +msgstr "" + +msgid "Display" +msgstr "العرض" + +msgid "Wiki configuration" msgstr "" 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 "" - -msgid "move" -msgstr "" - -msgid "unzip" -msgstr "" - -msgid "install" -msgstr "تثبيت" - -#, python-format -msgid "No attachments stored for %(pagename)s" -msgstr "" - -msgid "Edit drawing" -msgstr "" - -msgid "New Attachment" -msgstr "ملف مرفق جديد" - -msgid "File to upload" -msgstr "" - -msgid "Rename to" -msgstr "" - -msgid "Overwrite existing attachment of same name" -msgstr "" - -msgid "Upload" -msgstr "رفع" - -msgid "Attached Files" -msgstr "الملفات المرفقة" - -msgid "You are not allowed to attach a file to this page." -msgstr "لا يسمح لك إرفاق ملف بهذه الصفحة." - -#, fuzzy, python-format -msgid "Unsupported AttachFile sub-action: %s" -msgstr "نفذ عملية %(actionname)s?" - -#, python-format -msgid "Attachments for \"%(pagename)s\"" +"This table shows all settings in this wiki that do not have default values. " +"Settings that the configuration system doesn't know about are shown in " +"''italic'', those may be due to third-party extensions needing configuration " +"or settings that were removed from Moin." msgstr "" #, fuzzy -msgid "You are not allowed to overwrite a file attachment of this page." -msgstr "لا يسمح لك بتحرير هذه الصفحة" - -msgid "" -"No file content. Delete non ASCII characters from the file name and try " -"again." -msgstr "" - -#, python-format -msgid "" -"Attachment '%(target)s' (remote name '%(filename)s') with %(bytes)d bytes " -"saved." -msgstr "" - -msgid "You are not allowed to save a drawing on this page." -msgstr "" - -msgid "You are not allowed to delete attachments on this page." +msgid "Setting" +msgstr "إعدادات" + +msgid "Search for items" +msgstr "" + +msgid "containing all the following terms" +msgstr "يحوتي على جميع العبارات التالية" + +msgid "containing one or more of the following terms" +msgstr "يحتوي على واحدا أو أكثر من العبارات التالية" + +msgid "not containing the following terms" +msgstr "لا يحتوي على العبارات التالية" + +msgid "last modified since (e.g. last 2 weeks)" +msgstr "" + +msgid "any category" +msgstr "" + +msgid "any language" +msgstr "أي لغة" + +msgid "any mimetype" +msgstr "أي نوع MIME" + +msgid "Categories" +msgstr "" + +msgid "File Type" +msgstr "نوع الملف" + +msgid "Search only in titles" +msgstr "إبحث في العناوين فقط" + +msgid "Case-sensitive search" +msgstr "بحث حساس لحالة الحرف" + +msgid "Exclude underlay" +msgstr "" + +msgid "No system items" +msgstr "" + +msgid "Search in all page revisions" +msgstr "" + +msgid "Go get it!" +msgstr "" + +#, fuzzy +msgid "File attachment browser" +msgstr "المرفقات" + +msgid "User account browser" +msgstr "" + +msgid "No wanted pages in this wiki." msgstr "" #, python-format -msgid "Attachment '%(new_pagename)s/%(new_filename)s' already exists." +msgid "Unsupported navigation scheme '%(scheme)s'!" +msgstr "" + +msgid "No parent page found!" +msgstr "" + +msgid "Slideshow" +msgstr "" + +#, fuzzy +msgid "Start" +msgstr "إبدأ" + +#, python-format +msgid "Slide %(pos)d of %(size)d" +msgstr "" + +#, fuzzy +msgid "Contents" +msgstr "محتويات" + +msgid "Search Titles" +msgstr "بحث في العناوين" + +msgid "Display context of search results" +msgstr "" + +msgid "Case-sensitive searching" +msgstr "" + +msgid "Search Text" msgstr "" #, python-format -msgid "" -"Attachment '%(pagename)s/%(filename)s' moved to '%(new_pagename)s/%" -"(new_filename)s'." -msgstr "" - -msgid "Nothing changed" -msgstr "لم يتغير أي شيء" - -#, python-format -msgid "Page '%(new_pagename)s' does not exist or you don't have enough rights." -msgstr "" - -msgid "Move aborted!" -msgstr "" - -msgid "Please use the interactive user interface to move attachments!" +msgid "No quotes on %(pagename)s." msgstr "" #, fuzzy -msgid "You are not allowed to move attachments from this page." -msgstr "لا يسمح لك بتحرير هذه الصفحة" - -msgid "Move aborted because new page name is empty." +msgid "Python Version" +msgstr "إصدار بايثون" + +#, fuzzy +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 "Please use a valid filename for attachment '%(filename)s'." -msgstr "" - -msgid "Move aborted because new attachment name is empty." -msgstr "" - -msgid "Move" -msgstr "أنقل" - -#, fuzzy -msgid "New page name" -msgstr "صفحة جديدة\n" +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 "معطل" #, fuzzy -msgid "New attachment name" -msgstr "المرفقات" - -msgid "You are not allowed to get attachments from this page." -msgstr "" - -msgid "You are not allowed to install files." -msgstr "لا يسمح لك بتثبيت الملفات." - -#, python-format -msgid "Attachment '%(filename)s' installed." -msgstr "" - -msgid "You are not allowed to unzip attachments of this page." +msgid "Enabled" +msgstr "مفعل" + +msgid "index available" +msgstr "" + +msgid "index unavailable" +msgstr "" + +msgid "Xapian and/or Python Xapian bindings not installed" +msgstr "" + +msgid "Xapian search" +msgstr "" + +msgid "Stemming for Xapian" +msgstr "" + +msgid "Active threads" msgstr "" #, python-format -msgid "The file %(filename)s is not a .zip file." +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 "" -"Attachment '%(filename)s' not unzipped because some files in the zip are " -"either not in the same directory or exceeded the single file size limit (%" -"(maxsize_file)d kB)." +msgid "(currently set to %s)" +msgstr "" + +#, fuzzy +msgid "Delete bookmark" +msgstr "احذف الصفحة" + +msgid "Set bookmark" +msgstr "" + +msgid "[Bookmark reached]" msgstr "" #, python-format -msgid "" -"Attachment '%(filename)s' not unzipped because it would have exceeded the " -"per page attachment storage size limit (%(size)d kB)." +msgid "Invalid include arguments \"%s\"!" msgstr "" #, python-format -msgid "" -"Attachment '%(filename)s' not unzipped because it would have exceeded the " -"per page attachment count limit (%(count)d)." -msgstr "" - -#, python-format -msgid "" -"Attachment '%(filename)s' partially unzipped (did not overwrite: %(filelist)" -"s)." -msgstr "" - -#, python-format -msgid "Attachment '%(filename)s' unzipped." -msgstr "" +msgid "Nothing found for \"%s\"!" +msgstr "" + +msgid "No orphaned pages in this wiki." +msgstr "" + +msgid "From" +msgstr "من" + +msgid "To" +msgstr "إلى" + +#, fuzzy +msgid "Content" +msgstr "تصريح" #, python-format -msgid "Attachment '%(filename)s'" -msgstr "" - -msgid "Download" -msgstr "تنزيل" - -msgid "Package script:" -msgstr "" - -msgid "File Name" -msgstr "إسم الملف" - -msgid "Modified" -msgstr "عُدّل" - -msgid "Unknown file type, cannot display this attachment inline." -msgstr "نوع ملف مجهول، لا يمكن إظهار هذا الملف المرفق داخل النص." - -msgid "You are not allowed to view attachments of this page." -msgstr "" - -#, python-format -msgid "attachment:%(filename)s of %(pagename)s" -msgstr "" - -#, python-format -msgid "Full Link List for \"%s\"" -msgstr "" - -#, python-format -msgid "Exactly one page like \"%s\" found, redirecting to page." -msgstr "" +msgid "Connection to mailserver '%(server)s' failed: %(reason)s" +msgstr "" + +msgid "Mail not sent" +msgstr "لم يتم ارسال البريد" + +msgid "Mail sent OK" +msgstr "تم ارسال البريد " + +msgid "[all]" +msgstr "" + +msgid "[not empty]" +msgstr "" + +msgid "[empty]" +msgstr "" + +msgid "filter" +msgstr "مرشح" + +#, fuzzy, python-format +msgid "Unknown action %(action_name)s." +msgstr "نفذ عملية %(actionname)s?" #, fuzzy, python-format -msgid "Pages like \"%s\"" -msgstr "حجم الصفحة: %d" - -#, python-format -msgid "%(matchcount)d %(matches)s for \"%(title)s\"" +msgid "You are not allowed to do %(action_name)s on this page." +msgstr "لا يسمح لك باستخدام عملية %(actionname)s في هذه الصفحة!" + +msgid "Login and try again." +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 "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 "" + +msgid "Discussion" msgstr "" #, python-format @@ -2781,16 +2808,11 @@ msgid "Toggle line numbers" msgstr "" -#, fuzzy, python-format -msgid "Unknown action %(action_name)s." -msgstr "نفذ عملية %(actionname)s?" - -#, fuzzy, python-format -msgid "You are not allowed to do %(action_name)s on this page." -msgstr "لا يسمح لك باستخدام عملية %(actionname)s في هذه الصفحة!" - -msgid "Login and try again." -msgstr "سجل الدخول و حاول مرة أخرى" +#~ msgid "Wiki Backup / Restore" +#~ msgstr "نسخ إحتياطي / إستعادة ويكي" + +#~ msgid "Restore" +#~ msgstr "استعادة" #, fuzzy #~ msgid "New Page or New Attachment" @@ -2828,10 +2850,6 @@ #~ "This list does not work, unless you have entered a valid email address!" #~ msgstr "هذه القائمة لا تعمل إلا إذا قمت بإدخال عنوان بريد إلكتروني صالح!" -#, fuzzy -#~ msgid "Filename" -#~ msgstr "إسم الملف" - #~ msgid "" #~ "The remote version of MoinMoin is too old, version 1.6 is required at " #~ "least."
--- a/MoinMoin/i18n/bg.MoinMoin.po Fri Aug 22 22:58:18 2008 +0200 +++ b/MoinMoin/i18n/bg.MoinMoin.po Tue Sep 23 00:53:18 2008 +0200 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: MoinMoin 1.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-06-21 22:47+0200\n" +"POT-Creation-Date: 2008-09-12 23:35+0200\n" "PO-Revision-Date: 2006-02-11 12:20-0800\n" "Last-Translator: Hristo Iliev <hristo@phys.uni-sofia.bg>\n" "Language-Team: Bulgarian <moin-devel@lists.sourceforge.net>\n" @@ -25,34 +25,71 @@ "X-Language-in-English: Bulgarian\n" "X-HasWikiMarkup: True\n" -msgid "<unknown>" -msgstr "<неизвестен>" - -#, fuzzy, python-format -msgid "" -"Login Name: %s\n" -"\n" -"Password recovery token: %s\n" -"\n" -"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" +#, python-format +msgid "Argument \"%s\" must be a boolean value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be a boolean value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be an integer value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be an integer value, not \"%s\"" msgstr "" -"Потребителско име: %s\n" -"\n" -"Парола за вход: %s\n" -"\n" -"URL за вход: %s/%s?action=login\n" - -msgid "" -"Somebody has requested to email you a password recovery token.\n" -"\n" -"If you lost your password, please go to the password reset URL below or\n" -"go to the password recovery page again and enter your username and the\n" -"recovery token.\n" + +#, python-format +msgid "Argument \"%s\" must be a floating point value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be a floating point value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument \"%s\" must be a complex value, not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be a complex value, not \"%s\"" msgstr "" #, python-format -msgid "[%(sitename)s] Your wiki account data" -msgstr "[%(sitename)s] Данни за Вашия уики акаунт" +msgid "Argument \"%s\" must be one of \"%s\", not \"%s\"" +msgstr "" + +#, python-format +msgid "Argument must be one of \"%s\", not \"%s\"" +msgstr "" + +#, fuzzy +msgid "Too many arguments" +msgstr "Проверете вашия аргумент %s" + +msgid "Cannot have arguments without name following named arguments" +msgstr "" + +#, python-format +msgid "Argument \"%s\" is required" +msgstr "" + +#, fuzzy, python-format +msgid "No argument named \"%s\"" +msgstr "Няма страници подобни на \"%s\"!" + +#, python-format +msgid "Expected \"=\" to follow \"%(token)s\"" +msgstr "Очаква се \"=\" след \"%(token)s\"" + +#, python-format +msgid "Expected a value for key \"%(token)s\"" +msgstr "Очаква се стойност на ключа \"%(token)s\"" + +msgid "Your changes are not saved!" +msgstr "Вашите промени не са записани!" msgid "You are not allowed to edit this page." msgstr "Не е позволено да редактирате тази страница." @@ -66,6 +103,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 "Draft of \"%(pagename)s\"" msgstr "Чернова на \"%(pagename)s\"" @@ -162,8 +202,8 @@ msgid "Preview" msgstr "Предварителен изглед" -msgid "Text mode" -msgstr "Текстов режим" +msgid "GUI Mode" +msgstr "Визуален режим" msgid "Load Draft" msgstr "Зареждане на чернова" @@ -184,78 +224,6 @@ msgid "Remove trailing whitespace from each line" msgstr "Премахване на крайните интервали от всеки ред" -#, python-format -msgid "Argument \"%s\" must be a boolean value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a boolean value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be an integer value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be an integer value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be a floating point value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a floating point value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be a complex value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be a complex value, not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument \"%s\" must be one of \"%s\", not \"%s\"" -msgstr "" - -#, python-format -msgid "Argument must be one of \"%s\", not \"%s\"" -msgstr "" - -#, fuzzy -msgid "Too many arguments" -msgstr "Проверете вашия аргумент %s" - -msgid "Cannot have arguments without name following named arguments" -msgstr "" - -#, python-format -msgid "Argument \"%s\" is required" -msgstr "" - -#, fuzzy, python-format -msgid "No argument named \"%s\"" -msgstr "Няма страници подобни на \"%s\"!" - -#, python-format -msgid "Expected \"=\" to follow \"%(token)s\"" -msgstr "Очаква се \"=\" след \"%(token)s\"" - -#, python-format -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 "Редакцията беше отменена." @@ -399,6 +367,38 @@ "за да избегнете конфликти.'''<<BR>>\n" "За да напуснете редактора, натиснете бутона Отказ." +msgid "<unknown>" +msgstr "<неизвестен>" + +#, python-format +msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" +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 "Версия %(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\"" + +msgid "Create New Page" +msgstr "Създай нова страница" + +msgid "You are not allowed to view this page." +msgstr "Не е позволено да разглеждате тази страница." + msgid "The wiki is currently not reachable." msgstr "Уикито не е достъпно в момента." @@ -413,6 +413,9 @@ "Отдалеченото уики използва вътрешно InterWiki име (%(remotename)s), различно " "от указаното (%(localname)s)." +msgid "Text mode" +msgstr "Текстов режим" + #, python-format msgid "The package needs a newer version of MoinMoin (at least %s)." msgstr "Този пакет изисква по-нова версия на MoinMoin (поне %s)." @@ -451,49 +454,50 @@ msgid "The file %s was not found in the package." msgstr "Файлът %s не беше открит в пакета." -#, python-format -msgid "Invalid highlighting regular expression \"%(regex)s\": %(error)s" +#, fuzzy, python-format +msgid "" +"Login Name: %s\n" +"\n" +"Password recovery token: %s\n" +"\n" +"Password reset URL: %s/?action=recoverpass&name=%s&token=%s\n" msgstr "" +"Потребителско име: %s\n" +"\n" +"Парола за вход: %s\n" +"\n" +"URL за вход: %s/%s?action=login\n" msgid "" -"The backed up content of this page is deprecated and will not be included in " -"search results!" +"Somebody has requested to email you a password recovery token.\n" +"\n" +"If you lost your password, please go to the password reset URL below or\n" +"go to the password recovery page again and enter your username and the\n" +"recovery token.\n" 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\"" - -msgid "Create New Page" -msgstr "Създай нова страница" - -msgid "You are not allowed to view this page." -msgstr "Не е позволено да разглеждате тази страница." - -msgid "[all]" -msgstr "[всички]" - -msgid "[not empty]" -msgstr "[не празни]" - -msgid "[empty]" -msgstr "[празни]" - -msgid "filter" -msgstr "филтър" - -msgid "about" +msgid "[%(sitename)s] Your wiki account data" +msgstr "[%(sitename)s] Данни за Вашия уики акаунт" + +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 "" +"Съжаляваме, но страницата не може да бъде записана, защото \"%(content)s\" е " +"непозволено съдържание." #, python-format msgid "" @@ -529,68 +533,78 @@ msgid "matches" msgstr "съвпадения" -msgid "Line" -msgstr "Ред" - -msgid "No differences found!" -msgstr "Не са открити разлики!" - -msgid "Deletions are marked like this." -msgstr "Изтритото е отбелязано така." - -msgid "Additions are marked like this." -msgstr "Добавките са отбелязани така." - -msgid "Name" -msgstr "Име" - -msgid "Password" -msgstr "Парола" - -msgid "OpenID" +msgid "about" +msgstr "" + +msgid "Language" +msgstr "Език" + +msgid "<Browser setting>" +msgstr "<Настройка на браузъра>" + +msgid "Others" +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 "%(chart_title)s за %(filterpage)s" + +msgid "" +"green=view\n" +"red=edit" msgstr "" - -msgid "Login" -msgstr "Вход" - -#, fuzzy -msgid "Username" -msgstr "Потребител" - -#, fuzzy -msgid "Member of Groups" -msgstr "Брой страници" - -msgid "Email" -msgstr "ел. поща" - -msgid "Jabber" +"зелено=преглед\n" +"червено=редакция" + +msgid "date" +msgstr "дата" + +msgid "# of hits" +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 "Distribution of User-Agent Types" +msgstr "Разпределение на типа браузъри" + +msgid "Could not contact botbouncer.com." msgstr "" -msgid "Action" -msgstr "Действие" - -#, fuzzy -msgid "Enable user" -msgstr "Включен" - -#, fuzzy -msgid "disabled" -msgstr "Изключен" - -#, fuzzy -msgid "Disable user" -msgstr "Изключен" - -#, fuzzy -msgid "Mail account data" -msgstr "Изпрати ми моите данни по пощата" +msgid "Failed to connect to database." +msgstr "" msgid "Missing password. Please enter user name and password." msgstr "Липсва парола. Моля, въведете потребителско име и парола." #, python-format -msgid "LDAP server %(server)s failed." +msgid "" +"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " +"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" msgstr "" #, fuzzy @@ -598,9 +612,7 @@ msgstr "Вие излязохте успешно." #, python-format -msgid "" -"If you do not have an account, <a href=\"%(userprefslink)s\">you can create " -"one now</a>. <a href=\"%(sendmypasswordlink)s\">Forgot your password?</a>" +msgid "LDAP server %(server)s failed." msgstr "" msgid "" @@ -609,6 +621,9 @@ "password and be able to associate the account with your OpenID." msgstr "" +msgid "Name" +msgstr "Име" + msgid "Choose this name" msgstr "" @@ -622,6 +637,9 @@ "username and leave the password field blank." msgstr "" +msgid "Password" +msgstr "Парола" + msgid "Associate this name" msgstr "" @@ -662,552 +680,49 @@ "create one during login." msgstr "" -msgid "Failed to connect to database." -msgstr "" - -msgid "Could not contact botbouncer.com." +msgid "Page has been modified" msgstr "" -msgid "Wiki" -msgstr "Уики" - -msgid "Page" -msgstr "Страница" - -msgid "User" -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 "Home" -msgstr "Начало" - -msgid "Up" -msgstr "Нагоре" - -msgid "[RSS]" -msgstr "[RSS]" - -msgid "[DELETED]" -msgstr "[ИЗТРИТА]" - -msgid "[UPDATED]" -msgstr "[ОБНОВЕНА]" - -msgid "[RENAMED]" -msgstr "[ПРЕИМЕНУВАНА]" - -msgid "[CONFLICT]" -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 "Settings" +msgid "Page has been modified in a trivial fashion" 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 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 "Rename Page" -msgstr "Преименуване на страницата" - -msgid "Copy 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 "Revert to this revision" -msgstr "Връщане до тази версия" - -msgid "Package Pages" -msgstr "Пакетиране на страници" - -msgid "Render as Docbook" -msgstr "Изобразяване като Docbook" - -msgid "Sync Pages" -msgstr "Синхронизация на страници" - -msgid "Do" -msgstr "Действай!" - -msgid "Comments" -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 "Date" -msgstr "Дата" - -msgid "From" -msgstr "От" - -msgid "To" -msgstr "До" - -msgid "Content" -msgstr "Съдържание" - -#, 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 "Пощата е изпратена успешно." - -msgid "" -"Rendering of reStructured text is not possible, please install Docutils." +#, fuzzy +msgid "Page has been renamed" +msgstr "Попадения и редакции на страницата" + +#, fuzzy +msgid "Page has been deleted" +msgstr "Страница \"%s\" беше изтрита успешно!" + +#, fuzzy +msgid "Page has been copied" +msgstr "Попадения и редакции на страницата" + +#, fuzzy +msgid "A new attachment has been added" +msgstr "Ново име на приложение" + +msgid "A page has been reverted to a previous state" msgstr "" -"Изобразяването на реСтруктуриран текст е невъзможно. Моля, инсталирайте " -"Docutils." - -msgid "**Maximum number of allowed includes exceeded**" -msgstr "**Надхвърлен е максималния брой include**" - -#, fuzzy, python-format -msgid "**You are not allowed to read the page: %s**" -msgstr "Нямате право да преименувате тази страница!" - -#, python-format -msgid "**Could not find the referenced page: %s**" -msgstr "**Сочената страница не е открита: %s**" - -msgid "XSLT option disabled, please look at HelpOnConfiguration." -msgstr "Опцията за XSLT е забранена, моля погледнете ПомощПриКонфигуриране." - -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 "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\"" -msgstr "Очаква се \"%(wanted)s\" след \"%(key)s\", а е открит \"%(token)s\"" - -#, python-format -msgid "Expected an integer \"%(key)s\" before \"%(token)s\"" -msgstr "Очаква се цяло число \"%(key)s\" преди \"%(token)s\"" - -#, python-format -msgid "Expected an integer \"%(arg)s\" after \"%(key)s\"" -msgstr "Очаква се цяло число \"%(arg)s\" след \"%(key)s\"" - -#, python-format -msgid "Expected a color value \"%(arg)s\" after \"%(key)s\"" -msgstr "Очаква се стойност на цвят \"%(arg)s\" след \"%(key)s\"" - -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 "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 "ПроверкаПравопис" - -msgid "Discussion" + +#, fuzzy +msgid "A user has subscribed to a page" +msgstr "Бяхте абонирани за тази страница." + +msgid "A new account has been created" msgstr "" #, python-format -msgid "" -"Sorry, can not save page because \"%(content)s\" is not allowed in this wiki." -msgstr "" -"Съжаляваме, но страницата не може да бъде записана, защото \"%(content)s\" е " -"непозволено съдържание." - -msgid "Notification" -msgstr "" - -msgid "Notification settings saved!" -msgstr "" - -#, fuzzy -msgid "'''Email'''" -msgstr "ел. поща" - -msgid "'''Jabber'''" -msgstr "" - -msgid "'''Event type'''" -msgstr "" - -msgid "Select the events you want to be notified about." -msgstr "" - -msgid "" -"Before you can be notified, you need to provide a way to contact you in the " -"general preferences." -msgstr "" - -#, fuzzy -msgid "Subscribed events" -msgstr "Абониране на потребител" - -#, fuzzy -msgid "Subscribed wiki pages<<BR>>(one regex per line)" -msgstr "Абонаменти за уики страници (по един шаблон на ред)" - -msgid "Save" -msgstr "Запис" - -#, fuzzy -msgid "Change password" -msgstr "Парола" - -msgid "Passwords don't match!" -msgstr "Паролите не съвпадат!" - -msgid "Please specify a password!" -msgstr "Моля въведете парола!" - -#, python-format -msgid "Password not acceptable: %s" -msgstr "" - -msgid "Your password has been changed." -msgstr "" - -msgid "To change your password, enter a new password twice." -msgstr "" - -msgid "Password repeat" -msgstr "Повторение на паролата" - -msgid "Switch user" -msgstr "" - -msgid "No user selected" -msgstr "" - -msgid "" -"You can now change the settings of the selected user account; log out to get " -"back to your account." -msgstr "" - -msgid "You are the only user." -msgstr "" - -msgid "" -"As a superuser, you can temporarily assume the identity of another user." -msgstr "" - -msgid "Select User" -msgstr "Избор на потребител" - -msgid "OpenID settings" -msgstr "" - -msgid "Cannot remove all OpenIDs." -msgstr "" - -msgid "The selected OpenIDs have been removed." -msgstr "" - -msgid "No OpenID given." -msgstr "" - -msgid "OpenID is already present." -msgstr "" - -#, fuzzy -msgid "This OpenID is already used for another account." -msgstr "Тази страница вече е изтрита или никога не е била създавана!" - -msgid "OpenID added successfully." -msgstr "" - -msgid "Current OpenIDs" -msgstr "" - -msgid "Remove selected" -msgstr "" - -msgid "Add OpenID" -msgstr "" - -msgid "Preferences" -msgstr "Предпочитания" +msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" +msgstr "[%(sitename)s] %(trivial)sПромяна на \"%(pagename)s\" от %(username)s" + +msgid "Trivial " +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 "Empty user name. Please enter a user name." -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 "Този ел. поща вече принадлежи на някой друг." - -#, fuzzy -msgid "This jabber id already belongs to somebody else." -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 "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 "OpenID server" -msgstr "" - -msgid "The selected websites have been removed." -msgstr "" - -msgid "Trusted websites" +"Attachment link: %(attach)s\n" +"Page link: %(page)s\n" msgstr "" #, fuzzy, python-format @@ -1278,7 +793,8 @@ #, python-format msgid "" -"Dear Superuser, a new user has just been created. Details follow:\n" +"Dear Superuser, a new user has just been created on %(sitename)s\". Details " +"follow:\n" "\n" " User name: %(username)s\n" " Email address: %(useremail)s" @@ -1300,51 +816,6 @@ "Attachment size: %(attach_size)s\n" msgstr "" -msgid "Page has been modified" -msgstr "" - -msgid "Page has been modified in a trivial fashion" -msgstr "" - -#, fuzzy -msgid "Page has been renamed" -msgstr "Попадения и редакции на страницата" - -#, fuzzy -msgid "Page has been deleted" -msgstr "Страница \"%s\" беше изтрита успешно!" - -#, fuzzy -msgid "Page has been copied" -msgstr "Попадения и редакции на страницата" - -#, fuzzy -msgid "A new attachment has been added" -msgstr "Ново име на приложение" - -msgid "A page has been reverted to a previous state" -msgstr "" - -#, fuzzy -msgid "A user has subscribed to a page" -msgstr "Бяхте абонирани за тази страница." - -msgid "A new account has been created" -msgstr "" - -#, python-format -msgid "[%(sitename)s] %(trivial)sUpdate of \"%(pagename)s\" by %(username)s" -msgstr "[%(sitename)s] %(trivial)sПромяна на \"%(pagename)s\" от %(username)s" - -msgid "Trivial " -msgstr "Незначителна " - -#, python-format -msgid "" -"Attachment link: %(attach)s\n" -"Page link: %(page)s\n" -msgstr "" - #, fuzzy msgid "Attachment link" msgstr "Приложения" @@ -1361,68 +832,6 @@ msgid "Page changed" msgstr "Запис на промените" -msgid "Options --pages and --search are mutually exclusive!" -msgstr "" - -msgid "You must specify an output file!" -msgstr "" - -msgid "No pages specified using --pages or --search, assuming full package." -msgstr "" - -msgid "Output file already exists! Cowardly refusing to continue!" -msgstr "" - -msgid "Language" -msgstr "Език" - -msgid "Others" -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 "Views/day" -msgstr "Прегледа/ден" - -msgid "Edits/day" -msgstr "Редакции/ден" - -msgid "Page hits and edits" -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 "User agent" -msgstr "Браузър" - -msgid "Distribution of User-Agent Types" -msgstr "Разпределение на типа браузъри" - #, fuzzy msgid "" " Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')" @@ -1459,6 +868,38 @@ "\n" "(!) За повече помощ вижте ПомощПриРедактиране или СинтактичноУпътване.\n" +#, python-format +msgid "Expected \"%(wanted)s\" after \"%(key)s\", got \"%(token)s\"" +msgstr "Очаква се \"%(wanted)s\" след \"%(key)s\", а е открит \"%(token)s\"" + +#, python-format +msgid "Expected an integer \"%(key)s\" before \"%(token)s\"" +msgstr "Очаква се цяло число \"%(key)s\" преди \"%(token)s\"" + +#, python-format +msgid "Expected an integer \"%(arg)s\" after \"%(key)s\"" +msgstr "Очаква се цяло число \"%(arg)s\" след \"%(key)s\"" + +#, python-format +msgid "Expected a color value \"%(arg)s\" after \"%(key)s\"" +msgstr "Очаква се стойност на цвят \"%(arg)s\" след \"%(key)s\"" + +msgid "XSLT option disabled, please look at HelpOnConfiguration." +msgstr "Опцията за XSLT е забранена, моля погледнете ПомощПриКонфигуриране." + +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 при обработката" + +msgid "" +"Rendering of reStructured text is not possible, please install Docutils." +msgstr "" +"Изобразяването на реСтруктуриран текст е невъзможно. Моля, инсталирайте " +"Docutils." + #, fuzzy msgid "" "{{{\n" @@ -1497,6 +938,17 @@ "Бързо Ръководство по реСтруктуриранТекст\n" "</a>.\n" +msgid "**Maximum number of allowed includes exceeded**" +msgstr "**Надхвърлен е максималния брой include**" + +#, fuzzy, python-format +msgid "**You are not allowed to read the page: %s**" +msgstr "Нямате право да преименувате тази страница!" + +#, python-format +msgid "**Could not find the referenced page: %s**" +msgstr "**Сочената страница не е открита: %s**" + #, fuzzy msgid "" " Emphasis:: <<Verbatim(//)>>''italics''<<Verbatim(//)>>; <<Verbatim(**)" @@ -1532,346 +984,500 @@ "\n" "(!) За повече помощ вижте ПомощПриРедактиране или СинтактичноУпътване.\n" -msgid "UnSubscribe" -msgstr "РазАбониране" - -msgid "Publish my email (not my wiki homepage) in author info" -msgstr "" -"Публикуване на email адресът ми (вместо уики страницата ми) в авторската " -"информация." - -msgid "Open editor on double click" -msgstr "Отваряне на редактор при двойно кликане" - -msgid "After login, jump to last visited page" -msgstr "Отиване на последната посетена страница след влизане" - -msgid "Show comment sections" -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 "Disable this account forever" -msgstr "Вечна забрана на тази потребителска сметка" - -#, fuzzy -msgid "(Use FirstnameLastname)" -msgstr "(използвайте Име''''''Фамилия)" - -msgid "Alias-Name" -msgstr "Псевдоним" - -msgid "Jabber ID" -msgstr "" - -msgid "User CSS URL" -msgstr "URL на потребителски CSS" - -msgid "(Leave it empty for disabling user CSS)" -msgstr "(Оставете празно за забрана на потребителския CSS)" - -msgid "Editor size" -msgstr "Размер на редактора" - -#, fuzzy -msgid "File attachment browser" -msgstr "Ново име на приложение" - -msgid "User account browser" -msgstr "" - -#, python-format -msgid "Invalid include arguments \"%s\"!" -msgstr "Неправилни аргументи на include \"%s\"!" - -#, python-format -msgid "Nothing found for \"%s\"!" -msgstr "Не е намерено нищо за \"%s\"!" - -msgid "edit" -msgstr "редактирай" - -#, python-format -msgid "Upload of attachment '%(filename)s'." -msgstr "Качване на приложение '%(filename)s'." - -#, python-format -msgid "Attachment '%(filename)s' deleted." -msgstr "Приложение '%(filename)s' - изтрито." - -#, python-format -msgid "Drawing '%(filename)s' saved." -msgstr "Чертеж '%(filename)s' - записан." - -#, python-format -msgid "Revert to revision %(rev)d." -msgstr "Върната е версия %(rev)d." - -#, python-format -msgid "Renamed from '%(oldpagename)s'." -msgstr "Преименувана от '%(oldpagename)s'." - -#, python-format -msgid "%(mins)dm ago" -msgstr "преди %(mins)dm" - -msgid "(no bookmark set)" -msgstr "(не е поставена отметка)" - -#, python-format -msgid "(currently set to %s)" -msgstr "(в момента е поставена за %s)" - -msgid "Delete bookmark" -msgstr "Изтриване на отметка" - -msgid "Set bookmark" -msgstr "Поставяне на отметка" - -msgid "[Bookmark reached]" -msgstr "[Достигната е отметка]" - -msgid "Contents" -msgstr "Съдържание" - -msgid "Include system pages" -msgstr "Включи системните страници" - -msgid "Exclude system pages" -msgstr "Прескочи системните страници" - -msgid "Go To Page" -msgstr "Отиди на страница" - -msgid "No orphaned pages in this wiki." -msgstr "Не съществуват страници-сираци в това уики." - -msgid "Python Version" -msgstr "Версия на Python" - -msgid "MoinMoin Version" -msgstr "Версия на MoinMoin" - -#, python-format -msgid "Release %s [Revision %s]" -msgstr "Издание %s [Ревизия %s]" - -msgid "4Suite Version" -msgstr "Версия на 4Suite"