X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b973ed82699903c23b3feeb5e73e1ebd6f587f43..6fc66f83deba6df8abdf4bc117f8da7efbd7cbc1:/IkiWiki/Plugin/shortcut.pm diff --git a/IkiWiki/Plugin/shortcut.pm b/IkiWiki/Plugin/shortcut.pm index d09d5879d..26385f3a6 100644 --- a/IkiWiki/Plugin/shortcut.pm +++ b/IkiWiki/Plugin/shortcut.pm @@ -21,18 +21,21 @@ sub preprocess_shortcut (@) { #{{{ my %params=@_; if (! defined $params{name} || ! defined $params{url}) { - return "[[shortcut missing name or url parameter]]"; + return "[[".gettext("shortcut missing name or url parameter")."]]"; } hook(type => "preprocess", no_override => 1, id => $params{name}, - call => sub { shortcut_expand($params{name}, $params{url}, @_) }); + call => sub { shortcut_expand($params{url}, $params{desc}, @_) }); - return "shortcut $params{name} points to $params{url}"; + #translators: This is used to display what shortcuts are defined. + #translators: First parameter is the name of the shortcut, the second + #translators: is an URL. + return sprintf(gettext("shortcut %s points to %s"), $params{name}, $params{url}); } # }}} sub shortcut_expand ($$@) { #{{{ - my $name=shift; my $url=shift; + my $desc=shift; my %params=@_; # Get params in original order. @@ -51,8 +54,16 @@ sub shortcut_expand ($$@) { #{{{ my $encoded_text=$text; $encoded_text=~s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; + $text=~s/_/ /g; + if (defined $desc) { + $desc=~s/\%s/$text/g; + } + else { + $desc=$text; + } + $url=~s/\%s/$encoded_text/g; - return "$text"; + return "$desc"; } #}}} 1