Я кодировал оболочку gettext, которая делает весь процесс l10n немного проще, но почему-то я не могу заставить PoEdit правильно идентифицировать и анализировать множественные версии вызовов функции.Вот что у меня изначально было:
_e(array('%d house', '%d houses'), 5);
Но это совсем не работает, PoEdit вообще ничего не выбирает.Я также попробовал:
_e('%d house', '%d houses', 5);
На этот раз PoEdit перехватывает %d house
, но не множественное число %d houses
, однако, если я пытаюсь точно так же, но с вызовом ngettext()
, это работает отлично, обаидентифицируются формы единственного и множественного числа:
ngettext('%d house', '%d house', 5);
Я правильно (?) добавил ключевое слово _e
в настройки проекта, но оно не учитывает множественные варианты.Я также заметил, что PoEdit имеет только _
, gettext
и gettext_noop
в качестве клавиш по умолчанию для выбора, нет никаких ссылок на функции ngettext
, dngettext
или dcngettext
, но он можетвсе еще правильно принимает вызовы ngettext
... Это заставляет меня задуматься, если PoEdit жестко закодировал ключевое слово ngettext
- это было бы очень печально.
В любом случае, есть ли способ сделать PoEdit (или любой другойдругое подобное приложение), правильно ли разбирать пользовательские функции?