Closed Bug 1210331 Opened 9 years ago Closed 9 years ago

Clean up strings for conversations panel and conversation invite

Categories

(Hello (Loop) :: Client, defect, P2)

defect

Tracking

(firefox44 fixed)

RESOLVED FIXED
mozilla44
Iteration:
44.1 - Oct 5
Tracking Status
firefox44 --- fixed

People

(Reporter: Mardak, Assigned: Mardak)

References

Details

(Whiteboard: [strings])

Attachments

(1 file)

(In reply to Mark Banner (:standard8) from bug 1184924 comment 37)
> Our strings here are a mess here. I would be happy for you to spin
> some or all of fixing this out to a separate bug (though we should make it
> high prio). I think what we should do is:
> 
> - Make the strings in the panel for the menus be consistent and next to each
> other in the file, e.g.
> 
> copy_link_menuitem
> email_link_menuitem
> delete_conversation_menuitem
> 
> - Make the conversation window strings consistent (append '2' if necessary),
> e.g.
> 
> invite_copy_link_button
> invite_copied_link_button
> ...
> 
> I think button is about the right sort of term here, though we could use
> label/tooltip instead maybe (though its not quite any of those).
> 
> That will give L10n the context as to where these strings live, as there may
> be a few instances where they have to change the string.
Attached patch v1Splinter Review
Tried to clean up some newly/previously unused strings. Not sure if there's a good way to test as grep could miss string names that are concatenated..
Assignee: nobody → edilee
Status: NEW → ASSIGNED
Attachment #8668341 - Flags: review?(standard8)
Comment on attachment 8668341 [details] [diff] [review]
v1

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

Much nicer, thanks.
Attachment #8668341 - Flags: review?(standard8) → review+
Iteration: --- → 44.1 - Oct 5
Rank: 20
Priority: -- → P2
Whiteboard: [strings]
I quickly modified the fake l10n to make a list of used ids from the ui-showcase:

diff --git a/browser/components/loop/ui/fake-l10n.js b/browser/components/loop/ui/fake-l10n.js
index f5b123d..e5289ac 100644
--- a/browser/components/loop/ui/fake-l10n.js
+++ b/browser/components/loop/ui/fake-l10n.js
@@ -24,7 +24,15 @@
       return "ltr";
     },
 
+    getUsedIds: function() {
+      return Array.from(this.used).sort();
+    },
+
     get: function(stringId, vars) {
+      if (this.used === undefined) {
+        this.used = new Set();
+      }
+      this.used.add(stringId);
 
       // upcase the first letter
       var readableStringId = stringId.replace(/^./, function(match) {


And compared that against a list of ids from the properties files:

$ grep -h = browser/{locales/en-US/chrome/browser/loop,components/loop/standalone/content/l10n/en-US}/loop.properties | grep -vE "^#" | cut -f1 -d= | sort | uniq > tmp.sorted
$ diff -U100 tmp.used tmp.sorted
--- tmp.used	2015-10-01 10:01:32.000000000 -0700
+++ tmp.sorted	2015-10-01 10:09:26.000000000 -0700
@@ -1,112 +1,201 @@
 active_screenshare_button_title
 add_contact_button
 add_contact_title
+add_or_import_contact_title
 audio_call_menu_button
 block_contact_menu_button
 brandShortname
 call_progress_connecting_description
+call_progress_getting_media_description
+call_progress_ringing_description
+call_timeout_notification_text
+call_with_contact_title
 cancel_button
+cannot_start_call_session_not_ready
+chat_textbox_placeholder
+check_internet_connection
 clientShortname2
 clientSuperShortname
+confirm_delete_contact_alert
+confirm_delete_contact_cancel_button
 confirm_delete_contact_remove_button
+connection_error_see_console_notification
 contact_form_email_placeholder
 contact_form_fxos_phone_placeholder
 contact_form_name_placeholder
+contact_form_phone_placeholder2
 contact_list_title
+contact_offline_title
 contact_unavailable_title
+contacts_blocked_contacts
+contacts_no_search_results
 contacts_search_placesholder2
 contacts_tab_button
 context_cancel_label
 context_done_label
 context_edit_comments_placeholder
 context_edit_name_placeholder
 context_inroom_header
 context_inroom_label2
+conversation_has_ended
 conversation_settings_menu_edit_context
 conversation_settings_menu_hide_context
+copy_link_menuitem
+could_not_authenticate
+could_not_connect
+delete_conversation_menuitem
 display_name_available_status
 display_name_dnd_status
 display_name_guest
 edit_contact_done_button
+edit_contact_email_label
+edit_contact_menu_button
+edit_contact_name_label
 edit_contact_title
+email_link_menuitem
+feedback_rejoin_button
+feedback_report_user_button
 feedback_request_button
 feedback_window_heading
 first_time_experience_button_label
 first_time_experience_subheading
+generic_contact_unavailable_title
 generic_failure_message
+generic_failure_no_reason2
 generic_failure_with_reason2
 get_firefox_button
 gravatars_promo_button_nothanks2
 gravatars_promo_button_use2
 gravatars_promo_message
 gravatars_promo_message_learnmore
 hangup_button_caption2
 hangup_button_title
 help_label
+import_contacts_button2
 import_contacts_button3
+import_contacts_failure_message
+import_contacts_success_message
+import_failed_description_simple
+import_failed_description_some
+import_failed_support_button
+importing_contacts_progress_button
 inactive_screenshare_button_title
 incoming_call_accept_audio_only_tooltip
 incoming_call_accept_audio_video_tooltip
 incoming_call_accept_button
+incoming_call_block_button
 incoming_call_cancel_and_block_button
 incoming_call_cancel_button
+incoming_call_title2
 incompatible_browser_heading
 incompatible_browser_message
+infobar_button_gotit_accesskey
+infobar_button_gotit_label
+infobar_menuitem_dontshowagain_accesskey
+infobar_menuitem_dontshowagain_label
+infobar_screenshare_browser_message
+initiate_audio_call_button2
+initiate_audio_video_call_button2
+initiate_audio_video_call_tooltip2
+initiate_call_button_label2
 initiate_call_cancel_button
+invite_copied_link_button
 invite_copy_link_button
 invite_email_link_button
+invite_facebook_button2
 invite_header_text2
 legal_text_and_links
 legal_text_and_links3
-legal_text_privacy
-legal_text_tos
+legal_text_privacy 
+legal_text_tos 
+login_expired
 mute_local_audio_button_title
 mute_local_video_button_title2
+network_disconnected
 new_contact_button2
 no_contacts_import_or_add2
 no_contacts_message_heading2
 no_conversations_message_heading2
 no_conversations_start_message2
 no_media_failure_message
+outgoing_call_title
 panel_footer_signin_or_signup_link
+password_changed_question
+peer_ended_conversation2
 powered_by_afterLogo
 powered_by_beforeLogo
 privacy_notice_link_text
+problem_accessing_account
 promote_firefox_hello_heading
 rejoin_button
+remove_contact_menu_button2
+remove_contact_menu_button3
+restart_call
+retry_button
 retry_call_button
+room_information_failure_not_available
+room_information_failure_unsupported_browser
+rooms_already_joined
 rooms_change_failed_label
+rooms_default_room_name_template
+rooms_display_name_guest
 rooms_leave_button_label
 rooms_list_recent_conversations
+rooms_media_denied_message
 rooms_new_room_button_label
+rooms_only_occupant_label2
+rooms_panel_title
+rooms_read_while_wait_offer
 rooms_room_full_call_to_action_label
 rooms_room_full_call_to_action_nonFx_label
 rooms_room_full_label
 rooms_room_join_label
+rooms_room_joined_label
+rooms_room_joined_own_conversation_label
+rooms_signout_alert
 rooms_tab_button
+rooms_unavailable_notification_message
 rooms_welcome_title
 self_view_hidden_message
+service_not_available
+session_expired_error_description
 settings_menu_button_tooltip
 settings_menu_item_account
 settings_menu_item_settings
 settings_menu_item_signin
 settings_menu_item_signout
+share_add_service_button
 share_button3
+share_email_body6
+share_email_body_context2
+share_email_footer
+share_email_subject6
 share_tabs_button_title2
+share_tweet
 share_windows_button_title
 sign_in_again_button
 sign_in_again_title_line_one
 sign_in_again_title_line_two2
 sign_in_again_use_as_guest_button2
+standalone_title_with_room_name
 status_error
+sync_contacts_button
 terms_of_use_link_text
+tos_failure_message
 tour_label
+try_again_later
+unable_retrieve_call_info
 unable_retrieve_url
 unblock_contact_menu_button
 unmute_local_audio_button_title
 unmute_local_video_button_title2
+unsupported_platform_blackberry
 unsupported_platform_heading
 unsupported_platform_ios
 unsupported_platform_learn_more_link
 unsupported_platform_message
+unsupported_platform_windows_phone
+valid_email_text_description
+vendorShortname
 video_call_menu_button
+welcome


So the ui showcase isn't statically touching various strings that require user interaction, e.g., opening menus. It's probably not exercising all codepaths, so not sure if it's worthwhile to add all the additional views and automating a check for unused strings.
https://hg.mozilla.org/integration/fx-team/rev/fb8314962fa2b1c3f3d910f17c53a6a0ef616969
Bug 1210331 - Clean up strings for conversations panel and conversation invite [r=Standard8]
https://hg.mozilla.org/mozilla-central/rev/fb8314962fa2
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
The strings for email link, copy link and copied! have lowercase letters in Firefox Developer Edition 43.0a2. Shouldn't we uplift this into FF43 as well if we want the new visual refresh to reach Firefox 43 beta?
Flags: needinfo?(community)
(Please don't needinfo the community alias, nobody's watching that)

Aurora is string frozen, we shouldn't uplift this.
Flags: needinfo?(community)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: