** 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

Reply via email to