#!/opt/perl/5.8/bin/perl -I /fw/subsystems/loc/tools/loca/mod/
# /fw/subsystems/loc/tools/loca/OLDDB_to_LOCA.pl
use lib "/fw/subsystems/loc/tools/loca/mod/";
use strict;
use Encode;
use XML::XPath;
use XML::XPath::XMLParser;
my %SubstituteHash;
my $SourceHash;
my $import_xp = XML::XPath->new(filename => "russian_test.xml");
open (XML_DIFF_FH,"> test_o.xml") or die "$!";
binmode XML_DIFF_FH, ":utf8";
print XML_DIFF_FH "\n\n";
my $import_xp_nodeset = $import_xp->find("/Translation/String");
foreach my $import_xp_node ( $import_xp_nodeset->get_nodelist )
{
my $CurrentStringId = $import_xp_node->findvalue("\@name");
$SourceHash->{$CurrentStringId} = $import_xp_node->findvalue("value[\@language!=\"English\"]/text");
$SourceHash->{$CurrentStringId} = pack ("U*", unpack("C*", $SourceHash->{$CurrentStringId}));
print STDERR Encode::is_utf8($SourceHash->{$CurrentStringId})?"1":"0";
$import_xp->setNodeText("/Translation/String[\@name=\"$CurrentStringId\"]/value[\@language=\"English\"]/text",
$SourceHash->{$CurrentStringId} );
print XML_DIFF_FH XML::XPath::XMLParser::as_string($import_xp_node) . "\n";
print XML_DIFF_FH "" . $SourceHash->{$CurrentStringId} . "\n";
}
print XML_DIFF_FH "";
close XML_DIFF_FH;
####
test
Да