summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.