From dcc79e99425d4cc4542a010f48dc72fb69d27ba6 Mon Sep 17 00:00:00 2001 From: Beverly Date: Tue, 28 Apr 2020 10:21:15 -0400 Subject: [PATCH] Update strings to be more translation friendly Use different strings for "None" based on the context of the string. Some languages may require different gendered grammar depending on its context. Also update contacts summary string to include plurals (1 vs many). Test: make RunSettingsRoboTests7 Bug: 154898476 Fixes: 154944295 Change-Id: If9949d75de573042389a19df3d4c5d15c6cbeb25 --- res/values/arrays.xml | 4 ++-- res/values/strings.xml | 17 +++++++++++------ .../notification/zen/ZenModeBackend.java | 19 ++++++++++--------- ...dePrioritySendersPreferenceController.java | 4 +++- ...nModeSendersImagePreferenceController.java | 5 ++++- .../notification/zen/ZenModeSettings.java | 4 ++-- 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 1649cb2ae0a..6e88b769bda 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1148,14 +1148,14 @@ @string/zen_mode_from_anyone @string/zen_mode_from_contacts @string/zen_mode_from_starred - @string/zen_mode_from_none_messages + @string/zen_mode_none_messages @string/zen_mode_from_anyone @string/zen_mode_from_contacts @string/zen_mode_from_starred - @string/zen_mode_from_none_calls + @string/zen_mode_none_calls diff --git a/res/values/strings.xml b/res/values/strings.xml index eff1ede4010..d4f3f7344ab 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8978,6 +8978,8 @@ 1 other %d others + + None Messages @@ -8997,8 +8999,13 @@ All calls can reach you - - %d contacts + + None + + + 1 contact + %d contacts + Anyone @@ -9006,8 +9013,6 @@ Contacts Starred contacts - - None From starred contacts and repeat callers @@ -9017,9 +9022,9 @@ From repeat callers only - Don\u2019t allow any calls + None - Don\u2019t allow any messages + None Alarms diff --git a/src/com/android/settings/notification/zen/ZenModeBackend.java b/src/com/android/settings/notification/zen/ZenModeBackend.java index b9b27c400f7..2f6a2b1b52e 100644 --- a/src/com/android/settings/notification/zen/ZenModeBackend.java +++ b/src/com/android/settings/notification/zen/ZenModeBackend.java @@ -287,13 +287,13 @@ public class ZenModeBackend { protected int getAlarmsTotalSilencePeopleSummary(int category) { if (category == NotificationManager.Policy.PRIORITY_CATEGORY_MESSAGES) { - return R.string.zen_mode_from_none; + return R.string.zen_mode_none_messages; } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CALLS){ - return R.string.zen_mode_from_none; + return R.string.zen_mode_none_calls; } else if (category == NotificationManager.Policy.PRIORITY_CATEGORY_CONVERSATIONS) { return R.string.zen_mode_from_no_conversations; } - return R.string.zen_mode_from_none; + return R.string.zen_mode_from_no_conversations; } protected int getConversationSummary() { @@ -322,7 +322,7 @@ public class ZenModeBackend { return R.string.zen_mode_from_starred; case ZenPolicy.PEOPLE_TYPE_NONE: default: - return R.string.zen_mode_from_none; + return R.string.zen_mode_none_calls; } } @@ -337,7 +337,7 @@ public class ZenModeBackend { return R.string.zen_mode_from_starred; case ZenPolicy.PEOPLE_TYPE_NONE: default: - return R.string.zen_mode_from_none; + return R.string.zen_mode_none_messages; } } @@ -472,7 +472,7 @@ public class ZenModeBackend { List displayContacts = new ArrayList<>(); if (numStarredContacts == 0) { - displayContacts.add(context.getString(R.string.zen_mode_from_none)); + displayContacts.add(context.getString(R.string.zen_mode_starred_contacts_summary_none)); } else { for (int i = 0; i < 2 && i < numStarredContacts; i++) { displayContacts.add(starredContacts.get(i)); @@ -494,10 +494,11 @@ public class ZenModeBackend { String getContactsNumberSummary(Context context) { final int numContacts = queryAllContactsData().getCount(); if (numContacts == 0) { - return context.getResources().getString(R.string.zen_mode_from_none); + return context.getResources().getString( + R.string.zen_mode_contacts_count_none); } - return context.getResources().getString(R.string.zen_mode_contacts_senders_summary, - numContacts); + return context.getResources().getQuantityString(R.plurals.zen_mode_contacts_count, + numContacts, numContacts); } private Cursor queryStarredContactsData() { diff --git a/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java index 8fd59c39a6a..abf2cedd3dc 100644 --- a/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModePrioritySendersPreferenceController.java @@ -91,7 +91,9 @@ public class ZenModePrioritySendersPreferenceController makeRadioPreference(KEY_ANY, com.android.settings.R.string.zen_mode_from_anyone); makeRadioPreference(KEY_NONE, - com.android.settings.R.string.zen_mode_from_none); + mIsMessages + ? com.android.settings.R.string.zen_mode_none_messages + : com.android.settings.R.string.zen_mode_none_calls); updateSummaries(); } diff --git a/src/com/android/settings/notification/zen/ZenModeSendersImagePreferenceController.java b/src/com/android/settings/notification/zen/ZenModeSendersImagePreferenceController.java index e8cd40db63a..6a0cf7acc71 100644 --- a/src/com/android/settings/notification/zen/ZenModeSendersImagePreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeSendersImagePreferenceController.java @@ -91,7 +91,10 @@ public class ZenModeSendersImagePreferenceController newImageRes = mIsMessages ? R.drawable.zen_messages_none : R.drawable.zen_calls_none; - newContentDescription = mContext.getString(R.string.zen_mode_from_none); + newContentDescription = + mContext.getString(mIsMessages + ? R.string.zen_mode_none_messages + : R.string.zen_mode_none_calls); } mImageView.setImageResource(newImageRes); diff --git a/src/com/android/settings/notification/zen/ZenModeSettings.java b/src/com/android/settings/notification/zen/ZenModeSettings.java index 3e59203a8b9..436a3990801 100644 --- a/src/com/android/settings/notification/zen/ZenModeSettings.java +++ b/src/com/android/settings/notification/zen/ZenModeSettings.java @@ -156,7 +156,7 @@ public class ZenModeSettings extends ZenModeSettingsBase { || PRIORITY_CATEGORY_REPEAT_CALLERS == category, true); int numCategories = enabledCategories.size(); if (numCategories == 0) { - return mContext.getString(R.string.zen_mode_from_none); + return mContext.getString(R.string.zen_mode_none_calls); } else if (numCategories == 1) { return mContext.getString(R.string.zen_mode_calls_summary_one, enabledCategories.get(0)); @@ -172,7 +172,7 @@ public class ZenModeSettings extends ZenModeSettingsBase { category -> PRIORITY_CATEGORY_MESSAGES == category, false); int numCategories = enabledCategories.size(); if (numCategories == 0) { - return mContext.getString(R.string.zen_mode_from_none); + return mContext.getString(R.string.zen_mode_none_messages); } else { return enabledCategories.get(0); }