feat(ciphers): add bulk restore and permanent delete functionality for ciphers

style: enhance list count display in VaultPage and styles
fix(i18n): add translations for bulk restore and permanent delete messages
This commit is contained in:
shuaiplus
2026-03-12 01:37:33 +08:00
parent 94cb6177f2
commit f51468b7b9
8 changed files with 415 additions and 74 deletions
+17
View File
@@ -50,6 +50,7 @@ const messages: Record<Locale, Record<string, string>> = {
txt_all_sends: "All Sends",
txt_android: "Android",
txt_are_you_sure_you_want_to_delete_count_selected_items: "Are you sure you want to delete {count} selected items?",
txt_are_you_sure_you_want_to_delete_count_selected_items_permanently: "Are you sure you want to permanently delete {count} selected items?",
txt_are_you_sure_you_want_to_delete_this_item: "Are you sure you want to delete this item?",
txt_are_you_sure_you_want_to_log_out: "Are you sure you want to log out?",
txt_authenticator_key: "Authenticator Key",
@@ -61,6 +62,8 @@ const messages: Record<Locale, Record<string, string>> = {
txt_boolean: "Boolean",
txt_brand: "Brand",
txt_bulk_delete_failed: "Bulk delete failed",
txt_bulk_permanent_delete_failed: "Bulk permanent delete failed",
txt_bulk_restore_failed: "Bulk restore failed",
txt_bulk_delete_sends_failed: "Bulk delete sends failed",
txt_bulk_move_failed: "Bulk move failed",
txt_cancel: "Cancel",
@@ -106,12 +109,16 @@ const messages: Record<Locale, Record<string, string>> = {
txt_delete_all_invites: "Delete all invites",
txt_delete_item: "Delete Item",
txt_delete_item_failed: "Delete item failed",
txt_delete_permanently: "Delete Permanently",
txt_delete_selected: "Delete Selected",
txt_delete_selected_items: "Delete Selected Items",
txt_delete_selected_items_permanently: "Delete Selected Items Permanently",
txt_delete_send_failed: "Delete send failed",
txt_delete_this_user_and_all_user_data: "Delete this user and all user data?",
txt_delete_user: "Delete user",
txt_deleted_selected_items: "Deleted selected items",
txt_deleted_selected_items_permanently: "Permanently deleted selected items",
txt_restored_selected_items: "Restored selected items",
txt_deleted_selected_sends: "Deleted selected sends",
txt_deletion_date: "Deletion Date",
txt_deletion_days: "Deletion Days",
@@ -302,6 +309,7 @@ const messages: Record<Locale, Record<string, string>> = {
txt_remove_device_name_and_clear_its_2fa_trust: "Remove device \"{name}\" and clear its 2FA trust?",
txt_remove_device_and_sign_out_name: "Remove device \"{name}\", clear its trust, and sign it out?",
txt_reveal: "Reveal",
txt_restore: "Restore",
txt_revoke: "Revoke",
txt_revoke_30_day_totp_trust_for_name: "Revoke 30-day TOTP trust for \"{name}\"?",
txt_revoke_30_day_totp_trust_from_all_devices: "Revoke 30-day TOTP trust from all devices?",
@@ -361,6 +369,7 @@ const messages: Record<Locale, Record<string, string>> = {
txt_totp_disabled: "TOTP disabled",
txt_totp_enabled: "TOTP enabled",
txt_totp_is_enabled_for_this_account: "TOTP is enabled for this account.",
txt_total_items_count: "{count} items",
txt_totp_secret: "TOTP Secret",
txt_totp_verify_failed: "TOTP verify failed",
txt_passkey: "Passkey",
@@ -507,6 +516,7 @@ const zhCNOverrides: Record<string, string> = {
txt_open: '打开',
txt_hide: '隐藏',
txt_reveal: '显示',
txt_restore: '恢复',
txt_favorite: '收藏',
txt_field: '字段',
txt_field_type: '字段类型',
@@ -640,10 +650,13 @@ const zhCNOverrides: Record<string, string> = {
txt_all_sends: '所有发送',
txt_android: '安卓',
txt_are_you_sure_you_want_to_delete_count_selected_items: '确认删除所选的 {count} 个项目?',
txt_are_you_sure_you_want_to_delete_count_selected_items_permanently: '确认永久删除所选的 {count} 个项目?',
txt_are_you_sure_you_want_to_delete_this_item: '确认删除此项目?',
txt_authenticator_key: '验证器密钥',
txt_brand: '品牌',
txt_bulk_delete_failed: '批量删除失败',
txt_bulk_permanent_delete_failed: '批量永久删除失败',
txt_bulk_restore_failed: '批量恢复失败',
txt_bulk_delete_sends_failed: '批量删除发送失败',
txt_bulk_move_failed: '批量移动失败',
txt_cardholder_name: '持卡人姓名',
@@ -664,10 +677,13 @@ const zhCNOverrides: Record<string, string> = {
txt_delete_all_invite_codes_active_inactive: '删除所有邀请码(有效/无效)?',
txt_delete_all_invites: '删除所有邀请码',
txt_delete_item_failed: '删除项目失败',
txt_delete_permanently: '永久删除',
txt_delete_send_failed: '删除发送失败',
txt_delete_this_user_and_all_user_data: '删除此用户及其所有数据?',
txt_delete_user: '删除用户',
txt_deleted_selected_items: '已删除所选项目',
txt_deleted_selected_items_permanently: '已永久删除所选项目',
txt_restored_selected_items: '已恢复所选项目',
txt_deleted_selected_sends: '已删除所选发送',
txt_device_authorization_revoked: '设备信任已撤销',
txt_device_removed: '设备已移除',
@@ -766,6 +782,7 @@ const zhCNOverrides: Record<string, string> = {
txt_totp_disabled: 'TOTP 已禁用',
txt_totp_enabled: 'TOTP 已启用',
txt_totp_is_enabled_for_this_account: '此账户已启用 TOTP。',
txt_total_items_count: '共 {count} 项',
txt_totp_verify_failed: 'TOTP 验证失败',
txt_trust_this_device_for_30_days: '信任此设备 30 天',
txt_type_type: '类型 {type}',