• 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!

WIP Spanish translation

Storyline dialogs maybe? That's the part I haven't started with yet, so there's no danger that we would end up translating the same thing twice.

Or if you prefer to take your pick in the rest of the dialogs, here is my latest upload, so you know what's translated and what isn't. It's from March but it's pretty much up to date in the dialog part, I've been focusing on the storyline texts since then.
 
Last edited:
Storyline dialogs maybe? That's the part I haven't started with yet, so there's no danger that we would end up translating the same thing twice.

Or if you prefer to take your pick in the rest of the dialogs, here is my latest upload, so you know what's translated and what isn't. It's from March but it's pretty much up to date in the dialog part, I've been focusing on the storyline texts since then.

Thanks a lot! I will try to continue your where you left in the meantime, during my free time :)

EDIT: By the way, I'm still translating normal dialogs, not the storyline ones.
 
Last edited:
@Pieter Boelen , How can I try to see if the translations worked on the game? Just with replacing the old text archive with the spanish one?
If you just copy the files I linked into your PotC directory, it should be all set up to work, you can select Spanish as the game language in the options (just don't switch languages mid-game, it gets weird) and translate the files in the SPANISH folders.

You could simply replace the English files just to check how the translation looks in game but for the final product, you have to use the Multilanguage framework that is already in place, so it's better to get used to it.
 
If I wanted to do some spell-checking on the random Spanish ship names, it would be just changing them in ship_name.c, right?

What about translatingthe names of some special ships, particularly the Black Pearl and the Flying Dutchman? Their names were translated in the Spanish version of the films, so most Spanish speakers would know them by their Spanish names. There are so many functions that deal with those ships that I don't know if there's just one that I should change for the names to be translated, or if I'll have to chase after multiple instances of the names.
 
If I wanted to do some spell-checking on the random Spanish ship names, it would be just changing them in ship_name.c, right?
Also, some of them, although with correct spelling, were obviously taken from lists of modern ship names and bear the names of historical characters who weren't even born in the time-frame of the mod or who, even if they are contemporary to any of the periods of the mod, would never have a a ship named after them at the time. I know is very nitpicky on my part, and I like some of them as easter eggs, but I wouldn't mind changing some of them for more accurate names, if that's ok.
 
If I wanted to do some spell-checking on the random Spanish ship names, it would be just changing them in ship_name.c, right?
Yep.

What about translatingthe names of some special ships, particularly the Black Pearl and the Flying Dutchman? Their names were translated in the Spanish version of the films, so most Spanish speakers would know them by their Spanish names. There are so many functions that deal with those ships that I don't know if there's just one that I should change for the names to be translated, or if I'll have to chase after multiple instances of the names.
The Pearl should use preprocessor "cursed_ship", but for the others you can count on multiple instances.
 
The preprocessor "cursed_ship" is used by the "Jack Sparrow" storyline to determine whether it is the Black Pearl or the Crimson Blood which is cursed. A couple of places check its value, e.g.:
Code:
           if (PreprocessText("#scursed_ship#") == "Black Pearl")
               GiveShip2Character(pchar,"BlackPearl",  PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);
           else
           {
               GiveShip2Character(pchar,"CrimsonBlood",PreprocessText("#scursed_ship#"),-1,PIRATE,TRUE,TRUE);
               pchar.EmblemedSails.normalTex = "Ships\Sails\sail_Petros_black_red.tga"; // PB
               pchar.EmblemedSails.nationFileName = "Ships\Sails\sail_Petros_black_red.tga"; // PB
           }
I suspect these will not work if "cursed_ship" is set to the Spanish translation of "Black Pearl".

Elsewhere, "Black Pearl" is used explicitly, especially in "initModels.c", where both Barbossa's model and a couple of Jack Sparrow models are assigned that ship name.
 
I have an issue with shipyard.c (and ship.c), particularly this line, which shows the national design of the ships

Code:
SetFormatedText("NATIONALDESIGN", XI_ConvertString("2"+Nations[tempnation].desc) + " " + XI_ConvertString("design"));

The word "design" I have no problem with, XI_ConvertString works fine, but I can't get the nation to display correctly. XI_ConvertString doesn't seem to be working with "Nations[tempnation].desc" in Spanish, it just shows a blank space where the nationality should be. Other functions for nationality do work. Any clue why this one doesn't?

It's not too bad because the national crest still appears so the information is still there, but it's annoying nontheless.

And now that I look at it, a few lines further down there's
Code:
SetFormatedText("NATIONALDESIGN", "Made in Singapore"); // PB: Was XI_ConvertString("Individual design")

Does that mean that the string=Individual design in common.ini isn't being used for anything anymore? Should I replace it with "Made in Singapore" rather than creating a new string for it?
 
Do you have the equivalent of these in the Spanish version of "common.ini"?
Code:
string = 2English,"English"
string = 2French,"French"
string = 2Spanish,"Spanish"
string = 2Pirates,"Pirates"
string = 2Pirate,"Pirate"
string = 2Dutch,"Dutch"
string = 2Portuguese,"Portuguese"
string = 2British,"British"
string = 2American,"American"
Note the prefix "2" on each label. There are several blocks in that part of "common.ini", with different number prefixes. The "2" set are the ones which "shipyard.c" and "ship.c" are looking for.

As for "Individual design", it does seem to make sense to put back 'XI_ConvertString("Individual design")' and then change "common.ini" to translate it to "Made in Singapore". Either that, or put an entry into "common.ini" for "Made in Singapore", then use 'XI_ConvertString("Made in Singapore")'.
 
Do you have the equivalent of these in the Spanish version of "common.ini"?
Code:
string = 2English,"English"
string = 2French,"French"
string = 2Spanish,"Spanish"
string = 2Pirates,"Pirates"
string = 2Pirate,"Pirate"
string = 2Dutch,"Dutch"
string = 2Portuguese,"Portuguese"
string = 2British,"British"
string = 2American,"American"
Note the prefix "2" on each label. There are several blocks in that part of "common.ini", with different number prefixes. The "2" set are the ones which "shipyard.c" and "ship.c" are looking for.
Oh, I see the problem. For some reason, in my Spanish version of the file I had the nations mixed up wirth the nationalities, as in 2England instead of 2English. I have no clue how that happened, maybe I messed up copying and pasting somewhere (again:facepalm). Thanks for the tip!

As for "Individual design", it does seem to make sense to put back 'XI_ConvertString("Individual design")' and then change "common.ini" to translate it to "Made in Singapore". Either that, or put an entry into "common.ini" for "Made in Singapore", then use 'XI_ConvertString("Made in Singapore")'.
Yeah, that was my idea, but I'm not sure if it was left like that for a reason so I wanted to ask first.
 
"Made in Singapore" was mainly just a joke of mine.
I think it's virtually never used, except perhaps for some quest ships.
 
"Made in Singapore" was mainly just a joke of mine.
I think it's virtually never used, except perhaps for some quest ships.
While testing, I saw it in a couple of caravels being sold in the Havana shipyard (I had Shipyard Ship Availability set to "Stock PotC")
 
Now, for the sake of proper Spanish grammar, I want to change the order of the words so it says "Diseño X" instead of "x design", as I did already with the date and the ship hunt dialog. I've tried to use the same tricks you showed me then but I'm not sure how to apply them to this particular situation. I've tried:

Code:
        SetNodeUsing("NATION", true); // PB
        if (tempnation >= 0 && tempnation < NATIONS_QUANTITY) {
            SetNewPicture("NATION", "interfaces\flags\Crest_" + GetNationFlagImage(tempnation) + ".tga");
            SetFormatedText("NATIONALDESIGN", XI_ConvertString("2"+Nations[tempnation].desc) + " " + XI_ConvertString("design"));
            {
                if (LanguageGetLanguage() == "Spanish")
                {
                    return SetFormatedText("NATIONALDESIGN", XI_ConvertString("design") + " " + XI_ConvertString("2"+Nations[tempnation].desc));
                }
                else
                {
            if(tempnation == PERSONAL_NATION)
            {
                SetNewPicture("NATION", "interfaces\flags\Crest_" + GetNationFlagImage(tempnation) + ".tga");
                SetFormatedText("NATIONALDESIGN", XI_ConvertString("Personal") + " " + XI_ConvertString("design"));
            }
            else

and a few other trial and error combinations, but I'm shooting in the dark

EDIT: There was a couple of misplaced brackets. I put them in their place but stil doesn't work.
 
Last edited:
Back
Top