indiv-screenlets-dev team mailing list archive
-
indiv-screenlets-dev team
-
Mailing list archive
-
Message #00043
About generating the translations and packaging the individual screenlets
Further on I'd like to know 2 things:
1. How are the translations generated
2. How is the project packed as deb. Automatically or do I have to do
something about it to update it in the repository.
=================
TRANSLATIONS are generated with running the ./potfiles.sh script from
the project root directory (usually it works fine). It needs gettext,
pygettext and diff utilities to be installed. You update source tree
from Bazaar, run ./potfiles.sh and commit the changes to Bazaar again.
This should update/generate the translation templates.
Potfiles.sh should create or update all the translation files according
to gettext decorations found in all python files in all the individual
screenlets source directories. Gettext translation templates (POT files)
are generated to /src/WhateverScreenlet/po/whatever-screenlet.pot and
when the file is commited/pushed into Launchpad project, Launchpad uses
its Rosetta translations system to import and manage translations from
Web interface at https://translations.launchpad.net/indiv-screenlets.
See also
http://www.screenlets.org/index.php/Documentation#Translate_to_your_language.
When importing new POT file into Launchpad, usually it takes something
from 15 minutes to couple of hours to generate translation pages for the
new POT. If you update a POT file and commit/push it, this should not
usually take more than 15 min to be imported into Rosetta. Documentation
for translations on Launcpad can be found at:
https://translations.launchpad.net/+help/getting-started-for-your-project.html
When POT file is imported, then you should preferably use Launchpad
interface to deal with translations. You have option to download
translation catalog (PO file) from Launchpad and edit the file and
upload it again to Launchpad. You have also an option to edit
translation strings directly from the web interface. This is a matter of
preference, you can use both (but to avoid conflicts, not at the same
time, using both at the same time will give you warnings from Launchpad).
Additionally, you can edit translation files also from the source tree
of Bazaaar indiv-screenlets project, but then you have to pay attention
not overwriting some other peoples changes who may be simultanously
using the web interface. Editing directly from Bazaar branch may not
give warnings, files are just overwritten.
Before commiting anything to Bazaar (or before making changes) it is
good practise to pull in latest changes (bzr pull in source directory).
This way you avoid conflicts and unnecessary merges with other
developers changes.
DEBIAN packages for the project are by now automatically generated on a
server of Estonian IT College which is dedicated to Estobuntu distro.
Since Screenlets is its upstream project, we can use this server to
generate the packages (however I cannot provide logins to the server).
If no errors occur, the packages should be generated every 24h and
uploaded to Launchpad Screenlets developers PPA at
https://launchpad.net/~screenlets-dev/+archive/ppa. By now there is no
way to debug the generation process, but if it is needed, I can forward
the generation logs to mailing list or something like that.
However, you can test the correctness of your screenlet for generating
Debian package with the utility included in Screenlets. This is called
screenlets-debianizer and is part of Screenlets. It works the same way
as screenlets-packager, but needs a lot of debuild dependencies to run,
see
http://www.screenlets.org/index.php/Documentation#Packaging_a_screenlet
for some hints. You can also see the python source of
screenlets-debianzer, if you want to adapt something or see more debug
information. If screenlets-debianizer succeeds, it is highly probable
that also automatic generation for Launchpad succeeds and packages will
be on PPA in 24h. Since the server runs in text mode, the screenlet
class must be importable without initializing GTK or X graphics (usually
it is, but if there are problems, this is a good thing to look for). The
same goes for some exotic modules, which need to be imported for the
screenlet.
Notice that any changes to individual screenlet Debian package
(whatever-screenlet Debian package) will be uploaded to Launchpad PPA
only when version number of Screenlet is increased. However, screenlet
packs (screenlet-pack-all, screenlet-pack-basic etc) are updated from
the latest snapshot of source tree, so for upating screenlet packs
increasing the version number is not needed.
There will be separate PPA for stable versions of Screenlets at:
https://launchpad.net/~screenlets/+archive/ppa
Guido T