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;
warn(gettext('po_link_to=negotiated requires usedirs to be enabled, falling back to po_link_to=default'));
$config{po_link_to}='default';
}
+ unless ($config{po_link_to} eq 'default') {
+ $origsubs{'bestlink'}=\&IkiWiki::bestlink;
+ inject(name => "IkiWiki::bestlink", call => \&mybestlink);
+ }
push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/;
if (istranslation($page)) {
foreach my $destpage (@{$links{$page}}) {
if (istranslatable($destpage)) {
- # replace one occurence of $destpage in $links{$page}
- # (we only want to replace the one that was added by
- # IkiWiki::Plugin::link::scan, other occurences may be
- # there for other reasons)
+ # replace the occurence of $destpage in $links{$page}
for (my $i=0; $i<@{$links{$page}}; $i++) {
if (@{$links{$page}}[$i] eq $destpage) {
@{$links{$page}}[$i] = $destpage . '.' . lang($page);
&& $masterpage eq "index") {
$template->param('parentlinks' => []);
}
+ 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.
# `----
# Implement po_link_to 'current' and 'negotiated' settings.
+# Not injected otherwise.
sub mybestlink ($$) {
my $page=shift;
my $link=shift;
my $res=$origsubs{'bestlink'}->(masterpage($page), $link);
if (length $res
- && ($config{po_link_to} eq "current" || $config{po_link_to} eq "negotiated")
&& istranslatable($res)
&& istranslation($page)) {
return $res . "." . lang($page);
return urlto('', $page);
}
+sub ishomepage ($) {
+ my $page = shift;
+
+ return 1 if $page eq 'index';
+ map { return 1 if $page eq 'index.'.$_ } keys %{$config{po_slave_languages}};
+ return undef;
+}
+
sub deletetranslations ($) {
my $deletedmasterfile=shift;