Проблемы с множественным числом чаще всего возникают из-за неправильной настройке самого Poedit. Множественные числа в gettext обрабатываются с помощью функци _n(), _nx(), и _n_noop(). Эти три функции в Poedit должны быть описаны функции для множественного числа, эта настройка берется из файла .pot, или задается вручную в настройке программы.
После этого при создании нового перевода, вам необходимо указать формы множественного числа. Для русского языка это магическая строка (не пугайтесь):
nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
После этого в строках с множественном числом, Poedit (и другие интерфейсы) предложат вам не два поля для ввода единственного и множественного числа, а три: 1 комментарий, 2 комментария, 25 комментариев.
Alexander: Ваш способ заработал, но есть одно большое НО. он работает до перехода на другую страницу (или обновление), т.е. ровным счетом ничего не дает, возможно как-то привязать данное действие, до определенного действия (например закрытие сайта, или нажатие на кнопку "Мобильная версия"
Заранее благодарю
Проблемы с множественным числом чаще всего возникают из-за неправильной настройке самого Poedit. Множественные числа в gettext обрабатываются с помощью функци _n(), _nx(), и _n_noop(). Эти три функции в Poedit должны быть описаны функции для множественного числа, эта настройка берется из файла .pot, или задается вручную в настройке программы.
После этого при создании нового перевода, вам необходимо указать формы множественного числа. Для русского языка это магическая строка (не пугайтесь):
nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);
После этого в строках с множественном числом, Poedit (и другие интерфейсы) предложат вам не два поля для ввода единственного и множественного числа, а три: 1 комментарий, 2 комментария, 25 комментариев.
ПРИМЕР:
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d комментарий"
msgstr[1] "%d комментария"
msgstr[2] "%dкомментариев"