1#!/usr/bin/perl 2# 3# $Id: locale2sql.pl 92 2007-11-30 13:08:03Z jakob $ 4 5use warnings; 6use strict; 7use YAML qw(LoadFile Dump); 8 9my $file = $ARGV[0]; 10 11my ($hashref, $arrayref, $string) = LoadFile($file); 12 13my $lang = $hashref->{locale_id}; 14 15foreach my $tag (keys %{ $hashref->{messages} }) { 16 my $args = $hashref->{messages}{$tag}{args}; 17 my $format = $hashref->{messages}{$tag}{format}; 18 my $descr = $hashref->{messages}{$tag}{descr}; 19 20 if ($format) { 21 $format = sprintf("\"%s\"", $format); 22 } else { 23 $format = "NULL"; 24 } 25 26 if ($descr) { 27 $descr = sprintf("\"%s\"", $descr); 28 } else { 29 $descr = "NULL"; 30 } 31 32 printf("INSERT INTO messages "); 33 printf("(tag,arguments,language,formatstring,description) \n"); 34 printf("VALUES (\"%s\",%d,\"%s\",%s,%s);\n", 35 $tag, $args, $lang, $format, $descr); 36} 37