• 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

That will need to be sorted out! A 6th rate frigate should not be a lesser ship than a sloop of war. The two were designed by different modders who presumably had their own ideas of their ships' stats without comparing to other types already in use, such as the "Postillionen" 6th rate frigates. Those at least carry 12lb cannons - long guns, not carronades. I'll maybe change the "Greyhound" frigates to carry the same. (Technically incorrect; as far as I can tell, the real HMS Greyhound from 1720 only had 6lb guns, but although the model may be based on that ship, it's used as a generic 6th rate frigate throughout the game. The "Castell Friedrichsburg" brigantines are also much better armed than their real-world counterpart, which was a merchant with hardly any guns at all.)
 
Testing several paths in Ardent: when, playing as Helen, I go to the tailor in Santiago posing as Edmundo's servant, the changing room upstairs doesn't load, the screen remains black. The date in the HUD and the menus still work but I cannot get out of the room or progress.

system.log points to a gm file that isn't in my folder
Code:
resource\models\locations\inside\mh7\mh7_l_GR.gm: can't open geometry file

I made a copy of mh7_l.gm and renamed it mh7_l_GR.gm. That worked. I don't know why I didn't have the file.
 
Last edited:
Something doesn't work with this case in the c file for Mary Wood, the pirate captain you can associate with in Tortuga (and probably Robert LeNoir aswell, because their files are almost identical).
Code:
        case "begin_4":
            string cut_yer_throat = DLG_TEXT[48];
            if (PChar.sex == "woman") cut_yer_throat = DLG_TEXT[52];
DLG_TEXT[48] calls you "brother" and DLG_TEXT[52] calls you "sister". But I'm playing as Helen Ardent and she calls me brother ("hermano", when it should be "hermana"). So the case is not working for some reason.
1690315547179.png
 
Testing several paths in Ardent: when, playing as Helen, I go to the tailor in Santiago posing as Edmundo's servant, the changing room upstairs doesn't load, the screen remains black. The date in the HUD and the menus still work but I cannot get out of the room or progress.

system.log points to a gm file that isn't in my folder
Code:
resource\models\locations\inside\mh7\mh7_l_GR.gm: can't open geometry file

I made a copy of mh7_l.gm and renamed it mh7_l_GR.gm. That worked. I don't know why I didn't have the file.
How on Earth did I miss that? :eek:

The renamed version of the original file will work in that the game can continue, but it won't work properly, and "compile.log" will have a message about a missing locator. Helen is supposed to auto-walk to the middle of the room before changing outfit and "mh7_l_GR.gm" has the locator required for that. Try the attached version.
 

Attachments

  • mh7_l_GR.zip
    749 bytes · Views: 78
Something doesn't work with this case in the c file for Mary Wood, the pirate captain you can associate with in Tortuga (and probably Robert LeNoir aswell, because their files are almost identical).
Code:
        case "begin_4":
            string cut_yer_throat = DLG_TEXT[48];
            if (PChar.sex == "woman") cut_yer_throat = DLG_TEXT[52];
DLG_TEXT[48] calls you "brother" and DLG_TEXT[52] calls you "sister". But I'm playing as Helen Ardent and she calls me brother ("hermano", when it should be "hermana"). So the case is not working for some reason.
Check the F2 interface screen - what does it show for your reputation?

Try this version of "PROGRAM\console.c" - press F12, it should say "I am a 'man'" or "I am a 'woman'". If it doesn't say anything, post "error.log" - either I've made a typo or it failed to find your "sex" attribute.
 

Attachments

  • console.c
    35.3 KB · Views: 80
1690365109030.png

Checks out

Nevermind, it was my old foe, outdated "string DLG_TEXT" It was set to 52 instead of 53 and it didn't read the last line.
 
This log in interface_strings creates a repetition in Spanish because the string skill is already translated in common.c, so even if I translate it as a period, like here, it still gets translated as "Destreza" (which is already in the previous line)
Code:
This has improved your{Esto ha mejorado tu destreza de}
skill{.}

Easiest solution would be to change the key string in dialog_func.c to be "skill." with a period already attached, making it properly punctuated to boot. Both English and Russian interface-strings would have to be updated accordingly.
 
Done. For good measure, I've added "." to the end of the previous line as well:
Code:
    Log_SetStringToLog(TranslateString("","For five hours are you being lectured on") + " " + XI_ConvertString(topic)) + ".";
    Log_SetStringToLog(TranslateString("","This has improved your") + " " + XI_ConvertString(topic) + " " + TranslateString("","skill."));

Attached is the revised "Dialog_func.c", and also English "interface_strings.txt" with a few extra lines needing to be translated:
Line 2301: "HINT: The captain will be more willing to talk to someone who looks like a soldier."
Line 2308: "Search party"
Line 2327: "Teniente" - doesn't need to be translated in English or Spanish but does need to be translated in Russian

And two lines removed - extra copies of "Exit from #stown_name#" above "#sisland_name# Cavern" (now line 1068) and "#sisland_name# Cavern." (now line 1080). There are other copies on lines 771 and 857.
 

Attachments

  • Dialog_func.c
    106.7 KB · Views: 93
  • interface_strings.txt
    133.5 KB · Views: 81
Here. I've added a couple more lines (195 and 196) from Ardent (the documents you can get the signature from to forge the prisoner transfer). They're from quests_reaction.c, which I'll be uploading shortly with the rest of Ardent.
 

Attachments

  • interface_strings.txt
    142.8 KB · Views: 79
There's something weird with the guards inside Santiago. They don't speak to me (no dialog box appear at all). The ones in the port have their usual soldier lines, it only affects the guards inside the town proper.

Only the guard to the right of the residence door has a dialog box but it's empty and it doesn't generate en error log, although system. log says this:
Code:
DIALOG: Invalid text or links, emergency exit! (last link = )
1690384969437.png

Edit: checking different saves at different stages of the storyline, the dialogs work normally in an older save, just after kidnapping the governor's child. But two different later saves from different branches (one with the governor's child as officer and one before the wedding) have this problem.

Edit2: after killing the assassin and starting the convoy strike quest, the soldier with the empty box speaks again normally. The rest still don't react at all.
 
Last edited:
Also, I've noticed in common.ini that the string "governor" is repeated, one as a general string for governors (which should be translated), and one for the US rank, which has to stay in English. To avoid one overwritting the other, I've changed the key strings of the ranks to GovernorUS and GovernorUS_f in common.ini and nations.init.c.

This common.ini may have some other additions and changes that I've done, but I kind of lost track. When I do a proper upload I'll try to index them properly
 

Attachments

  • common.ini
    86.1 KB · Views: 70
  • nations_init.c
    46 KB · Views: 83
Last for the day. I started the Imperial Escort quest, was given it by the governor of Santiago who told me to go see the admiral of Havana. The admiral says only "Why are you still here?" as if I have no business with him. No error appears.
I also tried going directly to the admiral after getting the promotion and the same happened
As a way to rank up in a hurry, I did retake Port Royale, which I had allowed to fall in the story. Could that be an issue?
 
Last edited:
There's something weird with the guards inside Santiago. They don't speak to me (no dialog box appear at all). The ones in the port have their usual soldier lines, it only affects the guards inside the town proper.

Only the guard to the right of the residence door has a dialog box but it's empty and it doesn't generate en error log, although system. log says this:
Code:
DIALOG: Invalid text or links, emergency exit! (last link = )

Edit: checking different saves at different stages of the storyline, the dialogs work normally in an older save, just after kidnapping the governor's child. But two different later saves from different branches (one with the governor's child as officer and one before the wedding) have this problem.

Edit2: after killing the assassin and starting the convoy strike quest, the soldier with the empty box speaks again normally. The rest still don't react at all.
Can you upload a savegame with the guards in that state? The fact that all guards are misbehaving is odd - the only guard used by quest code is the one on the right of the residence door, and he's supposed to be put back to his original "Isla Muelle soldier_dialog.c" when the quest has finished with him. Did you get into a fight with the guards?

Capturing Port Royale should not affect his dialog but there may be a bug in that, when you talked to the admiral before the battle against Dauphin Royale, his dialog was set then to repeat "Why are you still here?" I'll add some code to the end of the Santiago battle to reset his dialog to normal. Meanwhile, try this version of "console.c" and press F12 before talking to the admiral - it shouldn't matter whether or not you've talked to the governor first.
 

Attachments

  • console.c
    35.4 KB · Views: 73
Last edited:
In "interface_strings.txt", you've translated "Hint: To make an officer available to command your ship, assign that officer to one of the shore party slots." as "Pista: Para que un oficial esté disponible para comandar tu barco, asigna a ese oficial a uno de los 4 recuadros del grupo de desembarco en la pantalla 'Pasajeros'." The number 4 is wrong because there might not be 4 slots if someone changes the variable OFFICER_MAX. The same applies to "Pista: Para que un oficial esté disponible como acompañante, asigna a ese oficial a uno de los 4 recuadros del grupo de desembarco en la pantalla 'Pasajeros'."

The alternative lines which refer to "the first three shore party slots" are for people who increased OFFICER_MAX - only the first three officers will be shown in the dialog to choose an officer.
 
Can you upload a savegame with the guards in that state? The fact that all guards are misbehaving is odd - the only guard used by quest code is the one on the right of the residence door, and he's supposed to be put back to his original "Isla Muelle soldier_dialog.c" when the quest has finished with him. Did you get into a fight with the guards?
Here. I may have at some point got into a fight, I've been running several branches of the story and I'm not sure what I did in which.

Meanwhile, try this version of "console.c" and press F12 before talking to the admiral - it shouldn't matter whether or not you've talked to the governor first.
That worked.

In "interface_strings.txt", you've translated "Hint: To make an officer available to command your ship, assign that officer to one of the shore party slots." as "Pista: Para que un oficial esté disponible para comandar tu barco, asigna a ese oficial a uno de los 4 recuadros del grupo de desembarco en la pantalla 'Pasajeros'." The number 4 is wrong because there might not be 4 slots if someone changes the variable OFFICER_MAX. The same applies to "Pista: Para que un oficial esté disponible como acompañante, asigna a ese oficial a uno de los 4 recuadros del grupo de desembarco en la pantalla 'Pasajeros'."

The alternative lines which refer to "the first three shore party slots" are for people who increased OFFICER_MAX - only the first three officers will be shown in the dialog to choose an officer.
Ok, I don't know why I decided to be so specific, but just removing the "4" will do.

I can't find where this instance of "Electress" is to translate it. The only one I've found in TempQuest.c
Code:
SetRankTitle(ch, TranslateString("", "Electress"));
doesn't do anything after adding it to interface_strings or common.ini
1690453223557.png
 

Attachments

  • -=Player=- QuickSave 23.zip
    904.5 KB · Views: 105
I can't find where this instance of "Electress" is to translate it. The only one I've found in TempQuest.c
Code:
SetRankTitle(ch, TranslateString("", "Electress"));
doesn't do anything after adding it to interface_strings or common.ini
That is probably the only one. The dialog is generated by this line in "Imperial_Captain_dialog.c":
Code:
dialog.text = DLG_TEXT[12] + NPChar.Ship.Name + DLG_TEXT[13] + GetMyFullName(CharacterFromID("Imperial_envoy")) + DLG_TEXT[14];
Function 'GetMyFullName' gets the character's title from 'XI_ConvertString(chr.title)', and 'chr.title' is set by that 'SetRankTitle' command at the start of the game. When you started the game, you presumably had not added in the translation of "Electress", so Maria Antonia is now permanently stuck with the untranslated version.

Try editing "console.c" and replace the lines about Jusepe Guimaraes with this:
Code:
SetRankTitle(CharacterFromID("Imperial_envoy"), TranslateString("", "Electress"));
Then press F12. That should translate the title for this game.

When you start a new game, she should have the translated version of the title without needing any console trickery.
 
Ah, I was thinking it would be one of those that get set at the start of the game. Thanks
That is probably the only one.
No, the Havana admiral at least uses it too. but I only needed to test it for one to confirm it's being translated correctly:onya
 
Last edited:
I meant that line in "TempQuest.c" is probably the only place where "Electress" is translated. The Havana admiral's dialog also uses 'GetMyFullName', so it will also not show a translation of "Electress" until you start a new game (or use "console.c").

Elizabeth O' Brien, wife of the governor of Port Royale, whom you'll meet briefly if you got a mission from the Antigua admiral to evacuate the governor and did not then divert to Santiago as well, also has a 'SetRankTitle' command. But her title "Lady" should not be translated into Spanish. Likewise, in "Story.c", Lucia and Edmundo have their 'SetRankTitle' lines to give them titles "Doña" and "Don" respectively, even when you're playing in English.
 
Ok, I think I've tested all major branches of Ardent and found in the process a hundred typos I made. So there's a lot to organize before uploading.
 
Ardent and some extra stuff (some were already uploaded as loose files, but just to be safe)

INTERFACE\items.c: I saw the Russian switch to put the weapon quality adjective after the name in the inventory and did the same for Spanish. Accordingly, changed the adjectives in common.ini to be lower case. In the item trade screen (shops, exchange, loot) the order is still quality>name, I didn't find where to change it.

NATIONS\nations_init.c: US Governor rank changed to GovernorUS to avoid it overwriting the translation of regular governors

DIALOGS: Many typos in h files, a couple of missing translation codes in c files, etc.

Ardent: fully translated dialogs including some missing translation code in c files and a switch in Javier Balboa
_dialog.c to translate a "to" that was hardcoded into the file.

Other storylines: typos

RESOURCE: mostly typos.
 

Attachments

  • SPAfiles27july.zip
    985.1 KB · Views: 94
Back
Top