TerryCavanagh / VVVVVV

The source code to VVVVVV! http://thelettervsixtim.es/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mixed languages in custom levels

ffaf1 opened this issue · comments

To reproduce:

  • launch the game
  • select a language which is not English
  • select levels then pick any level
  • when you play the level, all strings are in English, bar the You have found a lost crewmate!, which is translated.

Expected: if the level is in English, I expect every string to be English, it was a bit weird to have a single bit in Italian.

Ohhh

That's kind of a good point, I guess? I can see how it'd be a little jarring. Still, it feels bad to just switch to English, especially when lots of the UI stuff is translated...

Yeah, I dunno what to do here.

This is working as intended - there's a distinction between the interface language and the level's language, and "You have found a lost crewmate!" is an interface string. In fact, we don't even associate any specific language with custom levels for several reasons, just which font should be used.

Should it be changed so in English levels all the interface text is in English no matter who plays it, and if a level is set to be Italian by the level creator, all the interface text is in Italian for everyone? I don't know. The pause menu probably ought to be in your own language. I see it more like how I have all my software in my own language, even social media platforms, while I may only use them to talk to other people in English. So I don't expect the platform to say "sent 5 minutes ago", "Copy Message Text" or "Person is typing..." in English just because the content inside it is in English. And custom levels are basically user-generated content.

Q: does — or will — the level data include a language string (“the story is narrated in $LANG language”)?

No, we only store the font selection, which can be changed by the level creator. So all languages that use the original 8x8 font (so all except Chinese, Japanese and Korean) are stored the same way.

One of the reasons for this is that level creators would probably neglect to change the language, or not know it's an option. That way you would get a lot of "Spanish" levels in English, "French" levels in English, and so on, any time people want to make levels in English for an international audience. And if we use that setting to change any interface text (like "found a lost crewmate") then other people would unexpectedly see that in a language they don't speak. (And someone may not want to reveal which country they're from). I wanted to avoid people thinking they had to change their entire game's language to English in order to make an English level. (Conversely, if English is the default language for any level, anyone who wants to make a level in their own language may find some text not being translated...)

I see.

I am not fond of the “your browser UI is in Italian, but the toot you read are in English” metaphor: this is a string inside a game, not a menu option, it has the effect — small but present effect — to break immersion.

If there is no plan to add a language stored in the level data, this issue can be closed.