Re: [Tails-dev] Make all .desktop-files translatable in Tran…

Nachricht löschen

Nachricht beantworten
Autor: intrigeri
Datum:  
To: The Tails public development discussion list
Betreff: Re: [Tails-dev] Make all .desktop-files translatable in Transifex
Hi,

winterfairy@??? wrote (08 Dec 2013 11:54:32 GMT) :
> I just filed ticket #6470, https://labs.riseup.net/code/issues/6470:


Nice catch.

> Implementing the same tricks we already do in the Tails main repository,
> using intltool to translate the desktop files, may not be that easy to do
> in the other repositories.


I acknowledge it may not be easy, especially since almost each such
piece of software (but the Perl ones, that are consistent with each
other) uses a slightly different build system.

> I tried doing it with persistence-setup, but
> got stuck since I couldn't easily modify the build-script to generate the
> desktop files.


> It would be much easier to just move all these desktop files over to the
> main Tails repository, just like the tails-upgrader.desktop file already
> is, and just add them to the current translation workflow for desktop
> files.


FTR, tails-upgrader.desktop is kinda special as it runs the program
under a dedicated user that is created at Tails build time. That's why
it is not in the iuk repo. But anyway you're right, that one could
easily be added to the general refresh-translations scheme as-is.
It was missed since it was created in its own branch, before the rest
of our stuff was intltoolize'd, and we didn't notice it when merging
the branch.

WhisperBack is not meant to be Tails-specific, so I'm quite opposed to
moving its .desktop file out of its repository. It already use
intltool a bit (via build_i18n), so it may not be that hard for this
one. I've pushed a feature/intltoolize branch for WhisperBack to start
with, that currently only intltoolize's the .desktop. Left to do is
integration with intltool-update and intltool-merge. We're already
missing the former for the Git-using languages anyway (unless I'm
mistaken, we have no documented step anywhere to merge the updated
.pot into these languages' .po), so extracting the .desktop would
actually not save much work: we would have to integrate deeper with
intltool-* in this repositories at some point. It might be that
switching to DistUtilsExtra.auto would do the job for free; see e.g.
https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/indicator-weather/trusty/files,
that apparently i18n'izes its .desktop.in this way.

liveusb-creator uses a Makefile + distutils + an old mki18n.py from
2003. The i18n stuff is run from the Makefile, and implemented in
mki18n.py; presumably adding the 2 or 3 missing intltool-* commands in
there should be doable. It may even be that a newer version of
mki18n.py already does this. I admit that one is tricky to do "the
right way", though, and I don't think it's worth the effort. Given we
only care about liveusb-creator-launcher.desktop, that's pretty much
Tails-specific, I would not be opposed to see it moved into the main
Tails repository (and renamed to tails-installer.desktop, while we're
at it).

To end with, I don't expect the Perl ones, using Dist::Zilla, to be
easy: things like .desktop files have no strong roots in the Perl
world, contrary to Python. I would be glad to have a deeper look at
these one of these days. Feel free to create a dedicated sub-task of
#6470 and assign it to me.

> If this is an acceptable solution, I can implement it now. What do you think?


To sum up my thoughts:

* liveusb-creator-launcher.desktop: yes
* tails-upgrader.desktop: can be integrated as-is
* WhisperBack: no, IMHO it should be done in its own repo
* Perl programs: I'll have a look later

How about you create sub-tasks of #6470 for each of those, and start
with the easiest ones (installer and upgrader)?

Cheers,
--
intrigeri
| GnuPG key @ https://gaffer.ptitcanardnoir.org/intrigeri/intrigeri.asc
| OTR fingerprint @ https://gaffer.ptitcanardnoir.org/intrigeri/otr.asc