ubiquity slideshow doesn't support RTL

Bug #446989 reported by Liel Fridman
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Fix Released
Medium
Unassigned
ubiquity-slideshow-ubuntu (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: ubiquity

When I installed ubuntu 9.10 beta in Hebrew, I saw that the slideshow isn't in RTL. I have an RTL CSS file for the slideshow, but I don't know how to switch between RTL and LTR CSS files.

ProblemType: Bug
Architecture: i386
Date: Fri Oct 9 08:49:54 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: ubiquity (not installed)
ProcEnviron:
 LANG=he_IL.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-12.39-generic
SourcePackage: ubiquity
Uname: Linux 2.6.31-12-generic i686
XsessionErrors:
 (gnome-settings-daemon:4029): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:4029): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (polkit-gnome-authentication-agent-1:4145): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (nautilus:4128): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed

Revision history for this message
Liel Fridman (lielft-deactivatedaccount) wrote :
Revision history for this message
Liel Fridman (lielft-deactivatedaccount) wrote :

My RTL CSS file is attached here.

Revision history for this message
Dylan McCall (dylanmccall) wrote :

Okay, I'm linking a branch with rtl support. I don't speak any right-to-left languages, so could you let me know if it looks right? I have attached a screenshot in Hebrew :)

The next step has to be done in Ubiquity, which can hopefully append #rtl to tell the slideshow that it needs to use right to left mode.

Err, any chance you could do that, if it's possible, Evan?

Changed in ubiquity-slideshow-ubuntu (Ubuntu):
status: New → In Progress
Revision history for this message
Liel Fridman (lielft-deactivatedaccount) wrote :

It looks right.

Evan (ev)
Changed in ubiquity (Ubuntu):
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
John Gilmore (gnu-gilmore) wrote :

Bug #222845 (Wrong installer direction when an RTL language is selected) is related, but is not a duplicate.

Changed in ubiquity-slideshow-ubuntu (Ubuntu):
assignee: nobody → lielf (lielft)
Changed in ubiquity (Ubuntu):
assignee: nobody → lielf (lielft)
Changed in ubiquity-slideshow-ubuntu (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Dylan McCall (dylanmccall) wrote :

lielf, this is fixed in ubiquity-slideshow. The patch was pushed to trunk a few days ago. It was not fixed in the slideshow (rather, its fix depends on Ubiquity's fix) since the surrounding text is all LTR anyway, so that could look pretty awful.

The remaining portion of this lies in Ubiquity, which needs to detect whether to use RTL or not. The problem Evan has been running into is that there is no particularly easy way to detect whether a language is RTL or LTR using the existing APIs. GTK does so when it first loads by checking its own translations for a string that says either "Direction:RTL" or "Direction:LTR". Ubiquity could do the same thing as GTK, but the smoother (and lower maintenance) approach is to centralize that kind of information somehow.

At any rate, we have until Lucid to figure something out. Any ideas are appreciated :)

Revision history for this message
Liel Fridman (lielft-deactivatedaccount) wrote :

Hello Dylan,

I think it's possible to switch between RTL and LTR directly by the Glibc locale.

I changed the slideshow and now it works (Only for Hebrew and Arabic, but this can by changed easily).

Can I upload my changes to a branch?

Revision history for this message
Dylan McCall (dylanmccall) wrote : Re: [Bug 446989] Re: ubiquity slideshow doesn't support RTL

> I changed the slideshow and now it works (Only for Hebrew and Arabic,
> but this can by changed easily).
>
> Can I upload my changes to a branch?

Go ahead. Are these changes to the existing rtl-support branch
attached to this bug report? Just out of curiousity; since I don't
speak any RTL languages, what was missing in there? (I had basically
flipped _everything_ to flow in the opposite direction).

Revision history for this message
Liel Fridman (lielft-deactivatedaccount) wrote :

When I tested ubuntu 9.10 final in Hebrew, the slideshow wasn't in RTL.

Changed in ubiquity-slideshow-ubuntu (Ubuntu):
status: Fix Committed → In Progress
Changed in ubiquity-slideshow-ubuntu (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Dylan McCall (dylanmccall) wrote :

A fix is definitely committed. If you check out the commit history on lp:ubiquity-slideshow-ubuntu, you will see how to run it. The final release for Karmic did not have the fix, because it's down to Ubiquity to have its own RTL issue resolved. (Naturally, since it's the installer, it would have been a bad idea to make that kind of change between an RC and the final release).
The one that landed in Karmic is release #10, which is tagged in the bzr history on revision 175.

So, sorry about the lack of a fix for Karmic, but on the slideshow's end a fix is in trunk and good to go for Lucid.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.1.0

---------------
ubiquity (2.1.0) lucid; urgency=low

  [ Evan Dandrea ]
  * Run X with -nolisten tcp (LP: #462394).
  * Make sure we never try to install onto the live filesystem.
  * Only print the filenames being blacklisted if in debug mode.
  * Provide human readable sizes in the partitions-too-small warning
    (LP: #298974).
  * Mark the "Installation Complete" window as always on top
    (LP: #462178).
  * Fixes from Pychecker for the KDE frontend (kde_ui):
    - Don't import datetime or math. The timezone code is in a separate
      module now.
    - Remove some unused variables.
    - Don't assign to a variable that's going to be immediately discarded.
  * Signal to GTK+ when using a right-to-left language, so that it
    composes the interface from right to left (LP: #222845).
  * Signal to the slideshow when the installer is using a right-to-left
    language (LP: #446989).
  * Set SUDO_UID and SUDO_GID in ubiquity-dm so ubiquity knows what user
    to drop privileges to (LP: #422254).
  * Do not try to configure networking in oem-config (LP: #471498).
  * Make migration-assistant import failures non-fatal to the overall
    install.
  * pkgsel now provides a debconf question to avoid warning the end user
    when the language packs could not be installed (LP: #471553).
  * Make sure a device exists as part of the grub target device
    validation.
  * Allow the user to retry grub installation with a different device on
    failure.
  * Automatic update of included source packages: apt-setup
    1:0.42ubuntu1, choose-mirror 2.29ubuntu2, clock-setup 0.100ubuntu1,
    debian-installer-utils 1.71ubuntu1, grub-installer 1.47ubuntu1, hw-
    detect 1.73ubuntu1, netcfg 1.51ubuntu1, partman-base 135ubuntu1,
    tzsetup 1:0.26ubuntu1, user-setup 1.28ubuntu1.

  [ Colin Watson ]
  * Add a debian/rules target to run pychecker. I've fixed several warnings,
    but there are still several left so this is not yet enabled by default.
  * Fix debconf frontend:
    - Start oem-config on stopping rc, as well as when starting display
      managers.
    - Add some missing imports (ubiquity.frontend.base.Controller,
      ubiquity.plugin.Plugin, ubiquity.i18n, signal,
      ubiquity.components.install).
    - If there's a containing debconf frontend, talk to it rather than using
      debconf-communicator.
    - Set a controller in the language plugin.
    - Use spaces rather than ${!TAB} in localechooser when using the debconf
      frontend, since debconf doesn't support the latter yet.
    - Don't handle user-setup preseeding for the debconf frontend.
    - Remove unused progress_position handling.
    - Fix exception names in ubi-network and ubi-tasks.
  * Require Python 2.5, so we can now use hashlib rather than md5 and avoid
    a slew of warnings.
  * Add an intro message noting that we're alpha again.
 -- Evan Dandrea <email address hidden> Fri, 13 Nov 2009 10:41:42 +0000

Changed in ubiquity (Ubuntu):
status: Confirmed → Fix Released
Changed in ubiquity (Ubuntu):
assignee: lielf (lielft) → nobody
Changed in ubiquity-slideshow-ubuntu (Ubuntu):
assignee: lielf (lielft) → nobody
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity-slideshow-ubuntu - 11

---------------
ubiquity-slideshow-ubuntu (11) lucid; urgency=low

  [ Dylan McCall ]
  * Adding support for right-to-left languages (LP: #446989).
  * When #rtl is appended to URL, index.html will load the rtl.css
    stylesheet via Javascript.
  * Added link/rtl.css and link/bullet-point.rtl.png, which are
    responsible for little hacks to get right-to-left languages
    looking right.
  * Changed doctype of index.html to HTML5.
 -- Evan Dandrea <email address hidden> Thu, 10 Dec 2009 10:25:01 +0000

Changed in ubiquity-slideshow-ubuntu (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Yaron (sh-yaron) wrote :

Wish this one was fixed a bit earlier...
Anyways thank you all and keep up the good work!

Revision history for this message
Ddorda (ddorda) wrote :

The bug is still relevant for Xubuntu!

Revision history for this message
Dylan McCall (dylanmccall) wrote :

Yep, I can confirm that. Thanks, Ddorda :)
Created a new bug report for you, bug #560220

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.