Да, можно. Отобразить часть массива - это основы программирования. Если данных очень много лучше сделать autocomplete input, обычно это дело еще и взаимодействует с апи.
Смотри что в переменных лежит, ищи таким образом причину. Тут так и не скажешь сходу в чем дело. Откуда я знаю есть ли у тебя вообще файл templates/myapp/product_list.html или приложение падает с ошибкой, ты же не сказал.
Согласись, все таки достаточно одного стейта с языком, и пока нет геопозиционирования достаточно назначать дефолтным любой в зависимости от предполагаемой ЦА. А касательно меню выбора языка, для него можно использовать булевый стейт (развернута, не развернута). В кнопках достаточно записать функции в виде: onClick={() => setLanguage('ru')}