Translate MarketProducts + MarketCustomers
118 strings. **************** marketCustomers}.* keys with ICU plural patterns and refactored SUB_VIEWS/ATTR_TYPE_LABELS to hold translation keys instead of lit...
Dịch Thị trường TaxShipping + MarketDis Counts
151 chuỗi (78+73). (TIẾNG CÒI) Khóa thị trường với mẫu số nhiều của phương pháp/sự vào. Giải mã TypeBadge được phục hồi từ trợ giúp sang phụ tương ứng cho truy ...
Translate E5 (16 small files) — email batch complete
61 strings. **************** **************** **************** **************** signatureTemplateSelector}.* keys. All 27 email files now at 0 audit hits.
Translate E4 ****************
62 strings. **************** **************** keys.
Translate E3 ****************
74 strings. **************** domainManager,caldavPersonal}.* keys.
Translate E2 ****************
92 strings. **************** **************** keys.
Translate EmailTemplateEdit (114 strings)
Largest file in the email batch. Refactored module-level legalTextOptions constant into buildLegalTextOptions(t) function for runtime translation. Inner EmailFr...
Dịch P5 (6 tab vừa)
96 sợi dây qua đường thẳng đứng, tấn công Tab, phục hồi chức năng. RetailCustomers Tab, nhà cung cấp Tab, đăng ký Tib. Dùng t() với (TIẾNG CÒI) (TIẾNG CÒI) Chìa...
Dịch hoá đơn cam kết
34 sợi dây. Sử dụng t() với * soạn thảo Chìa khóa.
Dịch P3
7 hồ sơ. P3 part — cam kết trở lại (trên phạm vi bán kính giết người giữabatch), Các ứng dụng và bảng xếp gạch đã được thu hồi với 0 điểm kiểm tra. Hoàn tất P4 ...
Dịch các phụ tùng công việc và các trang thủ tục
116 sợi dây. Dùng lại Chìa khóa Tab tích cực cộng với phổ biến.fields/ actions/states.
Translate Bookings + Orders tabs
101 strings. Reused existing **************** keys plus common.* (status, dates, fields, actions).
Translate 5 essential settings managers
206 strings across DepartmentManager, JobTitleManager, LabelManager, SecurityRoleManager, SubdomainBranchesDialog. Uses t() with **************** **************...
Translate 6 security settings tabs
195 strings across APIManager, AccessBlockManager, OAuth2Manager, SuspiciousManager, SystemAccessLogsManager, SystemDebug. Uses t() with **************** access...
Translate 7 account settings components
130 strings across BranchSetupManager, DefaultRoleTemplatesSection, FeaturesManager, RelationshipManager, **************** **************** StatsManager. Uses t...
Translate 6 AI settings tabs
98 strings across AiGeneralSettings, McpServersTab, ProviderSetupTab, SalesAgentSetupTab, SecurityModelsTab, UsageOverviewTab. Uses t() with **************** us...
Translate all 4 webinar files
LeadWebinarsSection, MyWebinarsTab, WebinarScheduleWizard, settings/ WebinarSettingsTab. Uses t() with **************** scheduleWizard,settings}.* keys. Reused ...
Translate OrderWizard
42 strings. Uses t() with **************** keys. Reused common.actions/states/fields. Existing tUi placeholder hook preserved alongside new top-level t.
Translate ****************
3 files (94 strings). Extracted agreement template defaults (HTML body, sample data, type colors, helper) into a sibling .ts file so the audit no longer flags t...
Translate AddOns/Bundles/VolumeDiscounts
3 files (57 strings). Uses t() with **************** bundles,volumeDiscounts}.* keys. Reused common.actions/fields/states.
Translate MatrixCell + DashboardCards
Partial start of subscription batch — 2 small files (5 strings): MatrixCell "Unlimited" pill labels in ReadMode and NumericEditor; SubscriptionDashboardCards ti...
Translate UI
30 files: leads (BusinessCard/Header/Manager); tools (ai-chat 5 files, calculator 6 files, media-player, message 2 files, sms 2 files); image-to-svg ***********...
Dịch chuỗi UI
27 tập tin: (TIẾNG CÒI) (TIẾNG CÒI) Quản lý: (TIẾNG CÒI) (TIẾNG CÒI) Thông điệp/{ ConversationListView, (TIẾNG CÒI) Ghi chú ảo + (TIẾNG CÒI) (TIẾNG CÒI) Dùng lạ...
Translate settings features components
12 files in **************** meets: **************** settings tabs. phone: multi/AggregatedTabs **************** and multi/ProvidersTab. docs: AssocConfigPanel,...
Translate CRM settings components
11 files in **************** CustomFormManager, FieldMappingInterface, LeadAutoImportManager, LeadManualImportManager, LeadMarketManager, LeadStatusLabelManager...
Translate small components subdirs
24 files across **************** **************** hardcoded UI strings now use t() with keys grouped by directory under components.* namespace. SmsChatTab.tsx d...
Translate error/loading/not-found pages
Use t() for ERROR badge, headline, subtitle, action buttons, and support link on error.tsx; loading message on loading.tsx; random message and description array...
Translate hardcoded UI
commerce (10 files): applications, bookings, commitments, orders, procurement, requests, service, service-requests, signups, subscriptions detail pages. setting...
Thêm giá trị
- Dịch vụ mới mail/dovecot-imap-external (N âm thanh 30143 -> 143) IMAP có thể đến từ bên ngoài cụm này trên $30143. - Giá hạt giống Việc tái tạo hộp thư; hàng ...
Công bố sự kiện NATS sau khi giao dịch cam kết để sửa đổi cuộc đua đính kèm ảnh
Thông điệp NATS đã được công bố bên trong cơ thể của @Transional, có nghĩa là Người nhận có thể nhận được sự kiện CREATE và yêu cầu hình ảnh thông qua Trước khi...
Thiết kế lại hàng trò chuyện — bố trí tao nhã, không cuộn sách, chấm trực tuyến, phù hiệu chưa đọc, nhãn tương đối
Serialize attachments in WS relay and message history; allow attachment-only sends
Three bugs fixed: 1. ChatSessionSubscriptionManager was building the STOMP messageMap manually and omitting attachments, sourceLanguageId, readMemberId, msg...
Add attachments and event fields to ChatMessageDto; ignore unknown fields
ChatMessageDto was missing `attachments`, `readMemberId`, `msgIdLastViewed`, `dateLastViewed`, `addedMemberId`, `objImgId`, `transitMemberId`, and `isJoin` fiel...
Fix NPE in getChatSessions from Map.of() rejecting null nextcoder
java.util.Map.of() throws NullPointerException when nextcoder is null (no more pages). Replace with HashMap that accepts null values. Also wrap entire handler i...
Defects C/D/E — title display name, toolbar layout, header lift
Defect C: Add GET proxy for /sessions/{guid}/members so ChatBox.loadMembers() can populate the SessionMember.name field. ChatTool already uses members[0].name f...
Add GET /sessions/{guid}/members endpoint with display-name priority
Returns member list with name resolved via usernameAlias → fullName → alias → username, matching the same priority as the chat sessions list. This feeds ChatBox...
Fix upload 500 (missing EmbRecordState) and empty chats tab (Timestamp cast)
Defect A: ChatAttachmentService.upload omitted **************** causing a NOT NULL violation on imgs.is_active. Added the default recordState. Also hardened Cha...
Prefer usernameAlias over User.name in memberDisplayName
Switches display name priority to: Member.usernameAlias → User.name → User.alias → User.username. Also includes the paged query dispatch fix from the previous c...
Derive and dispatch tool window title from session members
Adds onMembersChange callback to ChatBox; ChatTool derives the title (single name for 1-on-1, or '<name> (+N more)' for groups) and dispatches tool:title to upd...
Collapse toolbar, remove ChatHeader, add members intro row
- Delete ChatHeader row from embedded chat; move Add Member icon into unified toolbar - Toolbar: search input on left, VideoCall icon + PersonAdd icon + scroll-...
Lift search above tab strip, share query across Members and Chats tabs
Moves the search TextField from MemberList into NavTopPanel above the Tabs. Passes searchQuery as a prop to both MemberList and ChatsList so a single field filt...
Show upload error toast in Composer when attachments fail
Catches errors thrown by uploadAll() and renders an MUI Alert above the input row. Root cause of Defect 4 was the missing MinIO bucket (imaging-chat-attachments...
Empty Chats tab — frontend already expects {rows} paged shape (no change needed)
The ChatsList component already reads data.rows. Backend fix (shared-lib + MediaService) is the root cause: HAVING CAST(null AS TIMESTAMP) IS NULL did not work ...
Use split First/After queries for chat sessions paged endpoint
Addresses empty Chats tab by dispatching to ****************
Như những gì anh thấy vận chuyển?
Mỗi một bản cập nhật này đều được tự động cập nhật trong không gian làm việc của bạn. Bắt đầu tự do và xem nó lớn lên tuần này qua tuần khác.