hook(type => "formbuilder_setup", id => "po", call => \&formbuilder_setup, last => 1);
hook(type => "formbuilder", id => "po", call => \&formbuilder);
- $origsubs{'bestlink'}=\&IkiWiki::bestlink;
- inject(name => "IkiWiki::bestlink", call => \&mybestlink);
- $origsubs{'beautify_urlpath'}=\&IkiWiki::beautify_urlpath;
- inject(name => "IkiWiki::beautify_urlpath", call => \&mybeautify_urlpath);
- $origsubs{'targetpage'}=\&IkiWiki::targetpage;
- inject(name => "IkiWiki::targetpage", call => \&mytargetpage);
- $origsubs{'urlto'}=\&IkiWiki::urlto;
- inject(name => "IkiWiki::urlto", call => \&myurlto);
- $origsubs{'cgiurl'}=\&IkiWiki::cgiurl;
- inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
- $origsubs{'rootpage'}=\&IkiWiki::rootpage;
- inject(name => "IkiWiki::rootpage", call => \&myrootpage);
+ if (! %origsubs) {
+ $origsubs{'bestlink'}=\&IkiWiki::bestlink;
+ inject(name => "IkiWiki::bestlink", call => \&mybestlink);
+ $origsubs{'beautify_urlpath'}=\&IkiWiki::beautify_urlpath;
+ inject(name => "IkiWiki::beautify_urlpath", call => \&mybeautify_urlpath);
+ $origsubs{'targetpage'}=\&IkiWiki::targetpage;
+ inject(name => "IkiWiki::targetpage", call => \&mytargetpage);
+ $origsubs{'urlto'}=\&IkiWiki::urlto;
+ inject(name => "IkiWiki::urlto", call => \&myurlto);
+ $origsubs{'cgiurl'}=\&IkiWiki::cgiurl;
+ inject(name => "IkiWiki::cgiurl", call => \&mycgiurl);
+ $origsubs{'rootpage'}=\&IkiWiki::rootpage;
+ inject(name => "IkiWiki::rootpage", call => \&myrootpage);
+ }
}
$field, 'po'));
}
}
+ delete $config{po_slave_languages}{$config{po_master_language}{code}};;
map {
islanguagecode($_)
if ($config{po_master_language}{code} ne 'en') {
# Add underlay containing translated source files
# for the master language.
- add_underlay("locale/$config{po_master_language}{code}/$underlay");
+ add_underlay("locale/$config{po_master_language}{code}/$underlay")
+ if -d "$config{underlaydirbase}/locale/$config{po_master_language}{code}/$underlay";
}
}
}
if (ishomepage($page) && $template->query(name => "title")) {
$template->param(title => $config{wikiname});
}
-} # }}}
+}
# Add the renamed page translations to the list of to-be-renamed pages.
sub renamepages (@) {
my $link=shift;
return $origsubs{'bestlink'}->($page, $link)
- if $config{po_link_to} eq "default";
+ if defined $config{po_link_to} && $config{po_link_to} eq "default";
my $res=$origsubs{'bestlink'}->(masterpage($page), $link);
my @caller = caller(1);
my $url=shift;
my $res=$origsubs{'beautify_urlpath'}->($url);
- if ($config{po_link_to} eq "negotiated") {
+ if (defined $config{po_link_to} && $config{po_link_to} eq "negotiated") {
$res =~ s!/\Qindex.$config{po_master_language}{code}.$config{htmlext}\E$!/!;
$res =~ s!/\Qindex.$config{htmlext}\E$!/!;
map {
my $type=pagetype($file);
return 0 if ! defined $type || $type eq 'po';
return 0 if $file =~ /\.pot$/;
+ return 0 if ! defined $config{po_translatable_pages};
return 1 if pagespec_match(pagename($file), $config{po_translatable_pages});
return;
}