+ my ($masterpage, $lang) = ($page =~ /(.*)[.]([a-z]{2})$/);
+ my $file=srcfile(exists $params{file} ? $params{file} : $IkiWiki::pagesources{$page});
+ my $masterfile = srcfile($pagesources{$masterpage});
+ my (@pos,@masters);
+ push @pos,$file;
+ push @masters,$masterfile;
+ my %options = (
+ "markdown" => (pagetype($masterfile) eq 'mdwn') ? 1 : 0,
+ );
+ my $doc=Locale::Po4a::Chooser::new('text',%options);
+ $doc->process(
+ 'po_in_name' => \@pos,
+ 'file_in_name' => \@masters,
+ 'file_in_charset' => 'utf-8',
+ 'file_out_charset' => 'utf-8',
+ ) or error("[po/filter:$file]: failed to translate");
+ my ($percent,$hit,$queries) = $doc->stats();
+ my $tmpfh = File::Temp->new(TEMPLATE => "/tmp/ikiwiki-po-filter-out.XXXXXXXXXX");
+ my $tmpout = $tmpfh->filename;
+ $doc->write($tmpout) or error("[po/filter:$file] could not write $tmpout");
+ $content = readfile($tmpout) or error("[po/filter:$file] could not read $tmpout");