Jump to content
The Dark Mod Forums

Translating FMs


Tels

Recommended Posts

Ok, now that v1.07 has hit the streets, lets talk about translating the existing FMs.

 

This thread should focus only on the technical aspects, e.g. not the "does the mapper want it", "do I need permission" etc questions. These should be dealt with in the specific FM threads (http://forums.thedar...m-fan-missions/), or in PM.

 

The documentation about the process is on the wiki (Translating_Fan_Missions and Internationalization). It was, however, written by someone very familiar with the topic, so it might be confusing, or incomplete. Please post here if you have any questions.

 

There is also this thread which documents the whole work that went into this - but beware, it might be confusing as it is overly long and also details the many failed attempts at solving some of the problems: http://forums.thedar...ng-the-tdm-gui/

 

There is also a small range of already converted/translated missions here http://www.bloodgate...m/pub/pk4/i18n/ - over time, this will hopefully expand.

 

A few general remarks:

 

* The FM needs to be "converted" to make the translation easier. After this step, the entire readable/string/whatever content is stored in a file strings/fm/english.lang - and only this file needs to be translated. Thus the content and the translation are sep. This means it is easier to update the translation because you don't need to touch the FM again.

* If possible, strings from the core dictionary should be used - this means the translators need not to re-translate these strings for each FM and language

* If there are images with text on, you need to draw a new version for each language - and you also need to setup the GUI so this image is used. In case of maps, you need to make a material shader per language and then use a string like "#str_20000" "the_map_material_en" (which can be "translated" to "#str_20000" "the_map_material_de"). This way each language uses a different material, which then shows the correct image.

 

And one final note, I am not online from Dec. 1st to Dec. 6th, possible longer. I might read the public forum in this time, but I can't answer you :)

"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

Link to comment
Share on other sites

Woot. I'll have to try and have fun with that now that it's official :)

"Lie to a liar, for lies are his coin; Steal from a thief, for that is easy; lay a trap for a trickster and catch him at first attempt, but beware of an honest man"

- Arab proverb

Link to comment
Share on other sites

On the I18N.pl Wiki, this is the template we use to run the perl script:

 

 

perl fm_translate.pl --english fms/outpost/outpost.pk4 --french fms/avant_poste.pk4

 

This appears to assume that we know the french translation of "outpost". Are we supposed to know the multi-language translations of our mission pk4 names?

 

However ...

 

In the I18N.pl script, I see this example:

 

 

Example: perl I18N.pl --english thieves.pk4 --italian thieves_it.pk4

 

Which suggests we're supposed to append "_it" to the mission name, and run I18N.pl instead of fm_translate.pl. Is the Wiki not up to date?

 

And is "_it" a standard? What are the extensions for the other languages?

Link to comment
Share on other sites

I18N.pl says this:

 

 

# Note: This script expects the strings/english.lang etc. file to

# be present so it can figure out which strings is in the core

# dictionary.

 

Where, exactly, is the strings folder supposed to be? Should we be creating an empty MYFM/strings/english.lang file, or are we supposed to make a copy of the strings/english.lang file that comes with TDM? Neither the Wiki instructions nor the I18N.pl instructions explain this.

 

And: the Wiki example

 

 

perl fm_translate.pl --english fms/outpost/outpost.pk4 --french fms/avant_poste.pk4

 

suggests running the script in the level above "fm", and the example in the I18N.pl script:

 

perl I18N.pl --english thieves.pk4 --italian thieves_it.pk4

 

suggests the script can be run anywhere.

 

I think the Wiki needs more fleshing out so that mappers who aren't programmers can just follow a cookie-cutter process. (I'm a programmer, and the steps aren't clear to me.)

Link to comment
Share on other sites

In the OP, it says:

 

"* If there are images with text on, you need to draw a new version for each language - and you also need to setup the GUI so this image is used. In case of maps, you need to make a material shader per language and then use a string like "#str_20000" "the_map_material_en" (which can be "translated" to "#str_20000" "the_map_material_de"). This way each language uses a different material, which then shows the correct image."

 

I think we need step-by-step instructions on how to accomplish this. The Wiki section for images only has "todo" in it.

 

Specifically:

 

"use a string like" - this is too vague. Are we supposed to tie the image specifically to #str_20000? What if #str_20000 was already used for something else?

 

"which can be translated to ..." - who does the translation? Us? A translator? The I18N.pl script?

Link to comment
Share on other sites

I have translated the training mission and Thief's Den to portuguese, but all I did was translate the text (replace the actual strings) and images (in Thief's Den case, manually editting), I dont think I even changed the original names of the files, not to break any links... I believe they are the ones listed on that server you posted? In this situation, if you play my translated missions, regardless of any language setting, you would get the portuguese texts right? I'll need to do it the right way when I have time...

 

Either way, I have to get back to you Tels, I'm afraid we still have some work to do on the portuguese translation as I'm finding several things we need to improve/correct. :( Sorry man, youre having tons of work! :)

Edited by RPGista
Link to comment
Share on other sites

On the I18N.pl Wiki, this is the template we use to run the perl script:

perl fm_translate.pl --english fms/outpost/outpost.pk4 --french fms/avant_poste.pk4

 

This appears to assume that we know the french translation of "outpost". Are we supposed to know the multi-language translations of our mission pk4 names?

 

Yes, if there is one, then you need to know its filename. If there isn't (or you don't know it), then just use the English version.

 

The script can match multiple languages, but you can also do this matching manually afterwards. The basic idea is that if somebody already translated "The Outpost" to "Der Außenposten", then you might not know which text translates to which text, and thus the script can automatically match them based on where they are used.

 

If you just translated your English FM, then somebody who knows German would need to do the manual matching again, which is almost as much work as retranslating everything.

 

However ...

 

In the I18N.pl script, I see this example:

 

Example: perl I18N.pl --english thieves.pk4 --italian thieves_it.pk4

 

Which suggests we're supposed to append "_it" to the mission name, and run I18N.pl instead of fm_translate.pl. Is the Wiki not up to date?

 

And is "_it" a standard? What are the extensions for the other languages?

 

This is just an example filename. It can be anything, whatever you have or want. (and yes, the fm_translate.pl was a left-over mistake. Sorry)

 

I have updated the article here with step-by-step instructions and also made a ZIP file which contains the script and the all.lang file in the correct folder. Pleasse try this and see if this is easier to follow

 

http://wiki.thedarkm...p?title=I18N.pl

 

I will also update the "how to translate image-based assets" wiki in a moment.

 

Edit: Done. Please see if this is better now: http://wiki.thedarkm...mages_with_Text

"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

Link to comment
Share on other sites

I have translated the training mission and Thief's Den to portuguese, but all I did was translate the text (replace the actual strings) and images (in Thief's Den case, manually editting), I dont think I even changed the original names of the files, not to break any links... I believe they are the ones listed on that server you posted? In this situation, if you play my translated missions, regardless of any language setting, you would get the portuguese texts right? I'll need to do it the right way when I have time...

 

I only did a few missions as examples, I did not have time to hunt down all the different translations that were done over time and fiddle with the script. My hope was that somebody else could do this...

 

There are a few italian translations I have not yet done (MadsMountain I think was one, WinterHarvest another one) and there might be other translations out there that I do not know of. That is why the old way was so bad - everything was so disorganized and nobody really knew what to do or what had been done...

 

 

Either way, I have to get back to you Tels, I'm afraid we still have some work to do on the portuguese translation as I'm finding several things we need to improve/correct. :( Sorry man, youre having tons of work! :)

 

I don't mind, at least this is easy and benefits everyone :)

"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

Link to comment
Share on other sites

  • 2 months later...

What' I'd like is an idiot's guide to what a mapper should do regarding this when making a map. I mean a mapper who is not doing a translation but just making a normal FM. The wiki stuff seems to be aimed at anyone actually doing a translation - unless I missed something. Do we need to do anything? What's everybody else doing?

Link to comment
Share on other sites

Fidcal: There are two ways:

 

* Either design your map with the translation in mind (e.g. use "#str_20000" instead of "Lord's Frobleys Scepter" and supply a strings/fm/english.lang file that contains the nec. strings).

* Or you develop it normaly, and at the end, push it through the script and then fix manually the few issues that the script can handle

 

The first has the disadvantage that DR does not have support for dictionaries, so you can't see the texts in the mission in the editor.

 

The second has the disadvantage that you need to run the script.

"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

Link to comment
Share on other sites

Sounds like a plan. Me thinks I should do some sort of web-based service where people can give my server an URL and let it run the script through it, or something like that...

"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

Link to comment
Share on other sites

  • 7 months later...

We are currently preparing a new version of Saint Lucia. Would you like to translate all tets for it? If so, we can send you the english.lang file and you could translate it, then we would package it up together with the new mission.

"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

Link to comment
Share on other sites

@Chelsun: Have you made sure, you created the following folder in your pk4 archive?

xdata\briefing.xd

xdata\readables.xd

etc.

 

The readables/briefings in these xd files must contain something like this for your lang file:

yourReadable
{
"page1_left_body" : "#str_20027"
}

Your map file also has to show up the following reference at the readable entity:

// entity 236
{
"classname" "atdm:readable_immobile_scroll01"
"xdata_contents" "yourReadable"
}

Edited by Radiant
Link to comment
Share on other sites

I thought script fm_translate.pl should work properly. And i have no README.txt, xdata\briefing.xd, xdata\readables.xd files in my fmname_l10n.pk4, is it necessary, what should contain README.txt? I just take english.lang, copy to russian.lang and translate all strings including readables-strings there, all string numbers stayed as they are. In game briefing translated properly, problems only with readables.

Edited by Chelsun
Link to comment
Share on other sites

xdata\readables.xd should be placed in fmname.pk4 (not _l10n).

You can ignore README.txt

Have you checked the map file with notepad? (Just search for "xdata".)

 

Hm... just translating the english.lang should make it...

Sometimes a part of the translated lang file doesn't show up, because you left some text in between the lines without a // as commentary function before. From this left line of text on, which is interpretated as an instruction, the russian language file is ignored.

 

I think you should have a look at Tels new lang file and send him just the translation.

Edited by Radiant
Link to comment
Share on other sites

*xdata\readables.xd should be placed in fmname.pk4 (not _l10n)* - this files in their place. I know about commentary function and translate just text in quotes after string-numbers. .lang file is not ignoreg, briefing and object-names translated properly. Its only readables...

There is no russian FM translations at this moment, maybe because of some problems with fonts or something

I can give you russian.lang file for testing.

Link to comment
Share on other sites

Hello Echelon. To be honest I don't really want to translate, I just started to play a mission Saint Lucia, and experienced discomfort with reading books, because my english is not so good. I want to get comfortable with the mission playing, so I decided to translate it for myself and normally finish that stupid mission... i mean good mission. But i can translate one or two more cause I love the Thief series and I like your work, but it would not be so fast, cause i have not much free time.

*Take also a look at this: http://forums.thedar...stem-important/ * - heh Echelon, it's so hard for me to read all this stuff... at least tell me what it should pay attention there.

Edited by Chelsun
Link to comment
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.

  • Recent Status Updates

    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
    • Ansome

      Well then, it's been about a week since I released my first FM and I must say that I was very pleasantly surprised by its reception. I had expected half as much interest in my short little FM as I received and even less when it came to positive feedback, but I am glad that the aspects of my mission that I put the most heart into were often the most appreciated. It was also delightful to read plenty of honest criticism and helpful feedback, as I've already been given plenty of useful pointers on improving my brushwork, level design, and gameplay difficulty.
      I've gotten back into the groove of chipping away at my reading and game list, as well as the endless FM catalogue here, but I may very well try my hand at the 15th anniversary contest should it materialize. That is assuming my eyes are ready for a few more months of Dark Radiant's bright interface while burning the midnight oil, of course!
      · 4 replies
×
×
  • Create New...