Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

From the little Ukrainian I know, I do know that they have 3 forms for the word year ("рік" pronounced r-ee-k). There is one that matches the English singular "рік" (but you'd also use it for e.g. 21 years), and there is one "роки" which is used for quantities 2, 3 and 4 (but also 22, 23 and 24) and another plural form "років" for the other quantities. [0]

So, the few lines of the localisation you posted don't work for Ukrainian and most other Slavic languages.

And that is the issue! Languages differ a lot in ways that are hard to catch in code. And it is the issue leading to for instance "blob(s)" in localised applications, as a lot of languages don't even have a plural, such as Mandarin.

[0] https://translate.google.com/?sl=en&tl=uk&text=1%20year%20ol...



If you're curious about the rules for various languages, I find https://cldr.unicode.org/index/cldr-spec/plural-rules to be a helpful refence.


That's useful! Thanks!

Looks like, if I wanted to be pedantic, I'd have to add a separate one for 2.


Like I said, not perfect, but you might want to look more closely.

Note that the only format placeholder is an integer. You can use whatever words you want, around that integer.

If you have a singular, then you use one of the singular tokens (no integer).

I found this to be the most flexible approach.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: