Задача стоит следующая: подсчитать на JS количество элементов и вывести число с правильным склонением (напр. "1 заказ/2 заказа/5 заказов") используя lang файлы Laravel.
По началу использовал простенькую функцию на JS для склонений, а в lang файлах просто хранил три разных варианта склонения. После чего мне сказали что так делать неправильно и есть стандартная функция в ларавел которая этим занимается trans_choice. Но возникла проблема при интеграции JS переменной в PHP код этой фукнции. Получилось примерно следующее (в упрощенном виде):
// определяем количество карточек в колонке
var cardsLength = 3;
// и записываем
countText = cardsLength+' {{ trans_choice("sales_order.order_declension", '+cardsLength+', [], "ru") }}';
Само собой код не сработал адекватно и всегда выводил третий вариант склонения. Проблема очевидно возникает из-за того что php код видит не значение JS переменной а воспринимает ее как обычный текст.
К сожалению до каких либо рабочих вариантов я додуматься не смог (ну кроме довольно непродуманного варианта с использованием JS функции склонения). Кто сможет подсказать наиболее элегантное решение возникшей проблемы?