Множественное значение слова - PullRequest
0 голосов
/ 26 апреля 2020

Существует функция, которая выводит перевод слова, когда число равно 1, а число больше единицы. Пожалуйста, помогите мне сделать функцию, которая будет выводить перевод для каждого числа, для 1,2,3,4,5,6,7,8,9,10,11 и т. Д. c.

enter code here
                                <div class="tour_attribute_rating_count">
                                    <?php echo intval($overall_rating_count); ?>&nbsp;
                                    <?php
                                        if($overall_rating_count > 1)
                                        {
                                            echo esc_html__('reviews', 'grandtour' );
                                        }
                                        else
                                        {
                                            echo esc_html__('review', 'grandtour' );
                                        }
                                    ?>
enter code here

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Можно перевести переменную в блоке:

2 отзыва

Кто отвечает за количество отзывов и перевод темы

Используя такую ​​функцию:

add_filter( 'gettext', function ( $strings ) {
/**
 * Holding translations/changes.
 * 'to translate' => 'the translation or rewording'
 */
$text = array(
    '2 отзывов' => '2 отзыва',
    '2&nbspотзывов'=>'2 отзыва',
    '2&nbsp отзывов'=>'2 отзыва'
);
$strings = str_ireplace( array_keys( $text ), $text, $strings );
return $strings;

}, 20) ;

Конкретно с ней не помогло, возможно где то ошибка допустима? ((((

0 голосов
/ 26 апреля 2020

Вы можете использовать такую ​​функцию:

function singularPluralText($number, $singular, $plural) {
  $output = $number . ' ';
  if ($number == 1) {
    $output .= esc_html__($singular, 'grandtour');
  }
  else if ($number > 1) {
    $output .= esc_html__($plural, 'grandtour');
  }

  return $output;
}

И использовать ее в своем html, например:

<div class="tour_attribute_rating_count">
  <?php echo singularPluralText(intval($overall_rating_count), 'review', 'reviews'); ?>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...