Hacker News new | ask | show | jobs
by danso 4336 days ago
In case you don't see the link, Pope created a web interface, hosted on Github Pages, that allows users to easily do the localization, collaborate via Github forks, and import/export their work via CSV:

http://paperspleaseloc.github.io/

Pretty brilliant...reading Pope's devlog for the game makes it clear that he's an excellent game developer and designer..but it's unexpected that he'd also know how to whip up a useful, well-designed web-app for the purposes of supporting his game like this.

4 comments

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.

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.

> makes it clear that he's an excellent game developer and designer..

FWIW, playing Papers Please, you can easily come to the same conclusion. The game is a great game.

It's a fascinating and thought-provoking experience, but I'm not sure I'd call it a great game in the traditional sense (not that it aims to be)
"In the traditional sense"? What does that even mean?
Maybe entertainment value? Traditionally games have been designed for fun and entertainment, whereas the shift in the last 5 years or so has been towards more emotional 'experiences' such as Flower, Journey, Gone Home, The Last of Us, and Papers, Please.

Contrast this with getting high scores, competing with your friends, collecting pickups, etc. that are all what I would call traditional game mechanics.

Certainly to each his own, but in this case, Papers, Please hits everything I want in the type of game it purports to be, and does so in splendid fashion.
I find it a bit unfair to request free help from users to localize the game, given that the game is proprietary...
I'm inclined to think the same, but you wouldn't discard fan translations either... If users show interest and enthusiasm for localizing the game, the best thing would be to find a way to integrate that effort into the process. Maybe you could earn some in-game coins or something?
I don't find it much fairer to retribute users that work for you using a currency that only makes sense in the universe that you designed and own.

Ideally, users should be cautious in choosing the projects to which their dedicate their interest and enthusiasm (choose those which belong to the community)... Under the assumption that the game cannot be made open source (or that it is impractical to give a share of the game's profit to the contributing users), I imagine that a good solution would be to republish all translations separately under an open license (in case they can be reused, very theoretically, for something else... maybe as an aligned corpus to train a machine translation system), and make sure that the users who contributed are prominently credited.

Is he the sole developer of the game?