Changeset 10041
- Timestamp:
- 2005-06-10T10:58:10+12:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/bin/script/gti.pl
r10040 r10041 323 323 # The query string 324 324 my $query_string = join(' ', @_); 325 # &log_message("Query string: $query_string");326 325 327 326 # Check that the necessary arguments were supplied … … 501 500 # Apply the submitted translations 502 501 foreach my $chunk_key (keys(%target_file_key_to_submission_mapping)) { 502 # Only apply the submission if it is a change, unless -force_submission has been specified 503 503 if ($force_submission_flag || $target_file_key_to_submission_mapping{$chunk_key} ne $target_file_key_to_text_mapping{$chunk_key}) { 504 504 $target_file_key_to_text_mapping{$chunk_key} = $target_file_key_to_submission_mapping{$chunk_key}; … … 553 553 554 554 foreach my $translation_file (@$gti_translation_files) { 555 # Have we found the correct translation file? 556 if ($translation_file_key eq $translation_file->{'key'}) { 557 # Resolve the target language file 558 my $target_language_file = $translation_file->{'target_file'}; 559 if ($target_language_file =~ /(\{.+\;.+\})/) { 560 my $unresolved_target_language_file_part = $1; 561 562 # Check for a special case for the target language code 563 if ($unresolved_target_language_file_part =~ /(\{|\;)$target_language_code:([^\;]+)(\;|\})/) { 564 my $resolved_target_language_file_part = $2; 565 $target_language_file =~ s/$unresolved_target_language_file_part/$resolved_target_language_file_part/; 566 } 567 # Otherwise use the last part as the default value 568 else { 569 my ($default_target_language_file_part) = $unresolved_target_language_file_part =~ /([^\;]+)\}/; 570 $target_language_file =~ s/$unresolved_target_language_file_part/\{$default_target_language_file_part\}/; 571 } 555 # If this isn't the correct translation file, move onto the next one 556 next if ($translation_file_key ne $translation_file->{'key'}); 557 558 # Resolve the target language file 559 my $target_language_file = $translation_file->{'target_file'}; 560 if ($target_language_file =~ /(\{.+\;.+\})/) { 561 my $unresolved_target_language_file_part = $1; 562 563 # Check for a special case for the target language code 564 if ($unresolved_target_language_file_part =~ /(\{|\;)$target_language_code:([^\;]+)(\;|\})/) { 565 my $resolved_target_language_file_part = $2; 566 $target_language_file =~ s/$unresolved_target_language_file_part/$resolved_target_language_file_part/; 572 567 } 573 574 # Resolve instances of {iso_639_1_target_language_name} 575 my $iso_639_1_target_language_name = $iso639::fromiso639{$target_language_code}; 576 $iso_639_1_target_language_name =~ tr/A-Z/a-z/ if $iso_639_1_target_language_name; 577 $target_language_file =~ s/\{iso_639_1_target_language_name\}/$iso_639_1_target_language_name/g; 578 579 # Resolve instances of {target_language_code} 580 $target_language_file =~ s/\{target_language_code\}/$target_language_code/g; 581 582 return ($translation_file->{'source_file'}, $target_language_file, $translation_file->{'file_type'}); 583 } 568 # Otherwise use the last part as the default value 569 else { 570 my ($default_target_language_file_part) = $unresolved_target_language_file_part =~ /([^\;]+)\}/; 571 $target_language_file =~ s/$unresolved_target_language_file_part/\{$default_target_language_file_part\}/; 572 } 573 } 574 575 # Resolve instances of {iso_639_1_target_language_name} 576 my $iso_639_1_target_language_name = $iso639::fromiso639{$target_language_code}; 577 $iso_639_1_target_language_name =~ tr/A-Z/a-z/ if $iso_639_1_target_language_name; 578 $target_language_file =~ s/\{iso_639_1_target_language_name\}/$iso_639_1_target_language_name/g; 579 580 # Resolve instances of {target_language_code} 581 $target_language_file =~ s/\{target_language_code\}/$target_language_code/g; 582 583 return ($translation_file->{'source_file'}, $target_language_file, $translation_file->{'file_type'}); 584 584 } 585 585 … … 737 737 my @target_file_keys_requiring_translation = (); 738 738 foreach my $chunk_key (keys(%$source_file_key_to_text_mapping)) { 739 if ( !$target_file_key_to_text_mapping->{$chunk_key} && $source_file_key_to_text_mapping->{$chunk_key}) {739 if ($source_file_key_to_text_mapping->{$chunk_key} && !$target_file_key_to_text_mapping->{$chunk_key}) { 740 740 # &log_message("Chunk with key $chunk_key needs translating."); 741 741 push(@target_file_keys_requiring_translation, $chunk_key); … … 854 854 while ($line !~ /\}$/) { 855 855 $i++; 856 if ($i == scalar(@file_lines)) { 857 &throw_fatal_error("Could not find end of macro $macro_key."); 858 } 856 859 $line = $file_lines[$i]; 857 860 $line =~ s/\s*([^\\]\#.+)?$//; # Remove any comments and nasty whitespace
Note:
See TracChangeset
for help on using the changeset viewer.