[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-i18n-doc
Subject:    Re: The poascribe.py script
From:       Chusslove Illich <caslav.ilic () gmx ! net>
Date:       2008-12-06 22:36:58
Message-ID: 200812062336.58785.caslav.ilic () gmx ! net
[Download RAW message or body]


> [: Karl Ove Hufthammer :]
> There is a script called poascribe.py (in the pology scripts folder for
> summits) that looks very interesting and potentially useful, though I'm
> not sure exactly what it does.

I too am not *exactly* sure what it does, or rather, should do :) It's an
ongoing experiment. Generally speaking, the script's purpose is to
streamline translation reviews. I designed it backwards from the initial set
of review scenarios I imagined as useful, in a way that new scenarios can be
easily supported.

Simple example would be translators' cross-review: I want to review messages
(in an arbitrary group of PO files) that were neither translated by me nor
reviewed by anyone else, since the last time they were modified (translated
_from scratch, unfuzzied, etc.) I will then issue one poascribe.py command
line to add #, review flag to all such messages, go through PO files
reviewing flagged messages and modifying where necessary (removing #, review
flag along the way), and then issue another poascribe.py command to, well,
ascribe messages to myself as reviewed or modified.

More specific review scenario is the following. Imagine I consider myself
the "primary translator" of a given collection of PO files (e.g. a KDE core
module), but other translators help out from time to time, updating
translation of those PO files, when I didn't have time to do it myself.
Then, after some months have passed and I get the time, I want to review all
messages that were modified by someone else since I last modified or
reviewed them. And aside from review flag attached, I want to have the diff
of both translation and of *original* text. E.g. if the message was when
I've translated it:

  #: foo.cpp:123
  msgid "Do you really want to delete this directory?"
  msgstr "Želite li zaista da obrišete ovaj direktorijum?"

and in the meantime it changed and someone else unfuzzied it to:

  #: foo.cpp:123
  msgid "Do you really want to delete this folder?"
  msgstr "Želite li zaista da obrišete ovu fasciklu?"

then a run of poascribe.py will produce for me:

  #: foo.cpp:123
  #, review
  #| "Do you really want to delete this {+folder+}{-directory-}?\n"
  #| "==========\n"
  #| "Želite li zaista da obrišete {+ovu fasciklu+}{-ovaj direktorijum-}?"
  msgid "Do you really want to delete this folder?"
  msgstr "Želite li zaista da obrišete ovu fasciklu?"

(with Kate giving me highlight of {+...+} and {-...-} sections).

Third scenario would be preemptive review, producing same diff as above for
an updated PO freshly received from a contributor, which I then review
before I commit it (like one would do with Lokalize's sync mode).

And so on. (I.e. currently I've no idea of other scenarios, but they'll
doubtless pop up.)

But the script is new to the point that the first scenario above I didn't
yet try at all in practice (had no time for review since inception of the
script :), and the example output of second scenario in reality also adds
superfluous fuzzy flag (which is less than obvious how and if to fix). Also,
the ascription workflow (when to ascribe, what to ascribe, to whom to
ascribe, when to commit...) still needs some streamlining, and even the
command line usage is not exactly converged to final forms (so I gave no
command line examples).

So I estimate at least another half a year or so until I can say "it's
ready" and document it...

-- 
Chusslove Illich (Часлав Илић)
Serbian KDE translation team

["signature.asc" (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic