Skip to content

GSoC 2016 Ideas

Leandro Regueiro edited this page Feb 19, 2016 · 7 revisions

Welcome! These are a few of the ideas that team has put together. They're ideas that we'd love to see in Pootle and the other tools.

We're not limited to these ideas, but if you have your own idea then please bounce it past the other developers.

We've tried to not overwhelm you with detail, you'll need to flesh that out yourself with chats with us and your own online research.

Mobile UI for Pootle

Pootle is used by many people in the developing world. For many of these users they have poor connectivity or their devices are limited to tablets and mobile phones. Your focus in this area will be to migrate the current UI to be more mobile friendly. Initially we don't want to concern you with performance but just on presenting a usable UI to our users on mobile devices.

Skills needed: Python, JS, UX design

Migrate Virtaal to gtk3

Virtaal runs on GTK2 using PyGTK. These are now long deprecated. You'll need to migrate to GTK3, which also involves migrating to GObject. The biggest challenge will be that Virtaal makes use of some objects only available in PyGTK. So you will need to migrate the tool off that core module.

Skills needed: Python, GTK, Desktop tool development, C++

comments

  • phlax: who will mentor this

Pootle on websockets

Pootle is used by online communities, while they are spread across the globe most teams work in similar timezones. We also run events like translation sprints where many people are working at once. This means that there is likely to be many people working on the same tasks on Pootle all at once.

Using websockets allows us to update stats on each translators webbrowser. Communicate to each when translations have been completed so that they aren't translating a string that someone else is currently working on.

Skills needed: JS, Python, HTML5

Supporting other version control systems

We've implemented Pootle FS within Pootle that bring tight version control integration. The current implementation works with Git. But there are more version control systems that we'd like to support. These include things like Mercurial, Subversion and even CVS. Your work will involve expanding Pootle FS to cope with both DVCS and traditional VCS.

Skills needed: Python, VCS experience

Translate Toolkit refactor

Translate Toolkit currently tries to serve multiple purposes and thus it keeps some unrelated pieces of code within its codebase. Refactoring it in a way that it is easier to maintain had become a major need. Some tasks that might need to be performed as part of this refactor are:

  • Split Translate Toolkit in separate projects: quality checks, translation formats, language data, tools...
  • Make Translate Toolkit Python 3 compliant.
  • Refactor Android translation format support in order to allow to use for conversion.
  • Refactor translation format classes to remove code duplication and reduce differences looking forward a single common class to support all formats through converter classes that convert to and from the single common class.
  • Consolidate all converters in a single one which accepts specifying any supported format.

Skills needed: Python, basic knowledge of translation formats and localization

Clone this wiki locally