On 2016-03-10 21:35, Karl Ove Hufthammer wrote:
Carlos E. R. skreiv 10. mars 2016 19:20:
But not against the source tree the devs use, but your own, for translation, right?
Originally, it was the same source tree, and every KDE contributor (including translator coordinators) had commit access (except for certain directories).
Aha.
What about different releases, how are they handled?
KDE currently has *four* branches, which we can call (slightly simplifying the names) KDE 4 stable, KDE 4 trunk, KDE 5 stable and KDE 5 trunk. Each application exists in one or more of these.
From what I’ve understood (I haven’t developed a KDE application myself), it’s the application developer’s responsibility to define (using a Web interface, I think) which branch (and source repository?) the above branches correspond to. Typically, ‘trunk’ is set to a ‘master’ branch, while the ‘stable’ version is set to ‘release-xx’ branch (which change over time). The translation template files are automatically extracted from the source repository (using a special script in the source repository).
The translators can choose to work on each branch (stored as a separate *directory* on the SVN server) separately (or perhaps just on the two stable branches), or in a special directory which (basically) contains the union of the files from each branch (so when you translate app.po, it will contain all the strings for ‘app’ which exist in at least on branch), using the ‘summit’ framework described here: http://pology.nedohodnik.net/doc/user/en_US/ch-summit.html
I see. Very nicely done.
It gets a nuisance when your working copy doesn't match the copy on the svn.
Are you thinking of the case that the PO file has been merged with an updated template file while you had uncommited changes? Yes, that’s one reason to run the merging script yourself.
Yes, exactly.
(Though even if you have a conflict, it’s less of a problem than people make it out to be; you would just answer ‘mine-full’ or ‘theirs-full’ when svn asks how you want to handle the conflict.)
Yes. I do mine full, then do a merge from the pot to get the modified/new/deleted strings. This might be automated, I guess. -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" at Telcontar)