The game requires Japanese locale settings not because it is a setting nor is there a way to auto detect locale; unfortunately that isn't how this works. It requires them because it is a Japanese game and was coded in, you guessed it Japanese.
Ahem; someone is wrong on the Internet again...
Hate to barge in, but you have managed to get almost everything you said wrong.
I get that you wrote your post with good intention to clarify what's going on, but you either dumbed down the truth too much or you don't understand how language encoding works yourself.
This game is not "coded in Japansese" . Because it is implemented on Unity, its source files must have been written in a programming language that compiles to .Net bytecode, most probably it was C#. Japanese programmers generally use the same computer languages as everybody else on the planet, maybe with comments written in Japanese. Their sources are also sometimes not encoded in UTF-8, as is de-facto standard these days, which takes us to the next point...
Japanese is a non-unicode language...
There is no such this as "unicode" or "non-unicode" language. Unicode is a type of
encoding, i.e. mapping integers to characters* so that text can be stored and manipulated by computers as an array of numbers.
You absolutely can encode text in Japanese using Unicode, and you totally should. Generally, Unicode
is the international standard that solves most of encoding-related problems.
But that is not
the only encoding suitable for text in Japanese.
You must be registered to see the links
is an old two-byte encoding that was popular in Japan before Unicode. It still crops up quite often in Japanese indie devs' games, especially if they rolled out their own custom engine, but not as often now as was in, say, around 2011, when H-games started getting popular worldwide.
The "solution" would be to recode the entire game from top to bottom replacing all Japanese characters
I don't know what goes wrong with this particular game if you launch it with system encoding different from SJIS, but probably there is a text file or several in game's resources that are encoded in SJIS and that the game silently parses incorrectly. This would explain lack of healing, because some traditional C functions for parsing numbers just return zero if the first character is not a digit or a minus sign.
There are tools for automatically translating text between different encodings, like
You must be registered to see the links
, that are available since forever.
Yes, re-enconding everything in UTF-8 is not "solution" it is
the solution. And if my guess is correct this can be fixed in a few minutes.
Still using obsolete encodings while targeting world-wide market is just unprofessional and an indicator of the programmer's lack of knowledge.
Most developers don't want to go through the hassle of redrawing the entire game uncensored for the global market
That's why usually the opposite is done: first the CG is drawn uncensored, then a censored version is produced if it is required. It also allows to publish an uncensor patch somewhere on dev's blog immediately after the game's release.
and the other part because japan is very insular homogeneous society. Anything outside japan is for the most part irrelevant to the average Japanese citizen
Here I agree. This is definitely one reason why we still regularly encounter SJIS but not, for example, some old German encoding. "It works in my country" (and I don't care about those smelly gaijins) is the "it works on my machine" on a bigger scale.
* This is a simplification; notion of _character_ doesn't make sense for some natural languages.