I seem to be posting a lot about Google these days but then they ARE turning into the digital equivalent of Nestlé.
I’ve been pondering this post for a while and how to approach it without making it sound like I believe in area 52. So I’ll just say what happened and let you come to your own conclusions mostly.
Back when Google still ran the Google in Your Language project, I tried hard to get into Gmail and what was rumoured to be a browser but failed, though they were keen to push the now canned Picasa. <eyeroll> Then of course they canned the whole Google in Your Language thing. When I eventually found out that Google Chrome is technically nothing else than a rebranded version of an Open Source browser called Chromium, I thought ‘great, should be able to get a leg into the door that way’. Think again. So I looked around and was already confused because there did not appear to be a clear distinction between Chromium and Chrome. The two main candidates were Launchpad and Google Code. So January 2011 I decide to file an issue on Google Code, thinking that even if it’s the wrong place, they should be able to point me in the right direction. The answer came pretty quick. Even though the project is called Chromium, they (quote) don’t accept third party translations for chrome. And nobody seems to know where the translations come from or how you become an official translator. A vague reference that I maybe should try Ubuntu.
I gave it some time. Lots of time in fact. I picked up the thread again early in 2013. Now the semi-serious suggestion was to fork Chromium and do my translation on the fork. Very funny. Needless to say, I was getting rather disgusted at the whole affair and decided to give up on Chrome/Chromium.
When I noticed that an Irish translator on Launchpad had asked a similar question about Chromium and saw the answer was they, as far as they know, push the translations upstream to Chromium from Launchpad, I decided I might as well have a go. As someone had suggested, at least I’ll get Chromium on Linux.
Fast forward to October 2014 and I’m almost done with the translation on Launchpad so I figure I better file a bug early because it will likely take forever. Bug filed, enthusiastic response from some admin on Launchpad. Great, I think to myself, should be plain sailing from here on. Spoke too soon. End of January 2015, the translation long completed, I query to silence and only get more silence. More worryingly, someone points me at a post on Ubuntu about Chromium on Launchpad being, well, dead.
Having asked the question in a Chromium IRC chat room, I decided to have another go on Google Code, new bug, new luck maybe? Someone in the room did sound supportive. That was January 28, 2015. To date, nothing has happened apart from someone ‘assigning the bug to l10n PM for triage’.
I’m coming to the conclusion that Chromium has only the thinnest veneer of being open. Perhaps in the sense that I can get a hold of the source code and play around with it. But there is a distinct lack of openness and approachability about the whole thing. Perhaps that was the intention all along, to use the Open Source community to improve the source code but to give back as little as possible and to build as many layers of secrecy and to put as many obstacles in people’s path as possible. At least when it comes to localization.
At least Ubuntu is no longer pushing Chromium as the default browser. But that still leaves me with a whole pile of translation work which is not being used. Maybe I should check out some other Chromium-based browsers like Comodo Dragon or Yandex. Perhaps I’m being paranoid but I’m not keen on software coming from Russia being on my systems or recommending it to other people. Either way, I’m left with the same problem that we have with Firefox in a sense – it would mean having to wean people off pre-installed versions of Google Chrome or Internet Explorer.
Anyone got any good ideas? Cause I’m fresh out of…
Well I’m glad I asked. What happened was this…
I had a request from someone asking if I could localize TinyMCE (a WYSIWYG editor – think of it as a miniature form of Word sitting within a website) so they could use it on their website for their Gaelic-speaking editors. There aren’t that many strings and the project is handled on Transifex using po files so the process seemed straight-forward too (if you don’t know what a po file is – the main thing about them is that there are many translation memory packages which handle them and, if you have already done LibreOffice or something like that and stored those strings in the memory, there will be few strings in a project like TinyMCE for which there are no translation memory suggestions. In a nutshell – it allows an experienced software translator to work much faster).
So off I go. Pretty much a cake-walk, half a Bond film and 2 episodes of Big Bang later, the job was done. Now in many cases once a language has been accepted for translation and when you have translated all or at least most of the project, these translations will show up in the released program eventually. But just because I’m a suspicious old fart (by now), I messaged the admins and asked about the process of getting them released. Good thing too. Turns out they use an API to pull the translations from Transifex and onto their system (they’ve basically automated that step, which I can understand). The catch however is that it only grabs translations set to Reviewed.
Cue a groan from me. To cut the TinyMCE story short at this point, it seems this is down to Transifex (at least according to the TinyMCE admin) so they were quite happy for me to just breeze through them and set them to Reviewed myself. Fortunately it wasn’t a large job so 15 minutes later (admittedly, I have a about 14 other jobs on my desk just now which I would have rather done…), they were all set, thank goodness to keyboard shortcuts.
But back to the groan. I have come across this approach before and on the face of it, it makes sense. If you do community translation (i.e. you let a bunch of volunteers from the web translate into languages you as admins don’t understand and don’t have time to QA) but you’d like to have at least some measure of QA over the translations, by adding this step of peer reviewing, you can be at least more or less sure that you’re not getting ‘Jamie is a dork’ and ‘Muahahaha’ type translations.
The only problem is, peer review in online localization relies on large number of volunteers. Only a small percentage of speakers have any inclination towards translating pro bono publico and even fewer feel like reviewing other people’s translations (there is something slightly obscene about proofreading, it’s like having someone else put words in your mouth, they almost always taste funny…). I once did some rough and ready stats on the percentages of people of a given language who will be engaged in not-for-profit localization (of mainstream projects like Firefox or LibreOffice). It’s about ONE active localizer for every 500,000 speakers. So German can call upon something like 20 really active localizers. Scottish Gaelic on the other hand statistically has … well, it has less than 60,000 speakers. You work it out. So it’s seriously blessed by having TWO of them.
In any case, even if you disbelieve my figures (I’d be the first to admit to not being great shakes at numbers), the percentages are really small. So if you set up a translation process that necessitates not only translation but also peer review, you’re essentially screwing small languages because the chances are there will never be a reviewer with enough time or energy (never mind ability) to review stuff. It’s one of the reasons why we haven’t touched WhatsApp yet, they simply won’t let a translation into live without review.
So if you design a process like that and want to make sure you’re not creating big problems for smaller languages (and we’re not just talking Gaelic-style tiny languages, even languages like Kazakh or Estonian have such problems) make sure you
- allow enough wriggle-room to over-ride such requirements, for example by allowing a localizer to demonstrate their credentials (for example through long-term participation in other projects) and
- design a system where, if it’s absolutely necessary to set specific tags, admins can bulk-tag translations for a certain language.
Over and out.
But, dear 3PO, at least it’s making an attempt. Which is more than can be said for certain organisations, in spite of the recognized importance of good communication. Let me take you back a few years…
Most developers will already know what I mean with the OpenOffice to LibreOffice fork. For the rest of humanity, the short version goes something like this: StarOffice (then owned by Sun Microsystems) is made Open Source back in 2000 to counter the dominance of Microsoft Office. Called it OpenOffice and hey presto, there was a free alternative to Microsoft Office. Then Oracle buys Sun Microsystems and suddently trouble is afoot. I won’t even bother to try and dissect who did what to whom and who was right or wrong. The short of it is, most of the community upped sticks, took a “copy” of the then version of OpenOffice and set up a rival project called LibreOffice. That’s what’s called a “fork”.
Oracle then divests itself of OpenOffice by donating it to the Apache Foundation but that’s not so relevant here.
What IS relevant is they way in which this was all done. From the early days of OpenOffice, there were lots of translation teams, including a lot of “small” languages because normally languages like Tibetan, Bodo and Oromo don’t even get a look in the door of proprietary software houses. So they put in lot of time and effort into translating OpenOffice into their languages. To do so, they use an online tool called Pootle. Like a big set of tables with stuff to be translated on the one side and your translations on the other and remembers bits you already translated. It obviously gets more complicated than that but that’s Pootle (or indeed any translation memory) in a nutshell. Ok, neat.
I joined OpenOffice late in 2010 when I got fed up with the Gaelic translation of OpenOffice having fallen several releases behind. Although technically legal under the OpenOffice license, the people who had been paid to translate OpenOffice into Gaelic (a company called Cànan) did what’s normally frowned upon – instead of sharing the translated strings with the Pootle server of OpenOffice, they built their own installation packages and distributed those from their own servers and via LTS (today called Education Scotland). In essence, sitting on the translations like a mother hen on its eggs. Your guess is as good as mine as to why. Anyway, the upshot was that I had to start from scratch again. Given I also used the chance to ensure the terminology aligned with the rest of the Gaelic software universe, perhaps not a bad thing but a lot of unnecessary work nonetheless. But regular sleep is for wimps.
So, there I was steaming ahead, when rumours of this new LibreOffice project reached me. To cover all bases, I also sign up for that project on the recommendation of a friend. But I continued my translation over on OpenOffice as I’d already started there. I reach the 2/3 mark when suddenly, the OpenOffice Pootle server goes dead on a Friday or Saturday I think it was. Not to worry, it’s probably just a glitch I tell myself. Yeah right. It never came to life again. Ever. No matter how many emails I posted to the mailing lists, nothing. Not even a response. Neither on the lists nor, thinking it might be more diplomatic, off the lists.
Luckily, I had just taken a backup the day before. Very lucky indeed, a total fluke as I’m not normally that regular in making backups of stuff I figure other folk are backing up. So I did manage to migrate over to LibreOffice fairly unscathed but nonetheless scathing. If not for myself, for the other teams who may not have been so lucky. And counting in at about 100,000 words, it’s not just a piece of cake doing that from scratch.
But wait, it gets better… Oracle donated the whole project to Apache, remember? Well, Apache are still trying to figure out what the most recent set of translations are and how to get the whole thing up and running again.
More than a year on, I’m still seething about it (as you may have guessed). Perhaps the developer mailing lists were all abuzz with the impending shutdown. But most translators don’t follow the development lists, there’s only so much mail an inbox can take. I don’t know. All I know is that on the translation lists, no-one warned about the shutdown. Which would have been – at the very least – the decent thing to do because whatever storms were brewing on the development side of OpenOffice, the translation list was concerned with its main aim – translation, not politics.
And to my knowledge, no one bothered to tell the users anything either. Not for a very long time anyway. All they noticed was that stuff wasn’t working as it should any more, like the extensions site which kept going offline.
Localization is often seen as an afterthought to “the real work” and while I don’t agree, that’s just the way it is. Fine. But 100 hours of a translator’s lifetime are just as important as 100 hours of developer lifetime. Loosing that tends to make translators a bit tetchy. It perhaps comes as no surprise that the majority of translators have decamped to LibreOffice and look set to stay there, even if Apache OpenOffice comes back on stream.
Which, especially in the Open Source world where volunteers (remember, they volunteer, they’re not serfs) have the choice of going somewhere else, tells you one thing – if there’s big stuff afoot, it pays to communicate this to the folk who might not be in the midst of the firestorm but who are involved nonetheless.
We all know the feeling… software doing something that’s totally counter-intuitive, driving us mad in the process. Here, I can’t decide what’s worse, not doing user testing (or doing it badly, as in, leave it to IT people to test) or not listening to your users. Which of course applies to both open source and proprietary software.
Case in point, LibreOffice (the former OpenOffice). Yes, I’m the localizer for Gaelic there. Yes, I think it’s a really great project and really great software package and yes, I can’t see why schools and government are paying Microsoft money for their products which are getting more complicated by the day (yes, I hate the Ribbon). So what’s my bone? It’s the installation process for new users, oddly enough.
Now LibreOffice comes in over a hundred languages, including languages like Oromo, Tibetan and Ndebele who’d normally have a fight to get into propriety software. Fantastic. So what does an interested user do? Well, they go to the site, select their operating system (great, Windows, Linux and MacOS), select their language, download, install (puzzling a little over the install menu being in English but hey, maybe there’s a technical issue with that), write a letter to their granny in Oromo to tell them about this great thing they now have on their computer. Errr… let’s backtrack to step 2, selecting your language. I’m not sure what was being smoked in the room when the download and install process was designed but here’s what actually happens.
You actually download a fairly hefty file which contains the translated interfaces for all languages plus all spellcheckers and grammar proofing tools that teams have bundled with LibreOffice. Bit of a bugger if you’re on a slow connection folks… You then install and you reach a point where you have to select Typical or Custom installation. Now assuming a “normal” user who can’t program in C++ and writes regex to solve his breakfast sudoku, you choose Typical. You complete the process and open LibreOffice – in English. At this point, wtf comes to your lips in whatever (and possibly all) languages you are most fluent in. You start rooting around in the gubbins, pardon, the Options but yours isn’t there.
At this point you either persevere and eventually get the right answer or, in most cases, you give up cause who wants to bother with software that’s complicated when you’re installing it, never mind how simple it is when using it?? Now what is the right answer, your rightfully wondering? Duh, obviously you have to select Custom (never mind that to this point most people are under the impression they’ve just downloaded their own language), then go to Additional language packs and click to expand the menu, unselect 3 types of English and select your language, then move on and hey presto. Oh, did I mention that whichever path through this you pick, you still have the proofing tools for all languages installed, making it a real pain to find the one you’re actually using.
Yes, I’m shaking my head too. True, they may have inherited this from Oracle’s OpenOffice when they split (forked, as they’ll say). But we’re now several releases down the line and it’s still as insane as ever. Maybe someone like Microsoft can afford to piss off users but a recent splinter of an open source office suite which is trying to make it big?
Ok, so the current process allows you to select more than 1 language for your interface which then allows to to switch but for heaven’s sake guys, there are better ways of doing that… like downloading a new language pack from the web if you choose to add Welsh to your Zulu interface.
Projects like LibreOffice in my view can’t afford to let easy of use for the end user fall behind, even if developing something that shows the time in the Mayan Long Count just sounds like so much more fun than making sure the download and install process runs as smoothly as possible with a minimum of head-scratching cause somewhere down the line you’re either losing customers or someone has to provide a load of unnecessary support.