Add strings in preparation for upcoming Loop features

RESOLVED FIXED in Firefox 34

Status

defect
P1
normal
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: standard8, Assigned: standard8)

Tracking

unspecified
mozilla34
Points:
---
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox34 fixed)

Details

(Whiteboard: [loop-uplift])

Attachments

(3 attachments, 3 obsolete attachments)

As has been discussed with project management, we want some additional features in Fx34 for Loop, that have been designed, but not yet fully implemented.

We therefore have agreed to add the strings, with references to the mock-ups, and the implementation will follow soon after.
This adds the strings that we need for the contacts display, edit, remove and import in the contact panel. I thought of a couple of additional failure/warning notices that weren't in the mock ups, so I added them as well.

I discussed the import_failed_description* ones with RT.

I'll also need to do some follow-up later to get bugs updated with the appropraite information on strings, and to ensure we've got bugs filed for everything.
Attachment #8482223 - Flags: review?(adam)
Comment on attachment 8482223 [details] [diff] [review]
Add strings for contacts display and import.

Review of attachment 8482223 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with the following corrections.

::: browser/locales/en-US/chrome/browser/loop/loop.properties
@@ +39,5 @@
> +new_contact_button=New Contact
> +## LOCALIZATION NOTE (new_contact_name_placeholder, new_contact_email_placeholder):
> +## These are the placeholders for the fields for entering a new contact
> +## See https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#contacts
> +## for where this appears on the UI

It might not be clear to some translators that the UX design there is live; and, by default, the fields you're talking about here aren't visible. You might add more instruction ("click the 'New Contact' button to see the fields").

@@ +45,5 @@
> +new_contact_email_placeholder=Email
> +## LOCALIZATION NOTE (add_contact_button):
> +## This is the button to actually add the new contact
> +## See https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#contacts
> +## for where this appears on the UI

Same issue here -- it would be very easy to confuse "New Contact" (which is visible) with "Add Contact" (which isn't, by default).

@@ +81,5 @@
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#contacts
> +remove_contact_menu_button=Remove Contact
> +## LOCALIZATION NOTE(confirm_delete_contact_alert): This is an alert that is displayed
> +## to confirm deletion of a contact.
> +confirm_delete_contact_alert=Are you sure you want to delete this contact?

I'm not sure what the UX here is exactly, but we presumably have two buttons that go along with this, something like {"Yes" / "No"} or {"Remove Contact" / "Cancel"}. Depending on the intended UX, these might be specific to the dialog. Unfortunately, I don't see anything in the UX for this flow. Ideally, we would get something from Darrin, but given that today is Labour day in Canada, I don't think that's happening.

For now, I'd suggest picking landing a couple of intuitive strings here like "Remove Contact" and "Cancel," and we can revise in 35 if UX decides on different phrasing.

@@ +86,5 @@
> +
> +## LOCALIZATION NOTE(block_contact_menu_button): Displayed in the contact list in
> +## a pop-up menu next to the contact's name, used to block a contact from calling
> +## the user. https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#contacts
> +block_contact_menu_button=Block Contact

We're missing the equivalent "Unblock Contact" entry here.

@@ +100,5 @@
> +## LOCALIZATION NOTE(edit_contact_name_label, edit_contact_email_label):
> +## These fields are display when the Edit Contact button is selected.
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#contacts
> +edit_contact_name_label=Name
> +edit_contact_email_label=Edit

Should be "Email," not "Edit"
Attachment #8482223 - Flags: review?(adam) → review+
Updated patch, ready for landing.
Attachment #8482223 - Attachment is obsolete: true
This updates the remaining in-tree strings that I've found that need changing based on the UX feedback.

NiKo: I know the fr section is out of date, I suggest we just do one bulk-update to that post landing the rest of the strings.
Attachment #8482267 - Flags: review?(nperriault)
Comment on attachment 8482267 [details] [diff] [review]
Part 2 Change existing Loop strings based on UX feedback.

Review of attachment 8482267 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM
Attachment #8482267 - Flags: review?(nperriault) → review+
This is hopefully the last major patch, adding many strings for the outgoing calls. I've syncronised with the standalone client wherever possible.

I've also changed the ToS string so that we can easily insert the new brand name when required.
Attachment #8482295 - Flags: review?(adam)
Comment on attachment 8482295 [details] [diff] [review]
Part 3 Fix some more Loop strings following UX feedback, and add necessary strings for outgoing calls from the desktop client.

:NiKo, can you review this as well? More eyes the better...
Attachment #8482295 - Flags: review?(nperriault)
Comment on attachment 8482295 [details] [diff] [review]
Part 3 Fix some more Loop strings following UX feedback, and add necessary strings for outgoing calls from the desktop client.

Review of attachment 8482295 [details] [diff] [review]:
-----------------------------------------------------------------

Typos

::: browser/locales/en-US/chrome/browser/loop/loop.properties
@@ +7,5 @@
>  share_link_header_text=Share this link to invite someone to talk:
>  
> +## LOCALIZATION NOTE(invitee_name_label): Displayed when obtaining a url.
> +## See https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#precall-firstrun
> +## Click the label icon are the end of the url field.

s/are the/at the

@@ +9,5 @@
> +## LOCALIZATION NOTE(invitee_name_label): Displayed when obtaining a url.
> +## See https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#precall-firstrun
> +## Click the label icon are the end of the url field.
> +invitee_name_label=Who are you inviting?
> +## LOCALIZATION NOTE(invitation_expire_days_label): Allows the user to adjust

invitation_expire_days_label doesn't match invitee_expire_days_label

@@ +10,5 @@
> +## See https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#precall-firstrun
> +## Click the label icon are the end of the url field.
> +invitee_name_label=Who are you inviting?
> +## LOCALIZATION NOTE(invitation_expire_days_label): Allows the user to adjust
> +## the expiry time. Click the label icon are the end of the url field to see where

s/are the/at the

@@ +16,5 @@
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#precall-firstrun
> +## Semicolon-separated list of plural forms. See:
> +## http://developer.mozilla.org/en/docs/Localization_and_Plurals
> +## In this item, don't translate the part between {{..}}
> +invitee_expire_days_label=Invitiation will expire in {{expiry_time}} day;Invitiation will expire in {{expiry_time}} days

s/Invitiation/Invitation/g

@@ +17,5 @@
> +## Semicolon-separated list of plural forms. See:
> +## http://developer.mozilla.org/en/docs/Localization_and_Plurals
> +## In this item, don't translate the part between {{..}}
> +invitee_expire_days_label=Invitiation will expire in {{expiry_time}} day;Invitiation will expire in {{expiry_time}} days
> +## LOCALIZATION NOTE(invitation_expire_hours_label): Allows the user to adjust

invitation_expire_hours_label doesn't match invitee_hours_days_label

@@ +18,5 @@
> +## http://developer.mozilla.org/en/docs/Localization_and_Plurals
> +## In this item, don't translate the part between {{..}}
> +invitee_expire_days_label=Invitiation will expire in {{expiry_time}} day;Invitiation will expire in {{expiry_time}} days
> +## LOCALIZATION NOTE(invitation_expire_hours_label): Allows the user to adjust
> +## the expiry time. Click the label icon are the end of the url field to see where

s/are the/at the

@@ +24,5 @@
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#precall-firstrun
> +## Semicolon-separated list of plural forms. See:
> +## http://developer.mozilla.org/en/docs/Localization_and_Plurals
> +## In this item, don't translate the part between {{..}}
> +invitee_hours_days_label=Invitiation will expire in {{expiry_time}} hour;Invitiation will expire in {{expiry_time}} hours

s/Invitiation/Invitation/g

@@ +162,5 @@
>  unmute_local_audio_button_title=Unmute your audio
>  mute_local_video_button_title=Mute your video
>  unmute_local_video_button_title=Unmute your video
>  
> +## LOCALIZATION NOTE (outgoing_call_with_contact_title): The title displayed

outgoing_call_with_contact_title doesn't match call_with_contact_title

@@ +197,5 @@
> +## LOCALIZATION NOTE (contact_offline_title): Title for
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#link-prompt
> +## displayed when the contact is offline.
> +contact_offline_title=This person is not online
> +## LOCALIZATION NOTE (contact_offline_title): Title for

contact_offline_title doesn't match call_timeout_notification_text
Attachment #8482295 - Flags: review?(nperriault) → review-
Updated part 1, I was reminded I should be using "Video Conversation" and "Audio Conversation", rather than "Video Call" and "Audio Call".
Attachment #8482265 - Attachment is obsolete: true
Attachment #8482313 - Flags: review+
Comment on attachment 8482307 [details] [diff] [review]
Part 3 Fix some more Loop strings following UX feedback, and add necessary strings for outgoing calls from the desktop client.

Review of attachment 8482307 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM, minor nit you may want to address before landing.

::: browser/locales/en-US/chrome/browser/loop/loop.properties
@@ +166,5 @@
> +## LOCALIZATION NOTE (call_with_contact_title): The title displayed
> +## when calling a contact. Don't translate the part between {{..}} because
> +## this will be replaced by the contact's name.
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#call-outgoing
> +call_with_contact_title=Conversation with {{contactname}}

Nit: contactName? camelcase reads better imho
Attachment #8482307 - Flags: review?(nperriault) → review+
Comment on attachment 8482307 [details] [diff] [review]
Part 3 Fix some more Loop strings following UX feedback, and add necessary strings for outgoing calls from the desktop client.

Review of attachment 8482307 [details] [diff] [review]:
-----------------------------------------------------------------

Looks fine, with a few minor suggestions.

::: browser/components/loop/standalone/content/l10n/data.ini
@@ +7,5 @@
>  network_disconnected=The network connection terminated abruptly.
>  peer_ended_conversation2=The person you were calling has ended the conversation.
>  connection_error_see_console_notification=Call failed; see console for details.
> +generic_failure_title=Something went wrong.
> +generic_failure_with_reason=You can try again or email a link to be reached at later.

I think we still have a risk that a localizer might have already translated the string by this name -- to be on the safe side, we should rename this string.

::: browser/locales/en-US/chrome/browser/loop/loop.properties
@@ +173,5 @@
> +
> +outgoing_call_title=Start conversation?
> +initiate_audio_video_call_button2=Start
> +initiate_audio_video_call_tooltip2=Start a video conversation
> +initiate_audio_call_button2=Voice conversation

Since the prefs panel allows users to default to audio-only, I think we need a "Start an audio conversation" tooltip as well.

@@ +190,5 @@
>  conversation_has_ended=Your conversation has ended.
>  restart_call=Rejoin
>  
> +generic_failure_title=Something went wrong.
> +generic_failure_with_reason=You can try again or email a link to be reached at later.

Same as above: different meaning should mean different name, right?

@@ +208,5 @@
> +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#link-prompt
> +retry_call_button=Retry
> +email_link_button=Email Link
> +cancel_button=Cancel
> +

Are we doing the "call ended" panel later?
Attachment #8482307 - Flags: review?(adam) → review+
(In reply to Adam Roach [:abr] from comment #13)
> ::: browser/locales/en-US/chrome/browser/loop/loop.properties
> @@ +173,5 @@
> > +
> > +outgoing_call_title=Start conversation?
> > +initiate_audio_video_call_button2=Start
> > +initiate_audio_video_call_tooltip2=Start a video conversation
> > +initiate_audio_call_button2=Voice conversation
> 
> Since the prefs panel allows users to default to audio-only, I think we need
> a "Start an audio conversation" tooltip as well.

That's bug 1023936, which has been pushed out to 35, so I'm not going to add it at this stage.

> @@ +208,5 @@
> > +## https://people.mozilla.org/~dhenein/labs/loop-mvp-spec/#link-prompt
> > +retry_call_button=Retry
> > +email_link_button=Email Link
> > +cancel_button=Cancel
> > +
> 
> Are we doing the "call ended" panel later?

It is my understanding from Darrin that the "call ended" panel is actually to be dropped - as we have the feedback views.
Untracking for QA. Please needinfo me to request specific testing. Otherwise this will be tested through generic smoketesting.
Flags: qe-verify-
(In reply to Mark Banner (:standard8) from comment #15)
> Landed part 3:
> 
> https://hg.mozilla.org/integration/fx-team/rev/f4f0313ec7d4

>diff --git a/browser/locales/en-US/chrome/browser/loop/loop.properties b/browser/locales/en-US/chrome/browser/loop/loop.properties
>index 1fbb173..76cbde6 100644
>--- a/browser/locales/en-US/chrome/browser/loop/loop.properties
>+++ b/browser/locales/en-US/chrome/browser/loop/loop.properties

>-## LOCALIZATION NOTE (legal_text_and_links2): In this item, don't translate the
>+## LOCALIZATION NOTE (legal_text_and_links3): In this item, don't translate the
> ## parts between {{..}} because these will be replaced with links with the labels
>-## from legal_text_tos and legal_text_privacy.
>-legal_text_and_links2=By using this product you agree to the {{terms_of_use}} \
>+## from legal_text_tos and legal_text_privacy. clientShortname will be replaced
>+## by the brand name, or fall back to client_shortname_fallback
>+legal_text_and_links3=By using {{clientShortname}} you agree to the {{terms_of_use}} \
>   and {{privacy_notice}}.
> legal_text_tos = Terms of Use
> legal_text_privacy = Privacy Notice
>+client_shortname_fallback=this product

From l10n comment I have no idea what brand name will replace {{clientShortname}} (Firefox, loop, …?) but this whole legal_text_and_links3 clientShortname/client_shortname_fallback thing has probably zero chance to work acceptably for Polish.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Hi Stefan,

Thanks for your comment and I'm looking into our plans to get the details.  I will reply as soon as possible.
Hi Stefan -- If you knew what the final brand name was, would that allow you to translate the text you reference in Comment 18?
Flags: needinfo?(splewako)
(In reply to Maire Reavy [:mreavy] (Plz needinfo me) from comment #20)
> Hi Stefan -- If you knew what the final brand name was, would that allow you
> to translate the text you reference in Comment 18?

It would help selecting correct helper (product/service/app/…) word.

Beyond that we would need {{clientShortname}} fix, maybe sth. like:

# LOCALIZATION NOTE (legal_text_and_links4): In this item, don't translate the
# parts between {{..}} because these will be replaced with links with the labels
# from legal_text_tos and legal_text_privacy. clientShortname will be replaced
# by the client_shortname_brand, or fall back to client_shortname_fallback
legal_text_and_links4=By using {{clientShortname}} you agree to the {{terms_of_use}} and {{privacy_notice}}.
legal_text_tos = Terms of Use
legal_text_privacy = Privacy Notice
# LOCALIZATION NOTE (client_shortname_brand): don't translate {{brand}}, it will be replaced with brand name (example)
client_shortname_brand={{brand}} product
client_shortname_fallback=this product
Flags: needinfo?(splewako)
(In reply to Stefan Plewako [:stef] from comment #21)
> Beyond that we would need {{clientShortname}} fix

Can't we just add an another string for the fallback situation? Like:

legal_text_and_links_fallback=By using this product you agree to the {{terms_of_use}} \
  and {{privacy_notice}}.

It would be much simpler and easier to describe to localizers (KISS).
(In reply to Bartosz Piec from comment #22)
> legal_text_and_links_fallback=By using this product you agree to the {{terms_of_use}} and {{privacy_notice}}.

Right, this would work too.
Priority: -- → P1
Whiteboard: [loop-uplift]
Target Milestone: mozilla34 → mozilla35
Hi Stefan -- Have you been able to continue with translations or are you blocked?
Flags: needinfo?(splewako)
I have committed https://hg.mozilla.org/l10n-central/pl/rev/ee9981ca284c but comment 18 still applies and nothing has changed afaik
Flags: needinfo?(splewako)
thanks Stefan,  does it matter if we are not localizing the brand / {{clientshortname}?  we don't want to advertise it early (or blog) - but the name will be "Hello" - if that information is needed to make translations work.

It will not be translated to the individual languages in Fx34.

are we OK to close out the bug - since all the reviews went through r+?
Flags: needinfo?(splewako)
(In reply to sescalante from comment #26)
> does it matter if we are not localizing the brand / {{clientshortname}?

Yes, it pushes us to use helper word.

> if that information is needed to make translations work.

Knowing that it is third party brand name helps in choosing helper word but does not solve client_shortname_fallback issue.
Flags: needinfo?(splewako)
Stefan, bug 1079430 landed a day or so ago, which removed the fallback option, does that resolve the issue now?
Flags: needinfo?(splewako)
Indeed, thx!
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Flags: needinfo?(splewako)
Resolution: --- → FIXED
Iteration: --- → 34.3
Target Milestone: mozilla35 → mozilla34
You need to log in before you can comment on or make changes to this bug.