#!/usr/bin/perl use CGI; use File::Basename; use File::Find; use URI::Escape; use MIME::Lite; use CGI::Carp qw(fatalsToBrowser); $CGI::POST_MAX = 1024 * 30; # 30k should be plenty my $original_dir = "/www/t/tcbnetworks/translate/original/"; my $translate_dir = "/www/t/tcbnetworks/translate/translations/"; my $q = new CGI; my $SaveParam = "save"; my $ContinueParam = "continue"; my $DownloadParam = "download"; my $SubmitParam = "send"; my $FinalSubmitParam = "finalsend"; main(); sub main { if ($q->param($SaveParam)) { SaveProgress(); exit(); } if ($q->param($DownloadParam)) { DownloadFile(); exit(); } print $q->header(); if ($q->param($SubmitParam)) { SubmitFile(); exit(); } if ($q->param($FinalSubmitParam)) { Send(); exit(); } if ($q->param($ContinueParam)) { ContinueFromUpload($q->param('FILE')); exit(); } my $translate_lang = uri_unescape($q->param('lang')); my $translate_mods = uri_unescape($q->param('mods')); my $version = $q->param('ver'); my $x = 0; while ($author = $q->param("AUTHOR$x")) { push Authors, $author; $x++; } print "\n"; if ($translate_lang) { if ($translate_mods) { if ($version) { CreateFile($translate_lang, $translate_mods, \@Authors); } else { TranslateMods($translate_lang, $translate_mods); } } else { ChooseMods($translate_lang); } } else { MainPage(); } exit(); } sub MainPage() { find ( sub { # Print the Directory if (! -d $File::Find::name ) { $File::Find::name =~ /.*\/(.*)\.lng/; $LangName = $1; if ($LangName) { $main::langlist{$LangName} = 1; } } }, $translate_dir ); print qq~
StrokeIt Translation System | |
|
Welcome to the StrokeIt Online Translation page. From here, you will be able to easily create, save, and update StrokeIt language files. If you do create or update a translation, please take the time to submit your translation, so that other users can benefit from it. |
| Update Existing Translations |
|
$lang |
| Create new translation |
| Continue a translation |
$translate_lang Translation |
|
| Outdated | Current |
|
~;
my @oldlist;
my @curlist;
foreach my $mod (sort keys %modlist) {
if ($modlist{$mod} == 1) {
$cur = GetModVersion($mod, $translate_lang);
$latest = GetModLatest($mod);
if ($cur eq $latest) {
push @curlist, $mod;
}
else {
push @oldlist, $mod;
}
}
}
# Outdated
foreach $mod (@oldlist) {
print "";
print $mod;
print " "; } print qq~ |
~;
# Current
foreach $mod (@curlist) {
print "";
print $mod;
print " "; } print qq~ |