ΕΕΛ/ΛΑΚ - Λίστες Ταχυδρομείου

Fwd: [Διαγωνισμός ανάπτυξης ΕΛΛΑΚ] django-poedit: A Web-based Translation Editor

  • Subject: Fwd: [Διαγωνισμός ανάπτυξης ΕΛΛΑΚ] django-poedit: A Web-based Translation Editor
  • From: "Theodoros G. Karounos" <karounos [ at ] mail [ dot ] ntua [ dot ] gr>
  • Date: Tue, 17 Feb 2009 22:15:41 +0200
---------- Forwarded message ----------
From: Dimitris Glezos <dimitris [ at ] glezos [ dot ] com>
Date: 2009/2/16
Subject: [Διαγωνισμός ανάπτυξης ΕΛΛΑΚ] django-poedit: A Web-based
Translation Editor
To: info [ at ] ellak [ dot ] gr


Γεια χαρά!

Συνημμένη στο email μπορείτε να βρείτε μια πρόταση για ανάπτυξη του
django-poedit, ενός εργαλείου για το οποίο αρκετές κοινότητες (Fedora,
GNOME, Debian, Mozilla) έχουν δείξει μεγάλο ενδιαφέρον.

Μια και είμαι μέλος της Επιστημονικής επιτρποής της ΕΕΛΛΑΚ, θα ήθελα
να ζητήσω να αγνοηθεί πλήρως η ιδιότητα μου αυτή στην κριτική της
πρότασης. Αν η επιτροπή αποφασίσει να απορρίψει την αίτηση λόγω της
ιδιότητας μου, θα το καταλάβω και θα το δεχτώ ασυζητητί. :-)

Για περισσότερες πληροφορίες ή σχόλια, παρακαλώ μη διστάσετε να
επικοινωνήστε άμεσα μαζί μου.

Ευχαριστώ.

-δ



--
Dimitris Glezos
Jabber ID: glezos [ at ] jabber [ dot ] org, GPG: 0xA5A04C3B
http://dimitris.glezos.com/

"He who gives up functionality for ease of use
loses both and deserves neither." (Anonymous)
--



-- 
Πριν εκτυπώσετε αυτό το μήνυμα, σκεφθείτε το περιβάλλον! Ένα χαρτί
λιγότερο! - http://karounos.gr/blog/
===============================================
 django-poedit: A Web-based Translation Editor 
===============================================

Δημήτρης Γλέζος


Ιστορικό
--------

Στο χώρο του ελεύθερου λογισμικού υπάρχει διαθέσιμη μια πλειάδα μεταφραστικών
εργαλείων. Τα εν λόγω εργαλεία παρέχουν ισχυρές δυνατότητες στους μεταφραστές
εφαρμογών ανοιχτού λογισμικού, ωστόσο πάσχουν σημαντικά στη δυνατότητα που
προσφέρουν για ενσωμάτωσή τους σε τρίτες πλατφόρμες ή εργαλεία. Ενδεικτικά
αναφέρουμε τα ακόλουθα: 

- Kbabel, gtranslator: Παρέχουν πλειάδα features και δυνατοτήτων στο
  μεταφραστή. Ωστόσο παρέχουν ελάχιστες έως μηδαμινές δυνατότητες
  collaboration, προσεγγίζουν το πρόβλημα αποκλειστικά από τη μεταφραστική
  σκοπιά και δεν επιτρέπουν ταυτόχρονη μετάφραση από πολλούς μεταφραστές. 

- Pootle: Συνδυάζει ορισμένα από τα μεταφραστικά features desktop εφαρμογών με
  τη δυνατότητα μερικού collaboration ανάμεσα στους χρήστες τους,
  εξειδικεύοντας σε PO αρχεία. Η ενσωμάτωση του σε άλλες εφαρμογές/πλατφόρμες
  είναι δυσχερής, ενώ επίσης επικεντρώνονται αποκλειστικά στη μετάφραση χωρίς
  να προσεγγίζει τα υπόλοιπα προβλήματα που σχετίζονται με αυτή.

- Transifex, Damned Lies: προϊόντα όπως το Transifex ή το GNOME Damned Lies
  ακολουθούν μια πιο ολιστική προσέγγιση στο πρόβλημα των μεταφράσεων,
  αναγνωρίζοντας πως η αποστολή των μεταφράσεων, η τήρηση συγκεκριμένων
  workflows, η παραγωγή στατιστικών κ.ά. αποτελούν εξίσου σημαντικά κομμάτια
  του προβλήματος με την καθαυτή μεταφραστική διαδικασία. Η ταυτόχρονη
  μετάφραση από πολλά άτομα είναι αδύνατη.

- Rosetta: Η πρόταση της Canonical στις μεταφράσεις, το οποίο είναι κλειστό
  λογισμικό. Ως προϊόν έχει σχεδιαστεί με βάση τις απαιτήσεις και τις
  ιδιομορφίες της διανομής Ubuntu, ενώ η επαναχρησιμοποίησή του από άλλες
  πλατφόρμες είναι αδύνατη.


Στόχοι
------

Στόχος του παρόντος είναι η δημιουργία ενός Web-based Localization application
σε Django.  Η προσφορά του εν λόγω application στην οικογένεια των
μεταφραστικών εργαλείων θα είναι ότι θα μπορεί να λειτουργήσει τόσο ως
standalone application, ιδανικό για χρήση από μικρές ομάδες μεταφραστών και
για γρήγορες μεταφράσεις, όσο και ως addon για οποιοδήποτε Django-based
application. Με τη σύγκλιση όλων των state-of-the-art εργαλεία της κοινότητας
σε Django (GNOME Damned Lies, Transifex, Pootle), η δημιουργία ενός τέτοιου
component θα είναι μεγάλης σημασίας.

Η προσπάθεια για το εν λόγω application θα είναι να γίνει format-agnostic,
ώστε να μπορεί να χρησιμοποιηθεί τόσο για PO αρχεία (πρότυπο format) όσο και
για Mozilla DTD και Property files, κλπ.t

Ειδικότερα, το εν λόγω application θα παρέχει τη δυνατότητα για τα ακόλουθα: 

- Abstraction API για το i18n format των υπό μετάφραση αρχείων
- Υιοθέτηση του παραπάνω API τουλάχιστον για PO αρχεία
- Ισχυρός PO editor μέσω ανάπτυξης περιεχομένου αρχείων και σελιδοποίηση των
  strings
- Δυνατότητα Mark as Fuzzy
- AJAX auto-saving
- Side-by-side editing πολλαπλών PO αρχείων
- Σύστημα σχολιασμού από μεταφραστές για κάθε αρχείο
- Σύστημα αποστολής αρχείων μέσω email
- Υλοποίηση proof of concept save plugin για αποστολή μεταφρασμένου αρχείου με
  e-mail
- Pluggable dictionary για ανάκτηση μεταφράσεων από "λεξικά"
- Dictionary plugin βασισμένο στο DICT πρωτόκολλο
- Dictionary plugin βασισμένο στο google translation API
- Dictionary plugin βασισμένο στην επαναχρησιμοποίηση υπαρχουσών μεταφράσεων
- Rough translation method που θα επιτρέπει την αυτοματοποιημένη (κατά το
  δυνατόν) μετάφραση ενός PO αρχείου
- Απλό validation plugin βασισμένο στην msgfmt


Παραδοτέα
---------

Με το πέρας της εργασίας έχουμε τα εξής παραδοτέα:

- Κώδικας σε Python που υλοποιεί τους παραπάνω στόχους.
- Δημόσιο repository (http://bitbucket.org/glezos/django-poedit/)
- Έτοιμα προς χρήση Python πακέτα στο Python Package Index
- Proof-of-concept ενσωμάτωση σε ένα από τις προαναφερθείσες πλατφόρμες.
- Τεκμηρίωση της εργασίας, Design document & test cases, παροχή οδηγιών για
  ενσωμάτωση σε άλλες Django εφαρμογές.
- Κάλυψη ιστορικού ανάπτυξης μέσω blog posts, twitter κλπ.


Χρονοδιάγραμμα
--------------

- 15/3: 1ο prototype για επεξεργασία PO αρχείων
- 22/3: Ολοκλήρωση του PO abstraction API
- 7/4: Ολοκλήρωση του save plugin framework και των αντίστοιχων proof of
  concept plugins
- 27/4: Ολοκλήρωση των dictionary frameworks, των αντίστοιχων plugins και του
  rough translation method
- 31/4: Ολοκλήρωση του validation framework και των αντίστοιχων plugins
- 15/5: Εκτέλεση tests και καταγραφή προβλημάτων
- 22/5: Επιδιόρθωση προβλημάτων
- 31/5: Ολοκλήρωση regression testing και παράδοση τελικών παραδοτέων


Γιατί εμένα
-----------

Ως Localization Leader στο Έργο Fedora, έχω αναπτύξει το Localization
Infrastructure του έργου, και σε συνεργασία με 500+ μεταφραστές έχουμε
κυκλοφορήσει επιτυχώς 3 releases σε 6 εκατομμύρια χρήστες.

Έχω ανατύξει την πλατφόρμα Transifex, η οποία χρησιμοποιείται από το Έργο
Fedora, και μέσω της οποίας έχουν γίνει 5000 μεταφράσεις λογισμικού. Το
Transifex είναι υπό μελέτη για υιοθέτηση από τα έργα GNOME, Debian, OpenSUSE,
και έχει παρουσιαστεί σε περισσότερα από 10 διεθνή συνέδρια.

Μετά την ολοκλήρωση του εν λόγω έργου, θα φροντίσω να ενσωματωθεί πλήρως στο
Transifex. Ως μέλος του Fedora Board, θα επικοινωνήσω με τις κοινότητες που
έχουν προαναφερθεί, για να προσαρμοστεί η διεπαφή και στις ανάγκες τους.

Στοιχεία: Δημήτρης Γλέζος, Λόντου 28, 6974632169, 125486537, ΔΟΥ Γαλατσίου.