• 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

Is there a way to force nation relation changes through console or cheats?
Yes, you can. See here: Solved - Incite War through Console | PiratesAhoy!
That doesn't trigger the related tavern news though.

Also, how do those news get added to the log?
The events are triggered at midnight; I think the relevant code is at the bottom of PROGRAM\NATIONS\nations.c, though it could also be PROGRAM\WorldMap\DailyCrewUpdate.c .
Probably you just need to trigger that event very often, so you can just call that function directly through console.

Speaking with the tavernkeepers like the town events? or speaking with the gobernors?
The texts are added to your log upon speaking to a tavern owner for the Town Events.
 
While the other news appear as expected, the relations changes introduced by console don't seem to make it into the tavern newsboard at all. I guess changing the relations through the console doesn't meet somne requeriment for the change to be considered an "event" and trigger the news (says I, with no idea of what I'm talking about). I got one random peace treaty by waiting a few days, but hardly enough to test all the variables.
 
I guess changing the relations through the console doesn't meet somne requeriment for the change to be considered an "event" and trigger the news (says I, with no idea of what I'm talking about).
You are completely correct. I tried to get that point access above, but clearly failed. Sorry about that.
That's what I get for responding with a tired head while having no access to my game files. :facepalm

The way it works is that the random relation changes call the function I mentioned in that other thread.
But calling only that function bypasses the tavern news altogether.

In the past, I just called this function a LOT of times by spamming the F12 button:
Code:
RandomNationsRelationsChange();
You can set RELATION_CHANGE_PROBABILITY to 100 at the top of PROGRAM\NATIONS\nations.c and then you're guaranteed to get it called plenty of times.
 
Apparently not one type of log entries will go in quietly, each one has its own quirk...

I translated the fetch quest log entries from PROGRAM/QUESTS/quests_common.c and all went well enough until I got to the different options for the requester that appears in the log title.
Code:
      storetype = GetAttributeN(Stores[ctown.store],i);
       switch(GetAttributeName(storetype))
       {
         case "dockyard":
           options[option]="dockyard"; option++;
           break;
         case "taylor":
           options[option]="tailor"; option++;
           break;
         case "blacksmith":
           if (ENABLE_WEAPONSMOD) options[option]="blacksmith"; option++; // PB: NOT if the relevant mod is OFF!
           break;
         case "gunsmith":
           if (ENABLE_WEAPONSMOD) options[option]="gunsmith"; option++; // PB: NOT if the relevant mod is OFF!
           break;
         case "apothecary":
           options[option]="apothecary"; option++;
           break;
       }
I assumed I had to add the translation code to the options[option]="dockyard" part, like
Code:
 options[option]=TranslateString("", "dockyard"; option++;)

and it works in the title, the name appears correctly translated, but the text of the entry itself, which was showing before, straight up disappears. Maybe there's another file for those strings to be translated?
 
Try putting an XI_ConvertString around it here instead:
Code:
logTitle = "The "+tisland.cargos.(cargoid).requester+" of "+FindTownName(tisland.cargos.(cargoid).town)+" needs help.";

You should probably not change those option texts themselves, because they're used in the code elsewhere.
So if those are translated, the Fetch Quest system would most likely break. :oops:
 
Like this?
Code:
XI_ConvertString(tisland.cargos.(cargoid).requester)

It didn't work, the word doesn't show at all. It just goes "The of Havana needs help"
 
If you use XI_ConvertString, the word needs to be in common.ini instead.
 
Should've remembered that. I could swear I've seen some XI_ConvertString that were relayed to interface_strings though.

Edit: still the same :(
 
This doesn't work?
Code:
logTitle = "The "+XI_ConvertString(tisland.cargos.(cargoid).requester)+" of "+FindTownName(tisland.cargos.(cargoid).town)+" needs help.";
 
Yep, that's pretty much what i've got, with the separate spaces and translation strings added:
Code:
logTitle = TranslateString("", "The")+" "+XI_ConvertString(tisland.cargos.(cargoid).requester)+" "+TranslateString("", "of")+" "+FindTownName(tisland.cargos.(cargoid).town)+" "+TranslateString("", "needs help.");
 
You could try it with TranslateString, I suppose.
But I can't really think of any reason why that would not work. :facepalm
 
What an oblivious dumbass am I. When I transfered the lines from interface_strings to common I copy/pasted them and forgot to change the format to "string = whathever". I'll try again now.

Ok, problem solved. It turns out the only problem was once again, my own incompetence:wp
 
Last edited:
Think I'm finally done with the logs. A few bits and pieces I keep finding here and there and I can start with the dialogs.
 
I've taken the liberty of changing the Spanish lowest rank from "Aspirante" to "Guardiamarina", as that is the equivalent to Midshipman, Aspirante being an even lower designation for an officer in training, and I'm not even sure it existed in the mod's timeframe (today, Aspirantes are 1st and 2nd year students in the Naval Academy and Guardiamarinas are 3rd and 4th year students). And guardiamarina sounds much nicer. Is it ok if I change it in the English version aswell?

And, being at it, I'm pretty sure the same applies to Portuguese Navy, the rank being Guarda-marinha rather than Aspirante.
 
If that's the correct word in Spanish then it does make sense to change the English version.

But while both Google Translate and Babelfish confirm "Guardiamarina" as the Spanish translation, they also both give "Aspirante" or "Aspirante de Marinha" for Portuguese. Babelfish translates "Guarda-marinha" as "Ensign". Wikipedia shows it to be one level up, equivalent to "Junior Lieutenant" (which is the equivalent of a US "Ensign", and incidentally means the US ranks may need to be checked), and also confirms "Aspirante" as the Portuguese equivalent of "Midshipman". So I'd recommend leaving the Portuguese rank as it is.
 
From the Portuguese Wikipedia (translated by me, as written Portuguese is very close to Spanish):
The rank of guarda-marinha was first created in 1761, to include the youths who joined the crew of a warship to receive formation and become officers in the Portuguese Navy. The post had similar characteristics to that of a cadet in the Army, but it was equivalent in terms of wage and insignia, to that of an infantry alferes (Ensign). In 1782 the Companhia dos Guarda-Marinhas was created to better organize them. Later the post of aspirante guarda-marinha, of lower rank but also included in the Companhia dos Guarda Marinhas, was created.
Guarda-marinha – Wikipédia, a enciclopédia livre

In the article of the Real Academia dos Guarda-marinhas is specified that the students joined the Academy as Aspirantes and received the rank of Guarda-marinha after finishing their first year. The rank of Aspirantes probably was created somewhere between 1782 and 1796, the year of the creation of the Academy, so they wouldn' exist during most of the mod periods (neither would do Guarda-marinhas, but that's true for most ranks in most navies, that weren't truly organized until the 18th century).
 
A British Midshipman was pretty much "in training" too, if I understood the Hornblower books correctly.
Though experienced ones could be given command of small prize ships.
 
But they were on active military duty while in training. I don't think Aspirantes would be aboard active military vessels on campaign, they were just learning the basics in a classroom or a training ship that wasn't expected to see action. British midshipmen probably had a much more practical approach and learnt everything as they went, I've never heard of any official state academy for British midshipmen during the period, they were just sent aboard as children without any prior formation and it was up to the captain and senior officers to teach them mathematics and navigation, but Spanish and Portuguese naval cadets were required at least in theory, to attend a Royal Academy as aspirantes to receive that scientific formation before they went on a regular assignment as guardiamarinas/guarda-marinhas/midshipmen for a more practical formation (though that didn't mean they were done with the academy as they were still in training).

To sum it up, I don't think aspirante was in any capacity an active military rank equivalent to midshipman but a lower step that simply didn't exist in the British navy.
 
That's really very interesting!
I hardly ever hear about what happened in non-British navies, so I've always been left to assume it would be similar across them all.
But of course it can very well have been different.

As far as I'm concerned, you're welcome to change it.
Why not, eh? :cheers
 
Back
Top