summaryrefslogtreecommitdiff
path: root/genintl.pl
diff options
context:
space:
mode:
Diffstat (limited to 'genintl.pl')
-rwxr-xr-xgenintl.pl80
1 files changed, 80 insertions, 0 deletions
diff --git a/genintl.pl b/genintl.pl
new file mode 100755
index 00000000..0e19846c
--- /dev/null
+++ b/genintl.pl
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+#
+# Script para gerar arquivo de internacionalização
+# Versão 1.0
+#
+# Copyright (c) 2002-2003 Leandro Pereira <leandro@linuxmag.com.br>
+# Copyright (c) 2003 RadSys Software Ltda.
+# Todos os direitos reservados.
+#
+# É permitida a distribuição e modificação deste, desde que os créditos
+# estejam presentes e que exista uma notificação sobre as modificações
+# feitas.
+# Não há restrição de uso.
+#
+
+print "Generating `default.lang' catalog...\n";
+
+@list=`find *.c`;
+
+$maxsize=0;
+foreach $i (0..$#list){
+ $maxsize=length($list[$i]) if(length($list[$i]) > $maxsize);
+}
+
+open(B, ">default.lang");
+
+print B "[Translation]\n";
+print B "translated-by=Unknown\n\n";
+
+$messages=0;
+
+foreach $k (0..$#list){
+ $line=0;
+ $thismsg=0;
+
+ $file=$list[$k];
+ chomp($file);
+ print B "[$file]\n";
+ print STDERR "Searching in `$file':";
+ print STDERR " " x ($maxsize - length($file) + 2);
+
+ open(A, $file);
+ while(<A>){
+ $line++;
+ if(/_\(/){
+ chomp;
+ $_=~s/\t//g;
+ $_=~s/_ \(/_\(/g;
+
+ for($i=0; $i<=length($_); $i++){
+ if(substr($_, $i, 1) eq "_" &&
+ substr($_, $i+1, 1) eq "\("){
+ for($j=$i+3; substr($_, $j, 1) ne "\""; $j++){
+ print B substr($_, $j, 1);
+ }
+ print B "=";
+ for($j=$i+3; substr($_, $j, 1) ne "\""; $j++){
+ print B substr($_, $j, 1);
+ }
+ print B "\n";
+
+ $messages++;
+ $thismsg++;
+ }
+ }
+ }
+ }
+ close(A);
+ print B "\n";
+ if($thismsg){
+ printf "%02d messages", $thismsg;
+ }else{
+ print "Nothing";
+ }
+ print " found.\n";
+}
+
+close(B);
+
+print "$messages messages saved in `default.lang'\n";