Приветствую! Есть мультиязычный сайт на ОкСторе 2.3. Как вывести дату с названием месяца на выбранном языке? Есть ли какая-то стандартная функция, без использования массивов?
strftime может форматировать в соответствии с текущей локалью. Надо только локаль предварительно объявить (через setlocale).
Колдовал я колдовал, но у меня так ничего и не получилось. Пытался через getLanguageByCode подгружать данные текущего языка, оттуда вытащил locale, но так и не получилось вывести. Локаль вроде устанавливается, но strftime так нормально и не обрабатывал.
bro, у меня часто бывают запросы на аналогичный функционал, но кроме как создания своего массива и подключения, в зависимости от текущего $this->config->get('config_language_id') и соотв. подключением своего массивчеГа, то оптимального решения мало где видел, если актуально - подброшу наработки, что бы велик не изобретать, хотя в сети есть куча примеров кода.
Да с массивом у меня самого есть. Просто заказчик из Чехии. Сайт будет на трех или 4-х языках, так что либо делать многомерный массив для каждого языка - либо устанавливать универсальное решение. Можно было б использовать intl, но пока неизвестно на каком хосте будет сайт.
в опенкарте только через локализацию пихаете в en-gb/en-gb.php таким образом будете всегда иметь известный вам массив Ну, а по требованию, добавлять в языковые локали можно конечно и не массивом :( $_['text_month_1'] = ''; $_['text_month_2'] = ''; или.. $_['text0_month_01'] = ''; $_['text0_month_02'] = ''; если юзать setlocale то посмотрите что вернет setlocale(LC_ALL, 0); проанлизируйте ваши языковые локали, попадают ли они в этот формат