Changeset 3855


Ignore:
Timestamp:
2003-03-12T11:43:26+13:00 (21 years ago)
Author:
davidb
Message:

General improvements to translator facility.

Location:
trunk/gsdl/bin/script
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/bin/script/fromsearch.pl

    r3724 r3855  
    5353    $baselanguage = shift(@_);
    5454   
    55     $dir = "/research/kde2/gsdl/tmp/lang/gdbmfiles/";
     55    $dir = util::filename_cat($ENV{'GSDLHOME'},"tmp","lang","gdbmfiles");
    5656
    5757    #finds the macroname in the dbfiles
    58     my ($formhash) = &db_db_diffs ($dir.$baselanguage.".db", $dir.$language.".db", $macroname);
    59     my ($formhash2) = &db_db_diffs($dir.$baselanguage."2.db", $dir.$language."2.db", $macroname);
     58    my $db1_blang = util::filename_cat($dir,$baselanguage.".db");
     59    my $db1_lang  = util::filename_cat($dir,language.".db");
     60    my $db2_blang = util::filename_cat($dir,$baselanguage."2.db");
     61    my $db2_lang  = util::filename_cat($dir,language."2.db");
     62
     63    my ($formhash) = &db_db_diffs ($db1_blang, $db1_lang, $macroname);
     64    my ($formhash2) = &db_db_diffs($db2_blang, $db2_lang, $macroname);
    6065
    6166    #puts results of above calls into one hash
     
    102107    tie(%db2hash, "GDBM_File", $db_two, GDBM_READER, 0640);
    103108
    104    
    105109    #the key is the name of the macro
    106110    foreach $key (sort keys(%db1hash)) {
     
    133137{
    134138    my ($formhash) = shift(@_);
    135     open (FILE, ">/research/kde2/gsdl/tmp/lang/package_forms/fromsearch.lang") or die "MURGH FROMSEARCH\n";
     139    my $fs_fname = util::filename_cat($ENV{'GSDLHOME'},"tmp","lang",
     140                      "package_forms","fromsearch.lang");
     141
     142    open (FILE, ">$fs_fname") or die "Unable to open $fs_fname: $!\n";
    136143    my $language = shift(@_);
    137144    my $baselanguage = shift(@_);
  • trunk/gsdl/bin/script/picklanguage.pl

    r3724 r3855  
    5050
    5151    # directory in which to put the generated html pages
    52     my $dir = "$ENV{'GSDLHOME'}/tmp/lang/package_forms";
    53     # creates directory if it doesn't already exist
    54     if (!-e $dir) {
    55     my $store_umask = umask(0000);
    56     if (! mkdir($dir, 0777)) {
    57         umask($store_umask);
    58         die "Couldn't create directory $dir\n";
     52    my $lang_dir = util::filename_cat($ENV{'GSDLHOME'},"tmp","lang");
     53    my $forms_dir = util::filename_cat($lang_dir,"package_forms");
     54
     55    ## replace next two blocks of code with with util::mk_all_dir() ...
     56    util::mk_all_dir($forms_dir);
     57 
     58    my @lang_list;
     59    my $langlog_fname = util::filename_cat($forms_dir,"languages.log");
     60
     61    if (!-e $langlog_fname) {
     62    # generate one based on content of etc/main.cfg
     63    my $maincfg_fname = util::filename_cat($ENV{'GSDLHOME'},"etc","main.cfg");
     64
     65    open(MCFILE, "<$maincfg_fname")
     66        || die "Unable to open $maincfg_fname: $!\n";
     67    my $line;
     68    while (defined ($line=<MCFILE>)) {
     69        chomp($line);
     70        if ($line =~ m/^Language\s+/i) {
     71        my @args = split(/ +/,$line);
     72        my ($lang_abbr) = ($args[1] =~ m/^shortname=(.*)$/);
     73        my ($lang_long) = ($args[2] =~ m/^longname=(.*)$/);
     74        push(@lang_list, { 'long' => $lang_long, 'abbr' => $lang_abbr } );
     75        }
     76
    5977    }
    60     umask($store_umask);
     78    close MCFILE;
     79
     80    open(LANGFILE,">$langlog_fname")
     81        || die "Unable to create $langlog_fname: $!\n";
     82
     83    my $l;
     84    foreach $l ( @lang_list ) {
     85        my $long = lc($l->{'long'});
     86        my $abbr = $l->{'abbr'};
     87        print LANGFILE "$long\n$abbr\n";
     88    }
     89    close LANGFILE;
    6190    }
    62  
    63     open(LANGFILE, "<$dir/languages.log") or die "MURGH\n";
     91     
     92
     93    open(LANGFILE, "<$langlog_fname")
     94    || die "Unable to open $langlog_fname for reading: $!\n";
    6495
    6596    #reads into the languages array all languages currently in use
     
    75106
    76107    #opens a file to write HTML content of the page to
    77     open(HTMLFILE, ">$dir/picklanguage.lang") or die "MURGH\n";
     108
     109    my $picklang_fname = util::filename_cat($forms_dir,"picklanguage.lang");
     110
     111    open(HTMLFILE, ">$picklang_fname")
     112    || die "Unable to open $picklang_fname: $!\n";
    78113   
    79114    #writes to file the instructions on how to use the interface (_textinitial)
  • trunk/gsdl/bin/script/submit_translation.pl

    r3724 r3855  
    105105
    106106    foreach $ky (sort {$a <=> $b} keys %foreign) {
    107     if ($foreign{$ky} =~ m/package\s*home/) {
     107    if ($foreign{$ky} =~ m/package\s+home(\s+|$)/) {
    108108        close MACROOUT;
    109109        open MACROOUT, ">$ENV{'GSDLHOME'}/macros/$language2.dm" or die "MURGH MACROOUT2\n";
     
    345345    }
    346346
    347     foreach $distinctkey (sort keys %distinctkeys) {
    348 
    349     $key = $distinctkey;
    350     $key =~ s/\d+//;
    351     $number = $&;
     347    for $key (sort keys %distinctkeys) {
    352348   
    353     $orderingHASH{$key}{$number} = $distinctkeys{$distinctkey};
    354     }
    355 
    356     for $key (sort keys %orderingHASH) {
    357    
    358     for $number (sort {$a <=> $b} keys %{$orderingHASH{$key}}) {
    359         $macrotext .= $orderingHASH{$key}{$number};
    360        
    361     }
     349    $macrotext = $distinctkeys{$key};
     350
    362351    #print STDERR "$key\n";
    363352    $macronames{$key} = $macrotext;
  • trunk/gsdl/bin/script/translator.pl

    r3724 r3855  
    312312    #system call which returns one big string containing the whole macro file
    313313    #with each line annotated with the date it was last modified
     314    $ENV{'CVS_RSH'}="ssh";
    314315    $file = qx/cd $ENV{'GSDLHOME'}\/macros;cvs annotate $language.dm/;
    315316    #split the file into an array of lines
     
    590591    my $query = new CGI;
    591592    my $keynamecount = 1;
    592    
     593
    593594    $first = "true";
    594595
     
    662663        #prints to the file two text fields, the left one contains the base language
    663664        #macro text, the right contains the translation language macro text if any exists
    664         print $fh ("<tr><td align=center>",
    665 
    666                $query->textfield(-name=>"whocares",
    667                          -default=>"$&",
    668                          -size=>50,
    669                          -readonly=>1),
     665
     666        my $textbox1;
     667        if (1) {
     668            $rows = 1 if ($rows < 1);
     669            $textbox1 = "<textarea name=\"whocaresh\" rows=\"$rows\" cols=\"50\" readonly=\"1\">";
     670            $textbox1 .= "$& </textarea>\n";
     671        }
     672        else {
     673            $textbox1 = $query->textfield(-name=>"whocares",
     674                         -default=>"$&",
     675                         -size=>50,
     676                         -readonly=>1);
     677        }
     678
     679        print $fh ("<tr><td align=center>", $textbox1,
    670680               "</td><td align=center>",
    671681               $query->hidden(-name=>"$keyname" . "$keynamecount",-default=>"$`"));
    672682        $keynamecount++;
    673         print $fh ($query->textfield(-name=>"$keyname" . "$keynamecount",
    674                          -default=>"$default",
    675                          -size=>50));
     683
     684        my $textbox2;
     685        if (1) {
     686            $textbox2 = "<textarea name=\"$keyname$keynamecount\" rows=\"$rows\" cols=\"50\">";
     687            $textbox2 .= "$default </textarea><br>\n"; 
     688        }
     689        else {
     690            $textbox2 = $query->textfield(-name=>"$keyname" . "$keynamecount",
     691                          -default=>"$default",
     692                          -size=>50);
     693        }
     694        print $fh $textbox2;
    676695        $keynamecount++;
    677696        print $fh ($query->hidden(-name=>"$keyname" . "$keynamecount",-default=>"$'"),
     
    689708        #macro text then use this value to determine whether we should use a text area
    690709        #or a text field
    691         if ($rows > 1) {
    692             #$rows = $rows * 2;
     710
     711        # Experimenting with textfield and text area
     712        # for now use exclusively textareas.
     713
     714        # if ($rows >= 0) {
     715        if (1) {
     716            $rows = 1 if ($rows < 1);
     717
    693718            #prints to the file two text areas, the left one contains the base language
    694719            #macro text, the right contains the translation language macro text if any exists
     
    704729                   "$default </textarea><br></td></tr>\n"); 
    705730           
    706             print STDERR "$text \n";
     731            #### print STDERR "$text \n";
    707732        }
    708733        else {
     
    733758    # adds the CGI area just written to the array of CGI areas
    734759    push (@queries, $query);
    735    
     760
    736761    return $query;
    737762}
Note: See TracChangeset for help on using the changeset viewer.