GSoC 2010/Projects/transifex-mobile
Contents |
Transifex mobile - GSoC 2010 Project
- Student: Lauri Võsandi (v6sa) , email: lauri.vosand@gmail.com
- Mentor: Thomas Perl (Thp)
- Project Status: accepted, in development
- Repository:
Status updates for the project can be found on the blog: http://v6sa.wordpress.com/category/gsoc/
Project summary
This is Google Summer of Code 2010 project which attempts to implement Transifex client application for Maemo which caches strings locally and submits them whenever possible. In addition it could have capability of editing local translation files which would broaden usage cases for this application.
Progress
Since Transifex guys are a bit behind with their schedule for string-level API, I just used HTTP requests and regular expression matching to fetch the information I need. Current implementation works with Transifex.net deployment.
- Logging into Transifex, session management, CSRF tokens - done
- Browsing projects/components/files/languages - basically done
- Pulling PO-files, storing them locally, pushing PO-files back to server - done
- Editing PO-files (via polib), Google Translate, update PO-file metainfo - done
- Opening and saving local PO-files - done
- Transifex file locking - almost done
- Qt4 models, views, threading, dialogs - done, but need improvement
Package has been uploaded to maemo-extras and I published blogpost about package announcement.
- Better icons so they would fit in better with N900
- Clean up menus, for example "Exit" is unneccessary
- Better undo capabilities, at least allow reverting to original string once in string editor window
- Improve locking logic, for example "Forget changes" upon closing the file should unlock the file
- Show translation completeness (percentage in PO file list)
- Check internet connectivity
To-do
- Do caching properly so after pulling files user could edit them offline
- Make Transifex interface pluggable so string-level API could be dropped in easily afterwards.
- Better error checking: if locking fails, if file is not in utf8
- Add support for projects with multiple files for same language