diff --git a/functions/i18n.php b/functions/i18n.php index bd6f6323e..e89d3fff0 100644 --- a/functions/i18n.php +++ b/functions/i18n.php @@ -292,9 +292,16 @@ function set_up_language($sm_language, $do_search = false, $default = false) { putenv( "LC_ALL=$longlocale" ); putenv( "LANG=$longlocale" ); putenv( "LANGUAGE=$longlocale" ); + putenv( "LC_NUMERIC=C" ); if ($sm_notAlias=='tr_TR') putenv( "LC_CTYPE=C" ); } 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'); // Set text direction/alignment variables