alemart/opensurge

About untranslatable things and bitmap fonts

Halatnikov opened this issue · 8 comments

This is mostly about things that are written with bitmap fonts and i think the only "best" solution here is to make them use True-Type fonts. But what if i were to make an edit of some of the bitmap fonts to include Russian characters? Am i allowed to do that or are there some licensing issues that prevent me from editing the bitmap fonts? And if i am allowed, do i make it a separate file or do i add them to the original image?

Things that are translatable but use bitmap fonts:

  • HUD
  • level cleared screen
  • game over and time over

Things that use bitmap fonts but are not translatable at all:

  • F1 help menu
  • level editor bar on top
  • level editor "log" on the bottom
  • the word "brick" in the brick palette
  • probably some more i forgot

And one more question: are entity names technically translatable or are they hardcoded/placed in the scripts themselves?

actually i may have an idea how to make untranslatable things translatable, can i do that myself?

You are allowed to expand the bitmap font images to include Russian characters. However, the font art must be well polished. Additionally, the engine currently supports up to 256 unicode characters when using bitmap fonts, so that needs expansion from my side, too.

Translating the level editor is something we can do simply. We need to move to TrueType fonts and update the code. The help screen relies on the font being of a fixed size for displaying the table, so that needs change, too. I can provide the updated code. Wanna work on translating the editor to Russian?

Entity names must not be translated, as scripts depend on them. Level names should not be translated either. The error logs are not translatable.

I don't think i'll go over 256 characters since Russian and English alphabets are somewhat similar, but that may not be the case for other languages

Actually, i don't know programming and C like almost at all, but since you want to replace the bitmap fonts with TrueType fonts in the editor, my idea doesn't really apply

What i wanted to do if it was still bitmap fonts looked like this:
add something like this in the english.lng file
EDITOR_HELP_GENERAL <color=$COLOR_IDK>"General"</color>
COLOR_IDK "ff8060"

and add something like this in editorhelp.c file on line 45 (0.5.1.2)
"&EDITOR_HELP_GENERAL\n\n"

I'm not asking to do exactly that, but would that work theoretically?

And yes i want to work on translating the editor to Russian (and also expanding to bitmap fonts if needed)

About things that have dependencies, what if there was something like a property, that was a name that's used exclusively for stuff like mouse tooltips in editor and etc., like if that thing was still called in the script CoolThing, but it's "editor name" was $ENTITY_COOLTHING (which is ENTITY_COOLTHING "Cool Thing" in the language file) , or is that not really possible? Also of course it will be fine if error logs are left untranslatable.

Alright, so let's work on translating the editor. There are some updates I need to do before the translation is possible. I've added this task to my TODO list and I expect this will be done in a few days. I'll leave this issue open for the time being, so we'll be able discuss it again.

I'm not asking to do exactly that, but would that work theoretically?

No; more work is required.

About things that have dependencies, what if there was something like a property, that was a name that's used exclusively for stuff like mouse tooltips in editor and etc.

Translating the names of the entities, even if only in the editor, is not a good idea. Not relevant for gameplay, new entities will come about and it's useful for people making games in Open Surge to know the actual names of the entities - for scripting purposes. We'd need to display both names, but I don't think it's the case. Nor it's the case of translating the property names of entities, as they too are needed for scripting.

On the other hand, thank you for your willingness to do it. Translating the editor, and especially the help screen, may be relevant for new users who don't speak English.

Okay, sorry for misconceptions

Yeah, translatable "entity editor names" are not really needed per se, because if you don't know what it is, it's mostly just a matter of trial and error or finding that entity in other levels, i just thought it could be a neat optional/experimental feature. It's probably possible to display both names simultaneously, but like giving the "editor names" more focus compared to actual script names, but that's probably starting to sound like too much work lol

I thought the help screen and stuff like that is where translation is needed the most, but I didn't really understood, are messages like "welcome to the level editor" possible to translate as well?

Also I noticed there were translations on some of the older pages of the wiki, but now there are none, what happened to that?

I thought the help screen and stuff like that is where translation is needed the most, but I didn't really understood, are messages like "welcome to the level editor" possible to translate as well?

Messages such as "Welcome to the editor" are displayed using a built-in font of the engine which is not TrueType. We'll need some sort of status bar or small popup to display them in a translatable way.

Also I noticed there were translations on some of the older pages of the wiki, but now there are none, what happened to that?

The project is in active development, and so the wiki receives new information from time to time. It turns out that the wiki translations wouldn't keep up to it. The information in the wiki is crucial for making games. It's preferred to keep an updated English version than outdated translations which no longer reflect the state of the engine.

@Halatnikov I have updated the code and now the level editor can be translated. The english language file includes the corresponding strings.

The main editor UI, the palette and the help screen are ready. The status messages aren't yet, but they will be implemented opportunely and the strings are already available for translation. It's important to test the translation in order to check if everything is alright. Can you compile the engine from the source code, or do you need an executable?

Thanks for your interest in this translation.

s224

The code is already sorted out. Waiting for your translation.