Skip to content

Commit e99a838

Browse files
committed
chore(i18n): add translations for kits, mcp import, memory, and search UI
Add zh/en strings for the installed-kits tab, MCP JSON import, raw memory editing, search modal navigation, and email help copy introduced in the preceding feature commits.
1 parent 9834f14 commit e99a838

1 file changed

Lines changed: 63 additions & 2 deletions

File tree

src/renderer/services/i18n.ts

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,10 @@ const translations: Record<LanguageType, Record<string, string>> = {
363363
searchConversations: '搜索任务...',
364364
searchRecentTasks: '近期任务',
365365
searchNoResults: '未找到匹配任务',
366+
searchResults: '搜索结果',
367+
searchCurrentTask: '当前',
368+
searchHintSelect: '选择',
369+
searchHintOpen: '打开',
366370
projects: '项目',
367371
yourChats: '你的聊天',
368372
createProject: '新项目',
@@ -928,6 +932,13 @@ const translations: Record<LanguageType, Record<string, string>> = {
928932
coworkMemoryCrudContentLabel: '记忆内容',
929933
coworkMemoryCrudCreate: '新增条目',
930934
coworkMemoryCrudUpdate: '更新条目',
935+
coworkMemoryCrudMultilineHint: '支持多行:换行后的内容会与首行保存为同一条记忆,子要点可用「- 」开头。',
936+
coworkMemoryRawButton: '编辑原文',
937+
coworkMemoryRawHint: '直接编辑整个 MEMORY.md 文件,保存后条目列表将同步刷新。',
938+
coworkMemoryRawLoadFailed: '读取记忆文件失败',
939+
coworkMemoryRawSaveFailed: '保存记忆文件失败',
940+
coworkMemoryExpand: '展开',
941+
coworkMemoryCollapse: '收起',
931942
coworkMemoryCrudSaveFailed: '保存记忆条目失败',
932943
coworkMemoryCrudDeleteFailed: '删除记忆条目失败',
933944
coworkMemoryAdvancedShow: '显示高级设置',
@@ -1116,7 +1127,7 @@ const translations: Record<LanguageType, Record<string, string>> = {
11161127
coworkGreetingAfternoon: '下午好',
11171128
coworkGreetingEvening: '晚上好',
11181129
coworkGreetingLateNight: '夜深了',
1119-
coworkHomeTagline: '我是 LobsterAI,你的全场景办公 Agent,把任务交给我吧',
1130+
coworkHomeTagline: '我是 LobsterAI,你的全场景办公 Agent',
11201131
coworkRecentTasks: '最近任务',
11211132
coworkCurrentAgent: '当前 Agent',
11221133
coworkSelectAgent: '选择 Agent',
@@ -1669,6 +1680,13 @@ const translations: Record<LanguageType, Record<string, string>> = {
16691680
kitInstallGuideDescription: '基于工作场景的标准能力包',
16701681
kitGoInstall: '去安装',
16711682
kitSearchNoResults: '未找到匹配套件',
1683+
kitClearSearch: '清除搜索',
1684+
kitUse: '使用',
1685+
kitUseNow: '立即使用',
1686+
kitInstallFailed: '套件“{name}”安装失败,请稍后重试',
1687+
kitUninstallFailed: '套件“{name}”卸载失败,请稍后重试',
1688+
kitInstalledTab: '已安装',
1689+
kitInstalledEmpty: '暂未安装套件,去市场逛逛吧',
16721690
kitInstallRequired: '需要安装',
16731691
kitInstallRequiredDesc: '该套件尚未安装,是否立即安装并体验?',
16741692

@@ -1719,6 +1737,16 @@ const translations: Record<LanguageType, Record<string, string>> = {
17191737
mcpTransportHttp: 'HTTP 流式传输',
17201738
addKeyValue: '添加',
17211739
saveMcpServer: '保存',
1740+
mcpFormModeForm: '表单',
1741+
mcpFormModeJson: 'JSON',
1742+
mcpJsonImport: '导入',
1743+
mcpJsonImportHint: '粘贴 MCP JSON 配置,支持 {"mcpServers": {...}} 或「服务名称 → 配置」映射格式,可一次导入多个服务',
1744+
mcpJsonInvalid: 'JSON 解析失败,请检查格式',
1745+
mcpJsonNoServers: '未找到可导入的 MCP 服务配置',
1746+
mcpJsonMissingName: '缺少服务名称,请使用 {"服务名称": { ... }} 的形式',
1747+
mcpJsonEntryInvalid: '服务 "{name}" 缺少 command 或 url 字段',
1748+
mcpJsonDuplicateName: '服务名称重复:{name}',
1749+
mcpJsonNameConflict: '以下服务名称已存在:{name}',
17221750
// MCP 市场 & 注册表
17231751
mcpInstalled: '已安装',
17241752
mcpAuthorized: '已授权',
@@ -1792,6 +1820,8 @@ const translations: Record<LanguageType, Record<string, string>> = {
17921820
emailHintGmail: '如果开启了两步验证,请使用应用专用密码(App Password)',
17931821
emailHint163: '请使用授权码,而非账户密码。需先在网页端设置中开启 IMAP/SMTP 服务',
17941822
emailHintQQ: '请使用授权码,而非账户密码。需先在网页端设置中开启 IMAP/SMTP 服务',
1823+
emailPasswordHelp: '在邮箱网页端开启 IMAP/SMTP 服务后生成的授权码(应用专用密码),不是邮箱登录密码',
1824+
emailProviderGuideLink: '如何开启 IMAP/SMTP 并获取授权码',
17951825

17961826
// 文件操作
17971827
openFile: '打开文件',
@@ -3086,6 +3116,10 @@ const translations: Record<LanguageType, Record<string, string>> = {
30863116
searchConversations: 'Search tasks...',
30873117
searchRecentTasks: 'Recent tasks',
30883118
searchNoResults: 'No matching tasks',
3119+
searchResults: 'Results',
3120+
searchCurrentTask: 'Current',
3121+
searchHintSelect: 'Select',
3122+
searchHintOpen: 'Open',
30893123
projects: 'Projects',
30903124
yourChats: 'Your Chats',
30913125
createProject: 'New Project',
@@ -3675,6 +3709,13 @@ const translations: Record<LanguageType, Record<string, string>> = {
36753709
coworkMemoryCrudContentLabel: 'Memory content',
36763710
coworkMemoryCrudCreate: 'Create entry',
36773711
coworkMemoryCrudUpdate: 'Update entry',
3712+
coworkMemoryCrudMultilineHint: 'Multi-line supported: extra lines are saved as part of the same memory. Start sub-points with "- ".',
3713+
coworkMemoryRawButton: 'Edit raw file',
3714+
coworkMemoryRawHint: 'Edit the entire MEMORY.md directly. The entry list refreshes after saving.',
3715+
coworkMemoryRawLoadFailed: 'Failed to read the memory file',
3716+
coworkMemoryRawSaveFailed: 'Failed to save the memory file',
3717+
coworkMemoryExpand: 'Show more',
3718+
coworkMemoryCollapse: 'Show less',
36783719
coworkMemoryCrudSaveFailed: 'Failed to save memory entry',
36793720
coworkMemoryCrudDeleteFailed: 'Failed to delete memory entry',
36803721
coworkMemoryAdvancedShow: 'Show advanced settings',
@@ -3874,7 +3915,7 @@ const translations: Record<LanguageType, Record<string, string>> = {
38743915
coworkGreetingAfternoon: 'Good afternoon',
38753916
coworkGreetingEvening: 'Good evening',
38763917
coworkGreetingLateNight: 'Up late?',
3877-
coworkHomeTagline: 'LobsterAI here, your all-scenario office agent — hand me any task',
3918+
coworkHomeTagline: "I'm LobsterAI, your all-in-one office agent",
38783919
coworkRecentTasks: 'Recent tasks',
38793920
coworkCurrentAgent: 'Current Agent',
38803921
coworkSelectAgent: 'Select Agent',
@@ -4449,6 +4490,13 @@ const translations: Record<LanguageType, Record<string, string>> = {
44494490
kitInstallGuideDescription: 'Standard capability packs for work scenarios',
44504491
kitGoInstall: 'Install kits',
44514492
kitSearchNoResults: 'No matching kits found',
4493+
kitClearSearch: 'Clear search',
4494+
kitUse: 'Use',
4495+
kitUseNow: 'Use now',
4496+
kitInstallFailed: 'Failed to install "{name}". Please try again later.',
4497+
kitUninstallFailed: 'Failed to uninstall "{name}". Please try again later.',
4498+
kitInstalledTab: 'Installed',
4499+
kitInstalledEmpty: 'No kits installed yet. Explore the marketplace to get started.',
44524500
kitInstallRequired: 'Installation Required',
44534501
kitInstallRequiredDesc: 'This kit is not installed yet. Install it now to try?',
44544502

@@ -4500,6 +4548,16 @@ const translations: Record<LanguageType, Record<string, string>> = {
45004548
mcpTransportHttp: 'Streamable HTTP',
45014549
addKeyValue: 'Add',
45024550
saveMcpServer: 'Save',
4551+
mcpFormModeForm: 'Form',
4552+
mcpFormModeJson: 'JSON',
4553+
mcpJsonImport: 'Import',
4554+
mcpJsonImportHint: 'Paste an MCP JSON config. Supports {"mcpServers": {...}} or a name-to-config map; multiple servers can be imported at once.',
4555+
mcpJsonInvalid: 'Invalid JSON. Please check the format.',
4556+
mcpJsonNoServers: 'No importable MCP server config found',
4557+
mcpJsonMissingName: 'Missing server name. Use the {"server-name": { ... }} format.',
4558+
mcpJsonEntryInvalid: 'Server "{name}" is missing a command or url field',
4559+
mcpJsonDuplicateName: 'Duplicate server name: {name}',
4560+
mcpJsonNameConflict: 'These server names already exist: {name}',
45034561
// MCP Marketplace & Registry
45044562
mcpInstalled: 'Installed',
45054563
mcpAuthorized: 'Authorized',
@@ -4579,6 +4637,9 @@ const translations: Record<LanguageType, Record<string, string>> = {
45794637
'Use an authorization code, not your account password. Enable IMAP/SMTP in web settings first',
45804638
emailHintQQ:
45814639
'Use an authorization code, not your account password. Enable IMAP/SMTP in web settings first',
4640+
emailPasswordHelp:
4641+
'The authorization code (app password) generated after enabling IMAP/SMTP in your mailbox web settings — not your email login password',
4642+
emailProviderGuideLink: 'How to enable IMAP/SMTP and get an authorization code',
45824643

45834644
// File operations
45844645
openFile: 'Open File',

0 commit comments

Comments
 (0)