po plugin: added currentlang() custom PageSpec function

Signed-off-by: intrigeri <intrigeri@boum.org>
master
intrigeri 2008-10-15 01:23:19 +02:00
parent 6f858cd59f
commit 8867316125
1 changed files with 30 additions and 0 deletions

View File

@ -394,4 +394,34 @@ sub match_lang ($$;@) { #{{{
}
} #}}}
sub match_currentlang ($$;@) { #{{{
my $page=shift;
shift;
my %params=@_;
my ($currentmasterpage, $currentlang, $masterpage, $lang);
return IkiWiki::FailReason->new("no location provided") unless exists $params{location};
if (IkiWiki::Plugin::po::istranslation($params{location})) {
($currentmasterpage, $currentlang) = ($params{location} =~ /(.*)[.]([a-z]{2})$/);
}
else {
$currentlang = $config{po_master_language}{code};
}
if (IkiWiki::Plugin::po::istranslation($page)) {
($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
}
else {
$lang = $config{po_master_language}{code};
}
if ($lang eq $currentlang) {
return IkiWiki::SuccessReason->new("file language is the same as current one, i.e. $currentlang");
}
else {
return IkiWiki::FailReason->new("file language is $lang, whereas current language is $currentlang");
}
} #}}}
1