#!/usr/bin/perl -w

if($#ARGV!=0) {
  print "Usage: perl xmlprep_subs.pl <dir>\n";
  exit;
}
my $sourcedir=$ARGV[0];

if($^O eq "MSWin32") {
  @filelist=glob("\"$sourcedir\\\*.xml\"");
} else {
  @filelist=glob("\"$sourcedir/\*.xml\"");
}
my $listsize=@filelist;
if($listsize==0) {
  print "Error: No XML files found in $sourcedir\n";
  exit;
}

FILELOOP: for $sourcefile (@filelist) {
  my $token1="";
  my $token2="";
  my @arr;
  if($^O eq "MSWin32") {
    @arr=split(/\\/,$sourcefile);
  } else {
    @arr=split(/\//,$sourcefile);
  }
  my $fname=$arr[-1];
  print "Processing ".$fname."...\n";
  open(OLDXML, "<".$sourcefile);
  if($^O eq "MSWin32") {
    open(NEWXML, '>' . $sourcedir . '\\_' . $fname);
  } else {
    open(NEWXML, '>' . $sourcedir . '/_' . $fname);
  }
  foreach my $line (<OLDXML>) {
    if (index($line, '<Language Code') != -1) {
      @arr=split(/"/,$line);
      my $xml_lang=$arr[1];
      @arr=split(/-/,$fname);
      my $actual_lang=$arr[1];
      $token1="=\"".$xml_lang."\"";
      $token2="=\"".$actual_lang."\"";
      $line=~s/$token1/$token2/;
    }
    print NEWXML $line;
  }
  close(OLDXML);
  close(NEWXML);
  unlink($sourcefile);
  if($^O eq "MSWin32") {
    rename($sourcedir . '\\_' . $fname,$sourcefile);
  } else {
    rename($sourcedir . '/_' . $fname,$sourcefile);
  }
}

print "Process complete.\n";
