One thing programmers should learn is how to format strings for translation. The word order in different languages is different. Say you have something like 'rama beats ravana using a stick'. One way of coding it is:
"%s beats %s using a %s" %(rama,ravana,stick). The translator gets the following string:
"%s beats %s with a %s" if he is translating into Tamil he will write:
"%s kondu %s yai %s adikkiraar"
which actually means: "ravana beats a stick using a rama". To help the translator, python can use this syntax:
"%(ram)s beats %(ravana)s using a %(stick)s" %({'ram':ram,'ravana':ravana,'stick':sti ck}). In this case the tamil translator will get things right as each placeholder is named. In my ayttm translation I am held up here:
IRC: login@server.com in order to connect as login to server.com.
(although this does not show up in the post, there is html markup in the string)
if I translate in situ it is going to be rubbish. It needs some re-engineering to make sense. Programmers should become aware of these problems and should try to make life easier for translators. After all translators are villified as lazy scum stooping to pluck low hanging fruit for cheap fame and publicity, so programmers should not expect them to show intelligence, diligence or creativity.
"%s beats %s using a %s" %(rama,ravana,stick). The translator gets the following string:
"%s beats %s with a %s" if he is translating into Tamil he will write:
"%s kondu %s yai %s adikkiraar"
which actually means: "ravana beats a stick using a rama". To help the translator, python can use this syntax:
"%(ram)s beats %(ravana)s using a %(stick)s" %({'ram':ram,'ravana':ravana,'stick':sti
IRC: login@server.com in order to connect as login to server.com.
(although this does not show up in the post, there is html markup in the string)
if I translate in situ it is going to be rubbish. It needs some re-engineering to make sense. Programmers should become aware of these problems and should try to make life easier for translators. After all translators are villified as lazy scum stooping to pluck low hanging fruit for cheap fame and publicity, so programmers should not expect them to show intelligence, diligence or creativity.
EDIT@08:16 UTC/GMT. Wow. That was ugly. I expected it to go for 30 minutes and have maybe 1 minute of broken connectivity. Instead it lasted over 4 hours and we had 10 minutes of downtime directly related to the load balancer upgrades and then another 5-10 minutes of downtime when our primary Pingback database server crashed and the secondary couldn't take over; which could have been indirectly caused by the network upgrade missing a self-VIP.
Anyways, we're up, we're working, the load balancers are barely breaking a sweat right now and I need some food and a shot of whiskey. I don't even *like* whiskey!!
Thanks
mhwest and
dnewhall for helping out!
---
On Saturday the 14th at 4AM UTC/GMT we will be upgrading the operating system of our network load balancers to a newer version, one that will allow us to use both CPUs! Nifty, because multiprocessing is nice.
Since we have 2 load balancers, the plan is to upgrade 1 at a time, and there really should be very little impact to our website. Hopefully you won't notice a thing and I'll get to go back to the hotel and watch some wonderful late night infomercials.
We've got a lot of exciting projects coming up for 2010 and we're hoping that we'll be able to deliver them all to you, that you will find it useful/cool/lovely and then you will use the site even more. Behind-the-scenes work like this will give us the capacity to handle the anticipated traffic, so expect a few more maintenance windows especially in the beginning of next year as we've got some neat ideas to improve performance around here! We had the recent 30-45 minute outage yesterday due to one of our logging databases filling up disk space -- not so great design coupled with my human error in handling the initial problem -- and it looks like we're going to finally have some resources to eliminate stuff like that. I can't wait!
As usual, I will be updating status.livejournal.org before and after, just in case you are not able to reach our main website during the work.
Anyways, we're up, we're working, the load balancers are barely breaking a sweat right now and I need some food and a shot of whiskey. I don't even *like* whiskey!!
Thanks
---
On Saturday the 14th at 4AM UTC/GMT we will be upgrading the operating system of our network load balancers to a newer version, one that will allow us to use both CPUs! Nifty, because multiprocessing is nice.
Since we have 2 load balancers, the plan is to upgrade 1 at a time, and there really should be very little impact to our website. Hopefully you won't notice a thing and I'll get to go back to the hotel and watch some wonderful late night infomercials.
We've got a lot of exciting projects coming up for 2010 and we're hoping that we'll be able to deliver them all to you, that you will find it useful/cool/lovely and then you will use the site even more. Behind-the-scenes work like this will give us the capacity to handle the anticipated traffic, so expect a few more maintenance windows especially in the beginning of next year as we've got some neat ideas to improve performance around here! We had the recent 30-45 minute outage yesterday due to one of our logging databases filling up disk space -- not so great design coupled with my human error in handling the initial problem -- and it looks like we're going to finally have some resources to eliminate stuff like that. I can't wait!
As usual, I will be updating status.livejournal.org before and after, just in case you are not able to reach our main website during the work.
ayttm project is humming along - reached 95%, thanks to a lot of support from Chennai LUG. Should be done by tomorrow. Then review and submission. With this under my belt, I plan to tackle Sachmo next. Should get progressively easier as good translations replace the bad. With Ayttm, I got 20% automatically done and about 20% fuzzy - the fuzzy was 90% crap. And the bad news, I have always wanted to contribute to Sahana and when I heard there was a python port, was thrilled. Unfortunately they have decided on web2py - a sucky looking framework 'written by college professors' and full of buzzwords. Maybe I could write a django port?
after a long gap I have embarked on a large translation. Ayttm. I have to combat badly bolted on i18n and some of the strings are untranslateable. Other than that it is an exciting experience - finished 53% so far. I think about 90% can be done. For the rest, the pot file has to be edited by the authors.
