• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

translation

mithrawnundo

Landlubber
dunno if ever anyone suggested this:
Why not translate the build to other languages? If its too complicated then leave it, but if its just adding the translated text instead of the english one...
i would perhaps try to translate it to german, so tell me if its possible.
 
I actually thought someone was working on a german translation already. Ill have to find out what happened to that, was only recent
 
Hmm... I could translate it to spanish... In fact, that's the first thing I thought when I started playing the build :p. How many lines is it? I've translated other programs and games before, so I think I'll have no problems with this one, besides the piratey slang, I still don't catch everything... So maybe sometimes I'll have to ask you guys for help.
 
Translation of the build

I translated build 10.1 into german and I probably do it with build 11, too. But it's no easy task because code and language specific text is mixed in many files. I wrote a small utility that merges .h into .c dialog files to ease modding and will add the reverse functionality within the next one or two weeks. This should make translating a lot easier.

Scheffnow
 
Ah reverse functionality? That will be MOST helpful, Scheffnow! I was dreading having to manually insert those dialogs back into an .h file !!!

:eek:ops :yes You are a genius! :yes :cheers :cheers :cheeky :cheers :cheeky
 
Oh, so the text is hard coded within the code? There's no lang file or resource file with the text alone for translating? That surely makes things much more difficult... scheffnow, I hope you'll have that handy tool ready soon, it will surealy ease things up a lot!
 
<!--`QuoteBegin-CatalinaThePirate`+--><div class='quotetop'>QUOTE(CatalinaThePirate)</div><div class='quotemain'><!--QuoteEBegin-->You are a genius![/quote]

Catalina, you make me blushing :cheers:

I just made so much errors in prior projects that I don't have to make them here :yes

Scheffnow
 
@ Sheffnow - well... You're STILL a genius! :p:

@ McCoy - if you will take a look at the contents of the POTCPROGRAMDialogs folder, you will see two types of files for each character or set of characters that has any dialog. They are *_dialog.c files, and *_dialog.h files. The .c files are scripts that direct the dialog or actions (such as giving an item to the main character). The .h files are the dialog - just text dialog - with corresponding numbers to the spot in the .c files where the dialog belongs. It's confusing to edit this way, because you can't really follow what's happening - but Scheffnow's Dialog Merge program does a nice job of making it so much clearer. :cheers :cry
 
There are a couple of others - like the quests text for the quest book... I don't know where they all are - and some of the .c files have dialog that is not in the .h files...

quests_text.txt file is in POTCRESOURCEQUESTSTEXT folder.

I can't imagine translating this game into a different language would be easy... More power to ya, matey! :cheers :cry
 
@CatalinaThePirate

Ah, I see, so the language files are splitted apart from the main dialog code just like common resource files, but, how much necessary are the .c files for translating the dialog? I mean, you don't really need to know that the player recieved some amount of gold and a cutlass for a successful mission or something like that... What else do the .c files? They define the conversation tree too don't they? I checked a couple of .h files and I think I can start translating right away, maybe knowing the conversation flow will help me, but not that much, I'm sure it's useful for coding new conversations, but I don't see the need for translations, and moreover, the sentences seem to be orderer in a logic way, following the conversation flow...

Anyway, that doesn't mean I think the upcoming tool is useless! I'm sure it'll help you modders a lot, and maybe it'd be of help for (future) translators too.
 
<!--`QuoteBegin-McCoy`+--><div class='quotetop'>QUOTE(McCoy)</div><div class='quotemain'><!--QuoteEBegin-->Ah, I see, so the language files are splitted apart from the main dialog code just like common resource files, but, how much necessary are the .c files for translating the dialog?[/quote] Yes, exactly.

<!--`QuoteBegin-McCoy`+--><div class='quotetop'>QUOTE(McCoy)</div><div class='quotemain'><!--QuoteEBegin-->What else do the .c files? They define the conversation tree too don't they?[/quote] Yes, they do. Depending upon the choices made in dialog, the .c files take you to different bits of dialog or exit the dialog, or perhaps make changes elsewhere in the game (such as triggering something in a different dialog).

You are correct, you should be able to get along without the Dialog Merge utility in translation - just remember to check the .c files as there is some dialog there that is not in the .h files.

Good luck to you in this endeavor - I am sure once you are finished, your sense of satisfaction at a job well done will make you very happy indeed - not to mention the admiration and thanks from all your friends who want to play this great game but are put off by the "just English" (or Russian, LOL!) text... :cheeky 8) :huh
 
Purpose of the DialogMerge utility

The DialogMerge utility is not necessary to translate the build into another language, for sure, but what will happen when an update is published or the expansion arrives? All what you've done will be overwritten. You will be forced to check all changed files again and manually merge your translations into them. The (still missing) reverse functionality of splitting code and language specific strings is needed to avoid exactly this.

Scheffnow
 
But how does it works exactly? Because AFAIK the language strings are already splitted from the dialog code, maybe not all the strings, as Catalina said there are some left within the .c files and not every string is in the .h files (but most of them), so I don't catch the "splitting code and language specific strings" part. Would you mind explaining it a bit more for me? And how will it work for maintaining the already translated strings from build to build? Because I'm very interested in that, I don't want to have to check every file for differences at every build... But I still don't understand how your utility works, sorry :cheeky Maybe my lack of knowlowedge about the Storm 2 engine architecture ...
 
"Now here's the deal":
I got into the habit of changing the C files only, because that way (I hoped) people could just drop their old H files back in.
So, most of the build specific changes (excepting the typo and grammar correction, which are thus of course `English-based`) are in the *.c files.

Which while making the `re-inserting` of _old_ translation easy, makes _new_ translation bloody difficult.

However, as soon as we get a chance we'll strip out all the dialog from the C files and put it back in the H files--and I second Cat, here, Scheffnow, your tool will be _unbelievably_ helpful there!

And also we'll try to go through the _other_ code files, and see what things are outputted to screen and make sure they're all XI_Converted (i.e. run through common.ini).
 
@NathanKell

So that means that all the original game dialog strings are stored in the .h files, but the new or modified strings made for the Build are mixed up with code in the .c files? Phew... the I think I'll wait for the tool, or for the complete .h files with the build strings as well, because the game is already translated to spanish, I have to translate the build "only"
 
Back
Top