** Attachment added: "ubuapp.pot"
https://bugs.launchpad.net/ubuntu/+source/quickly/+bug/1003818/+attachment/3170816/+files/ubuapp.pot
** 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/
+ # Download the attached files 'fr.po', 'POTFILES.in', and 'ubuapp.pot' 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
QuicklyTemplatesDirectories:
/home/dpm/quickly-templates
/usr/share/quickly/templates/
SourcePackage: quickly
UpgradeStatus: No upgrade log present (probably fresh install)
--
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