Translate the game?


#1

Hey. I am still name. from Tremulous.

I have a question, maybe it is useful or useless or idk. I wanna translate the game for my language (at the moment it is hungarian). It is possible it? If yes how I can do it?

Thanks for answers.


#2

Does anyone know of any existing examples of another free and open source software game (preferably id tech based) that supports multiple language translations? We could work on such support from scratch, that is doable, but if another project already did it that would be very useful.


#3

@destroycandy , If you would like, you could start translating the game to Hungarian now “informally”. That is start writing down a translation (alongside the english versions and indicating which parts of the game that is taken from), post your work in this thread, and when I get to working on formalizing the game mode system, I could also look into implementing basic support in the code for translations using your work on Hungarian as a prototype. If we get support in the code for translation to one language, then it should be that much more straightforward adding support for other languages.

But again, as I’ve mentioned in my previous post, if someone can find out if other FOSS game projects implemented support for translations, that can at the very least be a helpful reference when doing the actual coding.

There are a lot of different places in the current code that may require translations (although perhaps not all such places require translations, like it might not be necessary to translate all of the error messages, the main thing would be to translate the text related to game play and perhaps the descriptions of commands), and I can point to a lot of the main parts now (we may want to reorganize all of this to better support multi-translation):

  • The tutorial system:
  • The obituary:
  • Center prints from various events:
  • Menu dialogues:
  • Team attributes:
  • Buildable attributes descriptions:
  • Class attributes descriptions:
  • Weapon attributes descriptions:
  • Upgrade attributes descriptions:
  • Admin command descriptions:
  • Center prints throughout the game logic (found wherever the centerPrintImportance enumerations are used https://github.com/GrangerHub/tremulous-game-logic/blob/a49517b687599b5ce65314b1aad95719ae9c0cd5/src/game/bg_public.h#L1778 )

  • Com_Printf(), Com_Error(), Com_Assert, functions used throughout the code (both in the game logic and game engine, client included).

  • A lot of instances of SV_GameSendServerCommand() used throughout the game module (center prints originating from the game module are a subset of that).

  • G_LogPrintf() used throughout the game module for saving text to the server game logs.

  • CG_Printf() used throughout the cgame module.

  • Text related to the HUD can be found throughout cg_draw.c:

  • Various assets related to the menus:

#4

I don’t think I’ve actually seen a quake program that supports language translation. I tried looking around :thonk:


#5

Sorry for late answer, but my free time is = 0.
A question. Can I put UTF-8 symbols? Like á, é, ü, ő, ú í


#6

Currently Tremulous 1.3 doesn’t support non-ascii characters. However, the OpenWolf-Engine that @TheDushan has been working on ( https://github.com/GrangerHub/OpenWolf-Engine ), that we intend on moving to for versions after 1.3, does support UTF-8. If we don’t implement UTF-8 support in Tremulous 1.3, that would limit the extent to the translations we can have in 1.3, however we could still implement something basic that works with ascii in 1.3, and expand that further when we move to OpenWolf (or we could start with a translation system directly on OpenWolf skipping that support for 1.3).


#7

Ok thanks. Then I will be back later.