fix: QA — add missing translation namespaces + fix sharedWithMe dead path

- Add 'signatures' translation namespace (27 keys) to locales
- Add 'settings.tabs.signatures' translation key
- Add 'settings.importer' translation namespace (18 keys)
- Fix sharedWithMe never populated in sharing-store — now discovers
  incoming mail/calendar/addressBook shares by checking isShared+myRights
This commit is contained in:
Bernd Rodler
2026-08-07 14:03:49 +02:00
parent fb3f1a35b3
commit 42a7b67eb2
2 changed files with 106 additions and 0 deletions
+61
View File
@@ -894,6 +894,7 @@
"about_data": "About & Data", "about_data": "About & Data",
"import": "Import", "import": "Import",
"sharing": "Sharing", "sharing": "Sharing",
"signatures": "Signatures",
"debug": "Debug" "debug": "Debug"
}, },
"tab_groups": { "tab_groups": {
@@ -2010,6 +2011,26 @@
"preview": { "preview": {
"label": "Preview" "label": "Preview"
} }
},
"importer": {
"title": "Import Data",
"description": "Import emails from .eml files or .zip/.tgz archives.",
"file_label": "Select Files",
"file_placeholder": "Choose .eml, .zip, or .tgz files",
"folder_label": "Import into Folder",
"conflict_label": "If Email Already Exists",
"start_import": "Start Import",
"importing": "Importing...",
"cancel": "Cancel",
"success": "Import successful",
"fail": "Import failed",
"import_complete": "Import Complete",
"summary_imported": "{count} imported",
"summary_skipped": "{count} skipped",
"summary_failed": "{count} failed",
"error_details": "Error Details",
"import_more": "Import More Files",
"progress_title": "Import Progress"
} }
}, },
"errors": { "errors": {
@@ -3363,5 +3384,45 @@
"install": "Install", "install": "Install",
"dont_remind": "Don't remind me again", "dont_remind": "Don't remind me again",
"dismiss_aria": "Dismiss install prompt" "dismiss_aria": "Dismiss install prompt"
},
"signatures": {
"title": "Signatures",
"description": "Create and manage email signatures. Assign default signatures for new messages and replies.",
"no_signature": "No signatures created yet.",
"add_signature": "Add Signature",
"duplicate": "Duplicate",
"your_signatures": "Your Signatures",
"delete_title": "Delete Signature",
"delete_message": "Are you sure you want to delete \"{name}\"?",
"edit_signature": "Edit Signature",
"new_signature": "New Signature",
"name_required": "Signature name is required",
"name_label": "Signature Name",
"name_placeholder": "e.g., Work, Personal, Legal",
"editor_label": "Signature Content",
"show_preview": "Preview",
"show_editor": "Editor",
"html_preview_label": "HTML Preview",
"plain_text_preview_label": "Plain Text Preview",
"default_signature": "Default for new messages",
"reply_signature": "Default for replies",
"no_signatures_available": "No signatures available",
"per_identity_signatures": "Per-Identity Signature Overrides",
"per_identity_description": "Assign different signatures to specific identities.",
"select_signature": "Select signature",
"cancel": "Cancel",
"save": "Save Signature",
"toolbar": {
"bold": "Bold",
"italic": "Italic",
"underline": "Underline",
"strikethrough": "Strikethrough",
"link": "Link",
"bullet_list": "Bullet List",
"ordered_list": "Ordered List",
"text_color": "Text Color",
"alignment": "Alignment",
"font_size": "Font Size"
}
} }
} }
+45
View File
@@ -258,6 +258,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
}); });
} }
} }
if (mb.isShared && mb.myRights) {
withMe.push({
id: `mb-withme-${mb.id}`,
resourceId: mb.id,
resourceName: mb.name,
resourceKind: "mailbox",
principalId: mb.accountId || "unknown",
principalName: mb.accountName || "Unknown",
principalEmail: null,
role: roleLabel("mailbox", detectMailboxPreset(mb.myRights)),
direction: "withMe",
pending: false,
accountId: mb.accountId,
});
}
} }
} catch { } catch {
/* mailboxes may not be available */ /* mailboxes may not be available */
@@ -286,6 +301,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
}); });
} }
} }
if (cal.isShared && cal.myRights) {
withMe.push({
id: `cal-withme-${cal.id}`,
resourceId: cal.id,
resourceName: cal.name,
resourceKind: "calendar",
principalId: cal.accountId || "unknown",
principalName: cal.accountName || "Unknown",
principalEmail: null,
role: roleLabel("calendar", detectCalendarPreset(cal.myRights)),
direction: "withMe",
pending: false,
accountId: cal.accountId,
});
}
} }
} }
} catch { } catch {
@@ -318,6 +348,21 @@ export const useSharingStore = create<SharingState>((set, get) => ({
}); });
} }
} }
if (book.isShared && book.myRights) {
withMe.push({
id: `ab-withme-${book.id}`,
resourceId: book.id,
resourceName: book.name,
resourceKind: "addressBook",
principalId: book.accountId || "unknown",
principalName: book.accountName || "Unknown",
principalEmail: null,
role: roleLabel("addressBook", detectAddressBookPreset(book.myRights)),
direction: "withMe",
pending: false,
accountId: book.accountId,
});
}
} }
} }
} catch { } catch {