* Finally implemented a simple per-page data storage mechanism for plugins,

via the %pagestate hash.
* Use pagestate in meta to detect potential redir loops.
master
Joey Hess 2007-12-08 17:40:50 -05:00
parent 2fbca21390
commit 055179cb4c
18 changed files with 240 additions and 108 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
Makefile
Makefile.old
blib/*
doc/.ikiwiki/*
html/*

View File

@ -10,15 +10,16 @@ use POSIX;
use open qw{:utf8 :std};
use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase
%renderedfiles %oldrenderedfiles %pagesources %destsources
%depends %hooks %forcerebuild $gettext_obj};
%pagestate %renderedfiles %oldrenderedfiles %pagesources
%destsources %depends %hooks %forcerebuild $gettext_obj};
use Exporter q{import};
our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
bestlink htmllink readfile writefile pagetype srcfile pagename
displaytime will_render gettext urlto targetpage
add_underlay
%config %links %renderedfiles %pagesources %destsources);
%config %links %pagestate %renderedfiles
%pagesources %destsources);
our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE
my $installdir=''; # INSTALLDIR_AUTOREPLACE done by Makefile, DNE
@ -868,6 +869,10 @@ sub loadindex () { #{{{
$destsources{$_}=$page foreach @{$items{dest}};
$renderedfiles{$page}=[@{$items{dest}}];
$pagecase{lc $page}=$page;
foreach my $k (grep /_/, keys %items) {
my ($id, $key)=split(/_/, $k, 2);
$pagestate{$page}{decode_entities($id)}{decode_entities($key)}=$items{$k};
}
}
$oldrenderedfiles{$page}=[@{$items{dest}}];
$pagectime{$page}=$items{ctime}[0];
@ -878,6 +883,12 @@ sub loadindex () { #{{{
sub saveindex () { #{{{
run_hooks(savestate => sub { shift->() });
my %hookids;
foreach my $type (keys %hooks) {
$hookids{encode_entities($_)}=1 foreach keys %{$hooks{$type}};
}
my @hookids=sort keys %hookids;
if (! -d $config{wikistatedir}) {
mkdir($config{wikistatedir});
}
@ -895,6 +906,13 @@ sub saveindex () { #{{{
if (exists $depends{$page}) {
$line.=" depends=".encode_entities($depends{$page}, " \t\n");
}
if (exists $pagestate{$page}) {
foreach my $id (@hookids) {
foreach my $key (keys %{$pagestate{$page}{$id}}) {
$line.=' '.$id.'_'.encode_entities($key)."=".encode_entities($pagestate{$page}{$id}{$key});
}
}
}
print $out $line."\n" || error("failed writing to $newfile: $!", $cleanup);
}
close $out || error("failed saving to $newfile: $!", $cleanup);

View File

@ -132,6 +132,24 @@ sub setvar ($$$;@) { #{{{
return $ret;
} #}}}
sub getstate ($$$$) { #{{{
my $plugin=shift;
my $page=shift;
my $id=shift;
my $key=shift;
return $IkiWiki::pagestate{$page}{$id}{$key};
} #}}}
sub setstate ($$$$;@) { #{{{
my $plugin=shift;
my $page=shift;
my $id=shift;
my $key=shift;
return $IkiWiki::pagestate{$page}{$id}{$key}=@_;
} #}}}
sub inject ($@) { #{{{
# Bind a given perl function name to a particular RPC request.
my $plugin=shift;

View File

@ -24,6 +24,7 @@ sub filter (@) { #{{{
my %params=@_;
$meta{$params{page}}='';
delete $pagestate{$params{page}}{meta}{redir};
return $params{content};
} # }}}
@ -72,10 +73,16 @@ sub preprocess (@) { #{{{
elsif ($key eq 'redir') {
my $safe=0;
if ($value !~ /^\w+:\/\//) {
add_depends($page, $value);
my $link=bestlink($page, $value);
if (! length $link) {
return "[[meta ".gettext("redir page not found")."]]";
}
$pagestate{$page}{meta}{redir}=$link;
if ($pagestate{$link}{meta}{redir}) {
# TODO: real cycle detection
return "[[meta ".gettext("redir not allowed to point to a page that contains a redir")."]]";
}
$value=urlto($link, $destpage);
$safe=1;
}

3
debian/changelog vendored
View File

@ -6,6 +6,9 @@ ikiwiki (2.16) UNRELEASED; urgency=low
* Redirs added for moved basewiki pages. These will be removed in a future
release.
* Remove .otl file from sandbox to avoid build ugliness. Closes: #454181
* Finally implemented a simple per-page data storage mechanism for plugins,
via the %pagestate hash.
* Use pagestate in meta to detect potential redir loops.
-- Joey Hess <joeyh@debian.org> Mon, 03 Dec 2007 14:47:36 -0500

View File

@ -313,6 +313,20 @@ A plugin can access the wiki's configuration via the `%config`
hash. The best way to understand the contents of the hash is to look at
[[ikiwiki.setup]], which sets the hash content to configure the wiki.
### %pagestate
The `%pagestate` hash can be used by plugins to save state that they will need
next time ikiwiki is run. The hash holds per-page state, so to set a value,
use `%pagestate{$page}{$id}{$key}=$value`, and to retrieve the value,
use `%pagestate{$page}{$id}{$key}`.
`$key` can be any string you like, but `$id` must be the same as the "id"
parameter passed to `hook()` when registering the plugin. This is so
ikiwiki can know when to delete pagestate for plugins that are no longer
used.
When pages are deleted, ikiwiki automatically deletes their pagestate too.
### Other variables
If your plugin needs to access data about other pages in the wiki. It can

View File

@ -49,6 +49,11 @@ to access any such global hash. To get the "url" configuration value,
call `getvar("config", "url")`. To set it, call
`setvar("config", "url", "http://example.com/)`.
The `%pagestate` is a special hash with a more complex format. To access
it, external plugins can use the `getstate` and `setstate` RPCs. To access
stored state, call `getstate("page", "id", "key")`, and to store state,
call `setstate("page", "id", "key", "value")`.
## Notes on function parameters
The [[plugin_interface_documentation|write]] talks about functions that take

View File

@ -66,3 +66,29 @@ which pages have a calendar for the current time. Then ensure they are
rebuilt at least once a day. Currently, it needs a cron job to rebuild
the *whole* wiki every day; with this enhancement, the cron job would only
rebuild the few pages that really need it.
---
New design:
`%Ikiwiki::state` is an exported hash that stores per-page state.
Set with `$state{$page}{id}{key}=$value`. The `id` is the same `id` passed
to `hook()`.
This is stored in the index like:
src=foo.mdwn dest=bar.mdwn id_key=value [...]
The underscore ensures that there's no conflict with ikiwiki's own
state variables. (Note that `id` and `key` need to be encoded here.)
Plugins are reponsible for deleting old state info, though ikiwiki will
handle deleting it if a page is removed.
Ikiwiki needs to know when it can drop state for plugins that are no longer
enabled. This is done via `hook()` -- if a plugin registers a hook
ikiwiki knows it's still active, and preserves the state for the hook id.
If not, that state will be dropped.
[[done]]!! Now to use it..

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki-bg\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-01-12 01:19+0200\n"
"Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@ -42,29 +42,29 @@ msgstr "Предпочитанията са запазени."
msgid "%s is not an editable page"
msgstr ""
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "дискусия"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "създаване на %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "промяна на %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Достъпът ви е забранен."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@ -233,7 +233,11 @@ msgstr ""
msgid "redir page not found"
msgstr "шаблонът „%s” не е намерен"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
#, fuzzy
msgid "stylesheet not found"
msgstr "шаблонът „%s” не е намерен"
@ -636,13 +640,13 @@ msgstr "формат: ikiwiki [опции] източник местоназна
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
"При използване на пареметъра „--cgi” е необходимо да се укаже и "
"местоположението на уикито чрез параметъра „--url”"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Грешка"
@ -650,7 +654,7 @@ msgstr "Грешка"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-05-09 21:21+0200\n"
"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@ -40,29 +40,29 @@ msgstr "Nastavení uloženo."
msgid "%s is not an editable page"
msgstr "%s není editovatelná stránka"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "diskuse"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "vytvářím %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "upravuji %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Jste vyhoštěni."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "přihlášení selhalo; možná si musíte povolit cookies?"
@ -223,7 +223,11 @@ msgstr ""
msgid "redir page not found"
msgstr "zdroj nebyl nalezen"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
msgid "stylesheet not found"
msgstr "styl nebyl nalezen"
@ -614,11 +618,11 @@ msgstr "použití: ikiwiki [volby] zdroj cíl"
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr "Při použití --cgi musíte pomocí --url zadat url k wiki"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Chyba"
@ -626,7 +630,7 @@ msgstr "Chyba"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-10-16 23:07+0100\n"
"Last-Translator: Jonas Smedegaard <dr@jones.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
@ -43,29 +43,29 @@ msgstr "Indstillinger gemt"
msgid "%s is not an editable page"
msgstr "%s er ikke en redigérbar side"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "diskussion"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "opretter %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "redigerer %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Du er banlyst."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "Pålogning fejlede, måske skal du tillade infokager (cookies)?"
@ -227,7 +227,11 @@ msgstr ""
msgid "redir page not found"
msgstr "fødning ikke fundet"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
msgid "stylesheet not found"
msgstr "stilsnit (stylesheet) ikke fundet"
@ -616,11 +620,11 @@ msgstr "brug: ikiwiki [valg] kilde mål"
msgid "usage: --set var=value"
msgstr "brug: --set var=værdi"
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr "Skal angive url til wiki med --url når der bruges --cgi"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Fejl"
@ -628,7 +632,7 @@ msgstr "Fejl"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "%s forudberegningssløkke fundet på %s ved dybde %i"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-04-28 22:01+0200\n"
"Last-Translator: Víctor Moral <victor@taquiones.net>\n"
"Language-Team: Spanish <es@li.org>\n"
@ -40,29 +40,29 @@ msgstr "Las preferencias se han guardado."
msgid "%s is not an editable page"
msgstr "la página %s no es modificable"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "comentarios"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "creando página %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "modificando página %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Ha sido expulsado."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"registro fallido, ¿ tal vez necesita activar las cookies en el navegador ?"
@ -228,7 +228,11 @@ msgstr ""
msgid "redir page not found"
msgstr "fuente de datos no encontrada"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
msgid "stylesheet not found"
msgstr "hoja de estilo no encontrada "
@ -621,13 +625,13 @@ msgstr "uso: ikiwiki [opciones] origen destino"
msgid "usage: --set var=value"
msgstr "uso: --set variable=valor"
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
"Es obligatorio especificar un url al wiki con el parámetro --url si se "
"utiliza el parámetro --cgi"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Error"
@ -635,7 +639,7 @@ msgstr "Error"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-08-28 21:05+0200\n"
"Last-Translator: Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@ -42,29 +42,29 @@ msgstr "Les préférences ont été enregistrées."
msgid "%s is not an editable page"
msgstr "%s n'est pas une page éditable"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "Discussion"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "Création de %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "Édition de %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Vous avez été banni."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"Échec de l'identification, vous devriez peut-être autoriser les cookies."
@ -229,7 +229,11 @@ msgstr ""
msgid "redir page not found"
msgstr "Flux introuvable "
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
msgid "stylesheet not found"
msgstr "Feuille de style introuvable "
@ -621,13 +625,13 @@ msgstr "Syntaxe : ikiwiki [options] source destination"
msgid "usage: --set var=value"
msgstr "Syntaxe : -- set var=valeur"
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
"Vous devez indiquer une URL vers le wiki par --url lors de l'utilisation de "
"--cgi"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Erreur"
@ -635,7 +639,7 @@ msgstr "Erreur"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki-gu\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-01-11 16:05+0530\n"
"Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
"Language-Team: Gujarati <team@utkarsh.org>\n"
@ -41,29 +41,29 @@ msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
msgid "%s is not an editable page"
msgstr "%s એ સુધારી શકાય તેવું પાનું નથી"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "ચર્ચા"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "%s બનાવે છે"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "%s સુધારે છે"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "તમારા પર પ્રતિબંધ છે."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr "પ્રવેશ નિષ્ફળ, કદાચ તમારી કુકીઓ સક્રિય બનાવવી પડશે?"
@ -223,7 +223,11 @@ msgstr "Markdown.pm પર્લ મોડ્યુલ (%s) અથવા /usr/bi
msgid "redir page not found"
msgstr "ફીડ મળ્યું નહી"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
msgid "stylesheet not found"
msgstr "સ્ટાઇલશીટ મળ્યું નહી"
@ -612,11 +616,11 @@ msgstr "ઉપયોગ: ikiwiki [વિકલ્પો] source dest"
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr "જ્યારે --cgi ઉપયોગ કરતાં હોય ત્યારે વીકીનું યુઆરએલ સ્પષ્ટ કરવું જ પડશે"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "ક્ષતિ"
@ -624,7 +628,7 @@ msgstr "ક્ષતિ"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "%s પર શોધાયેલ લુપ %s પર ચલાવે છે %i ઉંડાણ પર"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 16:00-0500\n"
"POT-Creation-Date: 2007-12-08 17:38-0500\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"
@ -218,11 +218,15 @@ msgstr ""
msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:77
#: ../IkiWiki/Plugin/meta.pm:79
msgid "redir page not found"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:84
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:120
msgid "stylesheet not found"
msgstr ""
@ -606,11 +610,11 @@ msgstr ""
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr ""
@ -618,7 +622,7 @@ msgstr ""
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki 1.51\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-04-27 22:05+0200\n"
"Last-Translator: Pawel Tecza <ptecza@net.icm.edu.pl>\n"
"Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n"
@ -42,29 +42,29 @@ msgstr "Preferencje zapisane."
msgid "%s is not an editable page"
msgstr "Strona %s nie może być edytowana"
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "dyskusja"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "tworzenie %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "edycja %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Twój dostęp został zabroniony przez administratora."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
"Nieudane logowanie. Proszę sprawdzić czy w przeglądarce włączone są "
@ -236,7 +236,11 @@ msgstr ""
msgid "redir page not found"
msgstr "nieznaleziony kanał RSS"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
#, fuzzy
msgid "stylesheet not found"
msgstr "nieznaleziony szablon ze stylami CSS"
@ -641,13 +645,13 @@ msgstr "użycie: ikiwiki [parametry] źródło cel"
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
"Użycie parametru --cgi wymaga podania adresu URL do wiki za pomocą parametru "
"--url"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Błąd"
@ -655,7 +659,7 @@ msgstr "Błąd"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-01-10 23:47+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@ -41,29 +41,29 @@ msgstr "Inställningar sparades."
msgid "%s is not an editable page"
msgstr ""
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "diskussion"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "skapar %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "redigerar %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Du är bannlyst."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@ -229,7 +229,11 @@ msgstr ""
msgid "redir page not found"
msgstr "mallen %s hittades inte"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
#, fuzzy
msgid "stylesheet not found"
msgstr "mallen %s hittades inte"
@ -632,11 +636,11 @@ msgstr "användning: ikiwiki [flaggor] källa mål"
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr "Måste ange url till wiki med --url när --cgi används"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Fel"
@ -644,7 +648,7 @@ msgstr "Fel"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ikiwiki\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-08 15:22-0500\n"
"POT-Creation-Date: 2007-12-08 17:15-0500\n"
"PO-Revision-Date: 2007-01-13 15:31+1030\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@ -42,29 +42,29 @@ msgstr "Tùy thích đã được lưu."
msgid "%s is not an editable page"
msgstr ""
#: ../IkiWiki/CGI.pm:441 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/CGI.pm:443 ../IkiWiki/Plugin/brokenlinks.pm:24
#: ../IkiWiki/Plugin/inline.pm:230 ../IkiWiki/Plugin/opendiscussion.pm:17
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
#: ../IkiWiki/Render.pm:179
msgid "discussion"
msgstr "thảo luận"
#: ../IkiWiki/CGI.pm:487
#: ../IkiWiki/CGI.pm:489
#, perl-format
msgid "creating %s"
msgstr "đang tạo %s"
#: ../IkiWiki/CGI.pm:505 ../IkiWiki/CGI.pm:524 ../IkiWiki/CGI.pm:534
#: ../IkiWiki/CGI.pm:567 ../IkiWiki/CGI.pm:615
#: ../IkiWiki/CGI.pm:507 ../IkiWiki/CGI.pm:526 ../IkiWiki/CGI.pm:536
#: ../IkiWiki/CGI.pm:569 ../IkiWiki/CGI.pm:617
#, perl-format
msgid "editing %s"
msgstr "đang sửa %s"
#: ../IkiWiki/CGI.pm:709
#: ../IkiWiki/CGI.pm:711
msgid "You are banned."
msgstr "Bạn bị cấm ra."
#: ../IkiWiki/CGI.pm:729
#: ../IkiWiki/CGI.pm:731
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
@ -230,7 +230,11 @@ msgstr "lỗi nạp mô-đun perl Markdown.pm (%s) hay « /usr/bin/markdown » (
msgid "redir page not found"
msgstr "không tìm thấy mẫu %s"
#: ../IkiWiki/Plugin/meta.pm:113
#: ../IkiWiki/Plugin/meta.pm:82
msgid "redir not allowed to point to a page that contains a redir"
msgstr ""
#: ../IkiWiki/Plugin/meta.pm:118
#, fuzzy
msgid "stylesheet not found"
msgstr "không tìm thấy mẫu %s"
@ -630,12 +634,12 @@ msgstr "cách sử dụng: ikiwiki [tùy chọn] nguồn đích"
msgid "usage: --set var=value"
msgstr ""
#: ../IkiWiki.pm:128
#: ../IkiWiki.pm:129
msgid "Must specify url to wiki with --url when using --cgi"
msgstr ""
"Cần phải xác định địa chỉ URL tới wiki với « --url » khi dùng « --cgi »"
#: ../IkiWiki.pm:197 ../IkiWiki.pm:198
#: ../IkiWiki.pm:198 ../IkiWiki.pm:199
msgid "Error"
msgstr "Lỗi"
@ -643,7 +647,7 @@ msgstr "Lỗi"
#. translators: preprocessor directive name,
#. translators: the second a page name, the
#. translators: third a number.
#: ../IkiWiki.pm:721
#: ../IkiWiki.pm:722
#, perl-format
msgid "%s preprocessing loop detected on %s at depth %i"
msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"