将 t () 线线接入剩余硬码的 UI 字符串, 跨越 ~88 文件
将硬编码的英语替换为前一个位置的下个 intl t () 调用 转换失败: DataGrid 信头Name 值( ~238 跨管道, 账户、线索、文件、订阅、商业、土地状况 标签(主动/不活动、公共/私人、启用/残疾等), 倒置字符串(? "未知" / QQ "Phone"), SystemDebug标签, KbArt...
Render inline cid: 图像通过新的电子邮件服务端点
当信件暴露出内置部分( 每一个包含内容Id) 时, 电子邮件 渲染器现在重写了 <img src=' Cid:...> 引用时间 现在代理也是 转发缓存控制器, 以便浏览器缓存获取的图像 。 - 电子邮件附件(在对话类型和本地副本中) 信件浏览器( Message Browser) 获得内容ID和内置字段. - 无害...
断开内线图像、附件下载和视图平面闪烁器
- 将“img”与 cid: src 在电子邮件中进行消毒,所以嵌入式图像不会 转换为闪烁的破碎图像图标,并隐藏失败的图像。 运行时间通过 SanitizedEmailRender 中的 onerror 处理器. - 在 ThreadDetailView 和信件浏览器中替换已嵌入的 <a> 附件行 使用单个"a下载"—...
在俱乐部成员名单中修复双名空间 t () 呼叫
电话是决定的 而不是 QQ —— 切换到使用 正确扫描的 t 成员手柄,用于搜索位置符,搜索 AriaLabel, 并清除阿里娅·拉贝尔.
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个设置指南)
117个字符串横跨了大商业,埃克维德,马根托,OpenCart,PrestaShop, Shift4Shop, Shopify, Squarespace, Wix, WooCommerce 设置指南. step 文本使用 t.rich( ) 并有 < strong > formatter作为内在强调。 存放在QQ之下
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...
转换市场税 + 市场贴现
151弦(78+73). **************** 市场贴现}.* 方法/输入计数有ICU复数模式的密钥。 DiscountTypeBadge从帮助器重构为子组件,用于t访问.
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.
翻译电子邮件模板编辑( 114 字符串)
邮件批量中最大的文件 。 模块级别 法律文本选项常数为: 运行时间翻译 。 内电子邮件Frame组件得到自己的t.
翻译 P5 (6个中标签)
96个字符串横跨了垂直区域, 约定Tab, 零售Tab, 零售客户端、销售商端、签名端端。 用途 t( ) 与 **************** **************** 键.
翻译 P3 (应用程序+磁盘) + P4
7个档案. P3 部分——恢复承诺(速率限制杀中选), 应用程序和Dashboard 以0审计命中率进行抢救. P4级完成 (服务请求、零售、产品、库存、租赁资产)。 使用 t () 与 QQ **************** * 密钥.
Translate WorkOrders + Procurement tabs
116 strings. Reused existing **************** procurementTab keys aggressively plus 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...
翻译 UI
30个文件:线索(商业卡/头条/经理);工具(ai-chat 5个文件, 计算器 6 文件, 媒体播放器, 消息 2 文件, sms 2 文件 ; 图像到svg QQ 文档 **************** 电子邮件/块(图像/列表/) 分离器/表渲染器+块Preview. 有组件的用途t()*。 按文件角色分组的密钥...
翻译 UI 字符串
27个文件 : **************** **************** 管理 sourcesDialog}; QQ **************** **************** 信件/{汇编ListView, **************** 虚拟信息列表 + **************** ***...
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...
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 有自己的最小值/ 关闭图标按钮, 但聊天工具窗口 铬已经提供了这些价格——当 内嵌。 Chatheader现在只曝光了相机堆栈,标题弹出,以及 添加成员动作。 成员/聊天标签条是一个平坦的MUI标签条,带有bgcolor: "背景. 纸"通过互动打出一个不透明的白盒子 中心受霜分级板. 由透明条...