Skip to content

msglist: Friendlier placeholder text when narrow has no messages #1640

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions assets/l10n/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@
"@upgradeWelcomeDialogDismiss": {
"description": "Label for button dismissing dialog shown on first upgrade from the legacy Zulip app."
},
"learnMoreButtonLabel": "Learn more",
"@learnMoreButtonLabel": {
"description": "Label for a 'Learn more' button."
},
"chooseAccountPageTitle": "Choose account",
"@chooseAccountPageTitle": {
"description": "Title for the page to choose between Zulip accounts."
Expand Down Expand Up @@ -534,6 +538,75 @@
"@emptyMessageList": {
"description": "Placeholder for some message-list pages when there are no messages."
},
"emptyMessageListCombinedFeed": "There are no messages in your combined feed.",
"@emptyMessageListCombinedFeed": {
"description": "Placeholder for the 'Combined feed' page when there are no messages."
},
"emptyMessageListPrivateChannelNotSubscribed": "This channel is private.",
"@emptyMessageListPrivateChannelNotSubscribed": {
"description": "Placeholder for a channel page when there are no messages, the channel is private, and you are not subscribed."
},
"emptyMessageListChannelUnavailable": "This channel doesn’t exist, or you are not allowed to view it.",
"@emptyMessageListChannelUnavailable": {
"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."
},
"emptyMessageListSelfDmHeader": "You have not sent any direct messages to yourself yet!",
"@emptyMessageListSelfDmHeader": {
"description": "Placeholder for the self-DM page when there are no messages."
},
"emptyMessageListSelfDmMessage": "Use this space for personal notes, or to test out Zulip features.",
"@emptyMessageListSelfDmMessage": {
"description": "Extra detail in the placeholder for the self-DM page when there are no messages."
},
"emptyMessageListDm": "You have no direct messages with {person} yet.",
"@emptyMessageListDm": {
"description": "Placeholder for a 1:1 DM page when there are no messages.",
"placeholders": {
"person": {"type": "String", "example": "Alice"}
}
},
"emptyMessageListDmDeactivatedUser": "You have no direct messages with {person}.",
"@emptyMessageListDmDeactivatedUser": {
"description": "Placeholder for a 1:1 DM page when there are no messages and the other user is deactivated.",
"placeholders": {
"person": {"type": "String", "example": "Alice"}
}
},
"emptyMessageListDmUnknownUser": "You have no direct messages with this person.",
"@emptyMessageListDmUnknownUser": {
"description": "Placeholder for a 1:1 DM page when there are no messages and the other user's name is unavailable."
},
"emptyMessageListGroupDm": "You have no direct messages with these users yet.",
"@emptyMessageListGroupDm": {
"description": "Placeholder for a group DM page when there are no messages."
},
"emptyMessageListGroupDmDeactivatedUser": "You have no direct messages with these users.",
"@emptyMessageListGroupDmDeactivatedUser": {
"description": "Placeholder for a group DM page when there are no messages and one or more participants is deactivated."
},
"emptyMessageListDmStartConversation": "Why not start the conversation?",
"@emptyMessageListDmStartConversation": {
"description": "Extra detail in the placeholder for some DM pages when there are no messages."
},
"emptyMessageListMentionsHeader": "This view will show messages where you are mentioned.",
"@emptyMessageListMentionsHeader": {
"description": "Placeholder for the 'Mentions' page when there are no messages."
},
"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.",
"@emptyMessageListMentionsMessage": {
"description": "Extra detail in the placeholder for the 'Mentions' page when there are no messages."
},
"emptyMessageListStarredHeader": "You have no starred messages.",
"@emptyMessageListStarredHeader": {
"description": "Placeholder for the 'Starred' page when there are no messages."
},
"emptyMessageListStarredMessage": "Starring messages 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}.”",
"@emptyMessageListStarredMessage": {
"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.",
"placeholders": {
"button": {"type": "String", "example": "Star message"}
}
},
"messageListGroupYouWithYourself": "Messages with yourself",
"@messageListGroupYouWithYourself": {
"description": "Message list recipient header for a DM group that only includes yourself."
Expand Down
96 changes: 96 additions & 0 deletions lib/generated/l10n/zulip_localizations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,12 @@ abstract class ZulipLocalizations {
/// **'Let\'s go'**
String get upgradeWelcomeDialogDismiss;

/// Label for a 'Learn more' button.
///
/// In en, this message translates to:
/// **'Learn more'**
String get learnMoreButtonLabel;

/// Title for the page to choose between Zulip accounts.
///
/// In en, this message translates to:
Expand Down Expand Up @@ -851,6 +857,96 @@ abstract class ZulipLocalizations {
/// **'There are no messages here.'**
String get emptyMessageList;

/// Placeholder for the 'Combined feed' page when there are no messages.
///
/// In en, this message translates to:
/// **'There are no messages in your combined feed.'**
String get emptyMessageListCombinedFeed;

/// Placeholder for a channel page when there are no messages, the channel is private, and you are not subscribed.
///
/// In en, this message translates to:
/// **'This channel is private.'**
String get emptyMessageListPrivateChannelNotSubscribed;

/// Placeholder for a channel page when there are no messages and the channel does not exist or you don't have access to it.
///
/// In en, this message translates to:
/// **'This channel doesn’t exist, or you are not allowed to view it.'**
String get emptyMessageListChannelUnavailable;

/// Placeholder for the self-DM page when there are no messages.
///
/// In en, this message translates to:
/// **'You have not sent any direct messages to yourself yet!'**
String get emptyMessageListSelfDmHeader;

/// Extra detail in the placeholder for the self-DM page when there are no messages.
///
/// In en, this message translates to:
/// **'Use this space for personal notes, or to test out Zulip features.'**
String get emptyMessageListSelfDmMessage;

/// Placeholder for a 1:1 DM page when there are no messages.
///
/// In en, this message translates to:
/// **'You have no direct messages with {person} yet.'**
String emptyMessageListDm(String person);

/// Placeholder for a 1:1 DM page when there are no messages and the other user is deactivated.
///
/// In en, this message translates to:
/// **'You have no direct messages with {person}.'**
String emptyMessageListDmDeactivatedUser(String person);

/// Placeholder for a 1:1 DM page when there are no messages and the other user's name is unavailable.
///
/// In en, this message translates to:
/// **'You have no direct messages with this person.'**
String get emptyMessageListDmUnknownUser;

/// Placeholder for a group DM page when there are no messages.
///
/// In en, this message translates to:
/// **'You have no direct messages with these users yet.'**
String get emptyMessageListGroupDm;

/// Placeholder for a group DM page when there are no messages and one or more participants is deactivated.
///
/// In en, this message translates to:
/// **'You have no direct messages with these users.'**
String get emptyMessageListGroupDmDeactivatedUser;

/// Extra detail in the placeholder for some DM pages when there are no messages.
///
/// In en, this message translates to:
/// **'Why not start the conversation?'**
String get emptyMessageListDmStartConversation;

/// Placeholder for the 'Mentions' page when there are no messages.
///
/// In en, this message translates to:
/// **'This view will show messages where you are mentioned.'**
String get emptyMessageListMentionsHeader;

/// Extra detail in the placeholder for the 'Mentions' page when there are no messages.
///
/// In en, this message translates to:
/// **'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.'**
String get emptyMessageListMentionsMessage;

/// Placeholder for the 'Starred' page when there are no messages.
///
/// In en, this message translates to:
/// **'You have no starred messages.'**
String get emptyMessageListStarredHeader;

/// Extra detail in the placeholder for the 'Starred' page when there are no messages. The {button} placeholder will be the button's translated text.
///
/// In en, this message translates to:
/// **'Starring messages 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}.”'**
String emptyMessageListStarredMessage(String button);

/// Message list recipient header for a DM group that only includes yourself.
///
/// In en, this message translates to:
Expand Down
65 changes: 65 additions & 0 deletions lib/generated/l10n/zulip_localizations_ar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
@override
String get upgradeWelcomeDialogDismiss => 'Let\'s go';

@override
String get learnMoreButtonLabel => 'Learn more';

@override
String get chooseAccountPageTitle => 'Choose account';

Expand Down Expand Up @@ -437,6 +440,68 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
@override
String get emptyMessageList => 'There are no messages here.';

@override
String get emptyMessageListCombinedFeed =>
'There are no messages in your combined feed.';

@override
String get emptyMessageListPrivateChannelNotSubscribed =>
'This channel is private.';

@override
String get emptyMessageListChannelUnavailable =>
'This channel doesn’t exist, or you are not allowed to view it.';

@override
String get emptyMessageListSelfDmHeader =>
'You have not sent any direct messages to yourself yet!';

@override
String get emptyMessageListSelfDmMessage =>
'Use this space for personal notes, or to test out Zulip features.';

@override
String emptyMessageListDm(String person) {
return 'You have no direct messages with $person yet.';
}

@override
String emptyMessageListDmDeactivatedUser(String person) {
return 'You have no direct messages with $person.';
}

@override
String get emptyMessageListDmUnknownUser =>
'You have no direct messages with this person.';

@override
String get emptyMessageListGroupDm =>
'You have no direct messages with these users yet.';

@override
String get emptyMessageListGroupDmDeactivatedUser =>
'You have no direct messages with these users.';

@override
String get emptyMessageListDmStartConversation =>
'Why not start the conversation?';

@override
String get emptyMessageListMentionsHeader =>
'This view will show messages where you are mentioned.';

@override
String get 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.';

@override
String get emptyMessageListStarredHeader => 'You have no starred messages.';

@override
String emptyMessageListStarredMessage(String button) {
return 'Starring messages 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.”';
}

@override
String get messageListGroupYouWithYourself => 'Messages with yourself';

Expand Down
65 changes: 65 additions & 0 deletions lib/generated/l10n/zulip_localizations_de.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
@override
String get upgradeWelcomeDialogDismiss => 'Los gehts';

@override
String get learnMoreButtonLabel => 'Learn more';

@override
String get chooseAccountPageTitle => 'Konto auswählen';

Expand Down Expand Up @@ -452,6 +455,68 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
@override
String get emptyMessageList => 'There are no messages here.';

@override
String get emptyMessageListCombinedFeed =>
'There are no messages in your combined feed.';

@override
String get emptyMessageListPrivateChannelNotSubscribed =>
'This channel is private.';

@override
String get emptyMessageListChannelUnavailable =>
'This channel doesn’t exist, or you are not allowed to view it.';

@override
String get emptyMessageListSelfDmHeader =>
'You have not sent any direct messages to yourself yet!';

@override
String get emptyMessageListSelfDmMessage =>
'Use this space for personal notes, or to test out Zulip features.';

@override
String emptyMessageListDm(String person) {
return 'You have no direct messages with $person yet.';
}

@override
String emptyMessageListDmDeactivatedUser(String person) {
return 'You have no direct messages with $person.';
}

@override
String get emptyMessageListDmUnknownUser =>
'You have no direct messages with this person.';

@override
String get emptyMessageListGroupDm =>
'You have no direct messages with these users yet.';

@override
String get emptyMessageListGroupDmDeactivatedUser =>
'You have no direct messages with these users.';

@override
String get emptyMessageListDmStartConversation =>
'Why not start the conversation?';

@override
String get emptyMessageListMentionsHeader =>
'This view will show messages where you are mentioned.';

@override
String get 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.';

@override
String get emptyMessageListStarredHeader => 'You have no starred messages.';

@override
String emptyMessageListStarredMessage(String button) {
return 'Starring messages 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.”';
}

@override
String get messageListGroupYouWithYourself => 'Nachrichten mit dir selbst';

Expand Down
Loading