summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2008-10-15 00:05:52 +0200
committerintrigeri <intrigeri@boum.org>2008-10-18 15:49:11 +0200
commitd4f787ef528d9947473b4b99d1088b647d615200 (patch)
tree59656a84570f532eaf65a60f0f652b6b789e103b
parenta8e8613fa11c1ac0b0f82e159df97d0837ae97e5 (diff)
po plugin: make any slave page dependent on the corresponding master page
Signed-off-by: intrigeri <intrigeri@boum.org>
-rw-r--r--IkiWiki/Plugin/po.pm7
-rw-r--r--doc/plugins/po.mdwn7
2 files changed, 10 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm
index ca26101b7..5abe9d419 100644
--- a/IkiWiki/Plugin/po.pm
+++ b/IkiWiki/Plugin/po.pm
@@ -150,6 +150,13 @@ sub needsbuild () { #{{{
refreshpofiles(srcfile($file), map { srcfile($_) } @pofiles);
}
}
+
+ # make existing translations depend on the corresponding master page
+ foreach my $master (keys %translations) {
+ foreach my $slave (values %{$translations{$master}}) {
+ add_depends($slave, $master);
+ }
+ }
} #}}}
sub targetpage (@) { #{{{
diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn
index 6b04afd72..06ecedc24 100644
--- a/doc/plugins/po.mdwn
+++ b/doc/plugins/po.mdwn
@@ -177,10 +177,9 @@ Committing changes to a "master" page must:
this is done in the `needsbuild` hook; the updated PO files must
then be put under version control
-2. trigger a refresh of the corresponding HTML slave pages; this can
- be implemented by making any "slave" page depend on the
- corresponding "master" page. The `add_depends` function can achieve
- this, if used in a **FIXME** hook.
+2. trigger a refresh of the corresponding HTML slave pages: this is
+ achieved by making any "slave" page dependent on the corresponding
+ "master" page, in the `needsbuild` hook.
Also, when the plugin has just been enabled, all the needed POT and PO
files have to be created.