po: change a bit the way links are generated
This will soon enable usage of translated page titles in link. Signed-off-by: intrigeri <intrigeri@boum.org>master
parent
b7a4e5a51c
commit
2b4e76a961
|
@ -385,14 +385,14 @@ sub editcontent () { #{{{
|
|||
# | Injected functions
|
||||
# `----
|
||||
|
||||
# Implement po_link_to=current
|
||||
# Implement po_link_to 'current' and 'negotiated' settings.
|
||||
sub mybestlink ($$) { #{{{
|
||||
my $page=shift;
|
||||
my $link=shift;
|
||||
|
||||
my $res=$origsubs{'bestlink'}->($page, $link);
|
||||
if (length $res
|
||||
&& $config{po_link_to} eq "current"
|
||||
&& ($config{po_link_to} eq "current" || $config{po_link_to} eq "negotiated")
|
||||
&& istranslatable($res)
|
||||
&& istranslation($page)) {
|
||||
return $res . "." . lang($page);
|
||||
|
@ -407,6 +407,9 @@ sub mybeautify_urlpath ($) { #{{{
|
|||
if ($config{po_link_to} eq "negotiated") {
|
||||
$res =~ s!/\Qindex.$config{po_master_language}{code}.$config{htmlext}\E$!/!;
|
||||
$res =~ s!/\Qindex.$config{htmlext}\E$!/!;
|
||||
map {
|
||||
$res =~ s!/\Qindex.$_.$config{htmlext}\E$!/!;
|
||||
} (keys %{$config{po_slave_languages}});
|
||||
}
|
||||
return $res;
|
||||
} #}}}
|
||||
|
@ -699,7 +702,7 @@ sub otherlanguagesloop ($) { #{{{
|
|||
}
|
||||
else {
|
||||
push @ret, {
|
||||
url => urlto($otherpage, $page),
|
||||
url => urlto_with_orig_beautiful_urlpath($otherpage, $page),
|
||||
code => $lang,
|
||||
language => languagename($lang),
|
||||
percent => percenttranslated($otherpage),
|
||||
|
|
7
t/po.t
7
t/po.t
|
@ -17,7 +17,7 @@ BEGIN {
|
|||
}
|
||||
}
|
||||
|
||||
use Test::More tests => 58;
|
||||
use Test::More tests => 59;
|
||||
|
||||
BEGIN { use_ok("IkiWiki"); }
|
||||
|
||||
|
@ -163,7 +163,7 @@ is(bestlink('test1.fr', 'test2'), 'test2.fr', "$msgprefix test1.fr -> test2");
|
|||
is(bestlink('test1.fr', 'test2.es'), 'test2.es', "$msgprefix test1.fr -> test2.es");
|
||||
$config{po_link_to}='negotiated';
|
||||
$msgprefix="bestlink (po_link_to=negotiated)";
|
||||
is(bestlink('test1.fr', 'test2'), 'test2', "$msgprefix test1.fr -> test2");
|
||||
is(bestlink('test1.fr', 'test2'), 'test2.fr', "$msgprefix test1.fr -> test2");
|
||||
is(bestlink('test1.fr', 'test2.es'), 'test2.es', "$msgprefix test1.fr -> test2.es");
|
||||
|
||||
### beautify_urlpath
|
||||
|
@ -173,5 +173,6 @@ is(IkiWiki::beautify_urlpath('test1/index.en.html'), './test1/index.en.html', "$
|
|||
is(IkiWiki::beautify_urlpath('test1/index.fr.html'), './test1/index.fr.html', "$msgprefix test1/index.fr.html");
|
||||
$config{po_link_to}='negotiated';
|
||||
$msgprefix="beautify_urlpath (po_link_to=negotiated)";
|
||||
is(IkiWiki::beautify_urlpath('test1/index.html'), './test1/', "$msgprefix test1/index.html");
|
||||
is(IkiWiki::beautify_urlpath('test1/index.en.html'), './test1/', "$msgprefix test1/index.en.html");
|
||||
is(IkiWiki::beautify_urlpath('test1/index.fr.html'), './test1/index.fr.html', "$msgprefix test1/index.fr.html");
|
||||
is(IkiWiki::beautify_urlpath('test1/index.fr.html'), './test1/', "$msgprefix test1/index.fr.html");
|
||||
|
|
Loading…
Reference in New Issue