MovingBlocks / DestinationSol

Official continuation of Destination Sol, the great fun little arcade space shooter from http://sourceforge.net/projects/destinationsol/ Modules live at https://github.com/DestinationSol/
Apache License 2.0
327 stars 122 forks source link

Language system #153

Open ererbe opened 7 years ago

ererbe commented 7 years ago

(names of ships, items, the menu...) (i have a friend that is playing this game and he is not good in englisch) would be nice, but not that important (now)

sinsinewave commented 7 years ago

Some kind of locale file system might be possible to implement, but we would need people to contribute translations for it, as we probably can't translate to more than a couple languages.

ererbe commented 7 years ago

I can make German (and Latin.... xD) and find one who can make french, and maybe Spanish.

sinsinewave commented 7 years ago

The problem is that we really can't properly verify that people don't "translate" something offensive

Cervator commented 7 years ago

We have some pretty substantial internationalization support with Terasology that we should indeed port to DestSol as well :-)

See for instance http://translate.terasology.org/projects/terasology/menu/

The risk of people translating into offensive stuff is real, but not something we've worried much about so far. We hope to see another speaker of the language or two pass by and review later so over time we get decent overall translations.

Sometimes less active / low translation percentage languages can be removed again or marked as inactive so they don't show up.

Malanius commented 7 years ago

If no one is interested and this isn't required super fast, I could look onto it. But it may take a while, time is a very limited resource. I will also appreciate any directions that could help, as I didn't study Terasology translation system much...

MEXdave1997 commented 7 years ago

If anyone needs a Spanish Translation still, I would not mind helping out in that department. 😄

0xPendi commented 5 years ago

I'm going to make an attempt at implementing this

vampcat commented 5 years ago

Hey ZPendi. That sounds like a great idea :D

May I recommend you check out Terasology's translation system before you actually start working on a system for DS, and see if you can port/make something similar to it?

0xPendi commented 5 years ago

@vampcat

Yup, Adrijaned had pushed me towards this task, and said I should start there

Malanius commented 5 years ago

Hey, I know I've neglected this for long, for various reasons - personal mainly, but as well what's going on with DS. A lot of changes and talks about what might get implemented (NUI lately for example) which would simply get in the way, so I've waited. But if you are so interested in it, go on with it.

Korb commented 1 year ago

Where can I track the status of the translation of the "Destination Sol" into different languages and make a feasible contribution to the work on the internationalization of the project?

BenjaminAmos commented 1 year ago

At the moment, the game is only available in English. The pull request you referenced (#406) was abandoned and I'm not aware of any further efforts that have been made since then. Without the necessary code changes we can't support translations, since the game itself has no concept as such.

If you're interested in contributing some code for this then we'd really appreciate it. The game is written in Java, so you'll need some knowledge of Java programming to do so. Have a look at our wiki if that's the case. After you've got a functioning workspace, I can give you some pointers as to where to start on the feature.

A lot has changed since #406 was created and things might be a bit easier now that we're using Terasology's NUI framework. Pretty much all the UI code in that pull request would need to be re-written for NUI though.

Korb commented 1 year ago

I am not a programmer, but a translator. I am ready to help with the translation into Russian when the list of words and phrases for translations is available in text form. It is desirable if there is a common terminological dictionary for all translators on the lore of the game.

BenjaminAmos commented 1 year ago

Fortunately, most of the game's text is stored in separate files. Although some strings (mostly UI ones) are hard-coded, most of them are not. Expect the portions of the UI that change at runtime to be hard-coded (such as the equip button on the inventory screen). The vast majority of content can be found in the core module.

The game uses a modular asset system that allows you to override or alter assets at runtime. I've quickly put together a sample showing how you can use this to replace most of the game's text with translated versions at https://github.com/BenjaminAmos/DestSolPseudolocalisationExample. I only speak English unfortunately, so it's not a real translation, just a pretend one. Feel free to use it.

You can install the module by copying its files into a sub-directory of the game's modules folder (probably modules/pseudolocalisation in this case). Item name changes will work on the Steam release but you'll need a development build to get UI overrides working. There were automatic development builds being published until recently but they don't seem to be downloadable right now, so you might need to build the game from source for that.

Building from source is basically install Git, Java JDK 8 or 11, clone with git clone https://github.com/MovingBlocks/DestinationSol.git and then gradlew run in the DestinationSol directory, I think.

Maybe the game will get proper support for other languages in the future. Until then, this could serve as a partial work-around. If anything I said was unclear, please feel free ask for clarification.

BenjaminAmos commented 1 year ago

I've never seen much lore to speak of in the game. Somebody else who's been around longer might have some idea though.