Maintainer workflow is awful; push translations to/from bzr
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I think bits and pieces of this wishlist bug are elsewhere, but I didn't see them all in one place. I'd like to address the workflow for third-party maintainers (not Ubuntu packagers, for whom I assume the existing workflow was designed).
First, let me review other translation groups' workflows:
Translation Project (http://
Upload .pot:
1. make dist
2. Send email to a certain address with URL of the tarball (possibly pre-release)
Download .po's:
1. rsync -Lrtvz translationproj
2. Notice any new languages, update po/LINGUAS
3. Update po/ChangeLog
GNOME (http://
Upload .pot:
1. N/A - translators have SVN access and generate .pot themselves
Download .po's:
1. svn update - translators update LINGUAS and ChangeLog themselves
Both of the above are pretty decent. Here's Rosetta's:
Upload .pot:
1. make dist
2. Go to web interface, upload tarball
Download .po's:
1. Go to web interface, request tarball of .po's
2. Wait for email
3. Download tarball of .po's, extract
4. Rename each po file (they come in as DOMAIN-LANG.po)
5. Note new po files, update po/LINGUAS
6. Update po/ChangeLog
Obviously, that sucks. And it's not in the least automatible (e.g. you can't have a Makefile rule that gets the translations).
Here's my desired workflow:
Upload .pot:
1. bzr push
Download .po's:
1. bzr merge
I'd like rosetta (since the maintainer already attaches a series to a set of translations, and series have main bzr branches) to automatically pull .pot files from the attached branch (if it's there, else as now wait for maintainer to upload). When a translator makes a change, rosetta should push that change back into the bzr branch. It can add a little note in po/ChangeLog and keep po/LINGUAS in sync. This would be a best-of-class experience for a maintainer. Even better than GNOME's since the maintainer doesn't have to open source control to every translator, and doesn't have to trust them to make good ChangeLog entries or properly update LINGUAS.
Rosetta should also notice changes to any .po files and pull them in (in case maintainer corrects small changes, runs intltool-update, or merges translations from a different source).
Pretty please?
Thanks for the report. We actually want to implement this and we've started a write-up at: https:/ /blueprints. launchpad. net/rosetta/ +spec/rosetta- translates- branch (we still have no exact plans when are we going to do it).
Also note that we are going to implement APIs which will allow automating at least some parts of this.
We also have more bugs about this (like bug 229224), and we mark the all "Invalid" because we prefer to use blueprints to manage this task (I've still linked the blueprint to this bug so your comment is considered once we get to implementing it).