feat(ui): add per-user volume controls (#17)

This commit is contained in:
Edison Jwa
2026-06-03 18:08:52 +09:00
committed by GitHub
parent 5f7e2f7e97
commit 0381be6964
7 changed files with 489 additions and 49 deletions
+13
View File
@@ -172,6 +172,7 @@
"channelJoinFailedFamilyFull": "Channel family limit reached.",
"channelJoinFailedPrivate": "This channel is private.",
"channelJoinFailedTimeout": "Could not join channel: the server didn't respond in time.",
"channelJoinFailedFlooding": "Too many channel switches. Please wait a moment.",
"channelJoinFailedGeneric": "Could not join channel: {message}",
"@channelJoinFailedGeneric": {
"placeholders": {
@@ -284,5 +285,17 @@
"message": { "type": "String" }
}
},
"clientVolumeAction": "User Volume",
"clientVolumeTitle": "{name} — volume",
"@clientVolumeTitle": {
"placeholders": { "name": { "type": "String" } }
},
"clientVolumeLabel": "{percent}%",
"@clientVolumeLabel": {
"placeholders": { "percent": { "type": "int" } }
},
"clientVolumeMuteAction": "Mute user",
"clientVolumeUnmuteAction": "Unmute user",
"clientVolumeResetAction": "Reset to default",
"permissionDenied": "Permission Denied"
}
+7
View File
@@ -126,6 +126,7 @@
"channelJoinFailedFamilyFull": "频道家族人数已达上限。",
"channelJoinFailedPrivate": "此频道为私有频道。",
"channelJoinFailedTimeout": "无法加入频道:服务器响应超时。",
"channelJoinFailedFlooding": "切换频道过于频繁,请稍后再试。",
"channelJoinFailedGeneric": "无法加入频道:{message}",
"@channelJoinFailedGeneric": {
"placeholders": {
@@ -233,5 +234,11 @@
"message": { "type": "String" }
}
},
"clientVolumeAction": "用户音量",
"clientVolumeTitle": "{name} — 音量",
"clientVolumeLabel": "{percent}%",
"clientVolumeMuteAction": "静音该用户",
"clientVolumeUnmuteAction": "取消静音",
"clientVolumeResetAction": "恢复默认",
"permissionDenied": "权限被拒绝"
}
@@ -799,6 +799,12 @@ abstract class AppL10n {
/// **'Could not join channel: the server didn\'t respond in time.'**
String get channelJoinFailedTimeout;
/// No description provided for @channelJoinFailedFlooding.
///
/// In en, this message translates to:
/// **'Too many channel switches. Please wait a moment.'**
String get channelJoinFailedFlooding;
/// No description provided for @channelJoinFailedGeneric.
///
/// In en, this message translates to:
@@ -1193,6 +1199,42 @@ abstract class AppL10n {
String message,
);
/// No description provided for @clientVolumeAction.
///
/// In en, this message translates to:
/// **'User Volume'**
String get clientVolumeAction;
/// No description provided for @clientVolumeTitle.
///
/// In en, this message translates to:
/// **'{name} — volume'**
String clientVolumeTitle(String name);
/// No description provided for @clientVolumeLabel.
///
/// In en, this message translates to:
/// **'{percent}%'**
String clientVolumeLabel(int percent);
/// No description provided for @clientVolumeMuteAction.
///
/// In en, this message translates to:
/// **'Mute user'**
String get clientVolumeMuteAction;
/// No description provided for @clientVolumeUnmuteAction.
///
/// In en, this message translates to:
/// **'Unmute user'**
String get clientVolumeUnmuteAction;
/// No description provided for @clientVolumeResetAction.
///
/// In en, this message translates to:
/// **'Reset to default'**
String get clientVolumeResetAction;
/// No description provided for @permissionDenied.
///
/// In en, this message translates to:
@@ -398,6 +398,10 @@ class AppL10nEn extends AppL10n {
String get channelJoinFailedTimeout =>
'Could not join channel: the server didn\'t respond in time.';
@override
String get channelJoinFailedFlooding =>
'Too many channel switches. Please wait a moment.';
@override
String channelJoinFailedGeneric(String message) {
return 'Could not join channel: $message';
@@ -622,6 +626,28 @@ class AppL10nEn extends AppL10n {
return '<$time> \"$sender\" pokes you: $message';
}
@override
String get clientVolumeAction => 'User Volume';
@override
String clientVolumeTitle(String name) {
return '$name — volume';
}
@override
String clientVolumeLabel(int percent) {
return '$percent%';
}
@override
String get clientVolumeMuteAction => 'Mute user';
@override
String get clientVolumeUnmuteAction => 'Unmute user';
@override
String get clientVolumeResetAction => 'Reset to default';
@override
String get permissionDenied => 'Permission Denied';
}
@@ -389,6 +389,9 @@ class AppL10nZh extends AppL10n {
@override
String get channelJoinFailedTimeout => '无法加入频道:服务器响应超时。';
@override
String get channelJoinFailedFlooding => '切换频道过于频繁,请稍后再试。';
@override
String channelJoinFailedGeneric(String message) {
return '无法加入频道:$message';
@@ -611,6 +614,28 @@ class AppL10nZh extends AppL10n {
return '<$time> “$sender”戳了你一下:$message';
}
@override
String get clientVolumeAction => '用户音量';
@override
String clientVolumeTitle(String name) {
return '$name — 音量';
}
@override
String clientVolumeLabel(int percent) {
return '$percent%';
}
@override
String get clientVolumeMuteAction => '静音该用户';
@override
String get clientVolumeUnmuteAction => '取消静音';
@override
String get clientVolumeResetAction => '恢复默认';
@override
String get permissionDenied => '权限被拒绝';
}