Skip to content

Commit aaac065

Browse files
committed
msglist: Friendlier placeholder text when narrow has no messages
Fixes #1653.
1 parent a3f5b81 commit aaac065

21 files changed

+1511
-11
lines changed

assets/l10n/app_en.arb

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -687,6 +687,75 @@
687687
"@emptyMessageList": {
688688
"description": "Placeholder for some message-list pages when there are no messages."
689689
},
690+
"emptyMessageListCombinedFeed": "There are no messages in your combined feed.",
691+
"@emptyMessageListCombinedFeed": {
692+
"description": "Placeholder for the 'Combined feed' page when there are no messages."
693+
},
694+
"emptyMessageListChannelWithoutContentAccess": "You don’t have <z-link>content access</z-link> to this channel.",
695+
"@emptyMessageListChannelWithoutContentAccess": {
696+
"description": "Placeholder for a channel or topic page when there are no messages and you don’t have content access."
697+
},
698+
"emptyMessageListChannelUnavailable": "This channel doesn’t exist, or you are not allowed to view it.",
699+
"@emptyMessageListChannelUnavailable": {
700+
"description": "Placeholder for a channel page when there are no messages and the channel does not exist or you don't have access to it."
701+
},
702+
"emptyMessageListSelfDmHeader": "You have not sent any direct messages to yourself yet!",
703+
"@emptyMessageListSelfDmHeader": {
704+
"description": "Placeholder for the self-DM page when there are no messages."
705+
},
706+
"emptyMessageListSelfDmMessage": "Use this space for personal notes, or to test out Zulip features.",
707+
"@emptyMessageListSelfDmMessage": {
708+
"description": "Extra detail in the placeholder for the self-DM page when there are no messages."
709+
},
710+
"emptyMessageListDm": "You have no direct messages with {person} yet.",
711+
"@emptyMessageListDm": {
712+
"description": "Placeholder for a 1:1 DM page when there are no messages.",
713+
"placeholders": {
714+
"person": {"type": "String", "example": "Alice"}
715+
}
716+
},
717+
"emptyMessageListDmDeactivatedUser": "You have no direct messages with {person}.",
718+
"@emptyMessageListDmDeactivatedUser": {
719+
"description": "Placeholder for a 1:1 DM page when there are no messages and the other user is deactivated.",
720+
"placeholders": {
721+
"person": {"type": "String", "example": "Alice"}
722+
}
723+
},
724+
"emptyMessageListDmUnknownUser": "You have no direct messages with this user.",
725+
"@emptyMessageListDmUnknownUser": {
726+
"description": "Placeholder for a 1:1 DM page when there are no messages and the other user's name is unavailable."
727+
},
728+
"emptyMessageListGroupDm": "You have no direct messages with these users yet.",
729+
"@emptyMessageListGroupDm": {
730+
"description": "Placeholder for a group DM page when there are no messages."
731+
},
732+
"emptyMessageListGroupDmDeactivatedUser": "You have no direct messages with these users.",
733+
"@emptyMessageListGroupDmDeactivatedUser": {
734+
"description": "Placeholder for a group DM page when there are no messages and one or more participants is deactivated."
735+
},
736+
"emptyMessageListDmStartConversation": "Why not start the conversation?",
737+
"@emptyMessageListDmStartConversation": {
738+
"description": "Extra detail in the placeholder for some DM pages when there are no messages."
739+
},
740+
"emptyMessageListMentionsHeader": "This view will show messages where you are <z-link>mentioned</z-link>.",
741+
"@emptyMessageListMentionsHeader": {
742+
"description": "Placeholder for the 'Mentions' page when there are no messages."
743+
},
744+
"emptyMessageListMentionsMessage": "To call attention to a message, you can mention a user, a group, topic participants, or all subscribers to a channel. Type @ in the compose box, and choose who you’d like to mention from the list of suggestions.",
745+
"@emptyMessageListMentionsMessage": {
746+
"description": "Extra detail in the placeholder for the 'Mentions' page when there are no messages."
747+
},
748+
"emptyMessageListStarredHeader": "You have no starred messages.",
749+
"@emptyMessageListStarredHeader": {
750+
"description": "Placeholder for the 'Starred' page when there are no messages."
751+
},
752+
"emptyMessageListStarredMessage": "<z-link>Starring</z-link> is a good way to keep track of important messages, such as tasks you need to go back to, or useful references. To star a message, long-press it and tap “{button}.”",
753+
"@emptyMessageListStarredMessage": {
754+
"description": "Extra detail in the placeholder for the 'Starred' page when there are no messages. The {button} placeholder will be the button's translated text.",
755+
"placeholders": {
756+
"button": {"type": "String", "example": "Star message"}
757+
}
758+
},
690759
"emptyMessageListSearch": "No search results.",
691760
"@emptyMessageListSearch": {
692761
"description": "Placeholder for the 'Search' page when there are no messages."

lib/generated/l10n/zulip_localizations.dart

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,96 @@ abstract class ZulipLocalizations {
10651065
/// **'There are no messages here.'**
10661066
String get emptyMessageList;
10671067

1068+
/// Placeholder for the 'Combined feed' page when there are no messages.
1069+
///
1070+
/// In en, this message translates to:
1071+
/// **'There are no messages in your combined feed.'**
1072+
String get emptyMessageListCombinedFeed;
1073+
1074+
/// Placeholder for a channel or topic page when there are no messages and you don’t have content access.
1075+
///
1076+
/// In en, this message translates to:
1077+
/// **'You don’t have <z-link>content access</z-link> to this channel.'**
1078+
String get emptyMessageListChannelWithoutContentAccess;
1079+
1080+
/// Placeholder for a channel page when there are no messages and the channel does not exist or you don't have access to it.
1081+
///
1082+
/// In en, this message translates to:
1083+
/// **'This channel doesn’t exist, or you are not allowed to view it.'**
1084+
String get emptyMessageListChannelUnavailable;
1085+
1086+
/// Placeholder for the self-DM page when there are no messages.
1087+
///
1088+
/// In en, this message translates to:
1089+
/// **'You have not sent any direct messages to yourself yet!'**
1090+
String get emptyMessageListSelfDmHeader;
1091+
1092+
/// Extra detail in the placeholder for the self-DM page when there are no messages.
1093+
///
1094+
/// In en, this message translates to:
1095+
/// **'Use this space for personal notes, or to test out Zulip features.'**
1096+
String get emptyMessageListSelfDmMessage;
1097+
1098+
/// Placeholder for a 1:1 DM page when there are no messages.
1099+
///
1100+
/// In en, this message translates to:
1101+
/// **'You have no direct messages with {person} yet.'**
1102+
String emptyMessageListDm(String person);
1103+
1104+
/// Placeholder for a 1:1 DM page when there are no messages and the other user is deactivated.
1105+
///
1106+
/// In en, this message translates to:
1107+
/// **'You have no direct messages with {person}.'**
1108+
String emptyMessageListDmDeactivatedUser(String person);
1109+
1110+
/// Placeholder for a 1:1 DM page when there are no messages and the other user's name is unavailable.
1111+
///
1112+
/// In en, this message translates to:
1113+
/// **'You have no direct messages with this user.'**
1114+
String get emptyMessageListDmUnknownUser;
1115+
1116+
/// Placeholder for a group DM page when there are no messages.
1117+
///
1118+
/// In en, this message translates to:
1119+
/// **'You have no direct messages with these users yet.'**
1120+
String get emptyMessageListGroupDm;
1121+
1122+
/// Placeholder for a group DM page when there are no messages and one or more participants is deactivated.
1123+
///
1124+
/// In en, this message translates to:
1125+
/// **'You have no direct messages with these users.'**
1126+
String get emptyMessageListGroupDmDeactivatedUser;
1127+
1128+
/// Extra detail in the placeholder for some DM pages when there are no messages.
1129+
///
1130+
/// In en, this message translates to:
1131+
/// **'Why not start the conversation?'**
1132+
String get emptyMessageListDmStartConversation;
1133+
1134+
/// Placeholder for the 'Mentions' page when there are no messages.
1135+
///
1136+
/// In en, this message translates to:
1137+
/// **'This view will show messages where you are <z-link>mentioned</z-link>.'**
1138+
String get emptyMessageListMentionsHeader;
1139+
1140+
/// Extra detail in the placeholder for the 'Mentions' page when there are no messages.
1141+
///
1142+
/// In en, this message translates to:
1143+
/// **'To call attention to a message, you can mention a user, a group, topic participants, or all subscribers to a channel. Type @ in the compose box, and choose who you’d like to mention from the list of suggestions.'**
1144+
String get emptyMessageListMentionsMessage;
1145+
1146+
/// Placeholder for the 'Starred' page when there are no messages.
1147+
///
1148+
/// In en, this message translates to:
1149+
/// **'You have no starred messages.'**
1150+
String get emptyMessageListStarredHeader;
1151+
1152+
/// Extra detail in the placeholder for the 'Starred' page when there are no messages. The {button} placeholder will be the button's translated text.
1153+
///
1154+
/// In en, this message translates to:
1155+
/// **'<z-link>Starring</z-link> is a good way to keep track of important messages, such as tasks you need to go back to, or useful references. To star a message, long-press it and tap “{button}.”'**
1156+
String emptyMessageListStarredMessage(String button);
1157+
10681158
/// Placeholder for the 'Search' page when there are no messages.
10691159
///
10701160
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,68 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
568568
@override
569569
String get emptyMessageList => 'There are no messages here.';
570570

571+
@override
572+
String get emptyMessageListCombinedFeed =>
573+
'There are no messages in your combined feed.';
574+
575+
@override
576+
String get emptyMessageListChannelWithoutContentAccess =>
577+
'You don’t have <z-link>content access</z-link> to this channel.';
578+
579+
@override
580+
String get emptyMessageListChannelUnavailable =>
581+
'This channel doesn’t exist, or you are not allowed to view it.';
582+
583+
@override
584+
String get emptyMessageListSelfDmHeader =>
585+
'You have not sent any direct messages to yourself yet!';
586+
587+
@override
588+
String get emptyMessageListSelfDmMessage =>
589+
'Use this space for personal notes, or to test out Zulip features.';
590+
591+
@override
592+
String emptyMessageListDm(String person) {
593+
return 'You have no direct messages with $person yet.';
594+
}
595+
596+
@override
597+
String emptyMessageListDmDeactivatedUser(String person) {
598+
return 'You have no direct messages with $person.';
599+
}
600+
601+
@override
602+
String get emptyMessageListDmUnknownUser =>
603+
'You have no direct messages with this user.';
604+
605+
@override
606+
String get emptyMessageListGroupDm =>
607+
'You have no direct messages with these users yet.';
608+
609+
@override
610+
String get emptyMessageListGroupDmDeactivatedUser =>
611+
'You have no direct messages with these users.';
612+
613+
@override
614+
String get emptyMessageListDmStartConversation =>
615+
'Why not start the conversation?';
616+
617+
@override
618+
String get emptyMessageListMentionsHeader =>
619+
'This view will show messages where you are <z-link>mentioned</z-link>.';
620+
621+
@override
622+
String get emptyMessageListMentionsMessage =>
623+
'To call attention to a message, you can mention a user, a group, topic participants, or all subscribers to a channel. Type @ in the compose box, and choose who you’d like to mention from the list of suggestions.';
624+
625+
@override
626+
String get emptyMessageListStarredHeader => 'You have no starred messages.';
627+
628+
@override
629+
String emptyMessageListStarredMessage(String button) {
630+
return '<z-link>Starring</z-link> is a good way to keep track of important messages, such as tasks you need to go back to, or useful references. To star a message, long-press it and tap “$button.”';
631+
}
632+
571633
@override
572634
String get emptyMessageListSearch => 'No search results.';
573635

lib/generated/l10n/zulip_localizations_de.dart

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,68 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
587587
@override
588588
String get emptyMessageList => 'Hier gibt es keine Nachrichten.';
589589

590+
@override
591+
String get emptyMessageListCombinedFeed =>
592+
'There are no messages in your combined feed.';
593+
594+
@override
595+
String get emptyMessageListChannelWithoutContentAccess =>
596+
'You don’t have <z-link>content access</z-link> to this channel.';
597+
598+
@override
599+
String get emptyMessageListChannelUnavailable =>
600+
'This channel doesn’t exist, or you are not allowed to view it.';
601+
602+
@override
603+
String get emptyMessageListSelfDmHeader =>
604+
'You have not sent any direct messages to yourself yet!';
605+
606+
@override
607+
String get emptyMessageListSelfDmMessage =>
608+
'Use this space for personal notes, or to test out Zulip features.';
609+
610+
@override
611+
String emptyMessageListDm(String person) {
612+
return 'You have no direct messages with $person yet.';
613+
}
614+
615+
@override
616+
String emptyMessageListDmDeactivatedUser(String person) {
617+
return 'You have no direct messages with $person.';
618+
}
619+
620+
@override
621+
String get emptyMessageListDmUnknownUser =>
622+
'You have no direct messages with this user.';
623+
624+
@override
625+
String get emptyMessageListGroupDm =>
626+
'You have no direct messages with these users yet.';
627+
628+
@override
629+
String get emptyMessageListGroupDmDeactivatedUser =>
630+
'You have no direct messages with these users.';
631+
632+
@override
633+
String get emptyMessageListDmStartConversation =>
634+
'Why not start the conversation?';
635+
636+
@override
637+
String get emptyMessageListMentionsHeader =>
638+
'This view will show messages where you are <z-link>mentioned</z-link>.';
639+
640+
@override
641+
String get emptyMessageListMentionsMessage =>
642+
'To call attention to a message, you can mention a user, a group, topic participants, or all subscribers to a channel. Type @ in the compose box, and choose who you’d like to mention from the list of suggestions.';
643+
644+
@override
645+
String get emptyMessageListStarredHeader => 'You have no starred messages.';
646+
647+
@override
648+
String emptyMessageListStarredMessage(String button) {
649+
return '<z-link>Starring</z-link> is a good way to keep track of important messages, such as tasks you need to go back to, or useful references. To star a message, long-press it and tap “$button.”';
650+
}
651+
590652
@override
591653
String get emptyMessageListSearch => 'Keine Suchergebnisse.';
592654

lib/generated/l10n/zulip_localizations_el.dart

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,68 @@ class ZulipLocalizationsEl extends ZulipLocalizations {
568568
@override
569569
String get emptyMessageList => 'There are no messages here.';
570570

571+
@override
572+
String get emptyMessageListCombinedFeed =>
573+
'There are no messages in your combined feed.';
574+
575+
@override
576+
String get emptyMessageListChannelWithoutContentAccess =>
577+
'You don’t have <z-link>content access</z-link> to this channel.';
578+
579+
@override
580+
String get emptyMessageListChannelUnavailable =>
581+
'This channel doesn’t exist, or you are not allowed to view it.';
582+
583+
@override
584+
String get emptyMessageListSelfDmHeader =>
585+
'You have not sent any direct messages to yourself yet!';
586+
587+
@override
588+
String get emptyMessageListSelfDmMessage =>
589+
'Use this space for personal notes, or to test out Zulip features.';
590+
591+
@override
592+
String emptyMessageListDm(String person) {
593+
return 'You have no direct messages with $person yet.';
594+
}
595+
596+
@override
597+
String emptyMessageListDmDeactivatedUser(String person) {
598+
return 'You have no direct messages with $person.';
599+
}
600+
601+
@override
602+
String get emptyMessageListDmUnknownUser =>
603+
'You have no direct messages with this user.';
604+
605+
@override
606+
String get emptyMessageListGroupDm =>
607+
'You have no direct messages with these users yet.';
608+
609+
@override
610+
String get emptyMessageListGroupDmDeactivatedUser =>
611+
'You have no direct messages with these users.';
612+
613+
@override
614+
String get emptyMessageListDmStartConversation =>
615+
'Why not start the conversation?';
616+
617+
@override
618+
String get emptyMessageListMentionsHeader =>
619+
'This view will show messages where you are <z-link>mentioned</z-link>.';
620+
621+
@override
622+
String get emptyMessageListMentionsMessage =>
623+
'To call attention to a message, you can mention a user, a group, topic participants, or all subscribers to a channel. Type @ in the compose box, and choose who you’d like to mention from the list of suggestions.';
624+
625+
@override
626+
String get emptyMessageListStarredHeader => 'You have no starred messages.';
627+
628+
@override
629+
String emptyMessageListStarredMessage(String button) {
630+
return '<z-link>Starring</z-link> is a good way to keep track of important messages, such as tasks you need to go back to, or useful references. To star a message, long-press it and tap “$button.”';
631+
}
632+
571633
@override
572634
String get emptyMessageListSearch => 'No search results.';
573635

0 commit comments

Comments
 (0)