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

Need Help Updating the Russian Translation

All Russian videos have been added to folders:
RESOURCE\VIDEOS\standard\Russian
RESOURCE\VIDEOS\Hornblower\Russian
RESOURCE\VIDEOS\LegendJackSparrow\Russian
Now we need to make it all work... The previous code worked.
The folder was also translated and corrected: RESOURCE\INI\TEXTS\RUSSIAN\Storyline\Bartolomeu

In discord, one person said that these files do not work in Russian. It ran all the files through the python "chardet" library to automatically detect the encoding.
I answered him like this, maybe you know how to fix it:
citizen.h; Dame_dialog.h; to_say1.h - Here, after changing to windows-1251 and saving, the Macintosh encoding is again hung up. I don't know what to do with this, can someone tell me?
corpse_dialog.h - it is empty, utf8 is automatically assigned
 
Last edited:
Hello. Translation was not provided. I had to edit the code a bit.
So:
In file:
"C:\games\sea_dog_pkm\PROGRAM\WorldMap\DailyCrewUpdate.c"
Replaced the line: 414
Was:
LogIt("Captain, " + makeint((1-uncursed_percentage)*100) + "% of the crew is cursed due to " + CursedCoins + " Aztec coins");
It became:
Log_SetStringToLog(TranslateString("","Captain") + ", " + makeint((1-uncursed_percentage)*100) + "% " + TranslateString("","of the crew is cursed due to") + " " + CursedCoins + " " + TranslateString("","Aztec coins") );
You also need to add the following lines to the end of the documents:
Strings:
of the crew is cursed due to{of the crew is cursed due to} Aztec coins{Aztec coins}
To documents:
C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\ENGLISH\interface_strings.txt C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\POLISH\interface_strings.txt C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\SPANISH\interface_strings.txt
For russian:
Strings:
of the crew is cursed due to{экипажа прокляты из-за} Aztec coins{Ацтекских монет}
To documents:
C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\RUSSIAN\interface_strings.txt
 
All Russian videos have been added to folders:
RESOURCE\VIDEOS\standard\Russian
RESOURCE\VIDEOS\Hornblower\Russian
RESOURCE\VIDEOS\LegendJackSparrow\Russian
Now we need to make it all work... The previous code worked.
The folder was also translated and corrected: RESOURCE\INI\TEXTS\RUSSIAN\Storyline\Bartolomeu

In discord, one person said that these files do not work in Russian. It ran all the files through the python "chardet" library to automatically detect the encoding.
I answered him like this, maybe you know how to fix it:
citizen.h; Dame_dialog.h; to_say1.h - Here, after changing to windows-1251 and saving, the Macintosh encoding is again hung up. I don't know what to do with this, can someone tell me?
corpse_dialog.h - it is empty, utf8 is automatically assigned
I studied the files in more detail. Studied the issue with the encoding. And I came to the conclusion: the main thing is to save it in the correct encoding. My assumptions about encoding recognition in other programs make little sense. the main thing is to make sure that when opening in the window-1251 encoding, the texts are displayed correctly, because the game will open them that way. For good, you just need to see how the text from these files is displayed in the game, but I do not know if there is a quick jump to the point where these texts are used.
 
In discord, one person said that these files do not work in Russian. It ran all the files through the python "chardet" library to automatically detect the encoding.
I answered him like this, maybe you know how to fix it:
citizen.h; Dame_dialog.h; to_say1.h - Here, after changing to windows-1251 and saving, the Macintosh encoding is again hung up. I don't know what to do with this, can someone tell me?
corpse_dialog.h - it is empty, utf8 is automatically assigned
I don't know where "citizen.h" is used. "Dame_dialog.h" will need to be rewritten and so will "Dame_dialog.c", which currently contains all the text which the women in Tortuga will say when they slap you - I'll need to move all that text into "Dame_dialog.h" so it can be translated.

"to_say1.h" seems to be something to do with this sidequest:
Edgar Attwood Adventures

"corpse_dialog.h" should be two blank lines. Corpses do not tend to say much! The file needs to exist otherwise the dialog code breaks, but "corpse_dialog.c" does not read the file, it just triggers the equipment exchange screen. You can copy "PROGRAM\DIALOGS\ENGLISH\corpse_dialog.h" without changing it.
 
You also need to add the following lines to the end of the documents:
Strings:
of the crew is cursed due to{of the crew is cursed due to} Aztec coins{Aztec coins}
To documents:
C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\ENGLISH\interface_strings.txt C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\POLISH\interface_strings.txt C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\SPANISH\interface_strings.txt
For russian:
Strings:
of the crew is cursed due to{экипажа прокляты из-за} Aztec coins{Ацтекских монет}
To documents:
C:\games\sea_dog_pkm\RESOURCE\INI\TEXTS\RUSSIAN\interface_strings.txt
It might be better to put the translated lines directly after line 229 as that's where the rest of the text for daily updates appears to be translated. I've updated the English version and will mention this in the thread about Spanish translation.

Meanwhile, here's an updated version of "RESOURCE\INI\TEXTS\ENGLISH\shipslog_strings.txt" with a lot of new lines at the end to allow marriage proposals to governors' relatives, promotions, gaining and losing letters of marque, random international relation changes, and battles at sea.
 

Attachments

  • shipslog_strings.txt
    48.1 KB · Views: 80
"Dame_dialog.h" will need to be rewritten and so will "Dame_dialog.c", which currently contains all the text which the women in Tortuga will say when they slap you - I'll need to move all that text into "Dame_dialog.h" so it can be translated.
Done! The blank first line in the new "Dame_dialog.h" is for the benefit of the Spanish translation. "Dame_dialog.c" opens the conversation with this:
Code:
            dialog.text = "";
            link.l1 = DLG_TEXT[0] + GetMyName(NPChar) + DLG_TEXT[1];
Spanish will need an inverted exclamation mark before the character's name and the blank DLG_TEXT[0] allows somewhere to put it. Russian can probably leave that line blank.

I've restructured the dialog a little. The original makes Scarlett/Giselle/Anamaria (whichever you meet first) say "Scarlett/Giselle/Anamaria! How are you?", then you reply with either "Why have you been away so long?", "I thought you'd never come back." or "Fine. But no thanks to you." She says your line, then you say her reply! The new version opens with her saying nothing so that you speak first to ask "How are you?", then she gives a random reply and smacks you in the face.
 

Attachments

  • Dame_dialog.c
    2.5 KB · Views: 67
Files translated and uploaded. Is there a save to check Dame_dialog.h ? Does line 15 also refer to a woman or a man? Also in the English version, a comma is missing in line 10.
 

Attachments

  • shipslog_strings.txt
    48.8 KB · Views: 64
  • interface_strings.txt
    125.3 KB · Views: 73
  • Dame_dialog.h
    506 bytes · Views: 69
Last edited:
Thanks, @AkrimalS! :onya

I've uploaded English "Dame_dialog.h" again with the missing comma added. Line 15 is said by one of the women after you have already spoken to two others.

The quickest way to get to Tortuga is to start a FreePlay game as Francis Drake. Or choose FreePlay, set the year to 1599 or earlier so that it is "Early Explorers" period, set the career as "Corsair", and set the nation to England, France or Holland. The game should then start by sending you to Tortuga.
 
RESOURCE\INI\TEXTS\English\Storyline\Ardent\QUESTBOOK\Marriage.txt - in the 19th line of the English version, the sign # is missing (#sgovernor)
How are the loading screens and videos?
 
Thanks for the warning about "Marriage.txt" - I've corrected it and it will be in the next update.

So will all the videos you provided. I've done some of the loading screens but there are a lot more to go...
 
Here are a few more points where the translation is in the game code
 

Attachments

  • dad.png
    dad.png
    238.4 KB · Views: 59
  • sdadй.png
    sdadй.png
    72 KB · Views: 48
  • dadaый.png
    dadaый.png
    242 KB · Views: 47
  • eqw.png
    eqw.png
    38.9 KB · Views: 53
  • image.png
    image.png
    2.1 MB · Views: 66
Those texts about the storm come from "PROGRAM\NK.c". I've made them translatable and put the texts into "interface_strings.txt", currently in English because I can't type Russian text and wouldn't be able to translate it anyway. Look for new lines starting with "ROLL_Roll angle is".

Also look for two other new lines "Vice Admiral's residence" and "Admiralty" further down. That's because one of the new loading screens you want is for Havana Admiralty, which probably isn't being translated when you walk to the door and look at the icon. It only says "Admiralty" if you're playing the "Ardent" storyline, otherwise it's "Vice Admiral's residence".

The lines from John Adams are presumably from the "Hoist the Colours" storyline. Here are "PROGRAM\Storyline\JackSparrow\dialogs\John Adams_dialog.c" and "PROGRAM\Storyline\JackSparrow\dialogs\Russian\John Adams_dialog.h". You will need to translate the last two lines of "John Adams_dialog.h".
 

Attachments

  • John Adams_dialog.h
    2.5 KB · Views: 69
  • John Adams_dialog.c
    7.4 KB · Views: 69
  • interface_strings.txt
    126.6 KB · Views: 56
  • NK.c
    206.4 KB · Views: 63
Those texts about the storm come from "PROGRAM\NK.c". I've made them translatable and put the texts into "interface_strings.txt", currently in English because I can't type Russian text and wouldn't be able to translate it anyway. Look for new lines starting with "ROLL_Roll angle is".

Also look for two other new lines "Vice Admiral's residence" and "Admiralty" further down. That's because one of the new loading screens you want is for Havana Admiralty, which probably isn't being translated when you walk to the door and look at the icon. It only says "Admiralty" if you're playing the "Ardent" storyline, otherwise it's "Vice Admiral's residence".

The lines from John Adams are presumably from the "Hoist the Colours" storyline. Here are "PROGRAM\Storyline\JackSparrow\dialogs\John Adams_dialog.c" and "PROGRAM\Storyline\JackSparrow\dialogs\Russian\John Adams_dialog.h". You will need to translate the last two lines of "John Adams_dialog.h".
Also I found that there is no translation here. These lines are not in the Russian and English versions, but for some reason in Spanish they are in interface_strings - 97.98 lines.
Well, these lines are familiar to me, it seems I have already translated them somewhere, but I don’t remember where ...
Added translation: interface_strings.txt
You messed up something in the code. In the screenshot that I threw earlier, the proposal was built differently. Now because the ship's rolling is making them seasick goes in front instead of Captain, the morale of the crew decreased from
Also not translated Gunpowder
 

Attachments

  • asdasdй.png
    asdasdй.png
    46.4 KB · Views: 53
  • interface_strings.txt
    126.7 KB · Views: 62
  • 1683293992192.png
    1683293992192.png
    14.4 KB · Views: 59
  • 1683294528645.png
    1683294528645.png
    270.6 KB · Views: 56
  • 1683294672056.png
    1683294672056.png
    68.5 KB · Views: 55
  • John Adams_dialog.h
    2.5 KB · Views: 59
Last edited:
The lines "Captain, what's a firedrawl?" and "Your crew seems to lack the SHIP DEFENCE ability..." are correctly translated in Spanish because only the Spanish one correctly copied the original lines from "PROGRAM\seadogs.c". Attached is Russian "interface_strings.txt" with those lines corrected. You'll need to change the translation for "Your crew seems to lack the SHIP DEFENCE ability..." because the ability is now "Damage Control", not "Ship Defence". I've left the original text as it is so that it matches the program code; only the translation should change.

Also attached is "PROGRAM\Weather\Init\WhrFogRainCheck.c", with the lines for "she's coming onto blow" as well as "Sir" (or "Ma'am", if you're playing a female captain) made translatable. "interface_strings.txt" now contains "she's coming onto blow!" which will need to be translated.

The cargo which washed overboard was not translated. I've now added 'XI_ConvertString' to the cargo warning in "NK.c" so that it will be translated from the cargo types in "common.ini".

I'm not sure why "Captain, the morale of the crew decreased from <old morale> to <new morale> because the ship's rolling is making them seasick" is being scrambled. Here's the line in "NK.c":
Code:
LogIt(TranslateString("","Captain, the morale of the crew decreased from") + " " + XI_ConvertString(GetMoraleName(rCharacter.Ship.Crew.Morale)) + " " + TranslateString("","ROLL_to") + " " + XI_ConvertString(GetMoraleName(RollDamageValue)) + " " + TranslateString("because the ship's rolling is making them seasick"));
Ah. I left a blank out of the last 'TranslateString'. I'm surprised that didn't cause the game to crash with an error. See if this version works any better.
 

Attachments

  • WhrFogRainCheck.c
    6.7 KB · Views: 70
  • NK.c
    206.4 KB · Views: 68
  • interface_strings.txt
    126.7 KB · Views: 75
The lines "Captain, what's a firedrawl?" and "Your crew seems to lack the SHIP DEFENCE ability..." are correctly translated in Spanish because only the Spanish one correctly copied the original lines from "PROGRAM\seadogs.c". Attached is Russian "interface_strings.txt" with those lines corrected. You'll need to change the translation for "Your crew seems to lack the SHIP DEFENCE ability..." because the ability is now "Damage Control", not "Ship Defence". I've left the original text as it is so that it matches the program code; only the translation should change.

Also attached is "PROGRAM\Weather\Init\WhrFogRainCheck.c", with the lines for "she's coming onto blow" as well as "Sir" (or "Ma'am", if you're playing a female captain) made translatable. "interface_strings.txt" now contains "she's coming onto blow!" which will need to be translated.

The cargo which washed overboard was not translated. I've now added 'XI_ConvertString' to the cargo warning in "NK.c" so that it will be translated from the cargo types in "common.ini".

I'm not sure why "Captain, the morale of the crew decreased from <old morale> to <new morale> because the ship's rolling is making them seasick" is being scrambled. Here's the line in "NK.c":
Code:
LogIt(TranslateString("","Captain, the morale of the crew decreased from") + " " + XI_ConvertString(GetMoraleName(rCharacter.Ship.Crew.Morale)) + " " + TranslateString("","ROLL_to") + " " + XI_ConvertString(GetMoraleName(RollDamageValue)) + " " + TranslateString("because the ship's rolling is making them seasick"));
Ah. I left a blank out of the last 'TranslateString'. I'm surprised that didn't cause the game to crash with an error. See if this version works any better.
COMPILE ERROR - file: Weather\Init\WhrFogRainCheck.c; line: 205
invalid syntax
she's coming onto blow! - Does this translate as a tornado is approaching? Or some other meaning. I just didn't really understand what it was for.
 
Oops! I've uploaded the file again into post #256 - see if that's any better.

"she's coming onto blow" - a very informal way of saying that the wind is becoming stronger. It's not necessarily a tornado but it is probably at least a storm that is approaching.
 
Oops! I've uploaded the file again into post #256 - see if that's any better.

"she's coming onto blow" - a very informal way of saying that the wind is becoming stronger. It's not necessarily a tornado but it is probably at least a storm that is approaching.
Yes, everything works. But why does it print Sir(Сир) as in Spanish, and not Sir (Сэр)
And here is it possible to put commas in butt to Morals? Move them to the left...
1683304862055.png

Corrected this long line, now everything fits.
 

Attachments

  • 1683304531469.png
    1683304531469.png
    9.2 KB · Views: 45
  • interface_strings.txt
    126.7 KB · Views: 55
Last edited:
Check "common.ini", line 1515. That is where 'XI_ConvertString("sir")' will get its translation.

I've uploaded "NK.c" and "interface_strings.txt" into post #256 again, moving the comma into ", because the ship's rolling is making them seasick". That will still work in English and means there should be no space before the comma in Russian.
 
Back
Top