diff --git a/apps/chanora_flutter/lib/l10n/app_en.arb b/apps/chanora_flutter/lib/l10n/app_en.arb index 91c8b22..2cda470 100644 --- a/apps/chanora_flutter/lib/l10n/app_en.arb +++ b/apps/chanora_flutter/lib/l10n/app_en.arb @@ -242,19 +242,30 @@ "clientInfoUnknown": "Unknown", "clientInfoHidden": "Hidden", "clientInfoNone": "None", - "pokeSnackBarClearAction": "Clear", - "pokeSnackBarMoreIndicator": "...", - "pokeSnackBarIncomingNoMessage": "{sender} pokes you", - "@pokeSnackBarIncomingNoMessage": { + "pokeSettingsAction": "Poke notifications", + "pokeSettingsTitle": "Poke notifications", + "pokeSettingsEnableLabel": "Notify me about pokes", + "pokeSettingsEnableDescription": "Show local notifications for incoming pokes when this is on.", + "pokeSettingsMutedSendersHeader": "Muted senders", + "pokeSettingsMutedSendersEmpty": "No muted poke senders.", + "pokeSettingsMutedSenderLabel": "Client ID {senderId}", + "@pokeSettingsMutedSenderLabel": { + "placeholders": { + "senderId": { "type": "String" } + } + }, + "pokeSettingsUnmuteSenderAction": "Unmute", + "pokeOverflowMutePrompt": "Repeated pokes from {sender} were suppressed. Mute this sender?", + "@pokeOverflowMutePrompt": { "placeholders": { "sender": { "type": "String" } } }, - "pokeSnackBarIncomingWithMessage": "{sender} pokes you: {message}", - "@pokeSnackBarIncomingWithMessage": { + "pokeOverflowMuteAction": "Mute", + "pokeMutedSenderConfirmation": "Muted pokes from {sender}", + "@pokeMutedSenderConfirmation": { "placeholders": { - "sender": { "type": "String" }, - "message": { "type": "String" } + "sender": { "type": "String" } } }, "pokeHistorySelfNoMessage": "<{time}> You poked \"{target}\".", diff --git a/apps/chanora_flutter/lib/l10n/app_zh.arb b/apps/chanora_flutter/lib/l10n/app_zh.arb index 87388fc..d9864df 100644 --- a/apps/chanora_flutter/lib/l10n/app_zh.arb +++ b/apps/chanora_flutter/lib/l10n/app_zh.arb @@ -191,19 +191,30 @@ "clientInfoUnknown": "未知", "clientInfoHidden": "隐藏", "clientInfoNone": "无", - "pokeSnackBarClearAction": "清除", - "pokeSnackBarMoreIndicator": "...", - "pokeSnackBarIncomingNoMessage": "{sender} 戳了你一下", - "@pokeSnackBarIncomingNoMessage": { + "pokeSettingsAction": "戳一戳通知", + "pokeSettingsTitle": "戳一戳通知", + "pokeSettingsEnableLabel": "接收戳一戳通知", + "pokeSettingsEnableDescription": "开启后,收到戳一戳时会显示本地通知。", + "pokeSettingsMutedSendersHeader": "已静音的发送者", + "pokeSettingsMutedSendersEmpty": "没有已静音的戳一戳发送者。", + "pokeSettingsMutedSenderLabel": "用户 ID {senderId}", + "@pokeSettingsMutedSenderLabel": { + "placeholders": { + "senderId": { "type": "String" } + } + }, + "pokeSettingsUnmuteSenderAction": "取消静音", + "pokeOverflowMutePrompt": "来自 {sender} 的重复戳一戳已被抑制。要静音此发送者吗?", + "@pokeOverflowMutePrompt": { "placeholders": { "sender": { "type": "String" } } }, - "pokeSnackBarIncomingWithMessage": "{sender} 戳了你一下:{message}", - "@pokeSnackBarIncomingWithMessage": { + "pokeOverflowMuteAction": "静音", + "pokeMutedSenderConfirmation": "已静音来自 {sender} 的戳一戳", + "@pokeMutedSenderConfirmation": { "placeholders": { - "sender": { "type": "String" }, - "message": { "type": "String" } + "sender": { "type": "String" } } }, "pokeHistorySelfNoMessage": "<{time}> 你戳了“{target}”一下。", diff --git a/apps/chanora_flutter/lib/l10n/generated/app_localizations.dart b/apps/chanora_flutter/lib/l10n/generated/app_localizations.dart index 13bc179..8c53ef9 100644 --- a/apps/chanora_flutter/lib/l10n/generated/app_localizations.dart +++ b/apps/chanora_flutter/lib/l10n/generated/app_localizations.dart @@ -1159,29 +1159,71 @@ abstract class AppL10n { /// **'None'** String get clientInfoNone; - /// No description provided for @pokeSnackBarClearAction. + /// No description provided for @pokeSettingsAction. /// /// In en, this message translates to: - /// **'Clear'** - String get pokeSnackBarClearAction; + /// **'Poke notifications'** + String get pokeSettingsAction; - /// No description provided for @pokeSnackBarMoreIndicator. + /// No description provided for @pokeSettingsTitle. /// /// In en, this message translates to: - /// **'...'** - String get pokeSnackBarMoreIndicator; + /// **'Poke notifications'** + String get pokeSettingsTitle; - /// No description provided for @pokeSnackBarIncomingNoMessage. + /// No description provided for @pokeSettingsEnableLabel. /// /// In en, this message translates to: - /// **'{sender} pokes you'** - String pokeSnackBarIncomingNoMessage(String sender); + /// **'Notify me about pokes'** + String get pokeSettingsEnableLabel; - /// No description provided for @pokeSnackBarIncomingWithMessage. + /// No description provided for @pokeSettingsEnableDescription. /// /// In en, this message translates to: - /// **'{sender} pokes you: {message}'** - String pokeSnackBarIncomingWithMessage(String sender, String message); + /// **'Show local notifications for incoming pokes when this is on.'** + String get pokeSettingsEnableDescription; + + /// No description provided for @pokeSettingsMutedSendersHeader. + /// + /// In en, this message translates to: + /// **'Muted senders'** + String get pokeSettingsMutedSendersHeader; + + /// No description provided for @pokeSettingsMutedSendersEmpty. + /// + /// In en, this message translates to: + /// **'No muted poke senders.'** + String get pokeSettingsMutedSendersEmpty; + + /// No description provided for @pokeSettingsMutedSenderLabel. + /// + /// In en, this message translates to: + /// **'Client ID {senderId}'** + String pokeSettingsMutedSenderLabel(String senderId); + + /// No description provided for @pokeSettingsUnmuteSenderAction. + /// + /// In en, this message translates to: + /// **'Unmute'** + String get pokeSettingsUnmuteSenderAction; + + /// No description provided for @pokeOverflowMutePrompt. + /// + /// In en, this message translates to: + /// **'Repeated pokes from {sender} were suppressed. Mute this sender?'** + String pokeOverflowMutePrompt(String sender); + + /// No description provided for @pokeOverflowMuteAction. + /// + /// In en, this message translates to: + /// **'Mute'** + String get pokeOverflowMuteAction; + + /// No description provided for @pokeMutedSenderConfirmation. + /// + /// In en, this message translates to: + /// **'Muted pokes from {sender}'** + String pokeMutedSenderConfirmation(String sender); /// No description provided for @pokeHistorySelfNoMessage. /// diff --git a/apps/chanora_flutter/lib/l10n/generated/app_localizations_en.dart b/apps/chanora_flutter/lib/l10n/generated/app_localizations_en.dart index e77422c..d8c4241 100644 --- a/apps/chanora_flutter/lib/l10n/generated/app_localizations_en.dart +++ b/apps/chanora_flutter/lib/l10n/generated/app_localizations_en.dart @@ -590,19 +590,43 @@ class AppL10nEn extends AppL10n { String get clientInfoNone => 'None'; @override - String get pokeSnackBarClearAction => 'Clear'; + String get pokeSettingsAction => 'Poke notifications'; @override - String get pokeSnackBarMoreIndicator => '...'; + String get pokeSettingsTitle => 'Poke notifications'; @override - String pokeSnackBarIncomingNoMessage(String sender) { - return '$sender pokes you'; + String get pokeSettingsEnableLabel => 'Notify me about pokes'; + + @override + String get pokeSettingsEnableDescription => + 'Show local notifications for incoming pokes when this is on.'; + + @override + String get pokeSettingsMutedSendersHeader => 'Muted senders'; + + @override + String get pokeSettingsMutedSendersEmpty => 'No muted poke senders.'; + + @override + String pokeSettingsMutedSenderLabel(String senderId) { + return 'Client ID $senderId'; } @override - String pokeSnackBarIncomingWithMessage(String sender, String message) { - return '$sender pokes you: $message'; + String get pokeSettingsUnmuteSenderAction => 'Unmute'; + + @override + String pokeOverflowMutePrompt(String sender) { + return 'Repeated pokes from $sender were suppressed. Mute this sender?'; + } + + @override + String get pokeOverflowMuteAction => 'Mute'; + + @override + String pokeMutedSenderConfirmation(String sender) { + return 'Muted pokes from $sender'; } @override diff --git a/apps/chanora_flutter/lib/l10n/generated/app_localizations_zh.dart b/apps/chanora_flutter/lib/l10n/generated/app_localizations_zh.dart index 1c5fbd2..8382d60 100644 --- a/apps/chanora_flutter/lib/l10n/generated/app_localizations_zh.dart +++ b/apps/chanora_flutter/lib/l10n/generated/app_localizations_zh.dart @@ -577,19 +577,42 @@ class AppL10nZh extends AppL10n { String get clientInfoNone => '无'; @override - String get pokeSnackBarClearAction => '清除'; + String get pokeSettingsAction => '戳一戳通知'; @override - String get pokeSnackBarMoreIndicator => '...'; + String get pokeSettingsTitle => '戳一戳通知'; @override - String pokeSnackBarIncomingNoMessage(String sender) { - return '$sender 戳了你一下'; + String get pokeSettingsEnableLabel => '接收戳一戳通知'; + + @override + String get pokeSettingsEnableDescription => '开启后,收到戳一戳时会显示本地通知。'; + + @override + String get pokeSettingsMutedSendersHeader => '已静音的发送者'; + + @override + String get pokeSettingsMutedSendersEmpty => '没有已静音的戳一戳发送者。'; + + @override + String pokeSettingsMutedSenderLabel(String senderId) { + return '用户 ID $senderId'; } @override - String pokeSnackBarIncomingWithMessage(String sender, String message) { - return '$sender 戳了你一下:$message'; + String get pokeSettingsUnmuteSenderAction => '取消静音'; + + @override + String pokeOverflowMutePrompt(String sender) { + return '来自 $sender 的重复戳一戳已被抑制。要静音此发送者吗?'; + } + + @override + String get pokeOverflowMuteAction => '静音'; + + @override + String pokeMutedSenderConfirmation(String sender) { + return '已静音来自 $sender 的戳一戳'; } @override