Swedish translations of SCUMM games

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
thanius
Posts: 66
Joined: Sat Jun 30, 2007 12:42 pm

Swedish translations of SCUMM games

Post by thanius » Sun Nov 12, 2017 1:15 pm

I've recently found the tools for extracting dialog from SCUMM games and I've been beginning to fiddle with some translation. I noticed early on that swedish å/Å isn't supported by the default charset, however the rest are (I'm guessing because german also has ä/ö).

My question is, how easy is it to add å/Å to the charset so that swedish translations are possible?

Also, during the intro in SOMI, the larger font doesn't support the swedish Ö/ö, as it breaks the text blanking and both lines are displayed at once. Any way to fix this?

I'm using scummtr as extraction/injection tool.

krbj
Posts: 4
Joined: Thu Jan 29, 2015 10:58 pm

Post by krbj » Tue Feb 20, 2018 4:11 pm

I am also very interested in this. Did you find any answers?

User avatar
sev
ScummVM Lead
Posts: 1967
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev » Wed Feb 21, 2018 8:14 pm

It will require some work but is fairly possible: we had in the past special Italian characters and Russian characters.


Eugene

krbj
Posts: 4
Joined: Thu Jan 29, 2015 10:58 pm

Post by krbj » Wed Feb 21, 2018 10:24 pm

I have been playing around a bit with ScummTr, and is stuck on a problem.

I am using the English VGA floppy version of MI for testing. I then run the game in the latest ScummVM.

Case 1: I extract with

Code: Select all

scummtr -o -g monkey -p monkeyfd
, edit with TextPad, and then reimport with

Code: Select all

scummtr -i -g monkey -p monkeyfd
.
If I change a character the game works fine, shows the changed character.
If I add a character the game starts with corrupted graphics and goes into the copy protection check, which is impossible to solve because of the corrupted graphics.

Case 2: I extract with

Code: Select all

scummtr -o -A ov -g monkey -p monkeyfd
and then reimport with

Code: Select all

scummtr -i -g monkey -p monkeyfd
. This is the padded mode, because I read somewhere an advice to use this.
Even without any change to the text I get this error:

Code: Select all

BUG: TableOfContent::merge: different roomIds
With the -v (for verbose) switch added, I also see:

Code: Select all

Removed (29, 0x53D6) from the index
Removed (83, 0x64C0) from the index
If I make a change to the text, the error is the same, and the change does not appear to be inserted, no change in the displayed text is visible.

I obviously want to edit the text, with change of string length, and not get a result with corrupted graphics and unpassable copy protection. Do you have any hints to get started with this?

(I have already translated quite a lot of the strings, while not getting the actual ScummTr magic to work.)
Last edited by krbj on Thu Feb 22, 2018 7:38 am, edited 3 times in total.

krbj
Posts: 4
Joined: Thu Jan 29, 2015 10:58 pm

Re: Swedish translations of SCUMM games

Post by krbj » Wed Feb 21, 2018 10:35 pm

Now to get the thread back on track with the original question...
thanius wrote:I've recently found the tools for extracting dialog from SCUMM games and I've been beginning to fiddle with some translation. I noticed early on that swedish å/Å isn't supported by the default charset, however the rest are (I'm guessing because german also has ä/ö).

My question is, how easy is it to add å/Å to the charset so that swedish translations are possible?
From reading about other translations to Russian, Korean and more, this could be done with Hibernatus' other tools.

It seems you could use scummrp to extract and reinject the font resource, and scummfont to convert the font to bitmap and then back to font.

They are available here:
http://hibernatus34.free.fr/scumm/scummrp.exe
http://hibernatus34.free.fr/scumm/scummfont.exe

Also see this thread:
http://web.archive.org/web/201509141613 ... p?t=118680

Masavishnu
Posts: 5
Joined: Sat Jan 21, 2006 2:40 pm
Location: Finland

Post by Masavishnu » Sat Apr 21, 2018 5:50 am

I was looking into translating Indiana Jones and the Fate of Atlantis into Finnish, and came across the very same problem with characters ä/Ä and ö/Ö. Specifically, I would've liked to preserve the English dialogue of the talkie version whilst changing the subtitles. My first attempts to do so failed; the extra characters were simply missing.

The second attempt was with using the German version as the base. This, in turn, was successful. My current hypothesis is that the font in the German version differs from that of English version. Can anyone verify this?

Also, the two tools linked above (scummrp and scummfont) seem to be missing. Are there any known mirrors for the tools?

edit: Alternatively, if there is a nice documentation about the file format somewhere that I could use, I could always write a tool myself at some point.

Additionally, if somebody is aware how one can extract and reinject the dialogue for Beneath a Steel Sky, I'd be interested. Font problems should not exist there since there's already a Swedish version.

krbj
Posts: 4
Joined: Thu Jan 29, 2015 10:58 pm

Post by krbj » Sat Apr 21, 2018 6:38 am

Masavishnu wrote:Also, the two tools linked above (scummrp and scummfont) seem to be missing. Are there any known mirrors for the tools?
I just now tried downloading them through the links I posted above and it worked fine. Maybe you just rsn into a temporary internet/hosting glitch?

edit: Or if you are on Windows it might not like you downloading .exe files, "could be dangerous"?

Masavishnu
Posts: 5
Joined: Sat Jan 21, 2006 2:40 pm
Location: Finland

Post by Masavishnu » Sat Apr 21, 2018 7:17 am

krbj wrote:
Masavishnu wrote:Also, the two tools linked above (scummrp and scummfont) seem to be missing. Are there any known mirrors for the tools?
I just now tried downloading them through the links I posted above and it worked fine. Maybe you just rsn into a temporary internet/hosting glitch?

edit: Or if you are on Windows it might not like you downloading .exe files, "could be dangerous"?
Yeah, interestingly this seems to work now. It didn't work earlier when I tried that (it just gave me a French error page). So, I'll proceed with my investigations using these tools.

Masavishnu
Posts: 5
Joined: Sat Jan 21, 2006 2:40 pm
Location: Finland

Post by Masavishnu » Sat Apr 21, 2018 7:56 am

Thanks! It seems that simply importing the fonts from the German version did the trick.

Praetorian
Posts: 34
Joined: Tue May 08, 2007 8:54 am

Post by Praetorian » Sat Apr 21, 2018 2:46 pm

Hi,

I'm not sure if you solved the issues you've had with getting the extra fonts and translated text to play with the game, but maybe I could help?

It's been quite a few years since we completed an unofficial Greek translation of The Secret of Monkey Island (floppy version, VGA CD, and also the Special Edition later on). This required editing the fonts file to add lots of Greek characters that the original version did not include.

So, I could lookup the specifics of what we did, but for now I just ran through some documentation I kept (mostly written in Greek) at the time and the export import commands for the scummtr tool were:
For export:

Code: Select all

scummtr -o -w -gp monkey
For import (after translating/ changing part of it):

Code: Select all

scummtr -w -gp monkey . -if .\textChanged.txt
As a prerequisite for this to work in-game you'll need to:
  1. have already edited the font files (they are more than one, and control different instances of dialogues-- I don't remember which one controls the common dialogues off-hand) and have imported the changed font bmps into the game (we did it with the scummrp and scummfont tools).
  2. You should not and must not change the special characters (such as @) and control sequences (such as \255\003 ) nor delete any empty lines. Don't add your own new lines either! Also use a plain text editor (Notepad++ would do fine, Wordpad or Office Word are a definite hard NO).
  3. You should save the file in ASCII ANSI encoding (not UTF-8!) choosing your particular codepage for your target language. The game will look for the font image of a character at that "spot"/ cell in the fonts file that corresponds to their ASCII value.
  4. Don't use the last Ascii character (255). It creates issues. If that's absolutely necessary, we had to "move" a Greek character 'ώ' to another spot (position 134 in the font table and then all instances of this character had to be replaced with the "control sequence" \134 in the translated text file.
As a side note you can use extra control sequence codes to manage how the translated text will appear in the game. Those are easy to figure out, and the main ones are:
\255\001 for a new line (go to second line of the subtitles)
\255\002 to keep the current quote and add an additional one adjacent to it (creating an effect of progressively revealing a line with small delay)
\255\003 to erase the old subtitle and start a new one. (goes to first line of the subtitle).

Masavishnu
Posts: 5
Joined: Sat Jan 21, 2006 2:40 pm
Location: Finland

Post by Masavishnu » Sat Apr 21, 2018 8:46 pm

Praetorian wrote:Hi,

I'm not sure if you solved the issues you've had with getting the extra fonts and translated text to play with the game, but maybe I could help?

It's been quite a few years since we completed an unofficial Greek translation of The Secret of Monkey Island (floppy version, VGA CD, and also the Special Edition later on). This required editing the fonts file to add lots of Greek characters that the original version did not include.

So, I could lookup the specifics of what we did, but for now I just ran through some documentation I kept (mostly written in Greek) at the time and the export import commands for the scummtr tool were:
For export:

Code: Select all

scummtr -o -w -gp monkey
For import (after translating/ changing part of it):

Code: Select all

scummtr -w -gp monkey . -if .\textChanged.txt
As a prerequisite for this to work in-game you'll need to:
  1. have already edited the font files (they are more than one, and control different instances of dialogues-- I don't remember which one controls the common dialogues off-hand) and have imported the changed font bmps into the game (we did it with the scummrp and scummfont tools).
  2. You should not and must not change the special characters (such as @) and control sequences (such as \255\003 ) nor delete any empty lines. Don't add your own new lines either! Also use a plain text editor (Notepad++ would do fine, Wordpad or Office Word are a definite hard NO).
  3. You should save the file in ASCII ANSI encoding (not UTF-8!) choosing your particular codepage for your target language. The game will look for the font image of a character at that "spot"/ cell in the fonts file that corresponds to their ASCII value.
  4. Don't use the last Ascii character (255). It creates issues. If that's absolutely necessary, we had to "move" a Greek character 'ώ' to another spot (position 134 in the font table and then all instances of this character had to be replaced with the "control sequence" \134 in the translated text file.
As a side note you can use extra control sequence codes to manage how the translated text will appear in the game. Those are easy to figure out, and the main ones are:
\255\001 for a new line (go to second line of the subtitles)
\255\002 to keep the current quote and add an additional one adjacent to it (creating an effect of progressively revealing a line with small delay)
\255\003 to erase the old subtitle and start a new one. (goes to first line of the subtitle).
Thanks for the advice!

No new issues have arisen so far with the actual text production. Everything seems to work smoothly. The German font is adequate (if not perfect, some symbols that are used for pedantic orthography are missing such as š and ž, but these are minor issues) for this work, so I'll try to keep things simple, and try to avoid manually fiddling with the fonts.

Do you have idea as to the meaning of the @-signs that occur with some strings? For example, there are certain name-of-object strings that contain these @-signs and I tried experimenting what would happen if I edited that a little, but it seemed to make little difference with the version of ScummVM I was using.

Another thing that is slightly annoying but not really a problem. The 'Use' verb has its left-hand position fixed at a somewhat center'ish position whereas the Finnish equivalent 'Käytä' would be considerably wider when rendered in the same font, meaning there is only very little room at the right hand side of the verb button. This makes it look unbalanced. For other verbs, I was able to fix things by padding them with white space, but I could not come up with a negative space. So, presently, my hypothesis is that I would need to edit the script itself and add/alter some verbOps opcodes, but I don't really want to get down to that. At least not yet.

Another thing is that the sentences rendered on the screen will appear awkward since Finnish requires extensive inflection of the nouns, and the case government rules are complicated (ie. depending on context, even with the same verb, the object may need to be inflected differently depending on context). But I don't think there is much that can be done without considerable (virtually infeasible) re-editing of the game logic, so I'll just have to make do with what I get. In this way, Finnish is a difficult language even for more modern systems that have actually been built with some sort of multilingualism in mind (cf. the Finnish translation of Facebook UI).

Praetorian
Posts: 34
Joined: Tue May 08, 2007 8:54 am

Post by Praetorian » Sat Apr 21, 2018 9:38 pm

Masavishnu wrote: Do you have idea as to the meaning of the @-signs that occur with some strings? For example, there are certain name-of-object strings that contain these @-signs and I tried experimenting what would happen if I edited that a little, but it seemed to make little difference with the version of ScummVM I was using.
No, I don't think I found out the actual purpose for the '@'; just that they were typically related to object in-gane, so we figured we should leave them untouched. I don't remember if I experimented with changing them :/
Another thing that is slightly annoying but not really a problem. The 'Use' verb has its left-hand position fixed at a somewhat center'ish position whereas the Finnish equivalent 'Kayta' would be considerably wider when rendered in the same font, meaning there is only very little room at the right hand side of the verb button. This makes it look unbalanced. For other verbs, I was able to fix things by padding them with white space, but I could not come up with a negative space. So, presently, my hypothesis is that I would need to edit the script itself and add/alter some verbOps opcodes, but I don't really want to get down to that. At least not yet.
I think I know what you mean. The Greek word for Use was also too long ("Χρησιμοποίησε") :D so I had to put a shortened version of it using slashes (I wasn't happy with the alternatives that I'd considered).

And I think I remember the issue with the alignment. I did play a bit with the bitmap for the background "slot areas" for the verbs, but I'm unsure if I kept the changes I made. I remember that there were some complications, and I don't remember if I resolved it, or if I was happy with the result.
It still is a bit misaligned.
Image
Another thing is that the sentences rendered on the screen will appear awkward since Finnish requires extensive inflection of the nouns, and the case government rules are complicated (ie. depending on context, even with the same verb, the object may need to be inflected differently depending on context). But I don't think there is much that can be done without considerable (virtually infeasible) re-editing of the game logic, so I'll just have to make do with what I get. In this way, Finnish is a difficult language even for more modern systems that have actually been built with some sort of multilingualism in mind (cf. the Finnish translation of Facebook UI).
Yeah, Greek language is like that too in this regard. The end result is a bit rough occasionally. We tried to have some workarounds so that the verb-constructed sentences wouldn't be too ugly --like using a neutral-gender equivalent for objects names where possible, and tried to make sure that all the sentences (that we tested) would "work"/make sense.

In the end it's about making the game accessible to more people, and the're probably going to enjoy the game even if there are a few issues introduced by the translation.

User avatar
thanius
Posts: 66
Joined: Sat Jun 30, 2007 12:42 pm

Re: Swedish translations of SCUMM games

Post by thanius » Thu Nov 29, 2018 10:02 pm

Just a quick update on the project I started roughly a year ago.
Finally managed to begin translating The Secret of Monkey Island to Swedish! Fonts are updated and am currently plowing through the script. After that I will translate some graphics and then the tedious proof reading process can begin.
Latest WIP video can be found on my YouTube channel, here you can see when Kajbrusk Drevskog meets the voodoo lady:

Apöns Hemlighet™ - Inofficiell översättning av The Secret of Monkey Island: https://www.youtube.com/playlist?list=P ... eJ5NYEOv5V

Post Reply