Outerra forum

Outerra Engine => Ideas & Suggestions & Questions => Topic started by: Ice Cold Killa on June 07, 2012, 06:12:34 am

Title: Languages
Post by: Ice Cold Killa on June 07, 2012, 06:12:34 am
Hello.
Has the dev team been thinking of maybe implementing other languages into the game after they've done the major things? Because I'd be upto translating the game into Polish if that were true.
Title: Languages
Post by: duxet on June 07, 2012, 06:16:23 am
I think so that's a feature, which will be even required to make game more popular in other countries. Adding that could be a good idea, to don't have more work in future. Maybe just a gettext?

Other thing to fix: I tried to translate .html files to Polish, but even after setting charset coding to UTF-8 i am getting question marks. Could you try to fix that, please?

Fixed, just i set charset encoding to UTF-8 in my editor again... and it worked. So there will be polish translation soon :) By the way, i think that UTF-8 should be used by default.
Title: Re: Languages
Post by: duxet on June 07, 2012, 06:17:46 am
You stole my idea! I wanted to write about that in a same moment. That's incredible...  :o
Title: Re: Languages
Post by: Ice Cold Killa on June 07, 2012, 07:09:13 am
You stole my idea! I wanted to write about that in a same moment. That's incredible...  :o

Hivemind?
Title: Re: Languages
Post by: cameni on June 07, 2012, 07:30:56 am
Just remember that the html files contain also the UI functionality. Every time we patch one of them, the updater will replace the modified Polish version with the default one. We need to find a system that would generate native versions of the html files from the default ones, using a dictionary of sentences or some other system.
Title: Re: Languages
Post by: duxet on June 07, 2012, 07:37:16 am
Yes, i know, i will try to use diff to import new changes. What do you think about storing all strings in one file and adding JS function to print them in language choosen by user?
Title: Re: Languages
Post by: cameni on June 07, 2012, 07:52:37 am
I was thinking about some automated functionality that would extract text strings from the html, maintaining the dictionary and allowing to use the old translation for strings that didn't change. Managing it all manually using JS within all the html files would create a mess, it will be hard to read and edit.

For performance reasons it would be best to have a tool that can patch it automatically, creating localized files from the English ones, run from the updater or when updating the language files. Hmm, basically we need a parser that extracts the strings, adds the new ones to the English map file and marks the no longer used ones. And it can recreate the file using alternative language map file. That should not be hard.
Title: Re: Languages
Post by: duxet on June 07, 2012, 08:09:52 am
Quote
Managing it all manually using JS within all the html files would create a mess, it will be hard to read and edit.
So maybe it could be done by creating one file with a simple array of strings, and then replacing all tags like {#module_name.string_name#} with a proper text in .html files during loading?
Title: Re: Languages
Post by: XZS on June 07, 2012, 08:16:17 am
The translation idea is cleaver, you can count me in for French translation.
Title: Re: Languages
Post by: cameni on June 07, 2012, 08:29:05 am
It's one possibility, better than others. But I'd like to push it even further, using the English string as the tag.
Example:

Code: [Select]
<div id="right">
<div id="info">
<h4>Outerra Engine Alpha Tech Demo and Outerra Game</h4>

<p>This is the first <i>alpha</i> release of technology demo of the Outerra Engine, coming with the whole planet Earth rendered in real-time seamlessly from space down to the ground, with full visibility and a high detail.</p>

<p>Together with the demo we are launching a pre-alpha version of the first game that's running on the Outerra Engine.</p>
<p><b>Anteworld</b> (Antecessors' world) is a world-building game on a massive "true-to-life" scale of our planet. Arriving aboard a returning interstellar colonization ship built in the Golden Age of Mankind, and discovering civilization and humanity vanished from our home planet, players must rebuild the civilization - exploring, fighting, and competing for resources while searching for clues to the disappearance of humanity.</p>

<p>Pre-alpha version of <b>Anteworld</b> can be bought at half the final price. Early adopters will have access to regular game builds released during alpha and beta stage, and to the final game once it is released. Anteworld is also a technology test bed for the Outerra engine, first to come with any new Outerra technology developments.
</div>

It would get extracted into the default map:

Code: [Select]
1: Outerra Engine Alpha Tech Demo and Outerra Game
2: This is the first <i>alpha</i> release of technology demo of the Outerra Engine, coming with the whole planet Earth rendered in real-time seamlessly from space down to the ground, with full visibility and a high detail.
3: Together with the demo we are launching a pre-alpha version of the first game that's running on the Outerra Engine.
4: <b>Anteworld</b> (Antecessors' world) is a world-building game on a massive "true-to-life" scale of our planet. Arriving aboard a returning interstellar colonization ship built in the Golden Age of Mankind, and discovering civilization and humanity vanished from our home planet, players must rebuild the civilization - exploring, fighting, and competing for resources while searching for clues to the disappearance of humanity.
5: Pre-alpha version of <b>Anteworld</b> can be bought at half the final price. Early adopters will have access to regular game builds released during alpha and beta stage, and to the final game once it is released. Anteworld is also a technology test bed for the Outerra engine, first to come with any new Outerra technology developments.

This will be used to create a localized version:

Code: [Select]
1: Outerra Engine Alpha Tech Demo i Outerra Gra
2: To jest pierwsze wydanie ...
3: Zaciekaj tchurzu, bedziesz zamordowany!
4: Zaciekaj tchurzu, bedziesz zamordowany!
5: Zaciekaj tchurzu, bedziesz zamordowany!

The same tool that extracted the strings will be able to create localized versions using the localized table and the original, leaving English strings where there's no translation available yet.
If we change something in the original text, the tool will update the table, removing the string that changed but keeping the numbering, adding the new string to the end:

Code: [Select]
1: Outerra Engine Alpha Tech Demo and Outerra Game
2:
3: Together with the demo we are launching a pre-alpha version of the first game that's running on the Outerra Engine.
4: <b>Anteworld</b> (Antecessors' world) is a world-building game on a massive "true-to-life" scale of our planet. Arriving aboard a returning interstellar colonization ship built in the Golden Age of Mankind, and discovering civilization and humanity vanished from our home planet, players must rebuild the civilization - exploring, fighting, and competing for resources while searching for clues to the disappearance of humanity.
5: Pre-alpha version of <b>Anteworld</b> can be bought at half the final price. Early adopters will have access to regular game builds released during alpha and beta stage, and to the final game once it is released. Anteworld is also a technology test bed for the Outerra engine, first to come with any new Outerra technology developments.

[version:0.7.11.3200]
6: This is the second <i>alpha</i> release of technology demo of the Outerra Engine, coming with the whole planet Earth rendered in real-time seamlessly from space down to the ground, with full visibility and a high detail.

Translators will then need to translate only the new appended strings. The tool that patches the files can be a part of outerra.exe and automatically patch the files at the beginning when it detects the files were changed.
Title: Re: Languages
Post by: duxet on June 07, 2012, 09:11:51 am
But what with eg. that code?

Quote
$("#ct_movement>div").html('<div class="pri">główne</div><div class="sec">dodatkowe</div>')
    .ctrlentry(ctrls.movement,"move_forward",{text:"Ruch do przodu",pair:"move_back"})
    .ctrlentry(ctrls.movement,"move_back",{text:"Ruch do tyłu",pair:"move_forward"})
    .ctrlentry(ctrls.movement,"move_left",{text:"Ruch w lewo",pair:"move_right"})
    .ctrlentry(ctrls.movement,"move_right",{text:"Ruch w prawo",pair:"move_left"})
    .ctrlentry(ctrls.movement,"jump")
    .ctrlentry(ctrls.movement,"crouch")
    .ctrlentry(ctrls.movement,"sprint");

Or just every other JS code.
Title: Re: Languages
Post by: XZS on June 07, 2012, 09:15:01 am
"To jest pierwsze wydanie ... Zaciekaj tchurzu, bedziesz zamordowany!"
"This is the first release ... Run coward, you will be murdered!", that's it ? :)
Title: Re: Languages
Post by: Ice Cold Killa on June 07, 2012, 09:49:27 am
"To jest pierwsze wydanie ... Zaciekaj tchurzu, bedziesz zamordowany!"
"This is the first release ... Run coward, you will be murdered!", that's it ? :)
lol yeah
Title: Re: Languages
Post by: cameni on June 07, 2012, 09:54:06 am
Well it will require some more discipline from us, a better separation of code and texts. Those strings should be taken from html code somewhere.
Title: Re: Languages
Post by: DarkDXZ on June 07, 2012, 11:43:19 am
This thread makes me feel so proud. :D
Hope to see you guys tomorrow watching TV!

For reasons that seem more or less obvious.


I could help with translation as well as time goes on.
Since, right NOW, there isn't TOO much to translate, YET!

Title: Re: Languages
Post by: necro on June 08, 2012, 02:23:37 am
Whats going on today? Do you mean the soccer event? Meh, i dislike soccer - overpaid sportsmen, fooling around on grass. -.-
Title: Re: Languages
Post by: foxfiles on June 08, 2012, 04:02:37 am
I am also very positive in a multi lingual OT that would help you to broaden your user base/audience.
Title: Re: Languages
Post by: DarkDXZ on June 08, 2012, 02:38:05 pm
Is that legit? (http://i.imgur.com/pZ0I5.png)
Because if it is, I think PiS-PO coalition has been formed!

You are NEVER going to get it, I so dare you...
-_-

Unless you live in Poland and are aware what's going on in political sphere these days.
Not that I know...