Проблема с переводами LC_TIME в CakeStack Overflow

У меня есть мультиязычное приложение cakephp 2.9, и я использую файлы .po для перевода таких строк, как __ («пример»). Пока все хорошо, но я уже некоторое время пытаюсь перевести эту дату с:

Пт, 31 августа 2018, 16:03

чтобы:

Vie, Ago 31 2018, 16:03

Это мой код:

          setlocale("LC_ALL", "es_ES.UTF-8");
App::uses('CakeTime', 'Utility');
echo CakeTime::nice();

Я скачал испанские файлы из локализованного репо (https://github.com/cakephp/localized) и поместите их в app \ Locale \ spa \ LC_TIME, но дата по-прежнему будет отображаться на английском языке.

Кто-нибудь может мне помочь? Может быть, это неправильный подход?

0

Решение

Ну, не прошло много времени после того, как я опубликовал вопрос, чтобы понять, что все способы, которые я попробовал, были в порядке, с использованием caketime или strftime, проблема была с setlocale:

Изменено это:

setlocale("LC_ALL", "es_ES.UTF-8");

к этому:

setlocale(LC_TIME, 'es_ES.utf8','esp');

Итак, два моих результата:

echo ucfirst(strftime('%A '.$number_of_the_day.' %B %Y'));
//Viernes 31 agosto 2018

echo __('Today is ').CakeTime::nice();
//Hoy es vie, ago 31st 2018, 16:29

Это сработало как прелесть, однако мне бы очень понравилась таблица, в которой объясняются все эти языковые коды, чтобы мы могли использовать правильный синтаксис для каждого, а не угадывать, как я.

0

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

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

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