2014-03-14 2 views
2

Что мне нужно, чтобы получить, дату, 15 march 2014 но на моем языке. Есть ли простой встроенный способ перевести функцию даты, когда я используюPhp date Интернационализация

date("j F Y"); 

я получаю что-то вроде 15 march 2014 на моем языке?

BTW Мне нужен азербайджанский перевод. Возможно, php уже имеет встроенные языки дат.

Что я сделал это:

  1. Выполненная sudo locale-gen az_AZ и sudo locale-gen az_AZ.UT8 на Ubuntu Server
  2. Пробовал setlocale(LC_ALL, "az-AZ"); или setlocale(LC_TIME, "az-AZ"); и все вариации аз-AZ, AZE, az_AZ на PHP файл. Нет успеха!

Что я делаю неправильно?

ответ

1

Вы можете использовать расширение php_intl, если он включен.

if (version_compare(PHP_VERSION, '5.3.0', '<')) { 
    exit ('IntlDateFormatter is available on PHP 5.3.0 or later.'); 
}  
if (!class_exists('IntlDateFormatter')) { 
    exit ('You need to install php_intl extension.'); 
} 

$fullDateFormatter = new IntlDateFormatter(
    'az_AZ', 
    IntlDateFormatter::FULL, 
    IntlDateFormatter::NONE 
); 
$longDateFormatter = new IntlDateFormatter(
    'az_AZ', 
    IntlDateFormatter::LONG, 
    IntlDateFormatter::NONE 
); 
$shortDateFormatter = new IntlDateFormatter(
    'az_AZ', 
    IntlDateFormatter::SHORT, 
    IntlDateFormatter::NONE 
); 
$customDateFormatter = new IntlDateFormatter(
    'az_AZ', 
    IntlDateFormatter::NONE, 
    IntlDateFormatter::NONE, 
    date_default_timezone_get(), 
    IntlDateFormatter::GREGORIAN, 
    'dd MMMM yyyy' 
); 

$datetime = new DateTime("2014-03-15 11:22:33"); 
echo $fullDateFormatter->format($datetime) . "\n"; 
echo $longDateFormatter->format($datetime) . "\n"; 
echo $shortDateFormatter->format($datetime) . "\n"; 
echo $customDateFormatter->format($datetime) . "\n"; 

Результаты,

şənbə, 15, Mart, 2014 
15 Mart , 2014 
2014-03-15 
15 Mart 2014 
Смежные вопросы