Author Topic: Translation support added to Linux version  (Read 4545 times)

0 Members and 1 Guest are viewing this topic.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Translation support added to Linux version
« on: March 18, 2015, 05:39:33 AM »
Hey,

you may remember this thread where I did a little mind storming on how to tackle translation support in TtM. I stopped working on it soon after for various reasons I'm not gonna talk about.

Recently, after fixing up the minisode ports on Steam, I wanted to finally add the achievement to Linux/Mac because so many people keep asking about it. However, because people had copied over fixed up data files from the translations of the Windows version (kindly prepared by Ali) into their Steam folder, my update to the Steam repo ended up overwriting those and causing troubles. Basically, we're in a situation with Lin/OSX on Steam right now where any kind of update will break the experience for non English players, which is really really bad (not that having to manually copy files around was a good experience in the first place).

So, I decided to take up this task again. It took me about 10 days. Funnily enough, the part that I was most concerned about one year ago, text messages, took less than 1/5 of the total time to implement.

I've pushed it to the "linux_beta" branch on Steam for now. You can also download it [link removed]. If you accidentally select the wrong language, you can press "F7" in the main menu to reselect.
If this works out well, I will update the Mac version too and then push it to the default branch on Steam.

The only noticeable things missing are the custom credit images each translation team created. Because some of them not only manipulated the existing events but created entirely new event pages, i couldn't fit it into the current system (which relies on identical event/page structures).

Edit: Direct links removed, has been released on Steam main branch

Links to documentation of translation mechanism:
General overview
lang_data.spec
« Last Edit: April 03, 2015, 06:27:08 AM by Ancurio »

Thunderbird

  • 雷の鳥
  • *
  • Tier 7
  • **
  • Posts: 1450
  • Gender: Male
  • Flame Haze
  • Current Mood: happy happy
Re: Translation support added to Linux version, testers wanted
« Reply #1 on: March 18, 2015, 11:42:39 AM »
Hey ^^ Thank you for your work :)
It probably would be best to have a word before starting to translate the next big episode, so we are able to avoid transfer problems. Do changes of events work if you don't add new pages, but new commands (e.g. added credits pictures)?

(I don't have Linux, so I cannot test it for you)
Even if you are nothing more than a drop in a bucket...
Every drop leaves ripples.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version, testers wanted
« Reply #2 on: March 18, 2015, 05:20:49 PM »
Hey ^^ Thank you for your work :)
It probably would be best to have a word before starting to translate the next big episode, so we are able to avoid transfer problems. Do changes of events work if you don't add new pages, but new commands (e.g. added credits pictures)?

(I don't have Linux, so I cannot test it for you)

Generally, no. It works a lot like the DreamMaker import: translated text messages replace the English messages inside the events, but do not touch anything around them. There is a very good reason for this. For example, the event showing the end credits which most translation teams manipulated was the very same event Reives added the code into which activates the Steam achievement, so if the system would just do a blanket copy of the whole command stream, all languages would have ended up overwriting this addition of Reives, and we' d once again end up with the "achievements don't work in my language!" type situation.

I do have a blanket copy mechanism, which I was forced to add because one language (Brazilian) had not one, but two possible answers for the animorphs puzzle, which changed the event command structure as there were more text messages and an additional conditional branch compared to the English version. But I very much considered this an unfortunate hack and would like to avoid this in the future. I was going to use it on the translation credits scene too, but as I said, I can only copy existing pages, not entirely new ones.

As long as this isn't handled more strictly, problems like this will arise again: Any event that is fully copied will end up overwriting any modifications, bug fixes, etc. by Reives, and it's simply not maintainable. We really need to get away from this "every translation is a whole new game" concept or else these things will always end up biting us. Right now on Windows, if Reives receives a bug report about being able to walk through walls, and he fixes it by placing an invisible event or changing tileset information, it only fixes the English version, and it requires manual work by each trans. team to propagate those changes back into their versions every time; It's just insane.

There are a couple ways to handle the credit scene. 1) Just straight up include credits to all translation teams in the English main version instead of hiding their contributions from English players (may need continuous updates as new translations are added), 2) have one final placeholder image shown in the English version which the teams can then customize to their liking (not sure what the English version would show, but it's not hard to think of something).
« Last Edit: March 18, 2015, 05:23:17 PM by Ancurio »

Eli

  • *
  • Tier 7
  • **
  • Posts: 787
  • Gender: Male
  • Det. Meddlesome
  • Current Mood: tired tired
Re: Translation support added to Linux version, testers wanted
« Reply #3 on: March 19, 2015, 02:58:41 PM »
Great work as always, Ancurio. :)

I took the game files from the Linux version and did some tests on Mac, I accidentally found this issue that some Korean text is clipped.
I think the Korean translator(s) worked around this by moving the box.
Here is the issue with the game files taken from your latest Linux version:
Spoiler: show


And the way it is with the Korean package I prepared based on the Windows version:
Spoiler: show


I have also attached a save file from a little before entering the study, so you can enter and test it yourself.

I wonder how many of these box placement changes are done for each language.  :reivsweat:

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version, testers wanted
« Reply #4 on: March 19, 2015, 04:41:17 PM »
Thanks Ali.

I also found that switching between English and non-English languages is a bit wonky, and that the skills in the small battle intermission aren't translated. Should be fixed in the next iteration.

Eli

  • *
  • Tier 7
  • **
  • Posts: 787
  • Gender: Male
  • Det. Meddlesome
  • Current Mood: tired tired
Re: Translation support added to Linux version, testers wanted
« Reply #5 on: March 20, 2015, 10:28:27 AM »
Looking forward to it. :)

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version, testers wanted
« Reply #6 on: March 23, 2015, 01:21:16 AM »
I have finally found the reason the box is clipped. The UMS script had a sloppy bug in its calculation of whether there is enough room on the right side to display the choice box. It manifested in my version by chance because the Korean font I use happens to make this specific text box 10 pixels narrower than with your version.

Also noticed that Common Events contain translatable text commands too.

New version: [link removed]
« Last Edit: March 25, 2015, 12:09:23 AM by Ancurio »

Eli

  • *
  • Tier 7
  • **
  • Posts: 787
  • Gender: Male
  • Det. Meddlesome
  • Current Mood: tired tired
Re: Translation support added to Linux version, testers wanted
« Reply #7 on: March 23, 2015, 02:17:41 PM »
Thanks, I can confirm that it is fixed for me too. :)

Thunderbird

  • 雷の鳥
  • *
  • Tier 7
  • **
  • Posts: 1450
  • Gender: Male
  • Flame Haze
  • Current Mood: happy happy
Re: Translation support added to Linux version, testers wanted
« Reply #8 on: March 24, 2015, 05:50:20 AM »
I have finally found the reason the box is clipped. The UMS script had a sloppy bug in its calculation of whether there is enough room on the right side to display the choice box. It manifested in my version by chance because the Korean font I use happens to make this specific text box 10 pixels narrower than with your version.


Maybe It's connected to this fix?
http://freebirdgames.com/forum/index.php?topic=5956.msg189717#msg189717
Quote

Also noticed that Common Events contain translatable text commands too.

Yes, here are the parts for TtM:
http://freebirdgames.com/forum/index.php?topic=3829.0

Even if you are nothing more than a drop in a bucket...
Every drop leaves ripples.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version, testers wanted
« Reply #9 on: March 24, 2015, 09:20:52 AM »
Maybe It's connected to this fix?
http://freebirdgames.com/forum/index.php?topic=5956.msg189717#msg189717

It's not connected, but thanks for reminding me of that separate issue and fix. I'm kinda amazed by how poorly whoever wrote that UMS script tested it =/

Yes, here are the parts for TtM:
http://freebirdgames.com/forum/index.php?topic=3829.0

That thread doesn't mention Common Events, but it doesn't matter since my script chews through all of them anyway. But there were was a different piece of vocabulary in the save scripts pointed out at the bottom which I forgot, so thanks.

Reives

  • Dr Platplat
  • Director
  • Tier 7
  • ****
  • Posts: 11205
  • Gender: Male
    • Freebird Games
  • Current Mood: happy happy
Re: Translation support added to Linux version, testers wanted
« Reply #10 on: March 24, 2015, 03:19:53 PM »
Thanks for the awesome work, Jonas. :) I sent out a tweet about this; hopefully some folks'd be able to help test it out!

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version
« Reply #11 on: April 03, 2015, 06:35:07 AM »
Alright, thanks Ali for testing. The translation supporting version for both Linux and Mac is now live on the Steam main branch. I've tried to document the way the translations are setup as good as I can and put links to it up on the main post, in case I get hit by a bus and someone else needs to maintain / modify them.

Thunderbird

  • 雷の鳥
  • *
  • Tier 7
  • **
  • Posts: 1450
  • Gender: Male
  • Flame Haze
  • Current Mood: happy happy
Re: Translation support added to Linux version
« Reply #12 on: April 03, 2015, 01:29:56 PM »
Sometimes you cannot avoid incuding new commands, e.g. I had to insert a new text command for Eva's diary in the German version of the second minisode. The German lines are longer than the English ones and were bugging the displayed diary page.

I hope the new language system won't undo fixes like this.
Even if you are nothing more than a drop in a bucket...
Every drop leaves ripples.

Ancurio

  • *
  • Tier 5
  • **
  • Posts: 207
  • Gender: Male
  • Current Mood: blank blank
Re: Translation support added to Linux version
« Reply #13 on: April 03, 2015, 01:54:08 PM »
Sometimes you cannot avoid incuding new commands, e.g. I had to insert a new text command for Eva's diary in the German version of the second minisode. The German lines are longer than the English ones and were bugging the displayed diary page.

I hope the new language system won't undo fixes like this.

I'm not sure I understand. Are you saying you inserted a new text command where there previously had been none? If you're just adding additional text commands directly below an existing block of text commands, they still count as one text block. That's why I deal in terms of blocks in the first place, so a translation isn't constrained to using the same amount of lines or text boxes as the English version does.

However, if you inserted a non-text command below the existing text commands and then text below that, or you inserted a text command inbetween two non-text commands, it will be counted as a new block, which will break the layout of source and target languages. But I'm unable to imagine a case where a translation team would ever have to do that. And if it does happens, I will catch it anyway because I scan all translations for layout incompatibilities first (that's how I found the Brazilian animorph puzzle having two instead of one possible answer).

Thunderbird

  • 雷の鳥
  • *
  • Tier 7
  • **
  • Posts: 1450
  • Gender: Male
  • Flame Haze
  • Current Mood: happy happy
Re: Translation support added to Linux version
« Reply #14 on: April 03, 2015, 02:19:37 PM »
I'm not sure I understand. Are you saying you inserted a new text command where there previously had been none? If you're just adding additional text commands directly below an existing block of text commands, they still count as one text block. That's why I deal in terms of blocks in the first place, so a translation isn't constrained to using the same amount of lines or text boxes as the English version does.
Alright, this is no problem then.

Quote
However, if you inserted a non-text command below the existing text commands and then text below that, or you inserted a text command inbetween two non-text commands, it will be counted as a new block, which will break the layout of source and target languages. But I'm unable to imagine a case where a translation team would ever have to do that. And if it does happens, I will catch it anyway because I scan all translations for layout incompatibilities first (that's how I found the Brazilian animorph puzzle having two instead of one possible answer).

There are some cases where it might happen, adding new answer possibilites or if you need another image in the credits. But if you scan for incompatibilities anyway, it's probably best we talk again when it happens ^^
I was just worried the system could automatically undo stuff and the bugs creep in again.
Even if you are nothing more than a drop in a bucket...
Every drop leaves ripples.

 


* Recent Media

x-mas art

Views: 540
Posted by: cydriex
in: Freebird Games - Fan Works
For River

Views: 845
Posted by: Animefox
in: To the Moon