** Description changed:
+ [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 my attached files and put them into po/
+ quickly package --extras
+ sudo dpkg -i ../ubuapp_0.1_all.deb
+ sudo apt-get install language-pack-fr # to create locale
+ # on 12.04, this is the binary path
+ LANGUAGE=fr /opt/extras.ubuntu.com/ubuapp/ubuapp/ubuapp
+ # in my fixed version, this will be the binary path
+ #LANGUAGE=fr /opt/extras.ubuntu.com/ubuapp/bin/ubuapp
+
+ 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.ubuntu.com/appname/share/locale.
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.textdomain('appname')
And this should be changed to the following for apps in extras:
TEXTDOMAIN = 'appname'
LOCALEDIR = '/opt/extras.ubuntu.com/appname/share/locale'
import locale
from locale import gettext as _
locale.bindtextdomain(TEXTDOMAIN, LOCALEDIR)
locale.textdomain(TEXTDOMAIN)
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://askubuntu.com/questions/140552/how-to-make-
glade-load-translations-from-opt
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: quickly 12.04-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-24.37-generic 3.2.14
Uname: Linux 3.2.0-24-generic x86_64
NonfreeKernelModules: nvidia
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)
PackageArchitecture: all
QuicklyDataPath: /usr/share/quickly
QuicklyTemplates:
- /home/dpm/quickly-templates/ubuntu-application-qt
- /usr/share/quickly/templates/unity-lens
- /usr/share/quickly/templates/ubuntu-application
- /usr/share/quickly/templates/ubuntu-flash-game
- /usr/share/quickly/templates/ubuntu-cli
+ /home/dpm/quickly-templates/ubuntu-application-qt
+ /usr/share/quickly/templates/unity-lens
+ /usr/share/quickly/templates/ubuntu-application
+ /usr/share/quickly/templates/ubuntu-flash-game
+ /usr/share/quickly/templates/ubuntu-cli
QuicklyTemplatesDirectories:
- /home/dpm/quickly-templates
- /usr/share/quickly/templates/
+ /home/dpm/quickly-templates
+ /usr/share/quickly/templates/
SourcePackage: quickly
UpgradeStatus: No upgrade log present (probably fresh install)
** Attachment added: "fr.po"
https://bugs.launchpad.net/ubuntu/+source/quickly/+bug/1003818/+attachment/3170814/+files/fr.po
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1003818
Title:
Translations are not loaded when packaging for extras
To manage notifications about this bug go to:
https://bugs.launchpad.net/quickly/+bug/1003818/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs