Andrew Lewman commited on 2010-08-16 21:15:21
Zeige 2 geänderte Dateien mit 0 Einfügungen und 243 Löschungen.
| ... | ... |
@@ -1,238 +0,0 @@ |
| 1 |
-## translation metadata |
|
| 2 |
-# Revision: $Revision: 21313 $ |
|
| 3 |
- |
|
| 4 |
-# Note to translators: |
|
| 5 |
-# translating this page is probably not a good idea, and it never was intended to be translated. |
|
| 6 |
-# it contains lots of programming logic, which you would have to duplicate, and it's probably |
|
| 7 |
-# useful only to other translators which most likely will know a bit of english. |
|
| 8 |
-# |
|
| 9 |
-# Thanks for your hard work, improve the other pages instead. :) -- weasel |
|
| 10 |
-#include "head.wmi" TITLE="Tor Projecdt: Translation status" CHARSET="UTF-8" |
|
| 11 |
-#use "functions.wmi" |
|
| 12 |
- |
|
| 13 |
-<div id="content" class="clearfix"> |
|
| 14 |
- <div id="breadcrumbs"> |
|
| 15 |
- <a href="<page index>">Home » </a> |
|
| 16 |
- <a href="<page getinvolved/getinvolved>">Get Involved » </a> |
|
| 17 |
- <a href="<page getinvolved/translation-status>">Translation Status</a> |
|
| 18 |
- </div> |
|
| 19 |
- <div id="maincol"> |
|
| 20 |
- <h1>Tor: Translation status</h1> |
|
| 21 |
- <hr /> |
|
| 22 |
- |
|
| 23 |
- <: |
|
| 24 |
- sub do_status(\%$$) {
|
|
| 25 |
- my $dir = $_[1]; |
|
| 26 |
- my $may_miss_dir = $_[2]; |
|
| 27 |
- my %files; |
|
| 28 |
- |
|
| 29 |
- my @warnings; |
|
| 30 |
- for my $lang (@LANGUAGES) {
|
|
| 31 |
- my $dir_opened = opendir(DIR, "$dir/$lang"); |
|
| 32 |
- |
|
| 33 |
- if (! $dir_opened) {
|
|
| 34 |
- $may_miss_dir or die ("Cannot opendir $dir/$lang: $!\n");
|
|
| 35 |
- next; |
|
| 36 |
- } |
|
| 37 |
- |
|
| 38 |
- my @files = grep { $_ ne '.' && $_ ne '..' &&
|
|
| 39 |
- $_ !~ /tor-manual/i && $_ !~ /translation-status/i && $_ =~ m/^[^.]/ && -f "$dir/$lang/$_"} readdir(DIR); |
|
| 40 |
- closedir DIR; |
|
| 41 |
- |
|
| 42 |
- for my $file (@files) {
|
|
| 43 |
- $files{$lang}->{$file}->{'all'} = getMetadata("$dir/$lang/$file");
|
|
| 44 |
- if ($lang eq 'en') {
|
|
| 45 |
- $files{$lang}->{$file}->{'rev'} = translation_get_masterrevision_file($dir, $file);
|
|
| 46 |
- } else {
|
|
| 47 |
- $files{$lang}->{$file}->{'based'} = translation_get_basedonrevision_langfile($dir, $lang, $file);
|
|
| 48 |
- }; |
|
| 49 |
- }; |
|
| 50 |
- }; |
|
| 51 |
- my %priorities; |
|
| 52 |
- for my $file (keys %{$files{'en'}}) {
|
|
| 53 |
- my $p = $files{'en'}->{$file}->{'all'}->{'Translation-Priority'};
|
|
| 54 |
- if (defined $p) {
|
|
| 55 |
- $priorities{$p} = 1;
|
|
| 56 |
- }; |
|
| 57 |
- }; |
|
| 58 |
- my @priorities = sort {$a cmp $b} keys %priorities;
|
|
| 59 |
- push @priorities, 'none'; |
|
| 60 |
- |
|
| 61 |
- my $HTMLBASE = (defined $ENV{'HTMLBASE'} ? $ENV{'HTMLBASE'} : 'https://www.torproject.org/') . ($dir eq '.' ? '' : $dir.'/');
|
|
| 62 |
- |
|
| 63 |
- for my $priority (@priorities) {
|
|
| 64 |
- for my $file (sort {$a cmp $b} keys %{$files{'en'}}) {
|
|
| 65 |
- my $file_priority = $files{'en'}->{$file}->{'all'}->{'Translation-Priority'};
|
|
| 66 |
- next if (defined $file_priority && $priority ne $file_priority); |
|
| 67 |
- next if (!defined $file_priority && $priority ne 'none'); |
|
| 68 |
- my $path = ($dir eq '.' ? '' : $dir.'/') . $file; |
|
| 69 |
- |
|
| 70 |
- my $obs = file_is_obsolete($dir, 'en', $file); |
|
| 71 |
- my $validatorlink = ''; |
|
| 72 |
- my $htmlfile = $file; |
|
| 73 |
- if ($htmlfile =~ s/\.wml/.html/) {
|
|
| 74 |
- $validatorlink = sprintf '<br><a href="http://validator.w3.org/check?uri=%s%s.en">validator</a>', |
|
| 75 |
- $HTMLBASE, $htmlfile; |
|
| 76 |
- }; |
|
| 77 |
- |
|
| 78 |
- my $cell_path = sprintf '<th>%s</th>', $path; |
|
| 79 |
- my $cell_en = sprintf '<td%s>Revision %s%s<br> |
|
| 80 |
- <a href="https://svn.torproject.org/cgi-bin/viewvc.cgi/website/trunk/%sen/%s?root=Tor&view=markup">HEAD</a> |
|
| 81 |
- %s', |
|
| 82 |
- ($obs ? ' bgcolor="#D3D3D3"' : ''), |
|
| 83 |
- $files{'en'}->{$file}->{'rev'},
|
|
| 84 |
- ($obs ? ' (obsolete)' :''), |
|
| 85 |
- ($dir eq '.' ? '' : $dir.'/'), |
|
| 86 |
- $file, |
|
| 87 |
- $validatorlink; |
|
| 88 |
- |
|
| 89 |
- ${$_[0]}{$priority}->{$path}->{'data'} = $cell_path . $cell_en;
|
|
| 90 |
- # Assign high urgency if it's *.wmi, else init to 0 |
|
| 91 |
- if ($file =~ /.wmi$/) {
|
|
| 92 |
- ${$_[0]}{$priority}->{$path}->{'urgency'} = 1000;
|
|
| 93 |
- } else {
|
|
| 94 |
- ${$_[0]}{$priority}->{$path}->{'urgency'} = 0;
|
|
| 95 |
- } |
|
| 96 |
- |
|
| 97 |
- for my $lang (@LANGUAGES) {
|
|
| 98 |
- next if $lang eq 'en'; |
|
| 99 |
- my $color; |
|
| 100 |
- my $status; |
|
| 101 |
- #my $path = ($dir eq '.' ? '' : $dir.'/') . $file; |
|
| 102 |
- if ($validatorlink) {
|
|
| 103 |
- $validatorlink = sprintf '<br><a href="http://validator.w3.org/check?uri=%s%s.%s">validator</a>', |
|
| 104 |
- $HTMLBASE, $htmlfile, $lang; |
|
| 105 |
- }; |
|
| 106 |
- if (exists $files{$lang}->{$file}) {
|
|
| 107 |
- my $all_info = ''; |
|
| 108 |
- for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) {
|
|
| 109 |
- next if $key eq 'Translation-Priority'; |
|
| 110 |
- $all_info .= sprintf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key};
|
|
| 111 |
- }; |
|
| 112 |
- |
|
| 113 |
- my $difflink; |
|
| 114 |
- if ($files{$lang}->{$file}->{'based'} eq $files{'en'}->{$file}->{'rev'}) {
|
|
| 115 |
- $color='#90EE90'; |
|
| 116 |
- $status='current'; |
|
| 117 |
- $difflink=''; |
|
| 118 |
- } else {
|
|
| 119 |
- $status='not current'; |
|
| 120 |
- if ($files{$lang}->{$file}->{'based'} ne 'unknown') {
|
|
| 121 |
- $difflink=sprintf '<br><a href="https://svn.torproject.org/cgi-bin/viewvc.cgi/website/trunk/%sen/%s?root=Tor&r1=%s&r2=%s">changes in original</a>', |
|
| 122 |
- ($dir eq '.' ? '' : $dir.'/'), $file, $files{$lang}->{$file}->{'based'}, $files{'en'}->{$file}->{'rev'};
|
|
| 123 |
- $color='yellow'; |
|
| 124 |
- } else {
|
|
| 125 |
- $difflink=''; |
|
| 126 |
- $color='#FFA500'; |
|
| 127 |
- }; |
|
| 128 |
- |
|
| 129 |
- ${$_[0]}{$priority}->{$path}->{'urgency'} += 1;
|
|
| 130 |
- }; |
|
| 131 |
- |
|
| 132 |
- ${$_[0]}{$priority}->{$path}->{'data'} .= sprintf '<td bgcolor="%s">%s<br>
|
|
| 133 |
- <a href="https://svn.torproject.org/cgi-bin/viewvc.cgi/website/trunk/%s%s/%s?root=Tor&view=markup">HEAD</a><br> |
|
| 134 |
- %s |
|
| 135 |
- %s |
|
| 136 |
- %s</td>', |
|
| 137 |
- $color, |
|
| 138 |
- $status, |
|
| 139 |
- ($dir eq '.' ? '' : $dir.'/'), |
|
| 140 |
- $lang, $file, |
|
| 141 |
- $all_info, |
|
| 142 |
- $difflink, |
|
| 143 |
- $validatorlink; |
|
| 144 |
- } else {
|
|
| 145 |
- #my $path = ($dir eq '.' ? '' : $dir.'/') . $file; |
|
| 146 |
- $color=(($obs or $priority eq 'none') ? |
|
| 147 |
- '#90EE90' : 'red'); |
|
| 148 |
- $status='missing'; |
|
| 149 |
- |
|
| 150 |
- ${$_[0]}{$priority}->{$path}->{'data'} .= sprintf '<td bgcolor="%s">%s</td>', $color, $status;
|
|
| 151 |
- ${$_[0]}{$priority}->{$path}->{'urgency'} += ($obs or $priority eq 'none') ? 0 : 2;
|
|
| 152 |
- }; |
|
| 153 |
- delete $files{$lang}->{$file};
|
|
| 154 |
- }; |
|
| 155 |
- |
|
| 156 |
- ${$_[0]}{$priority}->{$path}->{'data'} .= $cell_en . $cell_path;
|
|
| 157 |
- }; |
|
| 158 |
- }; |
|
| 159 |
- |
|
| 160 |
- for my $lang (@LANGUAGES) {
|
|
| 161 |
- next if $lang eq 'en'; |
|
| 162 |
- if (keys %{$files{$lang}} > 0) {
|
|
| 163 |
- # print "<p>"; |
|
| 164 |
- print "<br><br>"; |
|
| 165 |
- printf "<h2>Additional files in %s (%s)</h2>\n", $lang, $LANGUAGES{$lang};
|
|
| 166 |
- |
|
| 167 |
- print "<table border=1>\n"; |
|
| 168 |
- print "<tr>\n"; |
|
| 169 |
- print "<th>File</th>\n"; |
|
| 170 |
- print "<th>Based on Revision</th>\n"; |
|
| 171 |
- print "</tr>\n"; |
|
| 172 |
- for my $file (sort {$a cmp $b} keys %{$files{$lang}}) {
|
|
| 173 |
- print "<tr>"; |
|
| 174 |
- printf "<th>%s</th><td>", $file; |
|
| 175 |
- for my $key (sort {$a cmp $b} keys %{$files{$lang}->{$file}->{'all'}}) {
|
|
| 176 |
- printf "%s: %s<br>", $key, $files{$lang}->{$file}->{'all'}->{$key};
|
|
| 177 |
- }; |
|
| 178 |
- printf "</td>"; |
|
| 179 |
- delete $files{$lang}->{$file};
|
|
| 180 |
- print "</tr>\n"; |
|
| 181 |
- }; |
|
| 182 |
- print "</table>\n\n"; |
|
| 183 |
- }; |
|
| 184 |
- }; |
|
| 185 |
- }; |
|
| 186 |
- |
|
| 187 |
- sub sort_and_print(\%) {
|
|
| 188 |
- my %rows = %{$_[0]};
|
|
| 189 |
- |
|
| 190 |
- for my $priority (sort {$a cmp $b} keys %rows) {
|
|
| 191 |
- print "<h2>Translation priority: $priority</h2>\n"; |
|
| 192 |
- |
|
| 193 |
- print "<table border=1>\n"; |
|
| 194 |
- print "<tr>\n"; |
|
| 195 |
- print "<th>File</th>\n"; |
|
| 196 |
- printf("<th>%s (%s)</th>\n", $_, $LANGUAGES{$_}) for ('en', grep({ $_ ne 'en' } @LANGUAGES), 'en');
|
|
| 197 |
- print "<th>File</th>\n"; |
|
| 198 |
- print "</tr>\n"; |
|
| 199 |
- |
|
| 200 |
- for my $row (sort {$rows{$priority}->{$b}->{'urgency'} <=> $rows{$priority}->{$a}->{'urgency'}} keys %{$rows{$priority}}) {
|
|
| 201 |
- print "<tr>"; |
|
| 202 |
- print $rows{$priority}->{$row}->{'data'};
|
|
| 203 |
- delete ${$_[0]}{$priority}->{$row};
|
|
| 204 |
- print "</tr>\n\n"; |
|
| 205 |
- }; |
|
| 206 |
- |
|
| 207 |
- print "</table><br>\n\n\n"; |
|
| 208 |
- }; |
|
| 209 |
- }; |
|
| 210 |
- |
|
| 211 |
- # accumulate the table rows, then sort and print them |
|
| 212 |
- my %table_rows; |
|
| 213 |
- do_status(%table_rows, '.', 0); |
|
| 214 |
- do_status(%table_rows, 'docs', 1); |
|
| 215 |
- #do_status(%table_rows, 'torbrowser', 1); |
|
| 216 |
- #do_status(%table_rows, 'torbutton', 1); |
|
| 217 |
- #do_status(%table_rows, 'tordnsel', 1); |
|
| 218 |
- do_status(%table_rows, 'projects', 1); |
|
| 219 |
- #do_status(%table_rows, 'torvm', 1); |
|
| 220 |
- do_status(%table_rows, 'press', 1); |
|
| 221 |
- #do_status(%table_rows, 'gettor', 1); |
|
| 222 |
- #do_status(%table_rows, 'vidalia', 1); |
|
| 223 |
- do_status(%table_data, 'eff', 1); |
|
| 224 |
- #do_status(%table_data, 'gui', 1); |
|
| 225 |
- sort_and_print(%table_rows); |
|
| 226 |
- |
|
| 227 |
- |
|
| 228 |
- :> |
|
| 229 |
- </div> |
|
| 230 |
- <!-- END MAINCOL --> |
|
| 231 |
- <div id = "sidecol"> |
|
| 232 |
-#include "side.wmi" |
|
| 233 |
-#include "info.wmi" |
|
| 234 |
- </div> |
|
| 235 |
- <!-- END SIDECOL --> |
|
| 236 |
-</div> |
|
| 237 |
-<!-- END CONTENT --> |
|
| 238 |
-#include <foot.wmi> |
| ... | ... |
@@ -26,11 +26,6 @@ |
| 26 | 26 |
contact us via email: <tt>tor-translation AT torproject.org</tt>. |
| 27 | 27 |
</p> |
| 28 | 28 |
|
| 29 |
- <p> |
|
| 30 |
- To get an idea how |
|
| 31 |
- current our translations are, we have created a page with the current |
|
| 32 |
- <a href="<page getinvolved/translation-status>">translation status</a>.</p> |
|
| 33 |
- |
|
| 34 | 29 |
<p> |
| 35 | 30 |
Note that even if you can't translate many pages for your language, |
| 36 | 31 |
a few pages will still be helpful. |
| 37 | 32 |