Uncaught Error: Placeholder '{number}' got no value

I guess it may be better to ask here first before posting an issue on github.

When I add messages-react.po into zh_Hant_TW/LC_MESSAGES, running
indico i18n compile-catalog-react
indico i18n update-catalog-react
then rerun nginx and uwsgi. It seemed to work but became a whole blank, and using F12 to see the console it showed Uncaught Error: Placeholder '{number}' got no value

If I removed the po, json and cache file, it would show English page normally.

There should be something wrong in the generated json file but from the po site I didn’t see anything wrong.

The po file is here:
https://pastebin.com/jHUpy5vQ

Even if I removed translation regarding {number} it would become error with some other placeholder.

Is it possible that the problem may be in the json generating or somewhere?

Looks like a bug in our i18n library; we’ll check and fix that.

It was actually a problem in Indico since we were having singulat-only “Weekly” and pluralized “Weekly” / “every {number} weeks”, resulting in the same msgid “Weekly” being used in both places. This of course only works for nplurals>=2 languages…

I’ve now added context to the pluralized messages, so the strings are separated in Transifex. We’ll release an updated 2.2.5 at some point that includes the updates calls.

As a workaround, you can omit the translations for the “Weekly” and “Monthly” strings.

Thanks. It looks like the same problem with messages.po I reported in github #4113.

Thanks for taking care of it. I’m planning to use Indico to hold LibreOffice Asia Conference 2020 and the Traditional Chinese interface will be important for us.

2 Likes