+ my @ret;
+ if (istranslatable($page)) {
+ foreach my $lang (sort keys %{$translations{$page}}) {
+ my $translation = $translations{$page}{$lang};
+ push @ret, {
+ url => urlto($translation, $page),
+ code => $lang,
+ language => $config{po_slave_languages}{$lang},
+ percent => percenttranslated($translation),
+ };
+ }
+ }
+ elsif (istranslation($page)) {
+ my ($masterpage, $curlang) = ($page =~ /(.*)[.]([a-z]{2})$/);
+ push @ret, {
+ url => urlto($masterpage, $page),
+ code => $config{po_master_language}{code},
+ language => $config{po_master_language}{name},
+ master => 1,
+ };
+ foreach my $lang (sort keys %{$translations{$masterpage}}) {
+ push @ret, {
+ url => urlto($translations{$masterpage}{$lang}, $page),
+ code => $lang,
+ language => $config{po_slave_languages}{$lang},
+ percent => percenttranslated($page),
+ } unless ($lang eq $curlang);
+ }
+ }
+ return @ret;
+} #}}}