From b1e46640724c7cfb702f40c56b05dd10962ac55c Mon Sep 17 00:00:00 2001 From: Frederic Lepied Date: Tue, 27 Jan 2004 16:42:14 +0000 Subject: first version --- translate_menu.pl | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 translate_menu.pl diff --git a/translate_menu.pl b/translate_menu.pl new file mode 100755 index 0000000..e7a58a9 --- /dev/null +++ b/translate_menu.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl -w +#--------------------------------------------------------------- +# Project : Mandrake Linux +# Module : spec-helper +# File : translate_menu.pl +# Version : $Id$ +# Author : Frederic Lepied +# Created On : Mon Jan 26 13:37:49 2004 +# Purpose : change the menu sections +#--------------------------------------------------------------- + +@nested = (["Configuration", "System/Configuration"], + + ["Applications/Monitoring", "System/Monitoring"], + ["Applications/Publishing", "Office/Publishing"], + ["Applications/File tools", "System/File tools"], + ["Applications/Text tools", "System/Text tools"], + ["Applications/Archiving", "System/Archiving"], + ["Applications", "More applications"], + + ["Terminals", "System/Terminals"], + + ["Documentation", "More applications/Documentation"], + + ["Office/PDA", "Office/Communications/PDA"], + + ["Networking/IRC", "Internet/Chat"], + ["Networking/WWW", "Internet/Web browsers"], + ["Networking", "Internet"], + + ["Amusement", "More applications/Games"], + ["Session/Windowmanagers", "System/Session/Windowmanagers"], + ); + +sub translate { + my ($str) = @_; + + foreach my $t (@nested) { + if ($str =~ /(.*)$t->[0](.*)/ and not ($str =~ /$t->[1]/) ) { + print "$str => $1$t->[1]$2\n"; + return "$1$t->[1]$2"; + } + } + return $str; +} + +# process each file passed on cli: +foreach my $file (@ARGV) { + open (my $FILE, "<$file"); + my @lines = <$FILE>; + close($FILE); + open ($FILE, ">$file"); + for my $l (@lines) { + chomp($l); + if (( $l =~ /(.*section=")([^"]+)("\s+.*)/ ) or ( $l =~ /(.*section=)([^"].+?)((\s|\\)+.*)/ )) { + my ($beg, $section, $end) = ($1, $2, $3); + $section = translate($section); + $l = "$beg$section$end"; + } + print $FILE "$l\n"; + } + close($FILE); +} + +# translate_menu.pl ends here -- cgit v1.2.1