]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/po.pm
po plugin: add correct dependencies on pages using OTHERLANGUAGES
[ikiwiki.git] / IkiWiki / Plugin / po.pm
index 716aa9151e873e1e838285c3c8c160e1ef4d74b3..9a25ff60263e0780a26bc875f91805e4764a1a66 100644 (file)
@@ -368,6 +368,18 @@ sub pagetemplate (@) { #{{{
        }
        if ($template->query(name => "otherlanguages")) {
                $template->param(otherlanguages => [otherlanguages($page)]);
        }
        if ($template->query(name => "otherlanguages")) {
                $template->param(otherlanguages => [otherlanguages($page)]);
+               if (istranslatable($page)) {
+                       foreach my $translation (values %{$translations{$page}}) {
+                               add_depends($page, $translation);
+                       }
+               }
+               elsif (istranslation($page)) {
+                       my ($masterpage, $curlang) = ($page =~ /(.*)[.]([a-z]{2})$/);
+                       add_depends($page, $masterpage);
+                       foreach my $translation (values %{$translations{$masterpage}}) {
+                               add_depends($page, $translation);
+                       }
+               }
        }
 } # }}}
 
        }
 } # }}}