From 864f97b1a86a0a9ae0914dcac1e8941c54a7e77d Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Mon, 29 Sep 2025 10:02:03 +0200 Subject: [PATCH] l10n: Update translations from Weblate. --- assets/l10n/app_de.arb | 32 +++++++++++++ assets/l10n/app_sl.arb | 42 ++++++++++++++++ assets/l10n/app_zh_Hans_CN.arb | 48 ++++++++++++++++++- .../l10n/zulip_localizations_de.dart | 17 +++---- .../l10n/zulip_localizations_sl.dart | 18 +++---- .../l10n/zulip_localizations_zh.dart | 36 +++++++++++++- 6 files changed, 174 insertions(+), 19 deletions(-) diff --git a/assets/l10n/app_de.arb b/assets/l10n/app_de.arb index f2d6f55960..52229395bf 100644 --- a/assets/l10n/app_de.arb +++ b/assets/l10n/app_de.arb @@ -26,6 +26,9 @@ "@actionSheetOptionCopyTopicLink": { "description": "Label for copy topic link button in action sheet." }, + "@actionSheetOptionDeleteMessage": { + "description": "Label for the 'Delete message' button in the message action sheet." + }, "@actionSheetOptionEditMessage": { "description": "Label for the 'Edit message' button in the message action sheet." }, @@ -104,6 +107,12 @@ "@actionSheetReadReceiptsZeroReadCount": { "description": "Label in the \"Read receipts\" bottom sheet when no one has read the message." }, + "@allChannelsEmptyPlaceholder": { + "description": "Centered text on the 'All channels' page saying that there is no content to show." + }, + "@allChannelsPageTitle": { + "description": "Title for the 'All channels' page." + }, "@appVersionUnknownPlaceholder": { "description": "Placeholder to show in place of the app version when it is unknown." }, @@ -218,6 +227,15 @@ "@contentValidationErrorUploadInProgress": { "description": "Content validation error message when attachments have not finished uploading." }, + "@deleteMessageConfirmationDialogConfirmButton": { + "description": "Label for the 'Delete' button on a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogMessage": { + "description": "Message for a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogTitle": { + "description": "Title for a confirmation dialog for deleting a message." + }, "@dialogCancel": { "description": "Button label in dialogs to cancel." }, @@ -340,6 +358,9 @@ "@errorCouldNotShowUserProfile": { "description": "Message that appears on the user profile page when the profile cannot be shown." }, + "@errorDeleteMessageFailedTitle": { + "description": "Error title when deleting a message failed." + }, "@errorDialogContinue": { "description": "Button label in error dialogs to acknowledge the error and close the dialog." }, @@ -738,6 +759,9 @@ "@mutedUser": { "description": "Name for a muted user to display all over the app." }, + "@navButtonAllChannels": { + "description": "Title for a nav button that opens the 'All channels' page." + }, "@newDmFabButtonLabel": { "description": "Label for the floating action button (FAB) that opens the new DM sheet." }, @@ -1221,6 +1245,7 @@ "actionSheetOptionCopyMessageLink": "Link zur Nachricht kopieren", "actionSheetOptionCopyMessageText": "Nachrichtentext kopieren", "actionSheetOptionCopyTopicLink": "Link zum Thema kopieren", + "actionSheetOptionDeleteMessage": "Nachricht löschen", "actionSheetOptionEditMessage": "Nachricht bearbeiten", "actionSheetOptionFollowTopic": "Thema folgen", "actionSheetOptionHideMutedMessage": "Stummgeschaltete Nachricht wieder ausblenden", @@ -1245,6 +1270,8 @@ "actionSheetReadReceiptsErrorReadCount": "Laden von Empfangsbestätigungen fehlgeschlagen.", "actionSheetReadReceiptsReadCount": "{count, plural, =1{Diese Nachricht wurde von einer Person gelesen:} other{Diese Nachricht wurde von {count} Personen gelesen:}}", "actionSheetReadReceiptsZeroReadCount": "Niemand hat diese Nachricht bisher gelesen.", + "allChannelsEmptyPlaceholder": "Es gibt in dieser Organisation keine Kanäle die du ansehen kannst.", + "allChannelsPageTitle": "Alle Kanäle", "appVersionUnknownPlaceholder": "(…)", "channelFeedButtonTooltip": "Kanal-Feed", "channelsEmptyPlaceholder": "Du hast noch keine Kanäle abonniert.", @@ -1273,6 +1300,9 @@ "contentValidationErrorQuoteAndReplyInProgress": "Bitte warte bis das Zitat abgeschlossen ist.", "contentValidationErrorTooLong": "Nachrichtenlänge sollte nicht größer als 10000 Zeichen sein.", "contentValidationErrorUploadInProgress": "Bitte warte bis das Hochladen abgeschlossen ist.", + "deleteMessageConfirmationDialogConfirmButton": "Löschen", + "deleteMessageConfirmationDialogMessage": "Das Löschen einer Nachricht entfernt diese permanent für alle Nutzer:innen.", + "deleteMessageConfirmationDialogTitle": "Nachricht löschen?", "dialogCancel": "Abbrechen", "dialogClose": "Schließen", "dialogContinue": "Fortsetzen", @@ -1303,6 +1333,7 @@ "errorCouldNotOpenLink": "Link konnte nicht geöffnet werden: {url}", "errorCouldNotOpenLinkTitle": "Link kann nicht geöffnet werden", "errorCouldNotShowUserProfile": "Nutzerprofil kann nicht angezeigt werden.", + "errorDeleteMessageFailedTitle": "Löschen der Nachricht fehlgeschlagen", "errorDialogContinue": "OK", "errorDialogLearnMore": "Mehr erfahren", "errorDialogTitle": "Fehler", @@ -1395,6 +1426,7 @@ "messageListGroupYouWithYourself": "Nachrichten mit dir selbst", "messageNotSentLabel": "NACHRICHT NICHT GESENDET", "mutedUser": "Stummgeschaltete:r Nutzer:in", + "navButtonAllChannels": "Alle Kanäle", "newDmFabButtonLabel": "Neue DN", "newDmSheetComposeButtonLabel": "Verfassen", "newDmSheetNoUsersFound": "Keine Nutzer:innen gefunden", diff --git a/assets/l10n/app_sl.arb b/assets/l10n/app_sl.arb index 15a54a0b13..d73e41812e 100644 --- a/assets/l10n/app_sl.arb +++ b/assets/l10n/app_sl.arb @@ -26,6 +26,9 @@ "@actionSheetOptionCopyTopicLink": { "description": "Label for copy topic link button in action sheet." }, + "@actionSheetOptionDeleteMessage": { + "description": "Label for the 'Delete message' button in the message action sheet." + }, "@actionSheetOptionEditMessage": { "description": "Label for the 'Edit message' button in the message action sheet." }, @@ -104,6 +107,12 @@ "@actionSheetReadReceiptsZeroReadCount": { "description": "Label in the \"Read receipts\" bottom sheet when no one has read the message." }, + "@allChannelsEmptyPlaceholder": { + "description": "Centered text on the 'All channels' page saying that there is no content to show." + }, + "@allChannelsPageTitle": { + "description": "Title for the 'All channels' page." + }, "@appVersionUnknownPlaceholder": { "description": "Placeholder to show in place of the app version when it is unknown." }, @@ -113,6 +122,15 @@ "@channelsEmptyPlaceholder": { "description": "Centered text on the 'Channels' page saying that there is no content to show." }, + "@channelsEmptyPlaceholderWithAllChannelsLink": { + "description": "Centered text on the 'Channels' page saying that there is no content to show, with a link to 'All channels'.", + "placeholders": { + "allChannelsPageTitle": { + "example": "All channels", + "type": "String" + } + } + }, "@channelsPageTitle": { "description": "Title for the page with a list of subscribed channels." }, @@ -218,6 +236,15 @@ "@contentValidationErrorUploadInProgress": { "description": "Content validation error message when attachments have not finished uploading." }, + "@deleteMessageConfirmationDialogConfirmButton": { + "description": "Label for the 'Delete' button on a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogMessage": { + "description": "Message for a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogTitle": { + "description": "Title for a confirmation dialog for deleting a message." + }, "@dialogCancel": { "description": "Button label in dialogs to cancel." }, @@ -340,6 +367,9 @@ "@errorCouldNotShowUserProfile": { "description": "Message that appears on the user profile page when the profile cannot be shown." }, + "@errorDeleteMessageFailedTitle": { + "description": "Error title when deleting a message failed." + }, "@errorDialogContinue": { "description": "Button label in error dialogs to acknowledge the error and close the dialog." }, @@ -738,6 +768,9 @@ "@mutedUser": { "description": "Name for a muted user to display all over the app." }, + "@navButtonAllChannels": { + "description": "Title for a nav button that opens the 'All channels' page." + }, "@newDmFabButtonLabel": { "description": "Label for the floating action button (FAB) that opens the new DM sheet." }, @@ -1221,6 +1254,7 @@ "actionSheetOptionCopyMessageLink": "Kopiraj povezavo do sporočila", "actionSheetOptionCopyMessageText": "Kopiraj besedilo sporočila", "actionSheetOptionCopyTopicLink": "Kopiraj povezavo do teme", + "actionSheetOptionDeleteMessage": "Izbriši sporočilo", "actionSheetOptionEditMessage": "Uredi sporočilo", "actionSheetOptionFollowTopic": "Sledi temi", "actionSheetOptionHideMutedMessage": "Znova skrij utišano sporočilo", @@ -1245,9 +1279,12 @@ "actionSheetReadReceiptsErrorReadCount": "Nalaganje potrdil o branju ni uspelo.", "actionSheetReadReceiptsReadCount": "{count, plural, one{To sporočilo je prebrala {count} oseba:} two{To sporočilo sta prebrali {count} osebi:} few{To sporočilo so prebrale {count} osebe:} other{To sporočilo je prebralo {count} oseb:}}", "actionSheetReadReceiptsZeroReadCount": "Tega sporočila še nihče ni prebral.", + "allChannelsEmptyPlaceholder": "V tej organizaciji ni kanalov, ki bi si jih lahko ogledali.", + "allChannelsPageTitle": "Vsi kanali", "appVersionUnknownPlaceholder": "(...)", "channelFeedButtonTooltip": "Sporočila kanala", "channelsEmptyPlaceholder": "Niste še naročeni na noben kanal.", + "channelsEmptyPlaceholderWithAllChannelsLink": "Naročeni še niste na noben kanal. Poskusite odpreti {allChannelsPageTitle} in se pridružiti kateremu od njih.", "channelsPageTitle": "Kanali", "chooseAccountButtonAddAnAccount": "Dodaj račun", "chooseAccountPageLogOutButton": "Odjava", @@ -1273,6 +1310,9 @@ "contentValidationErrorQuoteAndReplyInProgress": "Počakajte, da se citat zaključi.", "contentValidationErrorTooLong": "Dolžina sporočila ne sme presegati 10000 znakov.", "contentValidationErrorUploadInProgress": "Počakajte, da se nalaganje konča.", + "deleteMessageConfirmationDialogConfirmButton": "Izbriši", + "deleteMessageConfirmationDialogMessage": "Brisanje sporočila ga trajno odstrani za vse.", + "deleteMessageConfirmationDialogTitle": "Izbrišem sporočilo?", "dialogCancel": "Prekliči", "dialogClose": "Zapri", "dialogContinue": "Nadaljuj", @@ -1303,6 +1343,7 @@ "errorCouldNotOpenLink": "Povezave ni bilo mogoče odpreti: {url}", "errorCouldNotOpenLinkTitle": "Povezave ni mogoče odpreti", "errorCouldNotShowUserProfile": "Uporabniškega profila ni mogoče prikazati.", + "errorDeleteMessageFailedTitle": "Sporočila se ne da izbrisati", "errorDialogContinue": "V redu", "errorDialogLearnMore": "Več o tem", "errorDialogTitle": "Napaka", @@ -1395,6 +1436,7 @@ "messageListGroupYouWithYourself": "Sporočila sebi", "messageNotSentLabel": "SPOROČILO NI POSLANO", "mutedUser": "Uporabnik je utišan", + "navButtonAllChannels": "Vsi kanali", "newDmFabButtonLabel": "Novo neposredno sporočilo", "newDmSheetComposeButtonLabel": "Napiši", "newDmSheetNoUsersFound": "Ni zadetkov med uporabniki", diff --git a/assets/l10n/app_zh_Hans_CN.arb b/assets/l10n/app_zh_Hans_CN.arb index 52ce2b70c4..f0f2ae36c2 100644 --- a/assets/l10n/app_zh_Hans_CN.arb +++ b/assets/l10n/app_zh_Hans_CN.arb @@ -11,6 +11,9 @@ "@aboutPageTitle": { "description": "Title for About Zulip page." }, + "@actionSheetOptionChannelFeed": { + "description": "Label for navigating to a channel's channel-feed page." + }, "@actionSheetOptionCopyChannelLink": { "description": "Label for copy channel link button on action sheet." }, @@ -23,6 +26,9 @@ "@actionSheetOptionCopyTopicLink": { "description": "Label for copy topic link button in action sheet." }, + "@actionSheetOptionDeleteMessage": { + "description": "Label for the 'Delete message' button in the message action sheet." + }, "@actionSheetOptionEditMessage": { "description": "Label for the 'Edit message' button in the message action sheet." }, @@ -101,6 +107,12 @@ "@actionSheetReadReceiptsZeroReadCount": { "description": "Label in the \"Read receipts\" bottom sheet when no one has read the message." }, + "@allChannelsEmptyPlaceholder": { + "description": "Centered text on the 'All channels' page saying that there is no content to show." + }, + "@allChannelsPageTitle": { + "description": "Title for the 'All channels' page." + }, "@appVersionUnknownPlaceholder": { "description": "Placeholder to show in place of the app version when it is unknown." }, @@ -110,6 +122,15 @@ "@channelsEmptyPlaceholder": { "description": "Centered text on the 'Channels' page saying that there is no content to show." }, + "@channelsEmptyPlaceholderWithAllChannelsLink": { + "description": "Centered text on the 'Channels' page saying that there is no content to show, with a link to 'All channels'.", + "placeholders": { + "allChannelsPageTitle": { + "example": "All channels", + "type": "String" + } + } + }, "@channelsPageTitle": { "description": "Title for the page with a list of subscribed channels." }, @@ -215,6 +236,15 @@ "@contentValidationErrorUploadInProgress": { "description": "Content validation error message when attachments have not finished uploading." }, + "@deleteMessageConfirmationDialogConfirmButton": { + "description": "Label for the 'Delete' button on a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogMessage": { + "description": "Message for a confirmation dialog for deleting a message." + }, + "@deleteMessageConfirmationDialogTitle": { + "description": "Title for a confirmation dialog for deleting a message." + }, "@dialogCancel": { "description": "Button label in dialogs to cancel." }, @@ -337,6 +367,9 @@ "@errorCouldNotShowUserProfile": { "description": "Message that appears on the user profile page when the profile cannot be shown." }, + "@errorDeleteMessageFailedTitle": { + "description": "Error title when deleting a message failed." + }, "@errorDialogContinue": { "description": "Button label in error dialogs to acknowledge the error and close the dialog." }, @@ -735,6 +768,9 @@ "@mutedUser": { "description": "Name for a muted user to display all over the app." }, + "@navButtonAllChannels": { + "description": "Title for a nav button that opens the 'All channels' page." + }, "@newDmFabButtonLabel": { "description": "Label for the floating action button (FAB) that opens the new DM sheet." }, @@ -1207,14 +1243,16 @@ "@zulipAppTitle": { "description": "The name of Zulip. This should be either 'Zulip' or a transliteration." }, - "aboutPageAppVersion": "应用程序版本", + "aboutPageAppVersion": "App 版本", "aboutPageOpenSourceLicenses": "开源许可", "aboutPageTapToView": "查看更多", "aboutPageTitle": "关于 Zulip", + "actionSheetOptionChannelFeed": "频道动态", "actionSheetOptionCopyChannelLink": "复制频道链接", "actionSheetOptionCopyMessageLink": "复制消息链接", "actionSheetOptionCopyMessageText": "复制消息文本", "actionSheetOptionCopyTopicLink": "复制话题链接", + "actionSheetOptionDeleteMessage": "删除消息", "actionSheetOptionEditMessage": "编辑消息", "actionSheetOptionFollowTopic": "关注话题", "actionSheetOptionHideMutedMessage": "再次隐藏静音消息", @@ -1239,9 +1277,12 @@ "actionSheetReadReceiptsErrorReadCount": "加载已读回执失败。", "actionSheetReadReceiptsReadCount": "{count, plural, =1{此消息已被阅读,共有 {count} 人:} other{此消息已被阅读,共有 {count} 人:}}", "actionSheetReadReceiptsZeroReadCount": "尚无人阅读此消息。", + "allChannelsEmptyPlaceholder": "在该组织里你没有可以查看的频道。", + "allChannelsPageTitle": "所有频道", "appVersionUnknownPlaceholder": "(…)", "channelFeedButtonTooltip": "频道订阅", "channelsEmptyPlaceholder": "您还没有订阅任何频道。", + "channelsEmptyPlaceholderWithAllChannelsLink": "你还没订阅任何频道。可以访问 {allChannelsPageTitle}然后加入。", "channelsPageTitle": "频道", "chooseAccountButtonAddAnAccount": "添加一个账号", "chooseAccountPageLogOutButton": "登出", @@ -1267,6 +1308,9 @@ "contentValidationErrorQuoteAndReplyInProgress": "请等待引用消息完成。", "contentValidationErrorTooLong": "消息的长度不能超过10000个字符。", "contentValidationErrorUploadInProgress": "请等待上传完成。", + "deleteMessageConfirmationDialogConfirmButton": "删除", + "deleteMessageConfirmationDialogMessage": "对所有人永久删除消息。", + "deleteMessageConfirmationDialogTitle": "删除消息?", "dialogCancel": "取消", "dialogClose": "关闭", "dialogContinue": "继续", @@ -1297,6 +1341,7 @@ "errorCouldNotOpenLink": "未能打开此链接:{url}", "errorCouldNotOpenLinkTitle": "未能打开链接", "errorCouldNotShowUserProfile": "无法显示用户个人资料。", + "errorDeleteMessageFailedTitle": "删除消息失败", "errorDialogContinue": "好的", "errorDialogLearnMore": "更多信息", "errorDialogTitle": "错误", @@ -1389,6 +1434,7 @@ "messageListGroupYouWithYourself": "与自己的私信", "messageNotSentLabel": "消息未发送", "mutedUser": "静音用户", + "navButtonAllChannels": "所有频道", "newDmFabButtonLabel": "发起私信", "newDmSheetComposeButtonLabel": "撰写消息", "newDmSheetNoUsersFound": "没有用户", diff --git a/lib/generated/l10n/zulip_localizations_de.dart b/lib/generated/l10n/zulip_localizations_de.dart index 9768e579e5..b8c3551ff7 100644 --- a/lib/generated/l10n/zulip_localizations_de.dart +++ b/lib/generated/l10n/zulip_localizations_de.dart @@ -68,14 +68,14 @@ class ZulipLocalizationsDe extends ZulipLocalizations { String get chooseAccountButtonAddAnAccount => 'Account hinzufügen'; @override - String get navButtonAllChannels => 'All channels'; + String get navButtonAllChannels => 'Alle Kanäle'; @override - String get allChannelsPageTitle => 'All channels'; + String get allChannelsPageTitle => 'Alle Kanäle'; @override String get allChannelsEmptyPlaceholder => - 'There are no channels you can view in this organization.'; + 'Es gibt in dieser Organisation keine Kanäle die du ansehen kannst.'; @override String get profileButtonSendDirectMessage => 'Direktnachricht senden'; @@ -245,20 +245,21 @@ class ZulipLocalizationsDe extends ZulipLocalizations { String get actionSheetOptionEditMessage => 'Nachricht bearbeiten'; @override - String get actionSheetOptionDeleteMessage => 'Delete message'; + String get actionSheetOptionDeleteMessage => 'Nachricht löschen'; @override - String get deleteMessageConfirmationDialogTitle => 'Delete message?'; + String get deleteMessageConfirmationDialogTitle => 'Nachricht löschen?'; @override String get deleteMessageConfirmationDialogMessage => - 'Deleting a message permanently removes it for everyone.'; + 'Das Löschen einer Nachricht entfernt diese permanent für alle Nutzer:innen.'; @override - String get deleteMessageConfirmationDialogConfirmButton => 'Delete'; + String get deleteMessageConfirmationDialogConfirmButton => 'Löschen'; @override - String get errorDeleteMessageFailedTitle => 'Failed to delete message'; + String get errorDeleteMessageFailedTitle => + 'Löschen der Nachricht fehlgeschlagen'; @override String get actionSheetOptionMarkTopicAsRead => 'Thema als gelesen markieren'; diff --git a/lib/generated/l10n/zulip_localizations_sl.dart b/lib/generated/l10n/zulip_localizations_sl.dart index ac70ca61da..dec8d04376 100644 --- a/lib/generated/l10n/zulip_localizations_sl.dart +++ b/lib/generated/l10n/zulip_localizations_sl.dart @@ -67,14 +67,14 @@ class ZulipLocalizationsSl extends ZulipLocalizations { String get chooseAccountButtonAddAnAccount => 'Dodaj račun'; @override - String get navButtonAllChannels => 'All channels'; + String get navButtonAllChannels => 'Vsi kanali'; @override - String get allChannelsPageTitle => 'All channels'; + String get allChannelsPageTitle => 'Vsi kanali'; @override String get allChannelsEmptyPlaceholder => - 'There are no channels you can view in this organization.'; + 'V tej organizaciji ni kanalov, ki bi si jih lahko ogledali.'; @override String get profileButtonSendDirectMessage => 'Pošlji neposredno sporočilo'; @@ -246,20 +246,20 @@ class ZulipLocalizationsSl extends ZulipLocalizations { String get actionSheetOptionEditMessage => 'Uredi sporočilo'; @override - String get actionSheetOptionDeleteMessage => 'Delete message'; + String get actionSheetOptionDeleteMessage => 'Izbriši sporočilo'; @override - String get deleteMessageConfirmationDialogTitle => 'Delete message?'; + String get deleteMessageConfirmationDialogTitle => 'Izbrišem sporočilo?'; @override String get deleteMessageConfirmationDialogMessage => - 'Deleting a message permanently removes it for everyone.'; + 'Brisanje sporočila ga trajno odstrani za vse.'; @override - String get deleteMessageConfirmationDialogConfirmButton => 'Delete'; + String get deleteMessageConfirmationDialogConfirmButton => 'Izbriši'; @override - String get errorDeleteMessageFailedTitle => 'Failed to delete message'; + String get errorDeleteMessageFailedTitle => 'Sporočila se ne da izbrisati'; @override String get actionSheetOptionMarkTopicAsRead => 'Označi temo kot prebrano'; @@ -965,7 +965,7 @@ class ZulipLocalizationsSl extends ZulipLocalizations { String channelsEmptyPlaceholderWithAllChannelsLink( String allChannelsPageTitle, ) { - return 'You’re not subscribed to any channels yet. Try going to $allChannelsPageTitle and joining some of them.'; + return 'Naročeni še niste na noben kanal. Poskusite odpreti $allChannelsPageTitle in se pridružiti kateremu od njih.'; } @override diff --git a/lib/generated/l10n/zulip_localizations_zh.dart b/lib/generated/l10n/zulip_localizations_zh.dart index f974ce7573..4e4157fa98 100644 --- a/lib/generated/l10n/zulip_localizations_zh.dart +++ b/lib/generated/l10n/zulip_localizations_zh.dart @@ -1160,7 +1160,7 @@ class ZulipLocalizationsZhHansCn extends ZulipLocalizationsZh { String get aboutPageTitle => '关于 Zulip'; @override - String get aboutPageAppVersion => '应用程序版本'; + String get aboutPageAppVersion => 'App 版本'; @override String get aboutPageOpenSourceLicenses => '开源许可'; @@ -1212,6 +1212,15 @@ class ZulipLocalizationsZhHansCn extends ZulipLocalizationsZh { @override String get chooseAccountButtonAddAnAccount => '添加一个账号'; + @override + String get navButtonAllChannels => '所有频道'; + + @override + String get allChannelsPageTitle => '所有频道'; + + @override + String get allChannelsEmptyPlaceholder => '在该组织里你没有可以查看的频道。'; + @override String get profileButtonSendDirectMessage => '发送私信'; @@ -1246,6 +1255,9 @@ class ZulipLocalizationsZhHansCn extends ZulipLocalizationsZh { @override String get actionSheetOptionListOfTopics => '话题列表'; + @override + String get actionSheetOptionChannelFeed => '频道动态'; + @override String get actionSheetOptionUnsubscribe => '取消订阅'; @@ -1365,6 +1377,21 @@ class ZulipLocalizationsZhHansCn extends ZulipLocalizationsZh { @override String get actionSheetOptionEditMessage => '编辑消息'; + @override + String get actionSheetOptionDeleteMessage => '删除消息'; + + @override + String get deleteMessageConfirmationDialogTitle => '删除消息?'; + + @override + String get deleteMessageConfirmationDialogMessage => '对所有人永久删除消息。'; + + @override + String get deleteMessageConfirmationDialogConfirmButton => '删除'; + + @override + String get errorDeleteMessageFailedTitle => '删除消息失败'; + @override String get actionSheetOptionMarkTopicAsRead => '将话题标为已读'; @@ -2014,6 +2041,13 @@ class ZulipLocalizationsZhHansCn extends ZulipLocalizationsZh { @override String get channelsEmptyPlaceholder => '您还没有订阅任何频道。'; + @override + String channelsEmptyPlaceholderWithAllChannelsLink( + String allChannelsPageTitle, + ) { + return '你还没订阅任何频道。可以访问 $allChannelsPageTitle然后加入。'; + } + @override String get sharePageTitle => '分享';