Open Bug 1934257 Opened 3 days ago Updated 2 days ago

Localizability issue in new onboarding string (manage preferences)

Categories

(Fenix :: Experimentation and Telemetry, defect)

All
Android
defect

Tracking

(firefox133 unaffected, firefox134 unaffected, firefox135 affected)

ASSIGNED
Tracking Status
firefox133 --- unaffected
firefox134 --- unaffected
firefox135 --- affected

People

(Reporter: flod, Assigned: amejia)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Bug 1933253 introduced new strings for onboarding. Among them, the *link_text string is used to linkify part of the full message.

    <!-- Terms of service onboarding page line three text. 'Firefox' intentionally hardcoded here-->
    <string name="onboarding_term_of_service_line_three" tools:ignore="UnusedResources,BrandUsage">To help improve the browser, Firefox sends diagnostic and interaction data to Mozilla. Manage</string>
    <!-- Terms of service onboarding page line three text which should be displayed as a link-->
    <string name="onboarding_term_of_service_line_three_link_text" tools:ignore="UnusedResources,BrandUsage">Manage</string>

As explained in a previous bug (bug 1809972), this is not a reliable approach for localized content, even with a clear comment. Localizers translate one string at a time, there is no way to enforce that Manage  will match in both strings.

Arturo pointed out that the replacement happens here.

Can the code be changed to have a placeable instead of actual text? Note also the comments

<!-- %S is replaced by an active link, using onboarding_term_of_service_line_one_link_text as text (“Terms of Service”). -->
<string name="onboarding_term_of_service_line_one" tools:ignore="UnusedResources,BrandUsage">By continuing, you agree to the Firefox %S.</string>
<!-- Used as text for the link in onboarding_term_of_service_line_one. -->
<string name="onboarding_term_of_service_line_one_link_text" tools:ignore="UnusedResources,BrandUsage">Terms of Service</string>

<!-- Terms of service onboarding page line three text. 'Firefox' intentionally hardcoded here. %S is replaced by an active link, using onboarding_term_of_service_line_two_link_text as text (Privacy Notice). -->
<string name="onboarding_term_of_service_line_two" tools:ignore="UnusedResources,BrandUsage">Firefox cares about your privacy. Read more in our %S.</string>
<!-- Used as text for the link in onboarding_term_of_service_line_two. -->
<string name="onboarding_term_of_service_line_two_link_text" tools:ignore="UnusedResources,BrandUsage">Privacy Notice</string>

<!-- Terms of service onboarding page line three text. 'Firefox' intentionally hardcoded here. %S is replaced by an active link, using onboarding_term_of_service_line_three_link_text as text (“Manage”). -->
<string name="onboarding_term_of_service_line_three" tools:ignore="UnusedResources,BrandUsage">To help improve the browser, Firefox sends diagnostic and interaction data to Mozilla. %S</string>
<!-- Used as text for the link in onboarding_term_of_service_line_three. -->
<string name="onboarding_term_of_service_line_three_link_text" tools:ignore="UnusedResources,BrandUsage">Manage</string>

Worth noting that strings are currently not exposed for localization: https://github.com/mozilla-l10n/android-l10n/pull/837

For a short time we can work around it, by temporarily removing them and expose other content, but that's a short-lived solution.

Set release status flags based on info from the regressing bug 1933253

:amejia, since you are the author of the regressor, bug 1933253, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(amejiamarmol)
Flags: needinfo?(amejiamarmol)
Assignee: nobody → amejiamarmol
Status: NEW → ASSIGNED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: