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