Как setlocale () работает в Windows?

Разрабатывая многоязычное приложение, я хотел бы выводить числа и даты, правильные для локали. Тестирование на Win7 у меня не получается с обоими:

setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu', 'de', 'ge', 'German_Germany.1251');
var_dump(localeconv());

Показывает, что десятичный символ. но должно быть, для немецкого.

$f = 3.14;
echo($f);

Подтверждает 3.14 как вывод.

Независимо от того, что я пытался установить, у меня не было успеха. Аналогичные результаты применяются с number_format(), Это, однако, работает на даты, например, названия месяцев

Какой правильный способ setlocale() на Windows / CLI?

0

Решение

Похоже, это известная проблема с PHP начиная с 5.3: https://bugs.php.net/bug.php?id=65230

setlocale() следует избегать в пользу NumberFormatter когда возможно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]