X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/8b001dbb00d702fad648c0f313b0d1d6a3827325..daa04ae43612f2c48c6ec3e1c5dfa0ee6fda6653:/IkiWiki/Plugin/po.pm 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;