Локализация дат в CakePHP 3 не работает

я пытаюсь локализовать ввод и вывод в моем приложении на немецкий язык и сталкиваюсь с проблемами со следующей установкой:

Установил CakePHP 3.2.1 через SSH / Composer в моем размещенном WebSpace.

Создана база данных только с одной таблицей «накладные» для тестирования, со столбцами «id», «datum» (datetime) и «amount» (десятичное 10,2).

Запеченный с «бен / торт испечь все счета».

Проверил сокращения локализации от моего веб-хостера через SSH с «locale -a» …

de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
de_DE.utf8@euro

Отредактированный config / bootstrap.php:

ini_set('intl.default_locale', 'de_DE');

Добавлены некоторые php-test-output в /src/Template/Invoices/add.ctp:

<?php
use Cake\I18n\I18n;
use Cake\I18n\Time;
$now = Time::now();
echo $now->i18nFormat('dd.MM.yyyy HH:mm:ss');
echo " +++ ";
echo $now->i18nFormat('l, N. F Y');
?>
<nav class="large-3 medium-4 columns" id="actions-sidebar">
<ul class="side-nav">
<li class="heading"><?= __('Actions') ?></li>
<li><?= $this->Html->link(__('List Invoices'), ['action' => 'index']) ?></li>
</ul>
</nav>
<div class="invoices form large-9 medium-8 columns content">
<?= $this->Form->create($invoice) ?>
<fieldset>
<legend><?= __('Add Invoice') ?></legend>
<?php
echo $this->Form->input('datum');
echo $this->Form->input('betrag');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>

Это был мой php-test-output:

07.02.2016 12:42:19 +++ ,

Как видите, первый вывод выглядит как немецкий формат даты и времени, но мне пришлось передать формат вручную, как если бы я использовал обычный код php, так где я могу сказать CakePHP, чтобы ВСЕГДА использовать этот формат для полей даты или времени внутри все приложение?

После «+++» я ожидал следующий вывод, но есть только запятая:

Sonntag, 7. Februar 2016

Возможен ли локализованный формат для полей ввода? В моем раскрывающемся поле «Дата» за месяц все еще есть английские имена, и порядок первых 3 раскрывающихся полей для даты неправильный.

Я был бы признателен, если бы вы могли дать мне подсказку, как получить родные локализованные немецкие даты, числа и валюты во входных элементах формы CakePHP и произвольных выходных данных.

Спасибо заранее и наилучшими пожеланиями,

Чувак

0

Решение

даты i18n форматируются с использованием IntlDateFormatter, который использует шаблоны формата даты ISO, а не шаблоны даты PHP по умолчанию.

l устарела и не генерирует никакого вывода, N Похоже, что он вообще не является признанным символом, и он ответственен за неудачу в остальной части шаблона, хотя я не знаю, почему это так.

Во всяком случае, для правильных символов, проверьте, например,

Шаблон, который вы ищете, это EEEE, d. MMMM Y,

0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector