I'm not sure this more generic code is really more readable and/or faster :)

sometimes simpler is better

About the translated bit: maybe it's easier to have a different text in the locale file itself, when n == 0. I think that's possible with our l10n library. This way we can use `_('selected', {n: selected});` for both cases.