от morbid_viper(23-12-2004)

Ако сте инсталирали SuSE 9.1 и 9.2 и сте дали български език сигурно сте забелязали неприятните проблеми с менютата на YaSY2 и KDE/GNOME. Проблемът е в неправилно взета версия с преводите на съответните менюта и във всички пакети са сложени сгрешените низове. Доста кореспонденция водих с отговорничката по преводите за оправянето на този проблем, но засега още няма официална кръпка.
Разследването, направено от growchie_В_yahoo_ТОЧКА_com ми помогна да направя следния скрипт за оправяне на кашите.

      
#!/usr/bin/perl -w      
### This script fixes Bulgarian names in      
### menu files in SuSE 9.1 & 9.2      
### must be run as root     
### Borislav Mitev     
  
use strict;      
  
my @lines = `find /opt /usr/share /etc /home -name      
"*.desktop" -or -name "*.directory"`;      
my $fn;      
chomp @lines;      
undef $/;      
  
foreach $fn (@lines){      
  open FH, $fn or die "Can't open $fn: $!";      
  my $file = <FH>;      
  close FH;      
  
  print "FIXED $fn\n" if      
    ($file =~ s/\[bg\]=.*?\):\s*/[bg]=/g);      
  
  open FH, ">$fn" or die "Can't open $fn: $!";      
  print FH $file;      
  close FH;      
}      
  
`rm -rf /var/tmp/kdecache-* /tmp/kde-*`;      
Разбира се, съзнавам че скриптът не е най-оптимално написания, но поне върши работа.
Малко пояснения. Скриптът претърсва някои директории с помощта на find и премахва във всеки един от намерените .desktop и .directory файлове сгрешените низове. Последният ред от скрипта премахва кеша на KDE за всички потребители, за да може при следващото влизане в системата да бъде с коректните параметри. Скрипта трябва да се стартира като root и да няма потребители в графичната среда.

Успех!


<< Linux - следващата цел за сливания? | ОС която се "ремонтира" сама >>