Page MenuHomePhabricator

Surface missing languages in current mobile language selector to access Section Translation
Closed, ResolvedPublic

Description

The current language selector on mobile web shows previously selected languages by the user in a "Suggested languages" group. This is convenient for users to easily find the content in their usual languages of interest instead of scanning a long list or searching fo them. However, the "Suggested languages" is not helping to identify when those are missing or encourage their creation. Surfacing missing frequently-accessed languages as an opportunity to translate them with Section Translation could make this experience much more fluent.

This ticket proposes to include a special item in the "Suggested languages" section to signal when the content is missing from some of the languages that otherwise would be in the "Suggested languages" group.

Mobile language selector expanded with missing languagesSection Translation confirmation step to start a new translation
Proposed selector.png (667×375 px, 31 KB)
Confirm.png (667×375 px, 181 KB)

Considerations:

  • The "Missing languages" item is shown at the bottom of the "Suggested languages" group. It is shown de-emphasized to communicate it is signalling unavailability and setting it apart from the rest (Base20 text over Base90 background), but including a "next" icon at the end to convey interactivity.
  • The "Missing languages" item will mention up to two missing languages using the text "Missing in X, Y and more"
  • Only languages for which Section Translation is enabled will be considered. This additional filter won't be needed when Section Translation is available in all languages.
  • Tapping on the "Missing languages" item will lead to Section translation with the article and languages pre-selected (example)
  • The "Missing languages" item will not be shown at all if the content is not missing for a language that is considered for the suggested section.
  • When the "Missing languages" item is shown, the "Suggested languages" section is also shown, even if there are no other suggested items. This helps to set the context for the missing ones. Example illustrated below.

Proposed without suggested.png (667×375 px, 30 KB)


Future plans to provide a responsive language selector that works consistently across devices (T287860) will incorporate this criteria in a consistent way. The current ticket is a minimal version to support the requirement on the current mobile selector.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Pginer-WMF raised the priority of this task from Medium to High.Jan 10 2022, 3:34 PM
Pginer-WMF changed the task status from Open to In Progress.Jan 12 2022, 8:29 AM

Change 753439 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] SX Entrypoints: Add hook to register missinglanguages module

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

Change 757550 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/MobileFrontend@master] LanguageSearcher: Fire a hook when LanguageSearcher view is rendered

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

Change 757554 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] SX: Add missing languages entrypoint module

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

A general question about entrypoint: Usually when we add entry points, we make sure that we present translation as one of the option. We will provide an option to choose creating article from scratch(for example using VE). But in language selector entry point we are assuming translation is the only way to create that article. I agree that this context provides two languages to work on, that too frequently used language. So translation is valid way to create missing language. But why are we excluding other ways to create article?

A general question about entrypoint: Usually when we add entry points, we make sure that we present translation as one of the option. We will provide an option to choose creating article from scratch(for example using VE). But in language selector entry point we are assuming translation is the only way to create that article. I agree that this context provides two languages to work on, that too frequently used language. So translation is valid way to create missing language. But why are we excluding other ways to create article?

In this particular context, the option to translate felt much more relevant compared to alternatives, so exposing other options seemed to result in more distraction/friction than value compared to providing just a shortcut for translation:

  • In this context it seems much more likely that the user is multilingual, and therefore capable of doing a translation. Less risk of suggesting an invalid next step that needs fall-back alternatives.
  • Data shows that articles created by translation are less likely to be deleted than when starting from scratch. So it makes sense to surface an option that makes them more equipped for success.
  • User research shows that a common starting point of the translation process is to check the availability of the article in the given language. So it is a natural starting point for a multi-step process for which we can provide a shortcut and reduce the number of steps to make it more convenient.

Users interested in doing other contributions are still able to do that in the existing ways. If we find out that there is a need to provide shortcuts to other relevant actions for this context we can explore how to do so.

Change 757554 abandoned by Nik Gkountas:

[mediawiki/extensions/ContentTranslation@master] SX: Add mf frequent languages entrypoint module

Reason:

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

Jdlrobson claimed this task.
Jdlrobson added a subscriber: ngkountas.
Jdlrobson added subscribers: LGoto, Jdlrobson.

@LGoto said there is an expectation that web will review this one so I've added to the board. I'll do that later today/tomorrow.

@ngkountas happy to get you unblocked here. Would it help if I put something in our calendars this week/next week?

Jdlrobson claimed this task.

@Jdlrobson Following the latest review cycle I think that we are very close to complete this task, so I do not think any extra effort will be needed. Thank you a lot for your help!

Should be unblocked now. Let me know on the ticket if you need any help with reviewing any follow up work!

Change 757550 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] LanguageSearcher: Fire a hook when LanguageSearcher view is rendered

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

Qn: Should we avoid having multiple entrypoints like this from language selector? First one is frequentlanguages based. Last one is the search based one.

image.png (286×614 px, 16 KB)

Qn: Should we avoid having multiple entrypoints like this from language selector? First one is frequentlanguages based. Last one is the search based one.

image.png (286×614 px, 16 KB)

Yes, we should avoid both to show at the same time.

The "frequentlanguages" based one should not be visible in search mode (in the same way that the "Suggested languages" header is gone when searching). Thus, the empty state for search should be the only one visible when there is a search with no results.

Thanks for surfacing this overlap, @santhosh.

Change 753439 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] SX Entrypoints: Add mffrequentlanguages module and register it to RL

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

Change 789775 had a related patch set uploaded (by Santhosh; author: Santhosh):

[mediawiki/extensions/ContentTranslation@master] ULS entrypoint: Do not show current language, fix domain redirects

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

Change 789832 had a related patch set uploaded (by KartikMistry; author: Santhosh):

[mediawiki/extensions/ContentTranslation@wmf/1.39.0-wmf.10] ULS entrypoint: Do not show current language, fix domain redirects

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

Change 789832 abandoned by KartikMistry:

[mediawiki/extensions/ContentTranslation@wmf/1.39.0-wmf.10] ULS entrypoint: Do not show current language, fix domain redirects

Reason:

Will cherry-pick new change.

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

Change 789832 restored by KartikMistry:

[mediawiki/extensions/ContentTranslation@wmf/1.39.0-wmf.10] ULS entrypoint: Do not show current language, fix domain redirects

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

Change 789775 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] ULS entrypoint: Do not show current language, fix domain redirects

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

Change 789832 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@wmf/1.39.0-wmf.10] ULS entrypoint: Do not show current language, fix domain redirects

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

Mentioned in SAL (#wikimedia-operations) [2022-05-09T13:37:15Z] <taavi@deploy1002> Synchronized php-1.39.0-wmf.10/extensions/ContentTranslation/modules/entrypoints: Backport: [[gerrit:789832|ULS entrypoint: Do not show current language, fix domain redirects (T307745 T298032)]] (duration: 00m 50s)

@KartikMistry Tested the story. It is working as expected but I do have some questions

  • When I do a search of different languages ( Language A, Language B, Language C) , is there a way the order should be displayed? Should B come before C because I searched B first ?. As it is now the ordering is random. Unless this is not part of the story
  • When a user searches for example, 10 - 15 languages, is there an upper limit and/or lower limit to what is been displayed on the screen while the user is in session? if all is displayed it will look clunky
  • Simply reloading the page flashes the base article to be translated ( see video). This can be ignore it isn't a problem going forward
  • How do I get to see the "Missing in XXX, YYY and more" under the "Suggested Languages" section

  • How do I get to see the "Missing in XXX, YYY and more" under the "Suggested Languages" section

The option is intended to be shown only when some of your frequently/previously accessed languages are missing this time.
These languages are based on previous navigations. So you can follow these steps:

  1. Access an article available in many languages such as "Moon"
  2. Switch to another language such as Korean or Bengali
  3. Access an article available only in a few languages (not in Korean or Bengali) such as "Avocado toast" or "Extreme ironing"
  4. Open the language selector and Korean/Bengali should appear as missing.

Note also the following criteria listed in the ticket:

Only languages for which Section Translation is enabled will be considered. This additional filter won't be needed when Section Translation is available in all languages.

I noticed that the following is not supported currently:

  • When the "Missing languages" item is shown, the "Suggested languages" section is also shown, even if there are no other suggested items. This helps to set the context for the missing ones. Example illustrated below.

Proposed without suggested.png (667×375 px, 30 KB)

I tried the Perger prism article which is only available in English and German and got the invite without the "Suggested languages" header:

en.m.wikipedia.org_wiki_Perger_prism(iPhone SE).png (1×750 px, 52 KB)

The above issue mentioned by @Pginer-WMF is resolved in the upcoming patch.

Screenshot before fix:

Screenshot 2022-06-15 at 6.15.13 PM.png (858×403 px, 21 KB)

Screenshot after fix:

Screenshot 2022-06-15 at 6.15.41 PM.png (858×403 px, 24 KB)

Change 805845 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/MobileFrontend@master] LanguageSearcher: Add suggested languages header when banner exists

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

Change 805845 merged by jenkins-bot:

[mediawiki/extensions/MobileFrontend@master] LanguageSearcher: Add suggested languages header when banner exists

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

@Pginer-WMF thats for the clear steps.

@ngkountas I see the fix.. thanks

Marking this as done

Screen Shot 2022-07-05 at 11.00.48 PM.png (819×425 px, 120 KB)

Screen Shot 2022-07-05 at 11.00.48 PM.png (819×425 px, 120 KB)

In the screenshot shared, the "Suggested languages" header is not showing above the "Missing in Igbo" invite. I tested the Perger prism example and the same happens:

en.m.wikipedia.org_wiki_Perger_prism(iPhone SE).png (1×750 px, 52 KB)

The expected result would be for the "Suggested languages" header to show above the missing languages.
I think the latest changes fixing this may have not been deployed yet, so maybe it is worth testing again on Friday.

thanks for the clarificiton moving it back to check after deploy

The "Suggested Languages" header now displays above the :

  1. language(s) being suggested
  2. Missing languages ( suggested due to prefrential selections). This is for an article where the suggested language(s) are ALL missing
  3. Language(s) that is suggested should always be above the missing languages that are been suggested. This is for an article where the suggested languages have some already existing and others missing.

See attachment

Screen Shot 2022-07-19 at 9.57.55 PM.png (733×382 px, 110 KB)

Screen Shot 2022-07-19 at 9.56.43 PM.png (755×387 px, 101 KB)

Perfect! Thanks for checking and sharing the clarifying screenshots, @EChukwukere-WMF !