Closed Bug 1866827 Opened 1 year ago Closed 3 months ago

Firefox translation feature should remember the last destination language

Categories

(Firefox :: Translations, enhancement, P3)

Desktop
All
enhancement

Tracking

()

RESOLVED FIXED
131 Branch
Tracking Status
relnote-firefox --- 131+
firefox131 --- fixed

People

(Reporter: emilyw, Assigned: nordzilla)

References

(Depends on 1 open bug, Blocks 3 open bugs)

Details

Attachments

(8 files)

Current state
If a user whose default FIrefox and/or system language is English (For example), but that user translates a page to Spanish, the next time the user lands on a translatable website, English will be the default destination language.

Enhancement
If a user whose default Firefox and/or system language is English (for example), but that user translates a page to Spanish, the next time the user lands on a translatable website, Spanish will be the default destination language offered by the translation feature.

Notes:

  • Remembering the last destination language will persist across sessions until the user chooses a different destination language.
  • Remembering the last destination language will be persistent across full page and selection translation features (selection translation currently in pre-development).

Remembering the user's last destination language will improve the UX of the feature, since the user is likely to use the same destination language across multiple pages, and this language may be different than their system or Firefox default.

Priority: -- → P3
Blocks: 1896392

Dasha, I'm thinking about doing this as a follow-up after the Select Translations release.

This change would affect Desktop (Full-Page and Select) as well as Android.

Do these changes still align with the current user research you've been doing, and do you still feel good about making this change?

Flags: needinfo?(dandriyenko)

Yes, this aligns well with our current heuristic review and would be lovely to implement when you and Olivia can! Thank you so much for following up on this!

Flags: needinfo?(dandriyenko)
Assignee: nobody → enordin
Attachment #9408191 - Attachment description: WIP: Bug 1866827 - Exploration → WIP: Bug 1866827 - Update Translations multi-window test infrastructure
Attachment #9414514 - Attachment description: WIP: Bug 1866827 - Unify port creation → WIP: Bug 1866827 - Misc. TranslationsParent Refactors
Attachment #9414515 - Attachment description: WIP: Bug 1866827 - Remember recent target languages → WIP: Bug 1866827 - Unify port creation
Attachment #9414516 - Attachment description: WIP: Bug 1866827 - Add target-language memory tests → WIP: Bug 1866827 - Remember recent target languages
Attachment #9414517 - Attachment description: WIP: Bug 1866827 - Separate preferred-language cache invalidation → WIP: Bug 1866827 - Add target-language memory tests
Attachment #9416402 - Attachment description: WIP: Bug 1866827 - WIP → WIP: Bug 1866827 - Assert selected FPT languages in all tests
See Also: → 1910283
Attachment #9408191 - Attachment description: WIP: Bug 1866827 - Update Translations multi-window test infrastructure → Bug 1866827 - Update Translations multi-window test infrastructure r=#translations-reviewers!
Attachment #9416402 - Attachment description: WIP: Bug 1866827 - Assert selected FPT languages in all tests → Bug 1866827 - Assert selected FPT languages in all tests r=#translations-reviewers!
Attachment #9414514 - Attachment description: WIP: Bug 1866827 - Misc. TranslationsParent Refactors → Bug 1866827 - Misc. TranslationsParent Refactors r=#translations-reviewers!
Attachment #9414515 - Attachment description: WIP: Bug 1866827 - Unify port creation → Bug 1866827 - Unify Translations port creation r=#translations-reviewers!
Attachment #9414516 - Attachment description: WIP: Bug 1866827 - Remember recent target languages → Bug 1866827 - Remember recent target languages r=#translations-reviewers!
Attachment #9414517 - Attachment description: WIP: Bug 1866827 - Add target-language memory tests → Bug 1866827 - Add target-language memory tests r=#translations-reviewers!
Attachment #9416200 - Attachment description: WIP: Bug 1866827 - Separate preferred-language cache invalidation → Bug 1866827 - Separate preferred-language cache invalidation r=#translations-reviewers!
Duplicate of this bug: 1910283
Attachment #9419949 - Attachment description: WIP: Bug 1866827 - Fix Windows Translation Test Failure → WIP: Bug 1866827 - Ensure rranslation requests are queued r=#translations-reviewers!
Attachment #9419949 - Attachment description: WIP: Bug 1866827 - Ensure rranslation requests are queued r=#translations-reviewers! → WIP: Bug 1866827 - Ensure translation requests are queued r=#translations-reviewers!
Attachment #9419949 - Attachment description: WIP: Bug 1866827 - Ensure translation requests are queued r=#translations-reviewers! → Bug 1866827 - Ensure translation requests are queued r=#translations-reviewers!
Pushed by enordin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7228d9ab8b87 Update Translations multi-window test infrastructure r=translations-reviewers,gregtatum https://hg.mozilla.org/integration/autoland/rev/532268d72249 Assert selected FPT languages in all tests r=translations-reviewers,gregtatum https://hg.mozilla.org/integration/autoland/rev/8f649c0643a6 Misc. TranslationsParent Refactors r=translations-reviewers,gregtatum,geckoview-reviewers,android-reviewers,ohall https://hg.mozilla.org/integration/autoland/rev/c1c29238251c Unify Translations port creation r=translations-reviewers,gregtatum https://hg.mozilla.org/integration/autoland/rev/a16c8b7c6cdd Remember recent target languages r=translations-reviewers,geckoview-reviewers,android-reviewers,ohall,gregtatum https://hg.mozilla.org/integration/autoland/rev/7c330023f016 Add target-language memory tests r=translations-reviewers,gregtatum https://hg.mozilla.org/integration/autoland/rev/55fc8f782082 Separate preferred-language cache invalidation r=translations-reviewers,gregtatum https://hg.mozilla.org/integration/autoland/rev/bf098c42b0a0 Ensure translation requests are queued r=translations-reviewers,gregtatum

Release Note Request

[Why is this notable]

Translations in Firefox will now consider languages from prior translation requests when determining which target language to offer by default.

For example, if the user's settings languages include only French, Spanish, and English, but the user has recently requested to translate into Estonian, then Firefox may suggest translating into Estonian by default the next time the user engages with Translations.

[Affects Firefox for Android]

Yes. These changes apply to both Desktop and Android.

[Suggested wording]

Translations in Firefox will now consider languages from prior translation requests when determining which target language to offer by default.

[Links (documentation, blog post, etc)]

relnote-firefox: --- → ?

@Erik - thanks for posting the release note request. I find this language a bit confusing: "Translations in Firefox will now consider languages from prior translation requests when determining which target language to offer by default."

Can we be more direct/clear about what this means? For example: "When using translation, Firefox will remember the last language you translated to and offer that language by default next time."

I would prefer to not be responsible for writing any official copy.

I always assume, with these requests, that someone will take my suggested wording and make it more fit for the public.

I wrote it in a way that is logically correct for all scenarios.


I'm not sure if your suggested wording is intended to be an improvement only in phrasing, or in other aspects, but, logically, it doesn't hold up the same:

"When using translation, Firefox will remember the last language you translated to and offer that language by default next time."

Consider the following scenario:

  1. You translate a Spanish page from Spanish to French.
  2. You navigate to a French page.
  3. You open the Full Page Translations Panel.

Which language is offered?

  • Your most recent target language is French, but the original source text is French, and French to French translation isn't allowed for full-page translations, so we won't suggest French.
  • In this case, we would fall back to your second most recent target language (if one exists), or to your user settings languages.

Continuing the scenario:

  1. You select German and translate the page from French to German.
  2. You re-open the Full Page Translations Panel.

Which language is offered?

  • Your most recent target language is German, but the page is already actively being translated into German, so we won't suggest German.
  • Your second most recent target language is French, but the original source text is French, and French to French translation isn't allowed for full-page translations, so we won't suggest French.
  • In this case, we would fall back to your third most recent target language (if one exists), or to your user settings languages.

This is why I phrased it as the languages from prior requests will be considered (not necessarily offered with 100% guarantee). And in the example scenario I said, "then Firefox may suggest translating into Estonian," so as not to imply that Estonian will be offered in every scenario.

There are many, many different scenarios that could affect the fallback chain.


Please feel free to reword it any way that you see fit, though! I don't want to be on the blame for the official copy.

Flags: needinfo?(ewachowiak)

Does "Firefox will now consider the languages you have previously used to suggest a more relevant default language for translations." sound ok?

If not, I would reconsider the original text in comment 14 as it seems to be the most accurate. (also open to suggestions)
(fwiw the process includes us adding this text to nightly and then beta... but the release management team reviews/alters text before release)

Thanks, Erik. That's helpful context. @Dianna I like your version as it straightforward to understand the value, whereas the other was a bit more convoluted. Thank you!

Flags: needinfo?(ewachowiak)

Added to Fx 131 nightly release notes and unless otherwise notified, will go into the official release notes
https://www.mozilla.org/en-US/firefox/131.0a1/releasenotes/

The only part that I find potentially misleading about the current phrasing is "…the languages you have previously used…" It's not clear to me that the only relevant context in which the languages were previously used is with regard to translation requests.

To me, "the languages you have previously used" may generally imply that if my browser application locale used to be in French, but I recently removed French and changed my UI only to English, that French may still be considered for Translations since I "have previously used" French.

Ive changed this to

When suggesting a default translation language, Firefox will now take into consideration languages you have previously used for translations"

:emilyw hopefully this still sounds good to you?

Flags: needinfo?(ewachowiak)

Yes, that's a good edit!

Flags: needinfo?(ewachowiak)
Target Milestone: 131 Branch → 133 Branch

Accidentally changed the milestone on the wrong bug. Reverting.

Target Milestone: 133 Branch → 131 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: