Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorBruno Coudoin <bcoudoin@src.gnome.org>2006-07-14 18:26:08 (GMT)
committer Bruno Coudoin <bcoudoin@src.gnome.org>2006-07-14 18:26:08 (GMT)
commite9a349629c6cdd929517028fbdfb4a6e390e2dc0 (patch)
treed38a66745885f4eaa0130c045f82ebb1c0e100dc /tools
parent2fd3f5043f8c81e891f6e99d796ca602b06ea9e1 (diff)
- Fixed location and name of many voices
- added the tool check_missing_voices.pl to replace list_missing_sounds.sh * configure.in: added marathi voices * gcompris.spec.in: added marathi voices * src/gcompris/Makefile.mingw: fixed to compile again on windows
Diffstat (limited to 'tools')
-rwxr-xr-xtools/check_missing_voices.pl80
-rwxr-xr-xtools/list_missing_sounds.sh45
2 files changed, 80 insertions, 45 deletions
diff --git a/tools/check_missing_voices.pl b/tools/check_missing_voices.pl
new file mode 100755
index 0000000..10e922d
--- /dev/null
+++ b/tools/check_missing_voices.pl
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+
+#
+# Run this program in the top level GCompris directory
+# with a locale parameter like ./check_missing_voices fr
+#
+# It will tell you which voices are missing
+#
+use strict;
+use Data::Dumper;
+
+
+if(!defined $ARGV[0])
+ {
+ print "Usage: ./check_missing_voices <locale>\n";
+ print " e.g. ./check_missing_voices fr\n";
+ exit 1;
+ }
+my $TARGET_LOCALE = $ARGV[0];
+
+my $BASEDIR="./boards/sounds";
+
+# I don't set alphabet dir, it's too locale specific
+my @SUBDIRS= qw/geography misc colors/;
+
+if(! -d $BASEDIR)
+ {
+ print "ERROR: You must run this tool from the top GCompris directory this way:\n";
+ print " ./tools/check_missing_voices.pl $TARGET_LOCALE\n";
+ exit(1);
+ }
+
+my @LOCALES;
+foreach my $file (`ls $BASEDIR`)
+ {
+ chomp($file);
+ if (-d "$BASEDIR/$file" &&
+ ($file =~ /^[a-z]{2}$/ || $file =~ /^[a-z]{2}_[a-zA-Z]{2}$/))
+ {
+ push(@LOCALES, $file);
+ }
+ }
+
+printf("Locale already supported: @LOCALES\n");
+
+# Create the longest list possible
+my @ALL_FILES;
+foreach my $locale (@LOCALES)
+ {
+ foreach my $subdir (@SUBDIRS)
+ {
+ opendir DIR, "$BASEDIR/$locale/$subdir"
+ or die "cannot open dir $BASEDIR/$locale/$subdir: $!";
+ foreach my $file ( grep { $_ =~ /\.ogg$/} readdir DIR)
+ {
+ if("@ALL_FILES" !~ /$subdir\/$file/g)
+ {
+ push(@ALL_FILES, "$subdir/$file");
+ }
+ }
+ closedir DIR;
+ }
+ }
+
+#
+# Now we have the uniq list of all the files of all locales.
+# We now check each one is translated in the target locale
+#
+print "Missing files for locale '$TARGET_LOCALE':\n";
+my $got_error = 0;
+foreach my $file (@ALL_FILES)
+ {
+ if(! -f "$BASEDIR/$TARGET_LOCALE/$file")
+ {
+ print "$file\n";
+ $got_error = 1;
+ }
+ }
+print "\nGreat, nothing is missing !\n" if !$got_error;
+print "\nI did not checked the directory '$BASEDIR/$TARGET_LOCALE/alphabet'\n"
diff --git a/tools/list_missing_sounds.sh b/tools/list_missing_sounds.sh
deleted file mode 100755
index 411ea0c..0000000
--- a/tools/list_missing_sounds.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-#
-# Copyright (C) 2006 Jose JORGE
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#######################################################################
-#
-# This script lists the sounds missing in some locale compared to english
-# It much be run with the list of locale sound you want to compare
-# list_missing_sounds fr en de
-#
-snd_path="boards/sounds/"
-reference="en"
-
-if test "$1" == ""
-then
- echo "Usage: $0 <locale>"
- echo "With locale being a locale as found in boards/sounds like fr"
- echo "Run it in the GCompris root directory"
- exit 1
-fi
-
-for locale in $@
-do
- if test -d boards/sounds/$locale; then
- find $snd_path$locale | grep .ogg > ~/tmp/sounds_$locale.lst
- find $snd_path$reference | grep .ogg | sed s+/$reference/+/$locale/+ > ~/tmp/sounds_$reference.lst
- echo "The sounds avaliable in $reference that miss in $locale are :"
- grep -v -f ~/tmp/sounds_$locale.lst ~/tmp/sounds_$reference.lst
- fi
-done
-rm ~/tmp/sounds_$locale.lst ~/tmp/sounds_$reference.lst