git.schokokeks.org
Repositories
Help
Report an Issue
tor-webwml.git
Code
Commits
Branches
Tags
Suche
Strukturansicht:
b561cb6c7
Branches
Tags
bridges
docs-debian
jobs
master
press-clips
tor-webwml.git
en
translation-status.wml
Implement translation priorities
Peter Palfrader
commited
b561cb6c7
at 2007-10-24 15:42:39
translation-status.wml
Blame
History
Raw
## translation metadata # Revision: $Revision$ # Note to translators: # translating this page is probably not a good idea, and it never was intended to be translated. # it contains lots of programming logic, which you would have to duplicate, and it's probably # useful only to other translators which most likely will know a bit of english. # # Thanks for your hard work, improve the other pages instead. :) -- weasel #include "head.wmi" TITLE="Translation status" #use "functions.wmi" <div class="main-column"> <h2>Tor: Translation status</h2> <hr /> <: sub do_status($$) { my ($dir, $may_miss_dir) = @_; my %files; my @warnings; for my $lang (@LANGUAGES) { opendir(DIR, "$dir/$lang") or $may_miss_dir or die ("Cannot opendir $dir/$lang: $!\n"); my @files = grep { $_ ne '.' && $_ ne '..' && $_ !~ /tor-manual/i && $_ !~ /translation/i && $_ =~ m/^[^.]/ && -f "$dir/$lang/$_"} readdir(DIR); closedir DIR; for my $file (@files) { $files{$lang}->{$file}->{'all'} = getMetadata("$dir/$lang/$file"); if ($lang eq 'en') { $files{$lang}->{$file}->{'rev'} = translation_get_masterrevision_file($dir, $file); } else { $files{$lang}->{$file}->{'based'} = translation_get_basedonrevision_langfile($dir, $lang, $file); }; }; }; my %priorities; for my $file (keys %{$files{'en'}}) { my $p = $files{'en'}->{$file}->{'all'}->{'Translation-Priority'}; if (defined $p) { $priorities{$p} = 1; }; }; my @priorities = sort {$a cmp $b} keys %priorities; push @priorities, 'other'; my $HTMLBASE = (defined $ENV{'HTMLBASE'} ? $ENV{'HTMLBASE'} : 'https://www.torproject.org/') . ($dir eq '.' ? '' : $dir.'/'); print "<h1>$dir</h1>\n"; for my $priority (@priorities) { print "<h2>$priority</h2>\n"; print "<table border=1>\n"; print "<tr>\n"; print "<th>File</th>\n"; printf("<th>%s (%s)</th>\n", $_, $LANGUAGES{$_}) for ('en', grep { $_ ne 'en' } @LANGUAGES); print "</tr>\n"; for my $file (sort {$a cmp $b} keys %{$files{'en'}}) { my $file_priority = $files{'en'}->{$file}->{'all'}->{'Translation-Priority'}; next if (defined $file_priority && $priority ne $file_priority); next if (!defined $file_priority && $priority ne 'other'); my $obs = file_is_obsolete($dir, 'en', $file); my $validatorlink = ''; my $htmlfile = $file; if ($htmlfile =~ s/\.wml/.html/) { $validatorlink = sprintf '<br><a href="http://validator.w3.org/check?uri=%s%s.en">validator</a>', $HTMLBASE, $htmlfile; } print "<tr>"; printf "<th>%s</th>", $file; printf '<td%s>Revision %s%s<br> <a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/trunk/%sen/%s?root=Tor&view=markup">HEAD</a> %s', ($obs ? ' bgcolor="#D3D3D3"' : ''), $files{'en'}->{$file}->{'rev'}, ($obs ? ' (obsolete)' :''), ($dir eq '.' ? '' : $dir.'/'), $file, $validatorlink; for my $lang (@LANGUAGES) { next if $lang eq 'en'; my $color; my $status; if ($validatorlink) { $validatorlink = sprintf '<br><a href="http://validator.w3.org/check?uri=%s%s.%s">validator</a>', $HTMLBASE, $htmlfile, $lang; }; if (exists $files{$lang}->{$file}) { my $all_info = ''; for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) { $all_info .= sprintf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key}; }; my $difflink; if ($files{$lang}->{$file}->{'based'} eq $files{'en'}->{$file}->{'rev'}) { $color='#90EE90'; $status='current'; $difflink=''; } else { $status='not current'; if ($files{$lang}->{$file}->{'based'} ne 'unknown') { $difflink=sprintf '<br><a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/trunk/%sen/%s?root=Tor&r1=%s&r2=%s">changes in original</a>', ($dir eq '.' ? '' : $dir.'/'), $file, $files{$lang}->{$file}->{'based'}, $files{'en'}->{$file}->{'rev'}; $color='yellow'; } else { $difflink=''; $color='#FFA500'; }; }; printf '<td bgcolor="%s">%s<br> <a href="http://cvs.seul.org/viewcvs/viewcvs.cgi/website/trunk/%s%s/%s?root=Tor&view=markup">HEAD</a><br> %s %s %s</td>', $color, $status, ($dir eq '.' ? '' : $dir.'/'), $lang, $file, $all_info, $difflink, $validatorlink; } else { $color=($obs ? '#90EE90' : 'red'); $status='missing'; printf '<td bgcolor="%s">%s</td>', $color, $status; }; delete $files{$lang}->{$file}; }; print "</tr>\n\n"; }; print "</table>\n\n\n"; }; for my $lang (@LANGUAGES) { next if $lang eq 'en'; if (keys %{$files{$lang}} > 0) { # print "<p>"; print "<br><br>"; printf "<h2>Additional files in %s (%s)</h2>\n", $lang, $LANGUAGES{$lang}; print "<table border=1>\n"; print "<tr>\n"; print "<th>File</th>\n"; print "<th>Based on Revision</th>\n"; print "</tr>\n"; for my $file (sort {$a cmp $b} keys %{$files{$lang}}) { print "<tr>"; printf "<th>%s</th><td>", $file; for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) { printf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key}; }; printf "</td>"; delete $files{$lang}->{$file}; print "</tr>\n"; }; print "</table>\n\n"; }; }; }; do_status('.', 0); do_status('docs', 1); #do_status('eff', 1); #do_status('gui', 1); :> </div><!-- #main --> #include <foot.wmi>