X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/34afa2c07d2defcaf683cf8d7eb486517b4fc389..10af328ff1a4c5da585889c3c580fd5a579dea70:/IkiWiki/Plugin/po.pm diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 5acbcd4f8..9dc4061ef 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -80,14 +80,14 @@ sub getsetup () { #{{{ example => "!*/Discussion", description => "PageSpec controlling which pages are translatable", link => "ikiwiki/PageSpec", - safe => 0, + safe => 1, rebuild => 1, }, po_link_to => { type => "string", example => "current", description => "internal linking behavior (default/current/negotiated)", - safe => 0, + safe => 1, rebuild => 1, }, } #}}} @@ -105,18 +105,26 @@ sub checkconfig () { #{{{ } map { islanguagecode($_) - or error(sprintf(gettext("%s is not a valid language code"), $_)); + or error(sprintf(gettext("%s is not a valid language code"), $_)); } ($config{po_master_language}{code}, keys %{$config{po_slave_languages}}); - if (! exists $config{po_link_to} || - ! defined $config{po_link_to}) { - $config{po_link_to}="default"; - } if (! exists $config{po_translatable_pages} || ! defined $config{po_translatable_pages}) { $config{po_translatable_pages}=""; } - if ($config{po_link_to} eq "negotiated" && ! $config{usedirs}) { - error(gettext("po_link_to=negotiated requires usedirs to be set")); + if (! exists $config{po_link_to} || + ! defined $config{po_link_to}) { + $config{po_link_to}='default'; + } + elsif (! grep { + $config{po_link_to} eq $_ + } ('default', 'current', 'negotiated')) { + warn(sprintf(gettext('po_link_to=%s is not a valid setting, falling back to po_link_to=default'), + $config{po_link_to})); + $config{po_link_to}='default'; + } + elsif ($config{po_link_to} eq "negotiated" && ! $config{usedirs}) { + warn(gettext('po_link_to=negotiated requires usedirs to be enabled, falling back to po_link_to=default')); + $config{po_link_to}='default'; } push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/; } #}}} @@ -208,7 +216,7 @@ sub needsbuild () { #{{{ } } if (@pofiles) { - refreshpofiles($file, @pofiles) ; + refreshpofiles($file, @pofiles); map { IkiWiki::rcs_add($_); } @pofiles if ($config{rcs}); $updated_po_files = 1; }