Need to reboot the phone to have it pick up a new language setting

Bug #1240875 reported by Oliver Grawert
44
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Invalid
Undecided
Unassigned
ubuntu-system-settings (Ubuntu)
Fix Released
Critical
Jonas G. Drange

Bug Description

in ubuntu touch, if you select a language via system-settings, the settings app itself as well as all other newly started apps pick up the translations for their UI. unity itself does stay in english though.

Related branches

Revision history for this message
Oliver Grawert (ogra) wrote :

a reboot brings up the whole UI in the right language

Revision history for this message
Sebastien Bacher (seb128) wrote :

Right, changing languages dynamically in running softwares is not something easy to do (we never managed to get that working on the desktop either).

Matthew, could you suggest a design-workaround (should be display a "you need to reboot to apply that setting" with a "reboot" button)?

Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Matthew Paul Thomas (mpt)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu-system-settings (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
Revision history for this message
Gerry Boland (gerboland) wrote :

I see SDK reads the LANGUAGE variable on startup, but also lets the language be set in QML. However I'm not sure if changing language during run time actually works, I'd need to check it. It should be possible though.

My question would be: what notifies an app of the language change? A dbus signal? The SDK would need to listen for that event.

Revision history for this message
Tim Peeters (tpeeters) wrote :

I remember if the i18n.language value changes in the app, it updates the translations in the app immediately.
I don't know what the system settings changes though. Maybe only an environment variable of which the change is not picked up by the apps?
.

Revision history for this message
Tim Peeters (tpeeters) wrote :

note that when this change goes in https://code.launchpad.net/~kalikiana/ubuntu-ui-toolkit/xdglocale/+merge/188359 not just LANGUAGE matters, but any gettext settings.

Revision history for this message
David Planella (dpm) wrote :

So it seems that for Qt apps, unlike in GTK+ apps, setting i18n.language changes the language on-the-fly, which is quite cool.

Now the question is, once the settings app changes the language, is there a way to let all other apps know that the language has changed and thus get their translations switched on-the-fly too?

David Planella (dpm)
tags: added: avengers
Revision history for this message
William Hua (attente) wrote :

Hi, just to revisit this, Sebastien is right: doing dynamic translation across all apps is unlikely to happen. Most apps won't be able to access accountsservice where the permanent changes occur, and even if we could get that working, translation would only work for static strings only in QML files. The app developer would have to implement it manually in all other cases.

Revision history for this message
Oliver Grawert (ogra) wrote :

Well, i kind of expect us to have a "first start Wizard" that will set the Users Name, Timezone, Keyboard layout and Language. how would we solve this issue there ? By forcing a reboot ? By re-starting the shell etc ...

Revision history for this message
Michał Sawicz (saviq) wrote : Re: [Bug 1240875] Re: Need to reboot the phone to have it pick up a new language setting

On 28.02.2014 11:03, Oliver Grawert wrote:
> Well, i kind of expect us to have a "first start Wizard" that will set
> the Users Name, Timezone, Keyboard layout and Language. how would we
> solve this issue there ? By forcing a reboot ? By re-starting the shell
> etc ...

Yeah, I think (re)starting the session after changing language is the
only real solution, isn't it?

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

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: New → Confirmed
Revision history for this message
Michał Sawicz (saviq) wrote :

We have the wizard now, so things work as expected on first boot. I don't think we should spend any time on live-switching locales (except maybe for 12h/24h clock?), as it's not something you ever really do on your phone.

The settings app should probably just recommend a reboot/session restart after you change your locale and warn that if you skip that you'll only see newly started software in the new language?

Revision history for this message
Iain Lane (laney) wrote :

Yes, I think this is the change we need - some kind of indication to the user that changes will be applied after a reboot.

Changed in apparmor-easyprof-ubuntu (Ubuntu):
importance: Undecided → Medium
Changed in ubuntu-system-settings (Ubuntu):
importance: Undecided → Medium
Changed in unity8 (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Víctor R. Ruiz (vrruiz) wrote :

This needs to be addressed, it's really important that the user knows what to do. By the way, the power dialog doesn't have an option to reboot, just to power off.

Changed in ubuntu-system-settings (Ubuntu):
importance: Medium → Critical
tags: added: qa-daily-testing rtm14 touch
Revision history for this message
Michał Sawicz (saviq) wrote :

That above is bug #1358197...

Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

assign to jonas to add the warning to the user to reoboot after changing language

tags: added: touch-2014-09-04
Changed in ubuntu-system-settings (Ubuntu):
assignee: Matthew Paul Thomas (mpt) → Jonas G. Drange (jonas-drange)
Changed in ubuntu-system-settings (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
Tim Peeters (tpeeters) wrote :

so this is a system-settings / unity8 bug. Marking as invalid for UITK.

Changed in ubuntu-ui-toolkit:
status: New → Invalid
Michał Sawicz (saviq)
Changed in unity8 (Ubuntu):
status: Confirmed → Invalid
Revision history for this message
Ken VanDine (ken-vandine) wrote :

Perhaps we should include a reboot button in the dialog?

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Yes, please include a "Restart Now" button, opposite a "Cancel" button that reverts the language change.

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

This bug was fixed in the package ubuntu-system-settings - 0.3+14.10.20140904-0ubuntu1

---------------
ubuntu-system-settings (0.3+14.10.20140904-0ubuntu1) utopic; urgency=low

  [ Andrea Cimitan ]
  * Various fixes for wifi wizard page (LP: #1362296)

  [ Sebastien Bacher ]
  * [security] don't mark "%1" string as translatable
  * [security] give a translation context to the 'None' string (LP:
    #1362143)
  * [licenses] display an error when the copyright can't be read (LP:
    #1206150)

  [ Michael Terry ]
  * Avoid another race condition when switching password types by
    completing all DBus operations synchronously as we exit the
    policykit agent. LP: 1361137 (LP: #1361137)
  * Fix the OSK not working on first boot. When the wizard closes, shut
    down maliit-server and the indicators so that unity8 can start them
    itself. LP: 1362679 (LP: #1362679)

  [ jonas-drange ]
  * [about] print out phone numbers for dual sims as well
  * [about/wifi] adding mac addresses for bt and wifi, and ip for wifi
    (LP: #1356239)
  * [language] explain to the user that a reboot is necessary for the
    change to take effect (LP: #1240875)
 -- Ubuntu daily release <email address hidden> Thu, 04 Sep 2014 00:59:05 +0000

Changed in ubuntu-system-settings (Ubuntu):
status: In Progress → Fix Released
no longer affects: unity8 (Ubuntu)
no longer affects: apparmor-easyprof-ubuntu (Ubuntu)
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.