Skip to content

mf format can't handle plurals #92

@iambibhas

Description

@iambibhas

Expected Behavior

I have this entry in my po file -

#: test/registry.py:63
msgid "You only have %1 lesson left to finish %2."
msgid_plural "You only have %1 lessons left to finish %2."
msgstr[0] "asd %1 %2"
msgstr[1] "asd %1 %2"
msgstr[2] "asd %1 asd %2"

#: test/registry.py:68
msgid "An access token is required to access this resource"
msgstr ""

which should convert to a format that works fine with both gettext() and ngettext() in gettext.js.

Actual Behavior

If I use raw format, it generates -

{ 
	"You only have %1 lesson left to finish %2.": [
      "You only have %1 lessons left to finish %2.",
      "asd %1 %2",
      "asd %1 %2",
      "asd %1 asd %2"
   ],
   "An access token is required to access this resource": [
      null,
      ""
   ],
   ...
}

Which, when using gettext.js, doesn't work with gettext(), and only works with ngettext(%s, 1) even for the singular value as the second string.

If I use mf format, it generates -

{
   "You only have %1 lesson left to finish %2.": "asd %1 %2",
   "An access token is required to access this resource": "",
   ...
}

Which works fine with gettext() in gettext.js, but the plural values are ignored when converting to json.

Steps to Reproduce

after following recommended workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions