Author Topic: Sample translation  (Read 4901 times)

0 Members and 1 Guest are viewing this topic.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 212
  • Gender: Male
  • Current Mood: blank blank
Sample translation
« on: January 11, 2014, 10:59:43 AM »
Hi,

I was playing with the idea of proper localization support for To the Moon,
and wanted to ask if someone could provide me with an easily parsable
source file of a complete translation (text box messages)?

Thanks!

Edit: Many thanks to Kyo for supplying me with the Polish translation!
« Last Edit: January 11, 2014, 11:47:07 AM by Ancurio »

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 212
  • Gender: Male
  • Current Mood: blank blank
Re: Sample translation
« Reply #1 on: January 12, 2014, 03:13:13 PM »
(Copying your private message because this might be relevant to others)
That's what I thought. Unfortunately the only solution I can think of right now is manually copying fragments of text and probably changing map numbers in most of dialogue boxes. There are about 40 thousands lines though, so I'd like to avoid doing so, if possible. ;) Well, I'll still do it, if nothing better comes up.

Also, the dialogues are not the only thing that needs to be translated. There were some things (in-game menu, characters' names, the "cobra" puzzle) I had to change directly in RPG Maker. I've no idea if this can be done with Linux version.

Yes, I am aware there are other strings that need translation, although I think most
one liners and other text directly embedded in the scripts shouldn't be too hard
because I can see what they look like and thus know what I'm working with. With
the ~4000 tex box messages I counted last night that's not as easy to do.. ^^"

About the animorph puzzle, that is actually a bit worrisome, I hadn't even considered
that the word "Cobra" would probably have to be translated as well (and thus the
word input screen might require special characters for that language).

Then there's of course the images with embedded text, but that is probably the
easiest of all to solve.

The one aspect I've been thinking a lot about is context distinction of translated lines,
ie., in the most simple scenario, one would always map the same strings to the same
translations, eg. "Yes" would always become -> "Tak". The question is, are there
scenes where this would lead to wrong dialogues? I think sooner or later, I'm bound
to hit such a scenario somewhere..

Kyo

  • no title at all
  • *
  • Tier 7
  • **
  • Posts: 1260
  • Gender: Male
  • Current Mood: evil evil
Re: Sample translation
« Reply #2 on: January 12, 2014, 04:57:33 PM »
Right. But there are nine translations, so if you wanted to do this alone, it would take time. On the other hand, if each translation team were to do their own language... Although this might turn out impossible. Some of them probably aren't around anymore.
I wonder, how hard it would be to port a translated Win version to Linux with the knowledge of how it's been done with the original one. Yes, porting translated game instead of translating the port. I should mention that I have virtually zero knowledge about porting, or about Linux actually, so forgive my potential ignorance.

If it's possible to change the word, there shouldn't be any problem in doing so with special characters (implying it was possible in the Win version). Fortunately, I didn't need to add any.

I don't think pictures will pose any difficulties. Replacing them should be enough.

Yes, I'm afraid it would. There were lines, where I was translating a "no" to "tak". Sometimes you need to change the question a bit for it to sound more natural. That's why, if we're doing it this way, it'd be best if each translation team could take care of their own dialogues.

Spoiler: show
thousand* (my mistake from the quoted PM)
« Last Edit: January 12, 2014, 04:59:14 PM by Kyo »

Question Mark

  • 疑問符の人
  • Mod-Suspect
  • Tier 7
  • *
  • Posts: 1492
  • Gender: Male
Re: Sample translation
« Reply #3 on: January 12, 2014, 09:26:30 PM »
I was playing with the idea of proper localization support for To the Moon,
Could you please describe the system you have in mind? Right now, I'm thinking that that text displays in-game call a string from a script which could be changed easily as the game would only have to reload the needed localization script but that's what I learned from Source. I'm curious to know your plan.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 212
  • Gender: Male
  • Current Mood: blank blank
Re: Sample translation
« Reply #4 on: January 13, 2014, 06:27:56 AM »
Right. But there are nine translations, so if you wanted to do this alone, it would take time. On the other hand, if each translation team were to do their own language... Although this might turn out impossible. Some of them probably aren't around anymore.
I wonder, how hard it would be to port a translated Win version to Linux with the knowledge of how it's been done with the original one. Yes, porting translated game instead of translating the port. I should mention that I have virtually zero knowledge about porting, or about Linux actually, so forgive my potential ignorance.

Depends. The raw dreamaker material is there (provided I can get it; why aren't the raw
translations public anyway?), I can just use it. There's no need to change complete
translations. If I can't get my hands on the raw dialogues however, we're in bad luck =/

We will definitely not go the same route of creating multiple standalone games for translations
for the Mac/Linux versions (at least that's what Edward said), because that is impossible to
maintain and support. That's why I'm trying to do this the right way. Also, consider the case
where Kan makes improvements to the game (eg. achievements). Right now, everything has
to be ported over to the other languages. That's just insane.

If it's possible to change the word, there shouldn't be any problem in doing so with special characters (implying it was possible in the Win version). Fortunately, I didn't need to add any.

I don't think pictures will pose any difficulties. Replacing them should be enough.

Yes, I'm afraid it would. There were lines, where I was translating a "no" to "tak". Sometimes you need to change the question a bit for it to sound more natural. That's why, if we're doing it this way, it'd be best if each translation team could take care of their own dialogues.

That's fine, it just means I'll have to come up with a system for context awareness. Nothing
dramatic really.

I was playing with the idea of proper localization support for To the Moon,
Could you please describe the system you have in mind? Right now, I'm thinking that that text displays in-game call a string from a script which could be changed easily as the game would only have to reload the needed localization script but that's what I learned from Source. I'm curious to know your plan.

For the message box texts, basically just something gettext/QTranslator like (which in
essence means not much more than a giant hash of source -> translated strings). Not
sure yet how I'll deal with translations that have more message boxes than the source
texts. Everything's still up in the air, I'm just experimenting here =P

Question Mark

  • 疑問符の人
  • Mod-Suspect
  • Tier 7
  • *
  • Posts: 1492
  • Gender: Male
Re: Sample translation
« Reply #5 on: January 13, 2014, 07:09:28 AM »
For the message box texts, basically just something gettext/QTranslator like (which in
essence means not much more than a giant hash of source -> translated strings). Not
sure yet how I'll deal with translations that have more message boxes than the source
texts. Everything's still up in the air, I'm just experimenting here =P
Right, right. You got me interested in this. If there's any way I can help, I'll be happy to.

Kyo

  • no title at all
  • *
  • Tier 7
  • **
  • Posts: 1260
  • Gender: Male
  • Current Mood: evil evil
Re: Sample translation
« Reply #6 on: January 13, 2014, 07:48:43 AM »
Depends. The raw dreamaker material is there (provided I can get it; why aren't the raw
translations public anyway?), I can just use it. There's no need to change complete
translations. If I can't get my hands on the raw dialogues however, we're in bad luck =/
You can try contacting other translators (not sure about others but German and Spain are active forum members). Also, Reives should still have the dialogues or at least unencrypted translated versions of the game, that can be used to export them.

Quote
We will definitely not go the same route of creating multiple standalone games for translations
for the Mac/Linux versions (at least that's what Edward said), because that is impossible to
maintain and support. That's why I'm trying to do this the right way. Also, consider the case
where Kan makes improvements to the game (eg. achievements). Right now, everything has
to be ported over to the other languages. That's just insane.
Yeah, I didn't think about potential future updates. That's the extent of my outside the box thinking, I guess.

That's fine, it just means I'll have to come up with a system for context awareness. Nothing
dramatic really.
Well, if you say so. As I said, I have no knowledge on the matter, and such things as a "context aware system" for translating stuff sound almost sci-fi to me. But if you're confident that you can do it, I'll just wait with crossed fingers. And you can count on me, if there's anything I can do to help.

Zeriab

  • Tier 2
  • *
  • Posts: 43
  • Current Mood: happy happy
Re: Sample translation
« Reply #7 on: January 13, 2014, 01:09:10 PM »
An easy way to have translation is by using substitution strings. (I have also heard them being called labels, though I am not sure what the technical name is)
Basically you can have "%lab60" instead of actual text. Then you have a separate resource file for each language where you look what it should be changed to.

As-is this approach will not be a good one because the layout is not preserved. Some languages are more concise than others. Changing the number of text messages may be a good idea as a result. I am focusing on the text messages as they contain the largest amount of text. It is worth investigating whether this is the case, or if the number of text messages is kept the same between languages. If so I guess you could solve it by having a single label per text message event command which contains the formatting as well.

Not only do you sometimes have to change the order of the words to make proper sense in different languages, the layout matters as well. Changes in the layout are inevitable. I believe that the dreamaker preserves the layout, right? If you can tell me which version of dreamaker is used I may be able to extract the information for you. (Assuming Reives gives me the necessary permission)
Otherwise we can look into other formats for extraction.

*hugs*

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 212
  • Gender: Male
  • Current Mood: blank blank
Re: Sample translation
« Reply #8 on: January 14, 2014, 08:48:29 AM »
An easy way to have translation is by using substitution strings. (I have also heard them being called labels, though I am not sure what the technical name is)
Basically you can have "%lab60" instead of actual text. Then you have a separate resource file for each language where you look what it should be changed to.

Using labels instead of source texts (in English) has the following advantages:
  • Source text independent: Translations will still work fine in case Kan makes any
    changes to the original English dialogues
  • Ability of 1to1 mapping of source to translation texts: No need to deal with duplicate
    source texts that need to be translated differently, as translations are not fetched
    based on the input English dialogues, but the exact dialogue position in the game
    (no need for context awareness)

Disadvantages:
  • The English source version of the game has to undergo an additional processing
    step (to replace all dialogue with the labels) before it can be used with translations.
    Expecting dialogue writers like Kan to type in labels and then the actual dialogue
    elsewhere is kinda unreasonable IMO.
  • Maybe uncertainties as to how many labels to use for eg. 3 message boxes with
    5 lines of text

It is a bit of an old school method, but I might actually consider this if my original idea
turns out to be unworkable.

As-is this approach will not be a good one because the layout is not preserved. Some languages are more concise than others. Changing the number of text messages may be a good idea as a result. I am focusing on the text messages as they contain the largest amount of text. It is worth investigating whether this is the case, or if the number of text messages is kept the same between languages. If so I guess you could solve it by having a single label per text message event command which contains the formatting as well.

Not only do you sometimes have to change the order of the words to make proper sense in different languages, the layout matters as well. Changes in the layout are inevitable. I believe that the dreamaker preserves the layout, right? If you can tell me which version of dreamaker is used I may be able to extract the information for you. (Assuming Reives gives me the necessary permission)
Otherwise we can look into other formats for extraction.

*hugs*

IIRC some translators specifically asked for the ability to add additional message boxes,
so that case has to be definitely considered.
I haven't done anything with dreamaker yet at all, so I can't comment on that.

Zeriab

  • Tier 2
  • *
  • Posts: 43
  • Current Mood: happy happy
Re: Sample translation
« Reply #9 on: January 16, 2014, 07:50:28 PM »
Oh, I thought you already had experience with dreamaker.

I made a script which extracts the dialog of a project (text comments) ages ago: https://sites.google.com/site/zeriabsjunk/home/extractingthedialogueofaproject
It deliberately does not preserve the design, but a lot the event traversal code can be reused. Creating a different format is a possibility. I don't know what would be easier.

Maybe keeping the different translations of the MapXXX.rxdata files and CommonEvents.rxdata file and have a script load each depending on the translation ok? Or maybe I can export the command lists from those files which later can be used for retrieval.

I am just putting forward some ideas. Feel free to shoot them down. I have something to look into for Reives first, but afterwards I can do some scripting for you, if you’d like.

P.s. absolutely excellent work on your engine :3
*hugs*
 - Zeriab