What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

Earlier this year, I saw a post written by Pekka asking what the state of the nation was regarding localisation. Rob replied that localisation was creeping up Stack Exchange's list of priorities, but they were pretty busy.

Now, I saw this post and thought - hey wait, you should totally drop that and try jQuery. I'm actually being serious - I was looking at all of the Greasemonkey scripts floating around on Meta and on userscripts and thought - hang on, we could do rudimentary UI translation that way, and I think I can possibly manage to learn how to work this Greasemonkey thing.

So I started something - then Stack Overflow Careers got me a job, so I let it drift. French Language & Usage then entered beta, and I posted the link on meta over there and it has gained some interest, so I thought I'd post here with a call of volunteers.

A short version of what's over there:

  • UI translation is a big undertaking for anyone and given Stack Overflow has exploded into Stack Exchange, the team are pretty busy. Setting up a system for the communities to submit translations is going to take time.
  • A set of Greasemonkey scripts could be used to provide a template for "when the time comes". Clearly, this is a bit of a hack and every time Stack Exchange change their HTML template it's going to break... but the important thing is the language strings, which Stack Exchange will then have.
  • Big pages (FAQ for example) are harder. I didn't get that far ahead.
  • My JavaScript is rubbish. My French is OK, but not I'm not fluent and I make mistakes. I don't speak German. I'm also employed, studying part time, am a moderator and generally a bit busy, so I could do with some help!
  • We can have something to point more technical native speakers at for French Language & Usage and German Language & Usage.

So, any takers? We have a chat room to co-ordinate the effort between speakers of all languages if there is sufficient interest; alternatively I'll take suggestions for any other discussion medium you like.

(Yes, I know, this probably belongs on Stack Apps, but only 43 people have viewed my script and I assume about 37 of those are me crazily refreshing the screen to see if anyone noticed).

Any volunteers to help?

share|improve this question
1  
I'll have a look, I might be able to translate it to German (and maybe Esperanto). –  Paŭlo Ebermann Sep 5 '11 at 21:41
1  
We need a serious commitment from the devs to freeze the UI –  belisarius Sep 5 '11 at 21:46
    
OK. It was a joke –  belisarius Sep 5 '11 at 21:47
    
I'm sure there would be a bunch of takers, but I'd like to see SE have a much better (friendlier) approach to foreign languages before I bother contributing my time. It seems like they don't trust their own users and have to maintain tight control. I understand this will benefit others regardless, but given the unfriendly environment I wouldn't want to attract non-English speakers here in the first place. –  xiaohouzi79 Sep 6 '11 at 2:14
3  
Don't know if it helps at all, but I wrote something similar to this for StackApplet that works well at translating the web-based interface using JavaScript. You can find the file here. –  uɐɯsO uɐɥʇɐN Sep 6 '11 at 6:10
    
@George: thanks. I'm trying to use it, but I'm not sure how it would work in a User script instead of a web page. –  Paŭlo Ebermann Sep 7 '11 at 21:19
1  
What, no Klingon? Oh wait, that already covers the SO userbase. :) –  John C Sep 10 '11 at 14:32
    
@John: You are welcome to contribute a Klingon translation. –  Paŭlo Ebermann Sep 12 '11 at 10:58
    
FL&U brought me here, and I would totally contribute for french. Chat room has been frozen for 314 days, nice number. How dead is this ? –  Nikana Reklawyks Oct 17 '12 at 6:48

2 Answers 2

Our prototype now supports both German and French, by using different dictionary files.

Usage

Install the user scripts into your browser. You need:

(We work on cutting this down to two scripts.)

In Opera, put them into a directory and configure that directory as your user script directory (Settings => extended => contents => JavaScript options => User Javascript directory).

In Firefox, install the GreaseMonkey addon (if you didn't already), then install these as user scripts (simply clicking on the file should give you the link). Install them in the order listed above, or afterwards reorder them in this order (the translation script needs to be last).

If you have multiple dictionaries (i.e. for different languages), the last one loaded (before the main script) will be used.

Contribute

  • If you know German or French, please test the script and report wrong translations.
  • It looks like we need translations of these images, or a way not to use these images (for the beta sites): sprite-sheet sprite-sheet
  • In some cases the translations create a loss of functionality - these are bugs. Report them, and if you know some JavaScript, help us solve them.
  • Some parts of the sites are not yet translated - you are welcome to contribute code, or simply report what is missing.
  • Add translations to more languages. Japanese is most likely the most wanted, but we welcome any other languages. But we can not guarantee any stable interface yet (e.g. the translation keys might change).
  • At some times the translations take more space than the original, and this space is not available. Here we might have to adapt the CSS from our script to change some sizes.

Our code is hosted at GitHub - fork the repository, make modifications, and send a pull request.

share|improve this answer
    
    
For Japanese I've started a project at stackapps.com/questions/2978/… –  cypher Jan 21 '12 at 9:45

In my opinion translating via JavaScript is going to get messy and the results will not be satisfactory, as there are a lot of things you can't see (for example due to your reputation).

If we have devs support, then all we need is access to resource files (I presume .NET RESX) and a platform to manage the localization process and most importantly updates (which are very frequent). There are a few to pick from (including my company's).

I can surely commit to the Italian localization, but only if we get "official" support from Jeff & Co., otherwise it's really going to be very complex and surely inefficient (wasting everyone's time). Does anyone know the amount of words to translate BTW?

share|improve this answer
    
I suppose the problem is that quite some part of the server-side code is simply not made to be translatable - i.e. there are no resource files. But I could be wrong here, of course. –  Paŭlo Ebermann Sep 6 '11 at 20:36
    
Of course it could be the case. –  Dario Solera Sep 7 '11 at 9:15

You must log in to answer this question.