Я работаю с SocialEngine4 с Zend. Переводчик этого приложения работает нормально. Но нам нужен другой формат даты для немецкого языка, поэтому мы внедрили новый код. Но это не переводит «март» должным образом. На ней отображается дата «21. M rz 2015» вместо «21. März 2015».
Я использовал следующий код для этого изменения
setlocale(LC_TIME, 'de_DE', 'deu_deu');
$date = strftime ("%d. %B %Y",strtotime($date));
setlocale(LC_ALL,NULL);
echo $date;
Пожалуйста, дайте мне знать, что здесь не так.
На странице, где отображается вывод, убедитесь, что кодировка установлена на utf-8
,
Вы можете сделать это, добавив следующую строку в заголовок.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
При этом не должно быть необходимости преобразовывать немецкий язык. Umlaute к именам лиц.
Однако, если по какой-то странной причине он все равно не будет работать, вы также можете просто преобразовать все специальные символы в эквивалент их имени объекта:
echo htmlentities($date);
Как то, что это должно работать наверняка.
Других решений пока нет …