--- smeserver-sme7admin-1.1.1/root/etc/e-smith/web/functions/sme7admin.detect_locales_regexp 2009-03-16 19:26:29.000000000 +0100 +++ smeserver-sme7admin-1.1.1/root/etc/e-smith/web/functions/sme7admin 2009-03-16 19:32:55.000000000 +0100 @@ -92,30 +92,16 @@ my $i18n = new esmith::I18N; my $http_lang = $i18n->preferredLanguage( $ENV{HTTP_ACCEPT_LANGUAGE} ); -if ($http_lang =~ /^be.*/) {$http_lang="be_BY";} -elsif ($http_lang =~ /^da.*/) {$http_lang="da_DK";} -elsif ($http_lang =~ /^de.*/) {$http_lang="de_DE";} -elsif ($http_lang =~ /^el.*/) {$http_lang="el_GR";} -elsif ($http_lang =~ /^es.*/) {$http_lang="es_ES";} -elsif ($http_lang =~ /^fr.*/) {$http_lang="fr_FR";} -elsif ($http_lang =~ /^hu.*/) {$http_lang="hu_HU";} -elsif ($http_lang =~ /^id.*/) {$http_lang="id_ID";} -elsif ($http_lang =~ /^it.*/) {$http_lang="it_IT";} -elsif ($http_lang =~ /^ja.*/) {$http_lang="ja_JP";} -elsif ($http_lang =~ /^nb.*/) {$http_lang="nb_NO";} -elsif ($http_lang =~ /^nl.*/) {$http_lang="nl_NL";} -elsif ($http_lang =~ /^pt-br.*/) {$http_lang="pt_BR";} -elsif ($http_lang =~ /^pt.*/) {$http_lang="pt_PT";} -elsif ($http_lang =~ /^ru.*/) {$http_lang="ru_RU";} -elsif ($http_lang =~ /^sl.*/) {$http_lang="sl_SI";} -elsif ($http_lang =~ /^sv.*/) {$http_lang="sv_SE";} -elsif ($http_lang =~ /^tr.*/) {$http_lang="tr_TR";} -elsif ($http_lang =~ /^zh-cn.*/) {$http_lang="zh_CN";} -else {$http_lang="en_US";} +$http_lang =~ s/([a-z]{2})-([a-z]{2})/"$1_".uc($2)/e; $ENV{LC_MESSAGES} = "$http_lang"; -setlocale(LC_MESSAGES, ""); +unless(setlocale(LC_MESSAGES, "")){ + $http_lang = 'en_US'; + $ENV{LC_MESSAGES} = "$http_lang"; + setlocale(LC_MESSAGES, ""); +} + bindtextdomain("sme7admin","/usr/share/locale"); textdomain("sme7admin");