@CostPer

Корректный перевод дат в wordpress?

Добрый день, 3 день бьюсь с датами на wordpress в формате ago
В переводе есть косяк (не учтены склонения)
В единственном числе - month (месяц)
Во множественном - months (месяцев)
Не хватает правила для кол-ва месяцев 2,3,4,22 и т.д.
Как это отображается:
16d6204192624bd8a411cb9499add0ff.png
Кто то правил?) Плагины типо RussianDate не помогают.
в POedit вот так реализована эта система в самом движке (не в теме)
1aa324b9a0274a20962d0f39cbc8cfcb.png
А вот так в теме:
9c9dc82cdc964382bde6314ba9d386e0.png
  • Вопрос задан
  • 1086 просмотров
Пригласить эксперта
Ответы на вопрос 1
llgruff
@llgruff
Scala
Решение:
<?php
function declOfNum($number, $titles) {
$cases = array (2, 0, 1, 1, 1, 2);
return $titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ]; 
}
echo declOfNum($number, array('месяц', 'месяца', 'месяцев'));
// вместо $number выводи the_time(); или типо того
?>

Для проверки:
<?php
echo '1 ' . declOfNum(1, array('месяц', 'месяца', 'месяцев')) . '<br/>';
echo '2 ' . declOfNum(2, array('месяц', 'месяца', 'месяцев')) . '<br/>';
echo '5 ' . declOfNum(5, array('месяц', 'месяца', 'месяцев')) . '<br/>';
?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы