Jump to content
The Dark Mod Forums
Sign in to follow this  
Tels

Translating the TDM GUI

Recommended Posts

Would it be possible to decompile missions and manually convert strings from static to dynamic convention?

 

Yes, there is a script for it. It works already for the map file, the readme.txt and darkmod.txt.

 

What needs work is xdata (aka the readables), and GUIs (but usually GUIs do not contain most of strings, anyway).

 

http://bugs.angua.at/view.php?id=2844

 

That script will make the "decompile" step fully automatic.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

If I'm understanding this correctly, it would be feasible that the mapper releases his/her map with static strings, which the translator will then convert to dynamic strings. It would basically be a re-issuing of said map, but if the mapper is okay with it (and doesn't plan for a v2 or redux), it would be the best way to do it. No extra work for the mapper and just a little more work for the translator.

 

There is a script for that already. http://bugs.angua.at/view.php?id=2844 The discussion here mainly now revolves around two points:

 

* who will do it for already released missions, and will map authors allow it?

* who will do it for new missions (the mapper => everything is fine, translators => needs a costly rerelease)

 

However, this approach doesn't answer another question: Who merges the different languages into the single map file? I seem to remember this being discussed a few pages earlier, and Tels wants to implement an automated system that receives the language files and implements them, but I have trouble imagining how this would work. Then again, I'm no programmer and don't have the slightest clue about this stuff.

 

 

That already works, you just use "#str_12345" in your map file, readme, whatever, and the exact string is then found in an FM specific dictionary. The code loads the proper dictionary, and depending on which language the user chooses, he sees "Silver Key" or "Silberschlüssel" on the screen.

 

(At least it works for texts. Audio/images are not yet covered. But we have to start somewhere)

 

Last question: In my line of work, the quality of a translation is decided by the final proofing stage. Meaning: No matter how good the translator is, he/she will always make mistakes, be it spelling or grammar or incomprehensible sentence structure due to deleting and re-writing parts of the sentence. So it comes down to the second and third quality control stage to find these mistakes and correct them. Now my question is: Are there any plans or considerations as to how the handing-in process of the translations will be handled? Will someone be appointed to be language lead of a given language? (I'm fully aware that we are a looong way from this issue being urgent, but I feel it's necessary to mention it ahead of time.)

 

I have no idea, but I think that we will have barely one person for one language. E.g. someone who speaks [insert language] translates maybe 10 missions, then he has no longer time. 6 months later somebody else translates 2 more. And so on.

 

You can see how that works because from out 45 missions, we have go a total of maybe 12 translations. Not 12 languages, or even "all missions in 2 languages", no 12 entire translations - I might be off here by a few, I have not counted them. But try to download different language versions and you find that most FMs have none.

 

So I think we will not have enough manpower in translators to even apoint somebody to some "head translator" in one language.

 

Of course, I'd be happy if I was wrong :-)


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

 

 

So I think we will not have enough manpower in translators to even apoint somebody to some "head translator" in one language.

 

 

 

We are two italian translator (i and Stealth91). :D

Share this post


Link to post
Share on other sites

I cut out a few points I thought I already adressed,but this caught my eye:

 

I wouldn't. Just like there might be Russian TDM missions, for all I know. If someone translated one and I heard it was good, I might play it. But I would never expect the mapper to translate it for me.

 

The big misconception is that the mapper has something to translate. He has NOT! All he needs to make sure is that his mission is easy translatable, but he hasn't to translate it first!

 

Some maps simply aren't going to be translatable without a great deal of work by someone. My mission has multiple conversations (not to mention the end movie) that would need to either be re-recorded or have subtitles written; the objectives and readables would need rewriting, and several graphics that have writing on them would need to be changed (actually, I think each of these points is also applicable to your mission). This isn't even counting the fact that all the AI dialogue in TDM is in English.

 

This is the old age argument of "oh it will be a lot of work and difficult, so we better not even start".

 

From v1.07 onwards, at least the menus, the objectives, and HUD and inventory will be translatable. Oh who knows when we add the other bits, but at least we started finally.

 

The longer you push these things into the future, the harder it gets (because people take the status quo for granted and thing it cannot be changed).


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

We are two italian translator (i and Stealth91). :D

 

Yes, I am very grateful for that, and we even had someone translate a bit of French.

 

However, the hard reality is that apart from Italian, French, some Russian, and a bit of German, nobody else ever replied with any translation back to me, and there are no FMs in any other language, either.

 

No Polish, no Portuguese, no spanish, finnish, danish, chech, hungarian, no whatever. So I am bit doubtful that this will take off.

 

However, my job is to provide the foundation for that and then the translators will come. Hopefully.

 

Anyway, now I am back to coding.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites
Plus it means a lot of people will need to download the updated version, which causes a lot of traffic. Also, imagine you are a player and have to redownload 135 Mbyte FM just because the russian translation was updated, which you never use.

 

Yes, I think it would be better in those cases to add a separate .pk4. "A Score to Settle, Russian", or "A Score to Settle, Translation" or something along those lines. People who want that one can download it, but it doesn't cause any headaches for anyone else.

 

From v1.07 onwards, at least the menus, the objectives, and HUD and inventory will be translatable. Oh who knows when we add the other bits, but at least we started finally.

 

I think having the menus and HUD translated is great. It might result in non-English speakers becoming interested in making some missions in their native language (although DR is entirely in English isn't it?). I think it would be great if a Russian TDM fanbase grew up at Darkfate because of this (although the AI vocals still seem like a significant barrier).

Share this post


Link to post
Share on other sites

Do you mean images with "drawn on" letters?

 

Yes.

 

Many splash screens include their text in the art, rather than defining it in the gui. St. Albans Cathedral, Pandora's Box, and SATC are a few examples. It would be problematic providing versions of these in different languages, so I guess they'll just have to stay as is.

Share this post


Link to post
Share on other sites

Yes, I think it would be better in those cases to add a separate .pk4. "A Score to Settle, Russian", or "A Score to Settle, Translation" or something along those lines. People who want that one can download it, but it doesn't cause any headaches for anyone else.

 

Er, that is why I have made it so that you can sep. the content from the translation by providing two packages:

 

* score_to_settle.pk4

* score_to_settle_i18n.pk4

 

The second PK4 contains just the strings, and artwork/audio that is in different languages (support for image/audio is not yet complete).

 

TDM will already automatically install both PK4 files. (What is missing is that the second file is not yet automatically downloaded)

 

And the wonderful thing is, there is a script which automatically generates both these files if you feed it your original PK4.

 

So the entire process is (almost) automatic, works already to 80%, and causes no additional headaches even if the only language provided is English. And IF somebody adds a new language to an FM, only the _i18n.pk4 file needs to be redownloaded.

 

For me that is a win-win, so I am still unsure why somebody wouldn't use that. :unsure:

 

I think having the menus and HUD translated is great. It might result in non-English speakers becoming interested in making some missions in their native language (although DR is entirely in English isn't it?). I think it would be great if a Russian TDM fanbase grew up at Darkfate because of this (although the AI vocals still seem like a significant barrier).

 

DR contains already support for language packs. I think there is a German interface already. So translating DR is not a code-problem anymore, just a translation problem.

 

Also, adding at least support for subtitles to TDM is possible, and on my TODO list, but I got distracted by the whole "translate the HUD and make FMs translatable" feature :)

 

@grayman: I hope that I can at least support alternative file versions for briefings etc. (e.g. the current translated FMs need a new copy of such files, anway). That way at least someone CAN provide a translation if they want, or have it stay in English.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

- - - - - derailing - - - - - - snip here - - - - - - - - -

 

Do you mean "poor" as in "the poor guy" or as in "ridiculously bad"? After all, he speaks Wesley Snipes and is hardly inexperienced.

Just the Garrett part would have been "okay", though not a match for the "perfect" performance Stephen Russell did in TDP and TMA (he wasn't on par in TDS from what I remember). The FAIL is, that the german actor speaks Garrett, Karras and the "Children" with almost the same voice, wich is nothing less than ruining the game. Said Stephen Russell did an absolutely awesome job for Karras and it is even hard to believe both parts, Garrett and Karras are spoken by the same actor.

 

- - - - - derailing - - - - - - snip here - - - - - - - - -

Share this post


Link to post
Share on other sites

That already works, you just use "#str_12345" in your map file, readme, whatever, and the exact string is then found in an FM specific dictionary. The code loads the proper dictionary, and depending on which language the user chooses, he sees "Silver Key" or "Silberschlüssel" on the screen.

Okay, but from where will the script d/l the translations? If I understand correctly from the following posts, the appropriate language PK4 for each language will be put into the same directory as the map's on the server.

 

 

DR contains already support for language packs. I think there is a German interface already. So translating DR is not a code-problem anymore, just a translation problem.

 

 

Unless one of the later releases didn't add new strings, then yes, DR is fully localized for German.

 

@plasticman: Okay, thanks for the clarification!

 

 


My Eigenvalue is bigger than your Eigenvalue.

Share this post


Link to post
Share on other sites

Okay, but from where will the script d/l the translations? If I understand correctly from the following posts, the appropriate language PK4 for each language will be put into the same directory as the map's on the server.

 

Yep, that's the plan. So instead of one PK4 file, an FM will consist f the main PK4, and an (optional) _i18n.pk4 file.

 

When you download such an FM through the in-game downloader, you get both (that needs coding in, as well as the "check for updates"), when you then install an FM, both files are copied (that already works), when you delete an FM, both are deleted (that already works).


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

Sorry for the lack of posts, but I thought I'd better only post when something got done :)

 

There was quite some progress over the last weeks, namely:

 

* finished almost all bitmaps => text conversions, namely on the restart mission GUI (including the animated big text), the failure gui, the mission statistics (including proper right-aligning and code support), the remaining texts on the download gui, half of the buttons of the settings gui. These also required offset/positional support, which can luckily be done through the dictionary, too. So a different language can have differently long buttons positioned correctly.

* code support for translation the objectives (somehow missed that), and the mission statistics

* the dictionary loader transforms 0xff into 0xb6, this makes russian work, even when not in the menu (and the normal dictionary now just contains the regular 0xff character). Fixes #2812.

 

The only strings I know that are missing in the menu are now:

 

* the "Objectives" title in the main menu

* the six missing Settings GUI buttons

* the three headlines in the shop parchment

* a few headlines that require a new font

 

The first three are easy (its just some work redoing the parchments), but the last are quite tricky. However, if push comes to show, and we ship with these hard-coded in v1.07, that will be ok IMO.

 

Here are some screenshots:

 

The old, original English settings menu:

 

post-144-131551183562_thumb.jpg

 

The new one:

 

post-144-13155118568_thumb.jpg

 

And in German:

 

post-144-131551226558_thumb.jpg

 

And now in Italian:

 

post-144-131551189784_thumb.jpg

 

You can see that the two large buttons above also switch positions around, depending on language. (This is an older version, the hint was not yet translated here)

 

Success screen:

 

post-144-131551201857_thumb.jpg

 

Yes, the large text is animated :)


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

Wonderful. :D

 

A small question. :)

 

Now, how much FM can be translated with the new metod?

Edited by ECHELON

Share this post


Link to post
Share on other sites

I have also almost finished the I18N.pl script - only thing missing are the readables.

 

And as a demo I created an international version of the "outpost", using the already existing English and French versions, added the (partial) Italian version from Echolon, and then created a German translation. A particulare tricky thing where the images with text in the briefing, so I simply added support for such a glow-white type of font and then removed the images and replaced them with text.

 

There are still some issues with the font, but since these need to be solved for the menu, anyway, I postponed this for later.

 

These shots where done with the same outpost.pk4 and the same outpost_i18n.pk4 installed- all I did was going back to the menu, select a different language, then restarted the mission:

 

post-144-131551316499_thumb.jpg post-144-131551317404_thumb.jpg post-144-131551318573_thumb.jpg

 

post-144-131551319601_thumb.jpg post-144-131551320789_thumb.jpg post-144-131551321974_thumb.jpg


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

Wonderful. :D

 

A small question. :)

 

Now, how much FM can be translated with the new metod?

 

I think my other post will almost answer this :) The missing piece are the readables - the I18N.pl script cannot yet rewrite them, and I was too lazy to rewrite them manually and try if they work - but I expect they will just work fine with "#str_20000" :)

 

It might be a bit difficult to see how they look in game, tho, but it should be possible to add a sys command to the console, so you can start TDM in a window, open a book, then change the strings/fm/italian.lang file, and the say something like "reload_dicts" and see the new readable text appear. So it would be easy to tweak them, with the changing length and so on.

 

I will care about the readables later, this weekend I have zero time. Sorry!


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

Here is a screen that didn't fit in the first post:

 

post-144-131551366062_thumb.jpg

 

post-144-131551367689_thumb.jpg


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

Great work Tels!

 

Looks like v1.07 is full of nice changes; from new textures, new melee animations, to a whole new arrow type (etc).

 

Will you guys go into testing phase once these translation improvements have been completed, or are even more changes planned before the lock-down period?

Edited by nbohr1more

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Here is another update:

 

* PPoe sent me a Czech translaton (it's quite complete, too!), so I added Czech as supported language. Screenshots below.

* Finally finished translating all the bitmaps in the menu, except 5 or so that are in a different font. But I guess v1.07 will still work without these translated :) The ones that made all the work were the 6 buttons in the settings menu, because these, too, need to be shifted/resized depending on language. Guess http://bugs.angua.at/view.php?id=2802 can be closed now :)

* Removed all the now needless graphics - this were some 85 or so DDS files. We still have about 350 left in the GUI, but it helps TDM start a tiny bit faster :)

 

The accents are still missing from the font, but this is a sep. problem:

 

post-144-131654359957_thumb.jpg post-144-131654362285_thumb.jpg post-144-131654363738_thumb.jpg

 

 

Thank you, PPoe! :)


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

übercool!! ;) Thanks Tels and all other contributors.

 

So I was wondering whether we could get umlauts and "ß" working by doing some image editing. If so, I'd gladly help out and see where that takes us.

Share this post


Link to post
Share on other sites

übercool!! ;) Thanks Tels and all other contributors.

 

Wow, someone used an ü :wub:

 

So I was wondering whether we could get umlauts and "ß" working by doing some image editing. If so, I'd gladly help out and see where that takes us.

 

There is a wiki entry describing it - you need to edit the images (actually, I think, create new ones as there isn't enough space on the last image), and hack a fontimage.dat file.

 

http://wiki.thedarkmod.com/index.php?title=Font_Conversion_%26_Repair

 

The trouble with that is that if you use f.i. Q3Font to decompose a fontfile, and then recompose it, some things shift slightly, so the old characters (a-zA-Z0-9 etc) are slightly different. That causes readable texts to shift (because some characters might be a tad wider or slimmer) and that's not good. :(

 

I started to work on a script that can replace that utility, so you can jst patch individual characters, but I could not complete it due to the large amount of work all the other stuff took. But it's next on my TODO list, because almost everything else is complete now :)

 

If you can help, that would be cool, esp. painting the extra characters (then I can focus on hacking them into the font file). Send me a PM and I'll explain things in more depth.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

...

 

However, the hard reality is that apart from Italian, French, some Russian, and a bit of German, nobody else ever replied with any translation back to me, and there are no FMs in any other language, either.

 

 

...

 

Maybe I can help with the german translation, just send me a PM with the strings needed to translated.

Edited by Tach

Share this post


Link to post
Share on other sites

Being a former German student, I'm very happy to learn the verb "murmelt".

I just like the sound of it. ^_^


What do you see when you turn out the light? I can't tell you but I know that it's mine.

Share this post


Link to post
Share on other sites

Hi all,

For two weeks I've been playing Dark Mod and I must say you did an excellent job. Even more impressive when consider it's fan-made. My congratulations.

 

Anyway, I think I can help with Polish translation. I don't have any problems with understanding FMs' text, so translating shouldn't be so difficult.

One thing, I'm an ignorant when it comes to programming, mess up with files etc. I can only write translated text in notepad and send it to you. ;)

 

(Sorry for my English)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...