I beg to differ. I18N is only difficult, if you don’t take it into account right from the beginning. If you know the locales in advance, you can ask experts and identify the particular problems.
Even the plain Java MessagePattern class can handle numbers quite well (e.g. “no new messages”, “one new message”, “2 new messages” etc.).