GSoC 2010/Projects/transifex-mobile

(Project summary)
(Project summary)
Line 11: Line 11:
===Project summary===
===Project summary===
-
This is Google Summer of Code 2010 project which attempts to implement an application to translate software that integrates with a Transifex.net web service and supports working offline.
+
This is Google Summer of Code 2010 project which attempts to implement an application to translate software including heavy integration with Transifex.net web service and offline working support.
===Progress===
===Progress===

Revision as of 15:00, 3 August 2010

Contents

Transifex mobile - GSoC 2010 Project

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 an application to translate software including heavy integration with Transifex.net web service and offline working support.

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
  • 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
  • Pushing and locking in background