Browse Source

use C floating point

tokul 21 years ago
parent
commit
16f9f9b6fa
1 changed files with 7 additions and 0 deletions
  1. 7 0
      functions/i18n.php

+ 7 - 0
functions/i18n.php

@@ -292,9 +292,16 @@ function set_up_language($sm_language, $do_search = false, $default = false) {
             putenv( "LC_ALL=$longlocale" );
             putenv( "LC_ALL=$longlocale" );
             putenv( "LANG=$longlocale" );
             putenv( "LANG=$longlocale" );
             putenv( "LANGUAGE=$longlocale" );
             putenv( "LANGUAGE=$longlocale" );
+            putenv( "LC_NUMERIC=C" );
             if ($sm_notAlias=='tr_TR') putenv( "LC_CTYPE=C" );
             if ($sm_notAlias=='tr_TR') putenv( "LC_CTYPE=C" );
         }
         }
         setlocale(LC_ALL, $longlocale);
         setlocale(LC_ALL, $longlocale);
+        // Workaround for plugins that use numbers with floating point
+        // It might be removed if plugins use correct decimal delimiters 
+	// according to locale settings.
+        setlocale(LC_NUMERIC, 'C');
+        // Workaround for specific Turkish strtolower/strtoupper rules.
+        // Many functions expect English conversion rules.
         if ($sm_notAlias=='tr_TR') setlocale(LC_CTYPE,'C');
         if ($sm_notAlias=='tr_TR') setlocale(LC_CTYPE,'C');
 
 
         // Set text direction/alignment variables
         // Set text direction/alignment variables