Page MenuHomePhabricator

App language should replace system language
Closed, DeclinedPublic

Description

The Android app considers the following language inputs:

  • Device language
  • App / site language
  • Article language

This task encompasses the work necessary to eliminate the distinction between app and system language with the following tenets:

  • If the app language has never been set by the user, app language is system language (current behavior)
    • All other references to system language are removed
  • All app UI except page content is localized to app language
  • All page content UI is localized to the page language which may or may not match app language (current behavior)

We already have several examples of UI localization differing from system locale including all ViewTests and page UI. The resolution of this task should include a clean pattern of implementation that easily applied to new views

Event Timeline

Matanya created this task.Aug 3 2016, 6:57 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 3 2016, 6:57 PM
Niedzielski renamed this task from Localize app based on app and article language, not system language to App language should replace system language.Nov 15 2016, 9:59 PM
Niedzielski triaged this task as High priority.
Niedzielski updated the task description. (Show Details)
Niedzielski removed the point value for this task.

Change 338064 had a related patch set uploaded (by Niedzielski):
Update: use app language for UI

https://gerrit.wikimedia.org/r/338064

Niedzielski changed the task status from Open to Stalled.Feb 23 2017, 3:15 AM

All app UI except page content is localized to app language

This work is complete in the referenced patch and +1'd

If the app language has never been set by the user, app language is system language (current behavior)

  • All other references to system language are removed

This work is incomplete as this task was written under the misconception that the app language is only _initially_ set to the system language. In actuality, the app language _always_ follows the system language unless the user explicitly changes the app language to deviate. However, if the user later changes their app language again to match, the system language following behavior is restored

I personally think the system language following behavior is a good idea if the user never chooses a language explicitly. My preference then would be to:

  1. Close out this task
  2. Open a new task to add a "use system language" language entry that matches today's behavior for the special code null / @null. The app will initially be set to this option. The effect would be that if the user's system language was Japanese and they chose "use system language," or never explicitly changed their app language, Japanese would be used
  3. Open a new task to remove the system language following conversion logic for when the app language happens to match the system language. The effect of this would be to _not_ follow the system language even if the app language matched. In other words, if the system language is Japanese and the user selects Japanese then later changes their system language to Russian, the app language will still persist as Japanese. This fixes the initial dilemma of today's current behavior

There's some related discussion in this related patch (and I can probably dig up some earlier ones too if it'd be helpful): https://gerrit.wikimedia.org/r/#/c/333690/

Change 338064 merged by jenkins-bot:
Update: use app language for UI

https://gerrit.wikimedia.org/r/338064

Change 341562 had a related patch set uploaded (by niedzielski; owner: sniedzielski):
[apps/android/wikipedia] Revert "Update: use app language for UI"

https://gerrit.wikimedia.org/r/341562

Niedzielski removed Niedzielski as the assignee of this task.Mar 7 2017, 7:31 PM
Niedzielski added a subscriber: Niedzielski.

This task needs redefinition and is not currently being worked on.

Change 341562 merged by jenkins-bot:
[apps/android/wikipedia] Revert "Update: use app language for UI"

https://gerrit.wikimedia.org/r/341562

RHo closed this task as Declined.Mar 15 2018, 1:48 PM
RHo added a subscriber: RHo.

Closing as this is unexpected app behavior (app language taking over system language), and the intended benefits of this will be addressed by T160567, improving multi-lingual support in the app.