Hacker News new | ask | show | jobs
by Groxx 272 days ago
pluralization is much MUCH more complex in many languages than in English: https://www.unicode.org/cldr/charts/47/supplemental/language...

it can largely be turned into six categories of behavior, with tons of languages choosing different boundaries for those categories. ios/osx and android have tools for this, and probably others (I'm just personally familiar with these).

and even English isn't even that simple in the way many treat it - you don't pluralize sentences, parts of sentences change in contrast to each other (a car drives vs cars drive). so e.g. widely used APIs like https://apidock.com/rails/v7.1.3.4/String/pluralize are blatantly misleading merely by existing, and it leads to mistakes in many (most?) languages, and also English, even though the authors of the API speak English.

1 comments

That has to be one of the most cursed functions that I've heard of in my life. Anything less than a call to ChatGPT is doomed to fail.
It is a solved problem with tools that help to do it right, but nobody does it right. People wrote that cursed function for every language long time ago, but you as a developer need to know it exists and use it
yeah, I mean `toUpper(string)` exists in basically every language and it's equally cursed. it's nothing even slightly new, just another sigh-inducer when you see people using it.