From: intrigeri <intrigeri@boum.org>
Date: Tue, 14 Oct 2008 13:24:58 +0000 (+0200)
Subject: po plugin: build %translations in needsbuild hook rather than scan
X-Git-Tag: 3.15~441
X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/bd237d48cfd8b61639c2ccb41fb4ed27afde478e?ds=inline

po plugin: build %translations in needsbuild hook rather than scan

... because we'll need this data to refresh POT/PO files in needsbuild hook

Signed-off-by: intrigeri <intrigeri@boum.org>
---

diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index 88985cd12..997f17fb3 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -19,7 +19,7 @@ memoize("_istranslation");
 sub import {
 	hook(type => "getsetup", id => "po", call => \&getsetup);
 	hook(type => "checkconfig", id => "po", call => \&checkconfig);
-	hook(type => "scan", id => "po", call => \&scan);
+	hook(type => "needsbuild", id => "po", call => \&needsbuild);
 	hook(type => "targetpage", id => "po", call => \&targetpage);
 	hook(type => "tweakurlpath", id => "po", call => \&tweakurlpath);
 	hook(type => "tweakbestlink", id => "po", call => \&tweakbestlink);
@@ -92,13 +92,14 @@ sub checkconfig () { #{{{
 	push @{$config{wiki_file_prune_regexps}}, qr/\.pot$/;
 } #}}}
 
-sub scan (@) { #{{{
-	my %params=@_;
-	my $page=$params{page};
-	# let's build %translations, using istranslation's
-	# side-effect, so that we can consider it is complete at
-	# preprocess time
-	istranslation($page);
+sub needsbuild () { #{{{
+	my $needsbuild=shift;
+
+	# build %translations, using istranslation's side-effect
+	foreach my $page (keys %pagesources) {
+		istranslation($page);
+	}
+
 } #}}}
 
 sub targetpage (@) { #{{{