]> git.deb.at Git - deb/packages.git/commitdiff
Disable gettext translations
authorFrank Lichtenheld <frank@lichtenheld.de>
Sun, 28 Oct 2007 20:50:25 +0000 (20:50 +0000)
committerFrank Lichtenheld <frank@lichtenheld.de>
Sun, 28 Oct 2007 20:50:25 +0000 (20:50 +0000)
mpm_worker, mod_perl and gettext together show some funny
results. When several clients request different languages from
the server simultaniously they can get the completly wrong or even
mixed strings. Which of course doesn't happen on my test server,
since the chances for that to happen are very slim there.

This whole mess can easily explained by the fact that the locale
setting done with setlocale is global to the process. The solution
for that is most likely to switch to a OO aproach with using a
message catalog (no idea how to tell sprintf which locale to use
in a non-global way, though...)

lib/Packages/Dispatcher.pm

index 4062122359e4530a47510b5bb53a2a6057547f23..39ecab73adcbd4f83b44a3057719716b01a7b829 100755 (executable)
@@ -279,14 +279,14 @@ sub do_dispatch {
 
     my $locale = get_locale($opts{lang});
     my $charset = get_charset($opts{lang});
-    setlocale ( LC_ALL, $locale )
-       or do { debug( "couldn't set locale $locale, using default" ) if DEBUG;
-               setlocale( LC_ALL, get_locale() )
-                   or do {
-                       debug( "couldn't set default locale either" ) if DEBUG;
+#    setlocale ( LC_ALL, $locale )
+#      or do { debug( "couldn't set locale $locale, using default" ) if DEBUG;
+#              setlocale( LC_ALL, get_locale() )
+#                  or do {
+#                      debug( "couldn't set default locale either" ) if DEBUG;
                        setlocale( LC_ALL, "C" );
-                   };
-           };
+#                  };
+#          };
     debug( "locale=$locale charset=$charset", 1 ) if DEBUG;
 
     $opts{h_suites} = { map { $_ => 1 } @suites };