Hi Jo?l,
Strings get indeed translated in scripting messages.
I had to remove the extra blank space after "Earth" to reproduce this, though.
That means that all strings like "Earth" or "Real time" which belong to the translation list
will get translated if they're passed to the print command with no other extra word or character.
This can be fixed by removing the gettext macro _() in celestiacore.cpp, line 3898 :
Code: Select all
*overlay << _(messageText.c_str());
The gettext macro is redundant here at least for two reasons:
- Text messages that are displayed when pressing a key are already marked
for translation upstream in the code. So they would still get translated after making
the above change.
- I added an object:localname() method to celx scripting a while ago that returns the localized
name of an object. So object names could still be translated using, e.g.:
Code: Select all
earth = celestia:find("Sol/Earth")
celestia:print(earth:localname() ,5,0,0,5,0)