Thread
:
Conboy - Note Taking Application (Tomboy clone)
View Single Post
fpp
2009-06-05 , 19:06
Posts: 2,853 | Thanked: 968 times | Joined on Nov 2005
#
62
My pleasure. This reminds me of something I meant to say though, about localization systems.
From the .po files I gather you are using GNU GetText. While I understand this is the "standard", proven, industrial-strength, OSS way of doing things, and is probably the right one for large-to-huge projects with many strings and many people working together, from an amateur's point of view I've always had a feeling of total overkill for small apps with a single lead developer and a few translators.
Two things in particular strike me as totally unfit (and unhelpful) for the sort of informal, one-off, ad-hoc community work that's happening here :
One is that the .po files are needlessly obfuscated when you edit them as text, and may confuse or deter non-technical persons who would like to help and could otherwise provide high-quality translations (which programmers often don't :-). Requiring them to install, learn and use one of the specialized .po editors would be even worse, of course.
Second, integration of those user-provided files requires intervention by the programmer(s) : compilation, repackaging, new release. That's more work for the lone developer (who should be coding :-), and users need to wait for that release to use the contributor's work.
In contrast, in the past I have translated (or helped translate, and still do) some non-trivial apps using a much simpler, quicker and user-friendly scheme. I also tend to use it in my own (trivial) code.
Basically you just have a plain text file for each language, with a line for each string like :
"English text"= "Text translated in another language"
You don't have to change existing code, just define your own _() local function that uses that file's content as a hash table (or Python dictionary) depending on locale.
Just about anyone can pick up such a file, correct someone else's mistake, or look for empty strings at the end in a new version and complete them, or even start a whole new language.
Moreover, the translator can see the result of his work immediately on his local installation of the app, and correct it if need be. He can make it available to others himself, or and/or send it to the developer who just has to put it up on his web page, and everyone can use the new translation immediately without waiting for a new release.
One example is very well known, it's the SciTe text editor by Neil Hodgson :
http://groups.google.com/group/scite...b/translations
ELOG is much less famous, but still a clever and very impressive app by Stefan Ritt :
https://midas.psi.ch/elog/
At least one Python Web framework provides such a facility by default (plus some administrative web forms to make it even easier) : it's web2py by Massimo di Pierro (the one I presented at the Berlin summit last year)
http://www.web2py.com/
Of course GetText is a lot more powerful (and in some ways optimized) than these simple hacks, but the point is that these apps don't actually need that level of sophistication, and neither does Conboy. I believe making translation work simpler in this way would benefit both you and us (translators or users).
Sorry for the rant :-)
Quote & Reply
|
The Following User Says Thank You to fpp For This Useful Post:
conny
fpp
View Public Profile
Send a private message to fpp
Visit fpp's homepage!
Find all posts by fpp