Localization server wrap-up for SoC (with video demonstration)

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Gábor Hojtsy's picture

Well, I have not been able to implement every detail I planned for this project, but nonetheless, done lots of stuff in different projects this summer. The work continues for sure, so we can get the localization server online (possibly as part of groups.drupal.org) sometime soon. There is a quick and dirty video of the localization server interface as it stands now, after the jump.

My work involved modifications in the following existing projects:

  • Drupal 6 core modifications

    • made it possible to import translations automatically (Jakub Suchy was great help in testing!)
    • defined a new packaging format for translations
    • refactored locale.inc to support a gettext export API
    • made it possible to implement localization client with t() modifications
  • Potx module modifications

    • API-ified the extractor, so it is possible to store strings directly into a Drupal database
  • Project module modifications

    • Made it possible to retrieve project releases for all core compatibility versions (dww helped a lot here)
    • Making it possible to retrieve a list of projects on the server (again, dww is great, work is still underway)

Developed these new modules:

  • Localization server for Drupal 5.x (some parts inherited from Bruno Massa, completely rewritten from the group up)

    • Automated project listing discovery from updates.drupal.org
    • Automated string scanning of releases
    • Organic groups based group translation interface to form translation groups
    • Share translations between different projects and releases
    • Various filtering options for translations
    • Import already done translations (support desktop tools and onsite Drupal translations)
    • Export translation templates (support desktop tools)
  • Localization client for Drupal 6.x

    • Provides on-page traslation for Drupal sites (no need to use the cumbersome locale module interface)

Stuff that was not done yet, but is/was planned:

  • Localization client

    • Improved UI: in-place translation instead of on-page, by identifying strings on the page; also better AJAX feedback
    • Act as a real client to the server, make it possible to submit translations directly to the server
  • Localization server

    • Provide a simple XML interface for project module to get translation stats, and pull this data from project module
    • Make the generated (exported) release packages available for download statically, not just generate them online
    • Implement suggestions! (Although there is help text and UI in the module now which tells you it support suggestions, it actually does not support it yet)
    • Improve UI: dim the toolbar buttons when they are not active (ie. extended information already provided, textarea already shown)

Look back at the overview if you missed how all these are connected. Also check out this quick and dirty demo of some of the features of the localization server. (This video was made with Jing, which does not make it possible to edit/refine it, and it also enforces a 5 minute limit, which can be quite good to distill the most important information into a demonstration, but can also be limiting if you have something to tell which would be slightly more. So you write a blog post too.).

All-in-all although I am not entirely satisfied with the state of the projects right now (the client is unfortunately still kind of bare bones), I think I was able to deliver cool solutions this summer, and not planning on stopping development anytime soon. By this time, the drupal.org infrastructure related consequences of the modules show, so we will see how these fit into the infrastructure after some discussion with them. (Ie. when and where will you see a test site, where will the final version reside).

Comments

Great work Gábor!

psicomante's picture

Great work Gábor! Translator will appreciate it! ;)

--
Psicomante - italian translator and developer
il Blog di Psicomante
Drupal Italia

--
Psicomante - italian translator and developer
il Blog di Psicomante
Drupal Italia

Translations

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: