формат date / strftime со строками языка |PHP - PullRequest
0 голосов
/ 19 апреля 2011

Мне нужно решение, которое может проанализировать строку даты, но заменить ее на языковую строку разных языков, например,

английский

$lang['day']['monday'] = 'Monday';
$lang['day']['tuesday'] = 'Tuesday';
$lang['day']['wednesday'] = 'Wednesday';
// and so on...

$lang['month']['january'] = 'January';
$lang['month']['february'] = 'February';
$lang['month']['april'] = 'April';
// and so on...

Мне нужно, чтобы языковая строка передавалась через функцию date / strftime, но будет передаваться не только английский, но и другие языки (если они выбраны). Таким образом, если выбран другой язык, языковые строки будут изменены на выбранный язык. Например, французский:

$lang['day']['monday'] = 'Lundi';
$lang['day']['tuesday'] = 'Mardi';
$lang['day']['wednesday'] = 'Mercredi';
// and so on...

$lang['month']['january'] = 'Janvier';
$lang['month']['february'] = 'Février';
$lang['month']['april'] = 'Avril';

Таким образом, при использовании такого формата: date('l dS F Y - g:iA') он должен анализироваться следующим образом:

Mardi 11th Avril 2011 - 12:22PM 

Я не использую setlocale для этого, потому что у меня есть пользовательские языковые строки, поэтому мне нужно что-то очень отличное от использования setlocale и анализа с выбранными языковыми строками.

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

Zend использует языковые xml-файлы со своими Zend_Date классами.Это хорошее решение проблемы, с которой вы сталкиваетесь.Другой вариант - сделать это самостоятельно.

1 голос
/ 19 апреля 2011

Не могли бы вы просто использовать str_replace() в строке, возвращенной с использованием сопоставления английского языка с другим языком?

...