diff options
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/po.pm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index c8ec37c22..7902fa745 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -48,6 +48,8 @@ sub import { #{{{ 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); } #}}} sub getsetup () { #{{{ @@ -256,6 +258,21 @@ sub urlto_with_orig_beautiful_urlpath($$) { #{{{ return $res; } #}}} +sub myurlto ($$;$) { #{{{ + my $to=shift; + my $from=shift; + my $absolute=shift; + + if (! length $to + && $config{po_link_to} eq "current" + && istranslation($from) + && istranslatable('index')) { + my ($masterpage, $curlang) = ($from =~ /(.*)[.]([a-z]{2})$/); + return IkiWiki::beautify_urlpath(IkiWiki::baseurl($from) . "index." . $curlang . ".$config{htmlext}"); + } + return $origsubs{'urlto'}->($to,$from,$absolute); +} #}}} + sub mybestlink ($$) { #{{{ my $page=shift; my $link=shift; |