The one who made the Italian translation must be able to tell us how he did it so that you can also prepare a German translation.
For those who want to try to translate here is my experience.
What is needed:
UnRen (to unpack the .rpa files to .rpy (text file editable))
RenPy (the engine of the game, Free)
Notepad++ with
Compare plugin (to check new lines between game versions)
Premise:
Using RenPy you need to install the game as a direct subdirectory of it, that is, if RenPy
It is installed in C:\RenPy so the game must be in C:\RenPy\GameName.
Instructions:
Launch RenPy and select the game.
Click on the
Generate dialogues option. I put
TAB format and also convert labels.
At the end you get a
dialogue.tab file that contains all translatable dialogues.
The file is structured as a CSV file with the tab as a divider.
I generate two parallel files from this file. To each of them I add the number at the top of the line
of the game version with the progressive line number (Example: 11101_123) followed by:
in the first file only the dialogue and in the second file, in addition to the dialogue also the file that contains it.
The first file (the one with number and dialogue) I pass it to Google Translate for the translation.
And here the troubles arrive...
Very very very often Google Translate adds or bundles lines for which the original text and the translated one
they do not fit together. Worse: very often the translation misinterprets the dialogue tags that
DO NOT
they must be modified. (Example: many lines have the tag {i} to indicate the text of the dialogue
until the closing tag {/i} must be in italic (in the game it indicates the dialogue that the character does not speak
but think). As I said, the tags are often changed as { i} or {I} or {1} or other.
Remember that as long as a line has the mismatched tags and the game generates errors.
Same with indentation. The scripts of the game provide indentation with spaces in place of the tab (horror !!!).
If you also remove only an initial space, the game generates errors.
Even the number I add in my head is often omitted or absurdly converted.
At least, however, I need a reference to understand if the translation matches.
A further problem is UTF-8 characters. These generate errors. In Italian I also forget it one the game generates errors. In many languages some characters are outside the ASCII table and therefore are treatable like UTF-8 or Unicode. When I tried to use both encodings I always had errors.
Once the translated file has the same lines as the file to be translated, I pass it to a php procedure that checks each
.rpy file and looks for the English text in the file to be translated. If it finds it, it replaces the dialogue in English with
that of the translated language.
Note: In RenPy there is the way to carry out translations which, however, has always generated errors for me. Practically
you can generate dialogues in English followed by those of the desired language but this has two problems:
1) with me it has never worked well because the errors were always in the hundreds.
2) a "mass" translation can not be made because every dialogue has its underlying translation.
For those who want to tackle this long and very boring reminder that:
- for each line that has n opening tags {i} must match n closing tags {/i}.
- at each line that has n opening tags {color="#ABCDEF"} must match n closing tags {/color}.
- each line has a specific indentation that must NOT be changed.
- UTF-8 characters generate errors.
- google translate translates many things randomly or otherwise requiring control.
- the lines of the dialogues of version 11 Elite 1.0.1 are 18146.