Translations are not loaded when packaging for extras
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Quickly |
Fix Released
|
Undecided
|
Unassigned | ||
quickly (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
The commands 'quickly package --extras' and 'quickly submitubuntu' do not create debian packages that can load their shipped translations.
So those two commands which are used for ARB submission, will regress translation support compared to normal packages. Since we want to encourage ARB submission where appropriate, having such a bug would be unfortunate.
[Test Case]
cd /tmp
quickly create ubuntu-application ubuapp
# close opened window
cd ubuapp
mkdir po
# Download the attached files 'fr.po', 'POTFILES.in', and 'ubuapp.pot' and put them into po/
quickly package --extras
sudo dpkg -i ../ubuapp_
sudo apt-get install language-pack-fr # to create locale
# on 12.04, this is the binary path
LANGUAGE=fr /opt/extras.
# in my fixed version, this will be the binary path
#LANGUAGE=fr /opt/extras.
Notice that the title will be "Ubuapp" in the unfixed version. But will be "French Ubuapp" in my fixed version.
[Regression Potential]
My fix carefully only affects the --extras path (which is also used for submitubuntu). I intentionally chose an ugly way to fix this so that I could only affect that path and not regress anything else.
In 12.10, my hope is to eventually implement a non-ugly fix. But I'm confident this will only affect users of --extras.
[Original Report]
Both 'quickly package --extras' and 'quickly submitubuntu' correctly install translations for applications in /opt/extras.
However, there is an additional step required to make applications to actually use those translations at runtime: use the bindtextdomain() call to specify that they should be loaded from /opt instead of /usr/share/locale.
Quickly's gettext setup is originally:
import gettext
from gettext import gettext as_
gettext.
And this should be changed to the following for apps in extras:
TEXTDOMAIN = 'appname'
LOCALEDIR = '/opt/extras.
import locale
from locale import gettext as _
locale.
locale.
Notice the use of the locale module (Python's C gettext API) instead of the gettext module (pure Python gettext API). This is needed to make Gtk.Builder() load translations in /opt.
I wonder whether the gettext initialization could be moved to a single place/module, rather than added to each .py file as it is done now. This would probably help if the implementation of 'quickly package --extras' or 'quickly submitubuntu' would rely on adding a patch to modify those lines of code or simply do text substitution.
This still does not take care of the translations for schemas and PolicyKit files in /opt (they should be filed as separate bugs), but at least gets us 90% there in being able to run localized apps from /opt
See more details on http://
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: quickly 12.04-0ubuntu1
ProcVersionSign
Uname: Linux 3.2.0-24-generic x86_64
NonfreeKernelMo
ApportVersion: 2.0.1-0ubuntu7
Architecture: amd64
Date: Wed May 23 23:35:20 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Alpha amd64 (20110319)
PackageArchitec
QuicklyDataPath: /usr/share/quickly
QuicklyTemplates:
/home/
/usr/share/
/usr/share/
/usr/share/
/usr/share/
QuicklyTemplate
/home/
/usr/share/
SourcePackage: quickly
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Michael Terry: Approve
-
Diff: 21 lines (+11/-0)1 file modifieddata/templates/ubuntu-application/internal/packaging.py (+11/-0)
Changed in quickly: | |
status: | New → Fix Committed |
Changed in quickly: | |
milestone: | none → 12.05 |
Changed in quickly: | |
status: | Fix Committed → Fix Released |
This bug was fixed in the package quickly - 12.05-0ubuntu1
---------------
quickly (12.05-0ubuntu1) quantal; urgency=low
* New upstream release
- Fix ubuntu-flash-game backend to work (LP: #1007086)
- For ubuntu-cli and ubuntu-flash-game, don't keep warning about
upgrading the project to use PyGI, even on fresh projects
(LP: #1007006)
- Fix 'package --extras' and 'submitubuntu' to create packages suitable
for the ARB process again (LP: #1003818, LP: #998910, LP: #1002417)
-- Michael Terry <email address hidden> Thu, 31 May 2012 15:25:44 -0400