feat: improve error handling and localization for vault operations and import/export processes

This commit is contained in:
shuaiplus
2026-03-05 02:55:59 +08:00
parent 380cd34474
commit 1e34a96c57
4 changed files with 71 additions and 34 deletions
+35 -1
View File
@@ -373,7 +373,7 @@ const messages: Record<Locale, Record<string, string>> = {
const zhCNOverrides: Record<string, string> = {
nav_my_vault: '我的保险库',
nav_sends: 'Send',
nav_admin_panel: '管理面板',
nav_admin_panel: '用户管理',
nav_account_settings: '账户设置',
nav_device_management: '设备管理',
nav_backup_strategy: '备份策略',
@@ -786,6 +786,23 @@ messages.en.txt_import_encrypted_file_title = 'Import encrypted file';
messages.en.txt_import_encrypted_file_message = 'This Bitwarden export is password-protected. Enter the export file password to continue.';
messages.en.txt_import_encrypted_zip_title = 'Import encrypted ZIP';
messages.en.txt_import_encrypted_zip_message = 'This ZIP archive is password-protected. Enter the ZIP password to continue.';
messages.en.txt_new_type_header = 'New {type}';
messages.en.txt_edit_type_header = 'Edit {type}';
messages.en.txt_delete_folder = 'Delete Folder';
messages.en.txt_delete_folder_message = 'Delete folder "{name}"? Items inside will move to No Folder.';
messages.en.txt_folder_not_found = 'Folder not found';
messages.en.txt_folder_deleted = 'Folder deleted';
messages.en.txt_delete_folder_failed = 'Delete folder failed';
messages.en.txt_other = 'Other';
messages.en.txt_vault_key_unavailable = 'Vault key unavailable. Please unlock vault and try again.';
messages.en.txt_vault_not_ready = 'Vault is not ready yet';
messages.en.txt_unsupported_export_format = 'Unsupported export format';
messages.en.txt_invalid_encrypted_export = 'Invalid encrypted export file.';
messages.en.txt_export_belongs_to_another_account = 'This encrypted export belongs to another account.';
messages.en.txt_invalid_argon2id_params = 'Invalid Argon2id parameters in export file.';
messages.en.txt_unsupported_kdf_type = 'Unsupported kdfType: {type}';
messages.en.txt_invalid_file_password = 'Invalid file password.';
messages.en.txt_failed_to_map_attachments = 'Failed to map {count} attachment(s) to imported items.';
zhCNOverrides.txt_import = '导入';
zhCNOverrides.txt_export = '导出';
@@ -834,6 +851,23 @@ zhCNOverrides.txt_import_export_feature_nodewarden_json_title = 'NodeWarden 密
zhCNOverrides.txt_import_export_feature_nodewarden_json_desc = '支持 NodeWarden JSON 导入导出,单文件包含密码库与附件;导出的密码库数据可被 Bitwarden 客户端导入。';
zhCNOverrides.txt_import_export_feature_compat_title = '跨客户端兼容';
zhCNOverrides.txt_import_export_feature_compat_desc = '支持 Bitwarden JSON/CSV 与主流迁移格式,统一字段映射与导入行为。';
zhCNOverrides.txt_new_type_header = '新建{type}';
zhCNOverrides.txt_edit_type_header = '编辑{type}';
zhCNOverrides.txt_delete_folder = '删除文件夹';
zhCNOverrides.txt_delete_folder_message = '删除文件夹「{name}」?其中的项目将移至无文件夹。';
zhCNOverrides.txt_folder_not_found = '文件夹不存在';
zhCNOverrides.txt_folder_deleted = '文件夹已删除';
zhCNOverrides.txt_delete_folder_failed = '删除文件夹失败';
zhCNOverrides.txt_other = '其他';
zhCNOverrides.txt_vault_key_unavailable = '账户密钥不可用,请先解锁保险库后重试。';
zhCNOverrides.txt_vault_not_ready = '保险库数据尚未就绪';
zhCNOverrides.txt_unsupported_export_format = '不支持的导出格式';
zhCNOverrides.txt_invalid_encrypted_export = '加密导出文件无效。';
zhCNOverrides.txt_export_belongs_to_another_account = '此加密导出文件属于另一个账号。';
zhCNOverrides.txt_invalid_argon2id_params = '导出文件中的 Argon2id 参数无效。';
zhCNOverrides.txt_unsupported_kdf_type = '不支持的 KDF 类型:{type}';
zhCNOverrides.txt_invalid_file_password = '文件密码错误。';
zhCNOverrides.txt_failed_to_map_attachments = '无法将 {count} 个附件匹配到导入项目。';
messages['zh-CN'] = { ...messages.en, ...zhCNOverrides };