Translators, your time has come!

We need translators!

Hello everyone!



Current development for next release got to a point - string freeze - where we will not change any of the translatable text strings until release.

This means we need people to translate those strings into various languages so that people around the world can enjoy Hedgewars in their preferred language!

Our translation system sadly is still a bit complicated, but there's a guide for new translators for that.

Also feel free to stop by in Live Chat or join the Mailing List.

Also please be aware that it can take quite a while until one of the developers will answer to you - especially due to different time zones.

Fluffy regards,
sheepluva

New release is coming? Smile

As I see, you have a little mess in translations. Don't you think about using launchpad with .po files for translations? We use this method in STK and it is quite comfortable (at least for me). You can see in the same place original text, help message and your translated text. You can also see what isn't translated yet. It also allows to work more people with the same language.

Example website with translations:
https://translations.launchpad.net/stk/trunk/+pots/supertuxkart/pl/+translate

We use tinygettext to work directly on .po files.

deveee allegedly wrote:

New release is coming? Smile

As I see, you have a little mess in translations. Don't you think about using launchpad with .po files for translations? We use this method in STK and it is quite comfortable (at least for me). You can see in the same place original text, help message and your translated text. You can also see what isn't translated yet. It also allows to work more people with the same language.

Example website with translations:
https://translations.launchpad.net/stk/trunk/+pots/supertuxkart/pl/+translate

We use tinygettext to work directly on .po files.

I already looked at gettext and considered migrating to it whenever I have the time. (Although I haven't found a way to make a arbitarily long list of translation strings for a single term yet - where one could be chosen by random. That'd be useful for the event comment
captions - I don't really want to force 1->1 translations there)

However I didn't know (or maybe I forgot forgot) that launchpad supports online translations like that.

Thanks for the hint Smile

IMO the biggest problem with Hedgewars translations are currently those mission strings.
Everything for every mission is stored in a single gigantic file called “stub.lua” and it is a complete utter mess. It is completely unmanagable, there is a shitton of redundancy and data inconsistency and I don’t even know how you developers manage to update this file. xD
The way missions are translated needs to be completely reworked IMO. Please also see this thread:
http://www.hedgewars.org/node/5377

Therefore, I am still refusing to translate mission until this mess has been cleaned up. The rest is just slightly messy but it nothing compared to the complete mess about stub.lua.

I will try to update the rest of German translation again.

Can you tell me please how much time I got? I already have another urgent translation project (about 150 long strings to go) and I need to know the “worst case” for me (earliest theoretically possible release date) so I can better plan ahead.

The lua translation is a mess because unlike the others, it was never the result of a proper tool. It was more "oh, we need translation for lua too - what can we slap in there that people can quickly use w/ their lua files"

We have an issue where the strings are more fragmentary than they need to be because, well, mostly because the lua script writers don't understand how strings work Wink Smiley
That is, someone doing:
loc("NEW RACE RECORD: ") .. (trackTime/1000) ..loc("s")
instead of
string.format(loc("NEW RACE RECORD: %fs"), trackTime/1000)

or
loc("Select continent first round with the Weapon Menu or by").." (["..loc("switch").."/"..loc("tab").."]="..loc("Increase")..",["..loc("presice").."/"..loc("left shift").."]="..loc("Decrease")..") "..loc("on Skip").."

instead of
loc("Select continent first round with the Weapon Menu or by ([switch/tab]=Increase, [precise/left shift)]=Decrease) on Skip")

I have no idea why that one was fragmented, but it certainly removes any possible context the translator might have.

That's not to say all concatenations are bad:
AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Naughty Ninja"))
AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Energetic Engineer"))
AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Prestigious Pilot")

In these cases, translating Achievement Unlocked over and over seems silly.

That said. What can be done to clarify the mess in the .lua translation file from your view?
We really can't have translation files all over the place, that's just not maintainable, not to mention fairly redundant.

We already identify the scripts the string came from so the translator can have some context...

Because I don’t know where to put it elsewhere, here’s a quick paste of the updated hedgewars_de.ts:
http://lpaste.net/raw/113471

I also have an update to de.txt. It’s really just one new line you have to add, so I just post it right here:

01:22=Abwesenheitsmodus

Besides, I have noticed that the in-game strings “Auto Camera Off” and “Auto Camera On” (when you hit the I key) appear to be non-translatable. Sad Smiley

Hey. Thanks for the heads up on the camera strings. I added those to the game messages section.

I guess that's technically not violating a string freeze since I didn't add *new* strings Wink Smiley

Quick update for de.txt:

01:23=Autokamera aus
01:24=Autokamera an

U can count on me! I speak (argentinian) spanish

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]