feat: integrate chat voice and diagnostics client

This commit is contained in:
Edison Jwa
2026-05-23 06:51:55 +09:00
parent 7e28791ec2
commit 7d5d8c2c90
93 changed files with 10273 additions and 3347 deletions
+8 -13
View File
@@ -181,24 +181,19 @@
"audioRouteChangeFailed": "Could not change audio output.",
"iosAudioInterrupted": "Audio interrupted by system (phone call)",
"iosAudioResuming": "Audio resuming",
"settingsAction": "Settings",
"appSettingsTitle": "Settings",
"pokeAlertsTitle": "Poke alerts",
"pokeAlertsDescription": "Show a pop-up when someone pokes you. Pokes are always saved in Channel Chat.",
"pokeDialogTitle": "You were poked",
"pokeDialogCloseAction": "Close",
"pokeDialogIncomingNoMessage": "{time} {sender} pokes you",
"@pokeDialogIncomingNoMessage": {
"pokeSnackBarClearAction": "Clear",
"pokeSnackBarMoreIndicator": "...",
"pokeSnackBarIncomingNoMessage": "{sender} pokes you",
"@pokeSnackBarIncomingNoMessage": {
"placeholders": {
"time": { "type": "String" },
"sender": { "type": "String" }
}
},
"pokeDialogIncomingWithMessage": "{time} {sender} pokes you with a message",
"@pokeDialogIncomingWithMessage": {
"pokeSnackBarIncomingWithMessage": "{sender} pokes you: {message}",
"@pokeSnackBarIncomingWithMessage": {
"placeholders": {
"time": { "type": "String" },
"sender": { "type": "String" }
"sender": { "type": "String" },
"message": { "type": "String" }
}
},
"pokeHistorySelfNoMessage": "<{time}> You poked \"{target}\".",
+8 -13
View File
@@ -135,24 +135,19 @@
"audioRouteChangeFailed": "无法切换音频输出。",
"iosAudioInterrupted": "系统已中断音频(电话通话)",
"iosAudioResuming": "音频正在恢复",
"settingsAction": "设置",
"appSettingsTitle": "设置",
"pokeAlertsTitle": "戳一戳提醒",
"pokeAlertsDescription": "收到戳一戳时显示弹窗。戳一戳记录始终会保存在频道聊天中。",
"pokeDialogTitle": "你被戳了一下",
"pokeDialogCloseAction": "关闭",
"pokeDialogIncomingNoMessage": "{time} {sender} 戳了你一下",
"@pokeDialogIncomingNoMessage": {
"pokeSnackBarClearAction": "清除",
"pokeSnackBarMoreIndicator": "...",
"pokeSnackBarIncomingNoMessage": "{sender} 戳了你一下",
"@pokeSnackBarIncomingNoMessage": {
"placeholders": {
"time": { "type": "String" },
"sender": { "type": "String" }
}
},
"pokeDialogIncomingWithMessage": "{time} {sender} 戳了你一下并附带消息",
"@pokeDialogIncomingWithMessage": {
"pokeSnackBarIncomingWithMessage": "{sender} 戳了你一下{message}",
"@pokeSnackBarIncomingWithMessage": {
"placeholders": {
"time": { "type": "String" },
"sender": { "type": "String" }
"sender": { "type": "String" },
"message": { "type": "String" }
}
},
"pokeHistorySelfNoMessage": "<{time}> 你戳了“{target}”一下。",
@@ -823,53 +823,29 @@ abstract class AppL10n {
/// **'Audio resuming'**
String get iosAudioResuming;
/// No description provided for @settingsAction.
/// No description provided for @pokeSnackBarClearAction.
///
/// In en, this message translates to:
/// **'Settings'**
String get settingsAction;
/// **'Clear'**
String get pokeSnackBarClearAction;
/// No description provided for @appSettingsTitle.
/// No description provided for @pokeSnackBarMoreIndicator.
///
/// In en, this message translates to:
/// **'Settings'**
String get appSettingsTitle;
/// **'...'**
String get pokeSnackBarMoreIndicator;
/// No description provided for @pokeAlertsTitle.
/// No description provided for @pokeSnackBarIncomingNoMessage.
///
/// In en, this message translates to:
/// **'Poke alerts'**
String get pokeAlertsTitle;
/// **'{sender} pokes you'**
String pokeSnackBarIncomingNoMessage(String sender);
/// No description provided for @pokeAlertsDescription.
/// No description provided for @pokeSnackBarIncomingWithMessage.
///
/// In en, this message translates to:
/// **'Show a pop-up when someone pokes you. Pokes are always saved in Channel Chat.'**
String get pokeAlertsDescription;
/// No description provided for @pokeDialogTitle.
///
/// In en, this message translates to:
/// **'You were poked'**
String get pokeDialogTitle;
/// No description provided for @pokeDialogCloseAction.
///
/// In en, this message translates to:
/// **'Close'**
String get pokeDialogCloseAction;
/// No description provided for @pokeDialogIncomingNoMessage.
///
/// In en, this message translates to:
/// **'{time} {sender} pokes you'**
String pokeDialogIncomingNoMessage(String time, String sender);
/// No description provided for @pokeDialogIncomingWithMessage.
///
/// In en, this message translates to:
/// **'{time} {sender} pokes you with a message'**
String pokeDialogIncomingWithMessage(String time, String sender);
/// **'{sender} pokes you: {message}'**
String pokeSnackBarIncomingWithMessage(String sender, String message);
/// No description provided for @pokeHistorySelfNoMessage.
///
@@ -416,32 +416,19 @@ class AppL10nEn extends AppL10n {
String get iosAudioResuming => 'Audio resuming';
@override
String get settingsAction => 'Settings';
String get pokeSnackBarClearAction => 'Clear';
@override
String get appSettingsTitle => 'Settings';
String get pokeSnackBarMoreIndicator => '...';
@override
String get pokeAlertsTitle => 'Poke alerts';
@override
String get pokeAlertsDescription =>
'Show a pop-up when someone pokes you. Pokes are always saved in Channel Chat.';
@override
String get pokeDialogTitle => 'You were poked';
@override
String get pokeDialogCloseAction => 'Close';
@override
String pokeDialogIncomingNoMessage(String time, String sender) {
return '$time $sender pokes you';
String pokeSnackBarIncomingNoMessage(String sender) {
return '$sender pokes you';
}
@override
String pokeDialogIncomingWithMessage(String time, String sender) {
return '$time $sender pokes you with a message';
String pokeSnackBarIncomingWithMessage(String sender, String message) {
return '$sender pokes you: $message';
}
@override
@@ -406,31 +406,19 @@ class AppL10nZh extends AppL10n {
String get iosAudioResuming => '音频正在恢复';
@override
String get settingsAction => '设置';
String get pokeSnackBarClearAction => '清除';
@override
String get appSettingsTitle => '设置';
String get pokeSnackBarMoreIndicator => '...';
@override
String get pokeAlertsTitle => '戳一戳提醒';
@override
String get pokeAlertsDescription => '收到戳一戳时显示弹窗。戳一戳记录始终会保存在频道聊天中。';
@override
String get pokeDialogTitle => '你被戳了一下';
@override
String get pokeDialogCloseAction => '关闭';
@override
String pokeDialogIncomingNoMessage(String time, String sender) {
return '$time $sender 戳了你一下';
String pokeSnackBarIncomingNoMessage(String sender) {
return '$sender 戳了你一下';
}
@override
String pokeDialogIncomingWithMessage(String time, String sender) {
return '$time $sender 戳了你一下并附带消息';
String pokeSnackBarIncomingWithMessage(String sender, String message) {
return '$sender 戳了你一下$message';
}
@override