Hacker News new | ask | show | jobs
by 616c 4334 days ago
It is always interesting to see people use CSV in place of the established file format for translations, POT files. There are logic for certain grammatical elements (IIRC, it has been a while) and other edge cases that are exactly why one avoids homegrown CSV in the first place.

Then again, even Papers Please is making common mistakes. I can count on a single finger the number of i18n jobs I have seen. One in many years of looking at IT jobs. This stuff is little understood, and very little demand. But he makes of pointing out how this will causes problems.

I would love to see this game in Arabic, for example. Number in Arabic is crazy complicated, and as a guy who translated software for FOSS (arabeyes.org) there is a reason I bring up the number logic (1, dual, 3-99, 1000+ dictate different noun classes) and POT handles that. This and many other issues indicate why no one can be bothered to handle this until much later, and then it is such a pain in the ass with non-English charsets.

Not that this issue has come up a lot on HN recently. I am glad people are showing this stuff with interest. Regardless of my opinion, this is very cool work and I am glad to see developers caring again.

2 comments

That was my reaction as well: why not gettext? ngettext and other facilities are wildly useful, and there are a huge number of tools out there designed to make it easy for translators to maintain translations.
gettext is more of a pain than you'd think unless you're in C or a C-with-a-hat-on-it like PHP. As I mentioned elsewhere in this thread I settled on Excel XML files because gettext (which I of course looked at first) wasn't a worthwhile format for either Java or .NET. And given that Papers Please is (I think) written in HaXe, I don't know what the story for gettext support is there.

That's without getting into licensing headaches, which is why the idea of P/Invoking GNU gettext is a straight-up nopenopenope.

It is always interesting to see people use CSV in place of the established file format for translations, POT files.

CSV is common because there are many more applications that can read/write it, it's relatively standard, and translation data tends to be vaguely relational.