On 06-01-2010 at 21:13:55 Marcin Głowacki <panglowa...@gmail.com> wrote:

How to use gettext plural forms in PO file?

I've added suitable header ("Plural-Forms: nplurals=2; plural=n != 1;\n" - for english) and tried in different ways:

msgid "picture"
msgid_plural "pictures"
msgstr[0] "picture"
msgstr[1] "pictures"


msgid "picture"
msgid_plural "${n} pictures"
msgstr[0] "${n} picture"
msgstr[1] "${n} pictures"

but nothing worked ;-/

phptal used:

<tal:block i18n:translate=""><span i18n:name="n" tal:replace="data/count"/> pictures</tal:block>

where data/count is 1, 2, 3, ...

Unfortunately it doesn't support it out of the box.

In GetTextTranslator class change:

        $value = gettext($key);

to something like:

        if (false === strpos('${number}', $key))
                $value = gettext($key);
                $value = ngettext($key, $key, $this->_vars['number']);

The problem is, as you see, that gettext requires use of a different function for plural form, and TAL syntax has no way to indicate when this is needed. I'm open to suggestions.

regards, Kornel

PHPTAL mailing list

Reply via email to