Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#3793 closed defect

LURE: grammatical errors in italian strings

Reported by: SF/glorifindel Owned by: dreammaster
Priority: normal Component: Engine: Lure
Keywords: Cc:
Game: Lure of the Temptress

Description

Hi, there are some grammatical errors in the italian strings of lure.dat:

create_lure_dat.cpp:

line 1315: "Buy" => "Compra" line 1316: "Guarda tra" => "Guarda attraverso" line 1318: "Inform" => "Crediti"; "Reavvia" => "Ricomincia" line 1322: "e hai " => "Hai "; "soldi" => "soldo"; "soldis" => "soldi"

Ticket imported from: #2006816. Ticket imported from: bugs/3793.

Change History (8)

comment:1 by fingolfin, 12 years ago

Hm, I thought those strings were extracted from the .EXE file? Paul? In that case, it would be more appropriate to move this to "feature requests" ;)

comment:2 by fingolfin, 12 years ago

Owner: set to dreammaster

comment:3 by dreammaster, 12 years ago

Status: newclosed

comment:4 by dreammaster, 12 years ago

The few strings consisting of the action names and various dialog messages (like 'Are you sure?') are specified directly in the create_lure tool - both because it was easier to do that than hunt down the offsets of each string in each language version, and to make it easier for cases like this, when the translation was poorly done. It's somewhat arugable as to whether a poor translation is a bug or a feature request. :)

I've committed the changes to the create_lure_dat.cpp, and additionally committed a compiled copy of lure.dat that includes the changes to the standard dists/engine-data folder.

comment:5 by SF/glorifindel, 12 years ago

Thanks, would it be easy to correct others grammatical errors in-game (hardcoded in the exe)?

comment:6 by dreammaster, 12 years ago

If you mean other game text, such as look descriptions, conversations, etc., then not as easily. All other strings are encoded into a single block using a variable bit-length encoding scheme. To be able to change any text, therefore, you'd need to augment the create_lure tool to parse the entire contents of the string data loaded from the executable, change the strings, and then re-encode all the text again.

comment:7 by fingolfin, 12 years ago

So... how about adding "dump" and "reassemble" modes then? The former which decodes the strings and writes them into a file. Then one can modify the file. Finally, using the reassemble mode, one can put it all back together. Then using the two, it would be possible to provide a patch file for all "bad" translations.

BTW, I wonder how they managed to end up with such a bad italian translation *sigh*

comment:8 by dreammaster, 12 years ago

Well, it's not something I'd be really interested in doing right now, but maybe it could be taken up by someone else. In theory it might not be too difficult.. the create_lure tool already contains a list of the bit sequences for each character for each language, so one could combine that with the string extraction code from the Lure engine to get a list of all the strings. Then a reassembler would basically need to create a new string block, consisting of the index/offsets and the bit/byte sequences of the re-encoded strings.

Note: See TracTickets for help on using tickets.