Wire t() ~88 파일의 나머지 hardcoded UI 문자열로
Next-intl t()를 가진 hardcoded 영어를 이전합니다. 변환 놓친: DataGrid headerName 값 (~238 파이프라인, 계정, 리드, 문서, 구독, 상거래), ternary 상태 상표 (Active/Inactive, 공중/개인, Enabled/Disabled, ...
인라인 cid 렌더링 : 새로운 EmailService endpoint를 통해 이미지
메시지가 인라인 부품을 노출 할 때 (각 contentId를 운반), 이메일 렌더링가 이제 <img src="cid:..."> 마운트 시간에 참조 *********** 프록시는 이제도 브라우저에서 Cache-Control을 전달하여 fetched 이미지를 캐시합니다. - EmailAt...
Broken 인라인 이미지, 첨부 파일 다운로드 및 뷰-pane flicker
- Strip <img> with cid: src in the email sanitizer so Embedded image don't 깨진 이미지 아이콘으로 렌더링하고, 실패한 이미지를 숨깁니다. SanitizedEmailRenderer의 onerror 핸들러를 통해 실행 시간. - T...
Doubly-namespaced t()를 클럽하우스 회원 목록에서 수정
전화가 해결되었습니다. *********** 대신 *********** — 스위치를 사용하여 searchPlaceholder, searchAriaLabel에 대 한 제대로 된 tMember 핸들, 그리고 clearAriaLabel.
Translate remaining UI strings outside main batches
NavInfo (placeholder name), NavTab (Print/Share buttons), NotImplemented (message), SecureIFrame (iframe title), useUserInfo HOCs (Loading/Please log in/permiss...
Translate POS6 (10 final files) — pos batch complete
97 strings across MarketCardGrid, MarketAgreementTemplates, MarketRentalAssets, MarketSubscriptionPlans, and 6 SubscriptionPlan* tabs (AddOns, Bundles, Details,...
번역 공급자 도움말 (10 설정 가이드)
BigCommerce, Ecwid, Magento, OpenCart, PrestaShop의 117 문자열 Shift4Shop, Shopify, Squarespace, Wix, WooCommerce 설정 가이드. 단계 텍스트 사용 t.rich() 와 <strong> 인라인 강조에 대한 f...
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...
번역 MarketTaxShipping + MarketDiscounts
151 문자열 (78+73). *************** marketDiscounts}.* 메서드/entry 카운트에 대한 ICU 복수 패턴과 키. DiscountTypeBadge는 helper에서 t 액세스에 대 한 하위 구성 요소로 refactored.
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...
번역 P5 (6 중간 탭)
VerticalSection, EngagementsTab, RetailFulfillmentTab의 96 문자열, 소매CustomersTab, VendorsTab, SignupsTab. 사용 t() 와 *************** *************** 키.
번역 P3 (Applications+Dashboard) + P4
7 파일. P3 부분 — 수정 (rate-limit kill mid-batch), 응용 프로그램 및 대시보드는 0 개의 감사가 표시됩니다. P4 완료 (ServiceRequests, RetailCarts, 제품, 발명가, RentalAssets). 사용 t() 와 ************...
WorkOrders + 조달 탭 번역
116 문자열. 기존 **************** purchasementTab 열쇠는 흔하게 플러스 common.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 ***********...
UI 문자열을 번역
27 파일: *************** *************** ManageSourcesDialog}; **************** *************** *************** 메시지/{ConversationListView, *************** 가상호스트 *...
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...
Redesign ChatsList 행 - 우아한 레이아웃, 수평 스크롤, 온라인 도트, 읽지 않은 배지, 관계되는 타임스탬프
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...
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 ...
드롭 중복 채팅 헤더 버튼; 패널 디자인을 가진 구성원 / 채팅 탭을 통합
ChatHeader는 자체를 최소화/닫는 IconButtons 하지만 채팅 도구 창 크롬은 이미 그 감당을 제공합니다 — 그들은 때 복제되었습니다 내장. ChatHeader는 이제 avatar stack, title popover, 그리고 추가 회원 활동. 회원 / 채팅 탭 스트립은 ...