My GSoC 2008 application is getting finishing touches
Aug 21st, 2008 by diegobz
Yes baby, my GSoC 2008 application is getting finishing touches! That was a great experience for me. I have been talking with amazing people over all these months of work and I hope to continue contribute on this nice project called Transifex.
The Localization is the first point for people be able to get a great accessibility over programs. Yes, I know, you can believe me! I’m still an English student, but hopefully, I’m able to write some simple English texts and read other ones, even with some mistakes, but it was not always thus. Well, have you never been on a situation where you simply couldn’t understand anything, because you didn’t have a localized user interface? If you haven’t, then you are a lucky guy, or perhaps a very respectable polyglot.
That kind of thing happen every time everywhere we can imagine. We have several languages around the world and most people only speak your native language. Around 95% of people in the world have a native language other than English. So, how does it make a program usefully for the most people? A program with i18n support can make the difference in these cases.
Localized stuff make things easier, accessible. Users can read, browse, find information and mainly they can understand things. It points me to think as would be easy to me write this post in Brazilian Portuguese, surely I could explain all my ideas more clearly. What do I mean? Basically I mean a localized environment ‘make people feel at home’.
So, what have I been doing to make Transifex a powerfully tool to manager translations around the world? Well, thanks some helps from amazing community guys on this WoC (Winter of Code) to me, we got some things done, including a new Transifex Release 0.3.
However, before listing a summary of my work on Transifex until now, I would like to thanks Dimitris Glezos to encourage me to apply for this GSoC and also for all support, Asgeir Frimannsson to mentor me, the Fedora Infrastructure Team for some many times that I have been boring them on #fedora-admin, People that have had comment on this blog, Fedora Project for be an amazing project and finally Google for a Winter of Code.
Now, lets summarize all my work for the Transfex development:
- Full i18n support in both templates and database
- Support for editing repositories – the editing modules part will be implemented soon, after some changes in the model version 2.
- Switched templating language from Kid to Genshi
- Switched widget library to ToscaWidgets
- Unit testing
- AJAX: Widgets for AjaxForm with client-side validation
- AJAX: Async module checkout on Refresh button
- AJAX: Async file upload on the submit form
Bellow we have a list of all commits to my development branch:
- Rev: 366 – Initial Ajax Support: Client-side validation, async file upload and refresh button for submit form
- Rev: 365 – Minor: Added ‘transifex.egg-info’ and ‘*.directory’ to the .hgignore file
- Rev: 325 – Fixed Forms action
- Rev: 324 – Fixed commit redirect to ‘module/foo-module?branch=foo-branch’ instead ‘module/foo-module’
- Rev: 318 – It’s needed to avoid i18n problems because we are using genshi-based toscawidgets
- Rev: 317 – Added some new test cases
- Rev: 316 – Form submit without the exception handling breaks test cases
- Rev: 315 – A fix for the cvs import from the hg repo.
- Rev: 314 – Fixing the test module for HG repo. Changing to the Transifex repo. Smolt has been moved to git.
- Rev: 313 – Lib versions updated
- Rev: 312 – Changed to always delete and create the .mo directories langs when `i18n.py -c` (compile) it’s executed.
- Rev: 311 – It causes an exception on Genshi 0.5
- Rev: 310 – Fedora Project’s database messages updated
- Rev: 309 – Potfiles for view updated.
- Rev: 308 – Potfiles updated
- Rev: 307 – Ignore .mo files
- Rev: 306 – It should be uncommented for be able to do the initial repositories check-out
- Rev: 305 – Submit form fixed to work with TW and Genshi.
- Rev: 304 – A fix around the i18n support for the new structure with two directories for view and data potfiles.
- Rev: 303 – Merging with the last Christos’s changes
- Rev: 302 – POTfiles splitted into two separated directories (view and data).
- Rev: 301 – Added the new POTfiles splitted
- Rev: 300 – Potfiles for database added.
- Rev: 299 – Some fixes around i18n support for the repo form
- Rev: 298 – The i18n.py has been changed to handle two separated POTfiles (view and database).
- Rev: 297 – Library versions added
- Rev: 296 – Some fixes for repo edition
- Rev: 290 – Added some changes around the modules forms by Christos.
- Rev: 289 – Edit repo added. Now it’s possible to edit the repos.
- Rev: 286 – The modules and repositories forms were migrated to use ONLY ToscaWidgets. It doesn’t need dbsprockets lib anymore.
- Rev: 285 – Merge Dimitris’s changes
- Rev: 284 – New POT and PO files generated by the new i18n.py script. The files are cleaner now.
- Rev: 283 – Replaced some tabs for spaces. We must never mix tabs and spaces.
- Rev: 282 – For now, when a module is added it has only a branch. So, we don’t need to check if it’s a list. By Asgeir.
- Rev: 281 – Cleaning…It’s not needed
- Rev: 279 – Now the descriptions and summaries of modules and repos are put directly into the POT file.
- Rev: 278 – Changed modules url of the module datagrid
- Rev: 277 – Added all modules and repos of Fedora Project instance to the POT/PO files
- Rev: 276 – The function ngettext doesn’t work as expected. Dropping the use of i18n with pluralization.
- Rev: 275 – Enable translations of repos
- Rev: 274 – Some fixes around the i18n support into the template
- Rev: 273 – A CSS fix to the log grid
- Rev: 272 – Set the mysql database unicode to utf-8
- Rev: 271 – Set the genshi default encode to utf-8 to avoid some problems around it
- Rev: 270 – Changing to use the default function gettext “_”
- Rev: 269 – Some fixes around the i18n support for the forms and others minor fixes
- Rev: 268 – Need to work with SQLAlchemy 0.4.x
- Rev: 267 – Repository and Modules forms migrated to dbsprockets
- Rev: 266 – Datagrids moved to ToscaWidgets
- Rev: 265 – It doesn’t need filter to select all entries
- Rev: 264 – If ToscaWidgets is installed we need to declare gettext explicitly to be used into the templates
- Rev: 263 – Some configs to work with SQLAlchemy 0.4.x
- Rev: 262 – Added Genshi configs to the sample-dev.cfg
- Rev: 261 – Genshi and SQLAlchemy branches merged
- Rev: 235 – Added i18n support (on Genshi)
- Rev: 234 – Initial Genshi migration. We need to fix the widgets and possibles problems with ‘py:attrs’ yet.
- Rev: 233 – A CSS fix
- Rev: 137 – Menu Changes:
- Rev: 136 – Fixing a space error
- Rev: 135 – Change a link to the correct form
BTW, you can take this list of commits running the following command in my Transifex repository:
hg log –template ‘{author}Rev: {rev} – {desc}\n’ |grep diegobz|sed -e “s/Diego Búrigo Zacarão <diegobz@\(projetofedora.org\|fedoraproject.org\)>//”
That’s it! I hope my work can make some difference for the Open Source and Free Software as them make the difference to me! Definitely, to be an Open Source and Free Software enthusiast is rock, you can work and know rock people!! Now, it’s the time to attend FUDCon 2008 Brno and then stay in Greece coding for a while. The work continue!
Thanks all!!!