Another game with a similar take on moral choices is This War of Mine. Both are fairly serious works of literature; do not play either with the expectation that you will feel good about yourself or the human condition afterwards.
But occasionally, a good game comes out which makes you think about the world, and evoke other kinds of emotions like papers please.
Non power fantasy does not mean only a game that makes point about the world. It may mean also comedic game or Nintendo like feel good whatever.
It's a non-linear RPG that lets you play a lone, vulnerable person in a brutal, unforgiving world with a rich setting and highly intricate storyline.
One-on-one fights are hard enough, you-against-many usually ends with your dead body on the ground and a snarky commentary about your yet another fatal mistake.
That was an awful game.
I picked up the game because I thought it would be a spiritual successor to the text based game Mind Forever Voyaging. Well it wasnt exactly that.
The game gets dark fast. In fact I don't see it as a game at all, as it isn't fun other than solving puzzles that are at time grizzly.
I was pretty shocked at having to operate an organ/eye out of a living and awake prisoner of war in a one of the game's simulations; of a concentration camp.
Another simulation you play as a female that gets violated.
"The game's story is set in a world where an evil computer named AM has destroyed all of humanity except for five people, whom he has been keeping alive and torturing for the past 109 years. Each survivor has a fatal flaw in their character, and in an attempt to crush their spirits, AM has constructed a metaphorical adventure for each that preys upon their weaknesses. To succeed in the game, the player must make choices to prove that humans are better than machines, because they have the ability to redeem themselves. Woven into the fabric of the story are ethical dilemmas dealing with issues such as insanity, rape, paranoia and genocide."
Will I get depressed?
I recommend playing it. It can be intense but incredibly powerful; simple choices like "who gets to eat today" really bring it home. Easily the best game of the last few years.
If you get read the text, feel the emotions and really get inside the story, you will probably feel depressed.
I know I did feel depressed a bit after playing it. That's actually one of the reasons I stopped after 2 playthroughs.
That's still a good game, and I recommend playing it.
The full uncensored version of the game is available on iOS.
There are times when letting people learn why something is bad through experience (even watered down as much as through a video game) is much more effective than just telling them it's bad, for many reasons.
Nobody said that.
I don't know if you played it but I took away the opposite message (that states which act this way are evil).
Do you believe that MASH teaches you that war is overall positive? Was your takeaway from Requiem for a Dream that injecting heroin is a good idea?
^ that kind
That and a few others. IIRC, it gets fairly insidious quickly as you try to juggle values at varying levels (protecting your family vs general principle, for example).
The way that we got around this was adding another level of indirection, and putting printf format strings also as localized data.
If you're on POSIX, you can use positional arguments for that:
printf("%1$d %2$s", d, s);
printf("%2$s %1$d", d, s);
AFAIK localising "formatting literals" is the more normal method, it avoids redundancies as you don't need two different systems (ids and format strings) and provide more flexibility with respect to e.g. cardinalities. Most ID-based systems bundle formatting support as well, if you're using an ID-based system you basically shouldn't call the language's string formatting functions.
Furthermore translating literal sections individually (without formatting context) will often yield an incorrect result as the entire phrase needs to be shuffled around, or words need to be inflected, or a literal translation suitable for "standalone" expressions does not work for the entire phrase.
More granular is generally worse for translations.
I never understood why people think this is a good idea. The exact same sequence of letters in an English phrase, which you would like to use instead of IDs, can mean two different things in two different places - and those two different meaning could have different forms in other languages. Denormalizing translation database like that seems semantically incorrect (and strikes me as programmer laziness).
I agree that in general, more granular is worse for translations - there's too much risk your split will pierce the contextual whole that's required for some translations.
The same contextual issue then arises in the original, but apparently the designers thought the trade-of was worth it.
It makes for a more readable, comprehensible source and searchable source. It's also often possible to dispatch on location additionally to text (PO files store both).
Pluralization is another nightmare of its own. Look into how Russian and similar languages pluralize. It has to do with the value of the number modulo 10, similar to English ordinals.
LTR vs RTL is about rendering text and unrelated to this.
I got this wrong several times (of course) when I did my first few i10n projects. First time I used the strings as keys and ran into the problem described above. Time after that, I went the 'pure' way and used GUID's as a key which was a pain in the ass to used and caused the wrong messages to show up in some places a few times. It also made the translators hate me a lot. After that I went what I'd describe the 'pragmatic' way. Every time you encounter a string message, you make up a string identifier that sort of describes the message. So 'High importance!' would be e.g. HIGH_IMPORTANCE. But a multi-sentence message might be 'INTRODUCTION_PARA'. If the id already exists, and there is no obvious alternative, you just call it HIGH_IMPORTANCE_2 - in other words, you don't think about the key too much, you just use quick and dirty keys, you don't change them EVER, and you make sure you have good tools to prevent clashes, even across 'module' boundaries (where 'module' can be 'source files', 'shared libraries' or 'projects that use the same string resources').
You also put formatting strings in the messages, and in a way that makes the order configurable by the translator (e.g. using boost::format and not sprintf). You also provide the translator with a UI that shows them the message key, the 'original' message and the translation in various languages that already exists. And you provide a way for the developer/designer to attach notes to each message, where necessary.
Finally you adapt your messages to be as 'neutral' or easy to translate as possible; how to do this is something you learn with experience. And have to test test test and write special cases where necessary, like where you absolutely need things like 'first' or things where you have weird capitalization rules and stuff like that.
I never liked gettext. First, the is the licence, which rules it out for many projects. Secondly many of the functionalities are overkill, and (while 'pure' from an engineering pov) cause more work than they save (the cases I described above as 'just implement something custom in code'). Third, the tools suck. None of the editors I ever tried were really comfortable to use. They must have gotten the last 10 years or so, which was the last time I looked, but usually they're 'open source user experience' quality' - which is fine for developer tools, but not to be used by non-tech users (which most people who end up doing the translations are, because let's face it, translation is usually an afterthought and a low-respect task).
Another big problem with using existing strings for ids is that if you notice a typo or tweak the phrasing of a particular string, boom, there goes your placeholder.
We used static file analysis to extract default (English) strings into files.
so while in English you need only one string for singular and plural for different genders, in other languages it need to be written 5 different ways and we still didn't get into grammar cases which also don't exist in English, so while in English you would use 20 times old in other language you need 20 different variations
many companies where it's the default language of products English or Chinese have later big issues to localize content properly, especially considering Chinese being even more primitive language than English. good luck trying to explain all these distinctions to Chinese developers
Glory to Artstozka!
I am attempting to solve this with a small library that offers full CLDR coverage and a special expression language.
Currently for Java 8 but am porting to JS and Python (probably Swift after those)
I realize other languages provide support for this, but in my experience with Haxe it's way easier to implement something custom. The macro translation layer for manipulating the AST is flexible and speedy, and the compiler is wired directly into autocompletion requests. There's very little impedance between my fingertips and the desired outcome.
I literally had to build my own. With 2,500 different strings for a total of 10,000 words I wouldn't even consider our application even that big, it must be a nightmare in bigger projects. We haven't even done the sales site yet because the product's being upsold through a partner.
We came up with our own id naming system, then created an xlsx/resx importer/exporter that uploaded to GSheets to allow us to share files with translators. The ids and comments fields allowed us to add extra meta data, to split the strings into logical sections and sheets and order them properly. Be able to add links to the page that section of translations are on so the translator could see the context. This then additionally allowed us to highlight if a translator had missed any lines when we re-imported it, add their own questions/comments, etc. Also, as we were using sendwithus, we used the importer/exporter to allow us to import pot files from them to keep everything in one place.
Then to support those tools, I created a tool to search for phrases used before, find out the ordering from the meta data, quickly copy ids of strings we want to re-use, see missing spreadsheet tabs.
Programmatically, we had to add support for automatically translating enums into strings (think project status for example), add l10n to our audit logs so customers could see their audits in the correct language and we'd see them in English, modify how .Net did l10n of dates because their built in one is really odd with en-GB which is where we are based (shortdate is Jan 01 2025 in en-US but inexplicably 01 January 2025 in en-GB and all sorts of other oddities).
Then we used a modified version of pseudoizer (thanks John Robbins + Scott Hanselman!) to allow us to easily see untranslated strings while we went through the whole site without having a finished translation (we used ja-JP instead of Polish to really see the differences in date strings, currency, etc.). We ended up modifying it because it goes a bit mental with adding !!!! for things like tabs.
Probably spent a week on those tools, but boy was it worth it.
I've not tried intellij's l10n support, maybe it's better, but VS's is very lacklustre.
Potfiles are another option, but the tooling is pretty clunky and, in games in particular, people don't seem particularly attuned to their use. And they're not great for editing, though they might be for storage--when dealing with tabular stuff, it just makes a lot of sense to use tools that present a tabular interface. It makes life a lot easier.
Professional translators will already use compatible editors and for occasional translators there are open source ones available.
We had some XLIFF-friendly clients who, on the whole, had been used to translating and localising their data for a long time and were productive and well-organised.
The remainder of our clients weren't; a mixture of spreadsheets, CSVs, home-baked XML/JSON/YAML were most common. We could accommodate these providing the format was documented and we had technically competent translators for that language with the correct industry-specific knowledge.
Finally, some clients insisted on sending us PDFs, marketing materials (hopefully in PSD files but sometimes in PNG or TIFF). They couldn't understand why we had to go to great lengths to find translators who could cope and why sometimes the results weren't pixel-perfect. Of course, supplying the source materials to us to pass on to translators was out of the question.
Mea maxima culpa.
That same RFC explicitly notes that CSV is entirely ad-hoc and homegrown, and that it (the RFC) is an attempt to clean up the existing mess.
Beyond that, hand-editing a CSV file (because eventually you have to do that) with those special characters in it is a huge pain. It remains better than JSON, etc., because being record-based is automatically better than not for this stuff, but it's not a good option. I'm well aware that CSV is theoretically standardized; I have written standard-compliant parsers and writers. (It is awful.) And then, once I had painstakingly written that writer to spec, the next guy's--no, not Excel--trashed my data because CSV has a spec that nobody cares about.
The other day I had to fix a bug in our CSV importer; it turns out that when you install Excel, it changes the mimetype of CSV files from 'text/csv' to 'application/vnd-ms.excel' system wide. Wow! These sorts of shenanigans are never ending in the futile endeavour to support CSV.
We have used json, xml, ini-style files, or csvs, which, as i8n goes, has been pretty easy
You can do it, and it has its advantages. But you're also buying complexity.
It doesn't help when the plural is 1/2/many or something different (example: Arabic/Icelandic, etc) http://docs.translatehouse.org/projects/localization-guide/e...
So yes and yes.
It's a pipe dream to expect an average French person to enjoy art in its native language, and as a businessperson you will limit you market by doing this.
Granted, the English-speaking world is currently the world leader in technological capability and economic power, but it's quite myopic to assume that this makes everyone else irrelevant.
...So, art? Like games?
> it is ok to translate games for kids
Big thing that lets my father (factory worker who's 50 years old, no languages other than his father's one) enjoy Playstation 4 is the fact that Sony does insane amount of work to make as much as possible translated to Polish language. The Last of Us as well as Uncharteds which in no way are games aimed for kids received full polonization. WipEout Omega Collection has been polonized as well. Same goes for 3rd parties - Bethesda's games are fully polonized (this includes Fallout's, DOOM and Skyrim), CoD's are polonized, EA's games are polonized (Mass Effect's, NFS), etc. ect.
There are many adult consumers who are more comfortable with media in their native language for one reason or another.
Blizzard even went as far as to declare that every game they'll release will be localized on level that would make it par on native production. They are going so far with it that they are replacing US-specific jokes with local ones.
I ran into my own first book on programming at the end of the eighties, when I was fourteen. It was an old photocopy of Borland Turbo Pascal, in English. There was no translation available in vernacular. So, either I gave up on programming, or else I just had to get used to reading these things in English. Later on, programming became my full-time profession. If I hadn't done the effort of doing what it takes, and figure out English, today I would probably be queuing for unemployment benefits or another social handout. My kids would now be begging in the streets, instead of happily enjoying their costly private tutor and cosy private school. The kids obviously understand vernacular, but the classes are firmly in English, if only, because the other parents also know what time it is. The false beliefs and pagan gods of vernacularity make it so that the rich are getting richer, while from the poor, even the little they have, will be taken away from them.
People playing these games aren't doing it to gain a marketable fluency to allow them to get a great job and prevent their family from begging (as your alternate future would supposedly have entailed). They're doing it to wind down after the end of a day, to experience something entertaining. Being forced to do it in another language is not anyone's definition of fun (instead it's alienating) and that's why despite the original game existing in English, the author mentions fan translations popping up. Btw, knowing just English will also lock you into a silo—that of the anglosphere and despite your veneration for it, it's not the end all be all of culture, nor do its tendrils reach everywhere. (for example, there's a wealth of Japanese literature that hasn't even been touched by American translators; same for so many interesting cultures in other countries) localization is a gift of culture to those who speak other languages—it's the same thing that allows Americans to enjoy French poetry, German philosophy, Korean comics, etc... Don't be so hasty to put down the whole world just to feel good about your own choices and shame those who aren't so capable or willing to jump on the Anglotrain.
However, if you do a serious subject, which is always global, but you do it in vernacular, you are missing out on the virtual global conversations that really matter. It will inevitably force your own contributions to the field to become sub-standard.
France recently decreed that they will prosecute people who post "terrorist" opinions on the internet in French. Of course, France will surely expand their action radius and seek to police any kind of subject, in order to control the "narrative", and make sure that it is favourable to what the powers that be, want you to believe; in line with what they have been doing for ages with newspapers and television.
The UK also want to do that but they face the enormous obstacle of English-language opinions posted from the USA, which are protected by substantial first-amendment free speech provisions. According to Brandenburg versus Ohio, even advocating the violent overthrow of the state, is firmly protected speech. Don't ever say a thing like that in vernacular, because the local-language government may seek to arrest you. Hence, you can expect a much freer discussion in English than in French, since it is unencumbered by national-state regulations that curtail possibly unpopular or anti-government speech. I can pretty much say whatever I want in English. Don't try that in Polish, German, French, Chinese or any other local vernacular.
That's no obstacle. US laws don't apply to the UK, and the UK already has some heavy-handed internet restrictions that couldn't fly in the US. For example, in the UK, there is a list of child pornography sites that all ISPs are required to block. The internet does make jurisdiction a thorny question, but there are sometimes ways around that (note the old rules on British libel law, which pretty much held that you only had to justify some harm in England/Wales to sue for libel there--e.g., Donald Trump could have sued the New York Times for libel in the UK instead of the US. The UK did tighten up the residency requirements after the US passed a law basically saying "we're not going to cooperate in enforcement of UK libel law").
It's not a matter of English versus non-English. It's a matter of the ability of governments to enforce local legislation.
If you're in the US the US government can't inhibit your freedom of speech - and this includes the speech you make in French.
And if you're in the US and you deny the holocaust it doesn't matter what language you use to do so, when you travel to a country where it's illegal to deny the holocaust you're going to find it tricky. (For varying degrees of tricky including "nothing at all happens; noone knows or cares".)
Regarding France, I think you're conflating language with law. The only thing allowing France to police but the UK not to is the law, not the language itself. You think these countries aren't already capable of getting translators to look at comments reported to them? The language isn't protecting anyone, it's being in another country that has freer speech laws. Better advice would be to move to the US. (but in actuality isn't better advice because our government isn't really any better what with all the surveillance going on and our own terrorism hysteria)
There's a concept in linguistics called the Sapir–Whorf hypothesis  that I think you subscribe to—that language determines thought. It's failed to gain consensus by linguists but still isn't a closed matter. I think if we consider how people all over the world use language, we can find that they're just the same as us. The only thing preventing us from understanding them is our own implicit biases, our prejudices, our looking down on them. This sort of evangelizing of English isn't really that far off from the spread of Christianity through imperialism, though America's own "Manifest Destiny". We should think twice before imposing our will on others because we think it's by default better. At the end of the day unless you're working in an international market or planning to live elsewhere, you don't really need to know English specifically. I think everyone should learn another language, but instead focus on what languages interest you and which one you actually need, not just whichever is the top dog or has a sense of superiority attached to it. (similar to how white skin is now considered beautiful in a lot of countries, to the point where people are getting their skin bleached)
You got downvoted not because of truth, but because you are all sanctimonious about foreign languages while we speak about game.
By and large, I don't think the populace can downvote. Careful about abstracting HN to all of humanity.
That said, the cat's kinda out of the bag. UTF-8 is at least well-done, and the algorithms are widely available. I study Japanese and have started studying Russian and Chinese; I think maybe the best way to convince people to learn English is to walk the walk. Who knows, maybe everything will go very wrong again before we get a chance to standardize.
I'm also working on an engineered language with a test suite/corpus maintained alongside the language. Maybe in the ashes of the old new world there'll be room for something like this.
To write it properly, we need left- and right-facing single and double quotes, diareses and accents for words like naïve, façade and café, en- and em-dashes and the ellipsis.
Longer documents will require symbols like † and ‡, bullets and §. The currency symbols £, €, ¢ and ₹ are used by countries where English is an official language.