Translation Baby Steps
Oct 26, 2015
Today's post is going to be quick and small. So much to do. I feel like we've entered the brunt of the storm after a few months of light winds. Bugs pile up and more tasks get assigned each day than we attend to. The water is raising faster than we can bail it out.
But that's not bad. The game changes everyday. Art from Mark, puzzles wired up by David, new animations from Gary and Octavi and dialogs from me and Lauren. It's exciting times for Thimbleweed Park.
A few days ago I decided to fully dive into the translation system. Text is currently burnt into the code. It's easier that way, but it's something that needs to change once the first pass of writing is done.
The first step was to write a preprocessor for Squirrel, then load in the spreadsheets with (sample) text and dialog ids. The final game will allow you to switch languages with the press of a key or button, you won't need to restart.
A few months after the game ships, our plan is to allow user translations into any language you want, even made up ones. We'll release all the text in a spreadsheet, change it as you wish, put the new file in the right place, and it will show up as a language. I predict chaos.
Thanks to the teeming masses on Twitter I was able to get a few lines of German in.
The verbs aren't translated, but this is a proof-of-concept for the engine and it worked great. I also give no warrants as to the accuracy of the translation or the appropriate use thereof.
I'll do a full write-up on how translations work next week, or the week after.
- Ron
I don't know why. I didn't invent English. If I did it would have been 'teaming'.
Well, I hope.
And, please: donate a sense of humour of ANY kind to Mattias...
;-)
1) zip translation: text is compressed to Huffman coding - allows faster reading
2) crypto translation: the game text will be understood only by one specific user - player is only required to decrypt the text on-the-fly with his private key, which also enhances the puzzle
3) helium translation: the text of the game is translated to a higher pitch - fun is assured
;-)
With German this works, since you can write "Gehe zu Registrierkasse" (as adventure games have done in the past) instead of the more common "Zu Registrierkasse gehen". But there might be languages in which this is a problem.
You might take a "won't fix" stance on this since it (hopefully) only creates reading inconvenience instead of catastrophic failure, but it might not be too difficult to fix.
As a simple solution, each verb could consist of a "Prefix" and a "Postfix" part, with "no specification" defaulting to the English "everything is prefix". That should cover all possible variations of "verb+object" pseudo-sentence construction. Of course, the verb shown in the dashboard would have to be a separate string, since, for example, in the case of "zu X gehen", one wouldn't want to have "zu gehen" in the dashboard, but only "gehen".
Walk = Kävele
Cash register = Kassakone
As you might have noticed, there is no 'to' behind 'Walk' there. That's because it has to be added as an extension (postposition) to the object's word. So 'Walk to cash register' would translate to 'Kävele kassakoneelle". Notice the -lle at the end of object.
This becomes even more difficult if the object would be, say, 'plant' = 'kasvi'. You can't say 'Kävele kasville' (well, you could, but it would sound really odd), but instead, you'd have to say 'Kävele kasvin luo', which is roughly 'Walk next to a plant', or more accurately 'Walk to a close proximity of a plant'.
With other verbs the extension could be different. 'Push cash register' would be 'Työnnä kassakonetta', with -tta. 'Open cash register' = 'Avaa kassakone' with no extensions.
No wonder there are so few adventure games translated to Finnish ;)
Which is ironic because the written language is pronounced exactly like the spoken one, unlike English, where you have to depend on dictionaries to find out how a word is pronounced.
I clearly remember an italian version of Monkey Island (and Indiana Jones) where every object in the inventory had its own article, and the verbs were modified to accomodate the sentence. And it sounded good.
For Example: "Walk to door" were not translated as "Vai a porta", but "Vai *verso la* porta".
Or "Pick up grog" => "Prendi *il* grog".
So for italian there is no problem :-)
Order shouldn't really be a problem in German either, as long as the original phrase isn't built by appending strings, but rather by replacing placeholders. I.e. It shouldn't be
"Gehe zu" + object.name
but rather
replace("$1",object.name,"Gehe zu $1")
or so (pseudocode).
Dagens inlägg blir snabbt och kort. Så mycket att göra. Det känns som om vi har drabbats av stormen efter några månader med milda vindar. Buggar läggs på hög och fler uppgifter delas ut varje dag som vi inte tar tag i. Vattnet höjer sig fortare än vi hinner länsa.
Men det är inte dåligt. Spelet förändras varje dag. Konst från Mark, pussel iordninggjorda av David, nya animationer från Gary och Octavi och dialoger från mig och Lauren. Det är en spännande tid för Thimbleweed Park.
För några dagar sedan beslutade jag att djupdyka i översättningssystemet. Texten är nu bränd i koden. Det är lättare på det sättet, men det är något som måste ändras när första textens första utkast är färdigt.
Första steget var att skriva en förstegsbearbetare för Squirrel (Ekorre), sen ladda kalkylbladen med (prov)text och dialog-ID:s. Det färdiga spelet kommer tillåta dig att ändra text med ett tryck på en tangent eller knapp, du behöver inte starta om.
Några månader efter att spelet givits ut, planerar vi att tillåta användarnas översättningar till vilket språk ni än vill, även påhittade sådana. Vi ska ge ut all text i ett kalkylblad, ändra det som du önskar, placera den nya filen på rätt ställe, och det kommer att visas som ett språk. Jag förutspår kaos.
Tack vare de vimlande massorna på Twitter lyckades jag få med några repliker på tyska.
Verben är inte översatta, men det här är ett bevis på att motorn fungerar jättebra. Jag ger inte heller några garantier för översättningens korrekthet eller dess lämpliga användande.
Jag ska skriva en mer utförlig text om hur översättningarna fungerar nästa vecka eller veckan därefter.
Sorry Ron, I know these come to your mail...
Also, that handful of pixels on the right looks a lot like a chunk of Dave.
something has been bothering me for a while, and assuming that the day where you guys are freezing the dialog lines is approaching, the timing seems appropriate.
In a number of past blog posts, I have seen requests/suggestions in the comments for references to other games, and also meta references, most commonly in the dialog. In addition, a good share of the book titles in the occult book store refer to Monkey Island, Zak, or other games.
I sincerely hope that you keep these things to a minimum. If anything, references to other games should be a hard to find easter egg, a nice little nod, but not blatantly in-your-face. Also, I would not want the main characters (or any other characters, for that matter) to break the fourth wall and have lines like "I don't know, maybe ask the guy on the other side of the monitor", or "It doesn't matter, this is just an adventure game", or things like that. In my opinion, it would completely destroy the suspension of disbelief, which is such an important element in storytelling.
I am almost certain I am preaching to the choir and that my worries are unfounded. But it's something I just needed to get it off my chest.
You guys rock. And thanks for reading.
And... the text is a long long way from being locked. That probably won't happen until May.
Does Ray really have black lips?
"Sandy" from TP looks even better than Sandy from MM!
I'm sure you know when you play a graphic adventure, and you know that dialogs are important.
But then you have a breake from the game, vacation, girlfriend, wife, kids, tsunami, russian invasion in europe...
Well, when you get back to the game it is impossible to remember everything that has been said.... ( I still remember, that I did not rember what i needed to do to get the boat to go to look for the monkey head)...
Tha said... would that be a terrible idea to have something like a register of all that have been said, all the conversations in the game sorted by characters we met?
You know... Just saying,,,
actually haing a notebook handy is a very classy thing for crime adventures to have as well!
But I dont think Ron would ever approve to have a notebook popping out from somewhere taking all the screen..
I think so because he always said that in MK1 ne vever liked to have a big face of a pirate appearing when you wanted to talk with him.
If Im not wrong he said he ruined the game feeling...
Well in that case I would make the notebook available in the menu screen
When you get back to a savegame it starts out with the text "Last, in Thimbleweed Park..." and then a voiceover narrates short key clips from the game so far (possible only from your last session). It shouldn't be clips from your own playing but pre-recorded clips of gameplay. They all relate to key moments in the story or possibly from the most important puzzle chanes completed. I guess Ron and the team knows best what would be considered most important information which could be translated into such a clip.
Don't know if this makes any sense ;)
I made a small adventure-game-like game for Android and it was painful, hardcoding lines was sooooo easy and made the "script" (I'm not that good at building engines, it was all java code) readable, but then I switched to IDs for translation and it took me a lot of time leaving the code a blob of unreadable things.
Not to mention that I put there some puns that were difficult to translate to Italian. I managed, since Italian is my native language, but now I can't extend the game to other languages since I don't have money to pay a professional translator and I don't trust the quality of my friends' translations :P
I noted that 'Registrierkasse' is lower case in the verb-action-line. Assumably it uses the exact same word so is the lower case enforced by code?
In German, nouns stay upper case in a sentence so this may need tuning.
And yes, more about this language in this rant-of-all-rants by Mark Twain himself :-)
https://www.cs.utah.edu/~gback/awfgrmlg.html
Answer: fish! With the "f" of enough, the "I" of women and the "sh" of sure...
It seems like Twain was a seriously grumpy man. ;) Reading this article is like reading "A Yankee on King Arthur's Court" again. Both are just big rants about stuff that differs from Twains / the protagonists understanding of the world.
Naa, too complex! Or not?
What do I need to put in the spreadsheet to gain root privileges? ;-)
I'd like to volunteer to write the Spanish translation. I can do proper Castilian, as well as any Latin American dialect.
All I ask is for my copy of the game to be autographed by you and the team. :)
-dZ.
Translation:
====================
Hola, Sr. Gilbert,
Quisiera ofrecerme cómo voluntario para escribir la traducción al español. Puedo hacerlo en castellano, al igual que cualquier dialecto de latino-america.
Sólo pido que mi copia del juego venga firmada por usted y su grupo.
====================
(see what I did there? :) )
With my (open source) translator hat on, I'm wondering if the gettext utilities might be a good way to translate a game, and in this special case an adventure/point-n-click one. I know there are games out there that rely on them...
> We'll release all the text in a spreadsheet, […]
I just hope you won’t use the Microsoft® Excel® spreadsheet format for translated texts…
When you said "our plan is to allow user translations," I thought that maybe allowing users to add lines to the dialogue trees would be a lot of fun too. I mean, I guess some people will use the possibility of editing the text not only to translate it, but also to mod it and change the dialogues with hilarious effects. That will expand the replayability of the game, and help build a modding community around it. People will just download a file that, instead of a translation, contains a modified version of the dialogues (or even a whole new scritp!) with new jokes and so on and so forth.
As the story is set in '87, how about verbs that are looking like being displayed by fourteen-segment displays?
https://en.wikipedia.org/wiki/Fourteen-segment_display
It would look very 80s!
The font you mentioned remebers me the Pinball displays, like Stern, Williams, and so on...
But the adventure games of Lucasfilm of 80-90's should have verbs written in characters, that is, in pixels!
http://blog.thimbleweedpark.com/inventory_icons
At least those displays were very popular for watches and other electronic devices, and they were often shown in movies and TV series from the 80s.
It's just a suggestion since I think that the verbs need a stylization.
User translations of the verbs would be an exceptional case, of course.
You normally had to right-click on a sign, just to make the character read out the translated inscription.
In my opinion it would be totally okay to keep the graphics in English.
Are you planning on hosting the translations and rewrites on your site? How can people get to them? Are you planning ANY filtering? :)
nowadays we could actually do a massive and distributed translation with recursive check and validation.
Do you want to translate? Please took a piece of the game text, translate it, and update on the server.
Do you want to validate a translation? Choose one, validate it, and update the results.
We are living in an incredible era, unthinkable a few years ago!
I mean: if I translate a sentence in a wrong way, there are other 100 people who can correct me.
It should involve a quite big database, I think...
(What a surprise to find suddenly a screenshot with german text. I'm very excited about the finished game.)
Will there be separate versions for each language or will I be able to choose the language german or english from main menu? I'd prefer the last one because I'd like to play the game in german and english.
Thanks guys for trying make this new adventure for all of us who played these kind of games years ago, now we have the chance to go back in time and feel unforgettable things !!
SOrry my english, trying do my best.
Congratulations from Spain
The big drawback to an approach like this, is that the translators would not have much context to draw upon when doing their translations, and the order of the unique IDs meant nothing (just the order that the code was parsed in). I know that context can be important, and for a game system, perhaps pass some sort of static context marker (or markers) that could help identify what room, or character, or item the translation was referring to. That sounds a bit unwieldy though. I think the base idea is still valid though, and hopefully useful. Good luck.
I mean, even for simple things context can be important... is "phone" used a verb or as a noun? Is "ball" the round object or a formal dance?
In our software (I'm a developer) fortunately we have a translation system that does something similar to what you wrote, but for each sentence we need also a small context description in English :D
But I have to admit that italian translations (in TSOMI for example) in some cases didn't reach to translate the humour, resulting in incomprehensible suggestions or repetitions of sentences that made characters look like they were deaf or stupid, make me willing to play the games in English (and I actually watched to youtube walktrough of english version eventually understanding some dialogues.)
Considering also that many readers are offering to translate themselves the texts... and yes we know that German people will be very satisfied by the well recognized translator of german TSOMI, what about translations in other languages?
In fact, the sentence "io sono la gomma, tu la colla" doesn't make sense. But the original was with capital letters: "I'm Rubber, you are Glue", that make sense like a couple of comic, like Cochi e Renato, or Gianni e Pinotto. But I can't blame Maria Zino, the translator chief at CTO, she did a huge effort in translating!
In my opinion, the transaltion of the "If a woodchuck..." sentences of MI2 were good in italian. The translators succeeded in keeping both the meaning and the puns, and it was not easy to do.
Anyway... we are now in the era and time where with an app and Google translator, you can speak on your mobile and it pronunces the translation in any language on-the-fly. Even if not 100% accurate, it's for sure one giant leap for mankind.
"Specchio riflesso".
That is: "whatever names or words someone uses in an attempt to offend or insult you, those words will bounce off you".
The End :-)
I don't know wher you lived, but we also had the saying "chi lo dice lo è, cento volte più di me" which was basically the same and it's childish enough.
At the time of kindergarten, we used to say:
"Specchio riflesso" (Mirror reflection)
or
"chi lo dice lo sa essere" (who say it, knows to be it)
If can I ask, where do you live?
Ciao
"Io sono la gomma, tu la colla"
"Sto tremando, sto tremando"
"Chi lo dice lo è"
Do you remember?
I didn't remember that "chi lo dice lo è" was already included as a standard answer in Monkey Island, then I agree, "specchio riflesso" would have been a better adaptment to the rubber-glue thing
That's quite far from "I am rubber, you are glue", but at least it rhymes :-)
Guga, a few posts up, stated how it could be difficult to make a correct translation without the context.
As far as I remember, all the most strinking translation errors in Lucas Adventures were obviously due to translators who were merely translating some lines without having the possibility to play the game. And note that those were good translations, and those errors were seldom made.
Of course, when a puzzle is based on a pun it can be VERY difficult to make it work in different languages. It is an effort which goes beyond mere translation, and could require a complete change of the meaning of the sentence, or a need in a change in graphics, and even require a complete change in the puzzle structure, which I think it is very difficult to do.
Thinking about the cases you mentioned, I started the funny exercise of finding a possible way to fix those situations to fit italian language....
The one I found technically easy but weird is the one of the Red Harring in MI, since it could just involve text modifictions.
It could be based on the fact that the usual environment for a troll should be a fantasy game, and not a game about piracy.
So the troll could complain about being lonely and completely out of context, while he'd certainly prefer to be among fellow trolls.
So he could ask Guybrush for something that could symbolize his sad condition: he is "like a fish out of water", as we could say in Italy...
The only solution I found for the monkey wrench puzzle is much more difficult, it implies a change in the puzzle structure, since the player, after getting the monkey on Scabb Island and the mirror in the store on Booty Island, could ask the vendor to trade the parrot with the monkey, and then could use the parrot with the pump.... unluckily this necessarily implies to get rid of the animation of the monkey wrench...
Could somebody please explain to me the pun of the hair of the dog? I couldn't get it...
Even the "red herring", it was maybe one or two years ago, I was surfing wikipedia and stumbled upon that saying, learned the meaning and then I had to play TSOMI again to see if there was some hint. And there was.
So, Ron, no more pun puzzles please :D
Now I only need Giulio to explain me the meaning of the dog's hair pun...
Too bad that in this kind of blog, nobody cares or sees the old posts... :-(
Ray for example looks rightwards in the screenshot above. Will she be able to look "at us", without turning her complete body at the same time? If I remember correctly, such a body language was a usual gimmick for special cases.
Thanks! I trust you, more than my memory :-)
Really nice to hear the game is making good progress!
Just supported you for fine $150 by the the support us page. I chose the Collectors Edition, of course. This makes me feel like im back at elementary school playing Maniac Manion on my beloved C-64 @ 1987. A question from me: Do i get the signed copy or not when it comes ?
Thats all!
Thanks Guys!
Please think twice before handing the translations out to dilettantes. Merely speaking the language in question and having a good command of English won't produce a good translation. Believe me, I work as a translator (English to Swedish and sometimes vice versa) and know how hard it is to get things right. Especially translating humor! You might just be shooting yourselves in the foot here, as "free" could sometimes turn out to be a very expensive price to pay... You should at least have some kind of disclaimer before people think the translations are official, as people will probably select their language if they see it displayed in a menu, not knowing that half of the jokes might have been lost in a woeful translation... Just saying! (And no, this is not me trying to land the Swedish translation, ha.)
First of all, happy new year to all!
I am a native Turkish speaker, a big fan of point & click adventure games and I work as a translator.
You said that your plan is to allow user translations into any language, so I would like to know, if I translate the game to Turkish, how can I reach the gamers, will you publish the translations on your blog? Or, if there are so many translations for one language, how can people choose the good one? Because, with all my experiences, I can say that a bad translation can easily ruin the game and if everybody do/publish whatever they want, it ruins also the reputation of game.
Thank you for your time!
I'll be glad to try to translate this game into Catalan. Thanks for giving us this option.
Looking forward to playing the game :)