spck 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.oxlintrc.json +49 -0
  2. package/LICENSE +21 -0
  3. package/README.md +631 -0
  4. package/bin/cli.js +20 -0
  5. package/bin/validate-cwd.js +41 -0
  6. package/dist/config/__tests__/config.test.d.ts +2 -0
  7. package/dist/config/__tests__/config.test.js +262 -0
  8. package/dist/config/__tests__/credentials.test.d.ts +2 -0
  9. package/dist/config/__tests__/credentials.test.js +360 -0
  10. package/dist/config/config.d.ts +33 -0
  11. package/dist/config/config.js +185 -0
  12. package/dist/config/credentials.d.ts +75 -0
  13. package/dist/config/credentials.js +259 -0
  14. package/dist/config/server-selection.d.ts +40 -0
  15. package/dist/config/server-selection.js +130 -0
  16. package/dist/connection/__tests__/firebase-auth.test.d.ts +2 -0
  17. package/dist/connection/__tests__/firebase-auth.test.js +96 -0
  18. package/dist/connection/__tests__/hmac.test.d.ts +2 -0
  19. package/dist/connection/__tests__/hmac.test.js +372 -0
  20. package/dist/connection/auth.d.ts +13 -0
  21. package/dist/connection/auth.js +91 -0
  22. package/dist/connection/firebase-auth.d.ts +40 -0
  23. package/dist/connection/firebase-auth.js +429 -0
  24. package/dist/connection/hmac.d.ts +24 -0
  25. package/dist/connection/hmac.js +109 -0
  26. package/dist/i18n/index.d.ts +25 -0
  27. package/dist/i18n/index.js +101 -0
  28. package/dist/i18n/locales/en.json +313 -0
  29. package/dist/i18n/locales/es.json +302 -0
  30. package/dist/i18n/locales/fr.json +302 -0
  31. package/dist/i18n/locales/id.json +302 -0
  32. package/dist/i18n/locales/ja.json +302 -0
  33. package/dist/i18n/locales/ko.json +302 -0
  34. package/dist/i18n/locales/locales/en.json +309 -0
  35. package/dist/i18n/locales/locales/es.json +302 -0
  36. package/dist/i18n/locales/locales/fr.json +302 -0
  37. package/dist/i18n/locales/locales/id.json +302 -0
  38. package/dist/i18n/locales/locales/ja.json +302 -0
  39. package/dist/i18n/locales/locales/ko.json +302 -0
  40. package/dist/i18n/locales/locales/pt.json +302 -0
  41. package/dist/i18n/locales/locales/zh-Hans.json +302 -0
  42. package/dist/i18n/locales/pt.json +302 -0
  43. package/dist/i18n/locales/zh-Hans.json +302 -0
  44. package/dist/index.d.ts +25 -0
  45. package/dist/index.js +493 -0
  46. package/dist/proxy/ProxyClient.d.ts +125 -0
  47. package/dist/proxy/ProxyClient.js +781 -0
  48. package/dist/proxy/ProxySocketWrapper.d.ts +43 -0
  49. package/dist/proxy/ProxySocketWrapper.js +98 -0
  50. package/dist/proxy/__tests__/ProxyClient.test.d.ts +2 -0
  51. package/dist/proxy/__tests__/ProxyClient.test.js +445 -0
  52. package/dist/proxy/__tests__/ProxySocketWrapper.test.d.ts +2 -0
  53. package/dist/proxy/__tests__/ProxySocketWrapper.test.js +190 -0
  54. package/dist/proxy/__tests__/handshake-validation.test.d.ts +2 -0
  55. package/dist/proxy/__tests__/handshake-validation.test.js +282 -0
  56. package/dist/proxy/__tests__/token-refresh-race.test.d.ts +14 -0
  57. package/dist/proxy/__tests__/token-refresh-race.test.js +173 -0
  58. package/dist/proxy/chunking.d.ts +53 -0
  59. package/dist/proxy/chunking.js +127 -0
  60. package/dist/proxy/handshake-validation.d.ts +21 -0
  61. package/dist/proxy/handshake-validation.js +49 -0
  62. package/dist/rpc/__tests__/router.test.d.ts +2 -0
  63. package/dist/rpc/__tests__/router.test.js +262 -0
  64. package/dist/rpc/router.d.ts +37 -0
  65. package/dist/rpc/router.js +132 -0
  66. package/dist/services/BrowserProxyService.d.ts +13 -0
  67. package/dist/services/BrowserProxyService.js +139 -0
  68. package/dist/services/FilesystemService.d.ts +99 -0
  69. package/dist/services/FilesystemService.js +742 -0
  70. package/dist/services/GitService.d.ts +243 -0
  71. package/dist/services/GitService.js +1439 -0
  72. package/dist/services/SearchService.d.ts +93 -0
  73. package/dist/services/SearchService.js +670 -0
  74. package/dist/services/TerminalService.d.ts +62 -0
  75. package/dist/services/TerminalService.js +337 -0
  76. package/dist/services/__tests__/BrowserProxyService.test.d.ts +2 -0
  77. package/dist/services/__tests__/BrowserProxyService.test.js +145 -0
  78. package/dist/services/__tests__/FilesystemService.test.d.ts +2 -0
  79. package/dist/services/__tests__/FilesystemService.test.js +609 -0
  80. package/dist/services/__tests__/GitService.test.d.ts +2 -0
  81. package/dist/services/__tests__/GitService.test.js +953 -0
  82. package/dist/services/__tests__/SearchService.test.d.ts +2 -0
  83. package/dist/services/__tests__/SearchService.test.js +384 -0
  84. package/dist/services/__tests__/TerminalService.test.d.ts +2 -0
  85. package/dist/services/__tests__/TerminalService.test.js +513 -0
  86. package/dist/setup/wizard.d.ts +10 -0
  87. package/dist/setup/wizard.js +172 -0
  88. package/dist/types.d.ts +196 -0
  89. package/dist/types.js +44 -0
  90. package/dist/utils/__tests__/gitignore.test.d.ts +2 -0
  91. package/dist/utils/__tests__/gitignore.test.js +127 -0
  92. package/dist/utils/gitignore.d.ts +24 -0
  93. package/dist/utils/gitignore.js +77 -0
  94. package/dist/utils/logger.d.ts +96 -0
  95. package/dist/utils/logger.js +456 -0
  96. package/dist/utils/project-dir.d.ts +51 -0
  97. package/dist/utils/project-dir.js +191 -0
  98. package/dist/utils/ripgrep.d.ts +34 -0
  99. package/dist/utils/ripgrep.js +148 -0
  100. package/dist/utils/tool-detection.d.ts +17 -0
  101. package/dist/utils/tool-detection.js +126 -0
  102. package/dist/watcher/FileWatcher.d.ts +10 -0
  103. package/dist/watcher/FileWatcher.js +42 -0
  104. package/package.json +70 -0
  105. package/src/config/__tests__/config.test.ts +318 -0
  106. package/src/config/__tests__/credentials.test.ts +494 -0
  107. package/src/config/config.ts +206 -0
  108. package/src/config/credentials.ts +302 -0
  109. package/src/config/server-selection.ts +150 -0
  110. package/src/connection/__tests__/firebase-auth.test.ts +121 -0
  111. package/src/connection/__tests__/hmac.test.ts +509 -0
  112. package/src/connection/auth.ts +140 -0
  113. package/src/connection/firebase-auth.ts +504 -0
  114. package/src/connection/hmac.ts +139 -0
  115. package/src/i18n/index.ts +119 -0
  116. package/src/i18n/locales/en.json +313 -0
  117. package/src/i18n/locales/es.json +302 -0
  118. package/src/i18n/locales/fr.json +302 -0
  119. package/src/i18n/locales/id.json +302 -0
  120. package/src/i18n/locales/ja.json +302 -0
  121. package/src/i18n/locales/ko.json +302 -0
  122. package/src/i18n/locales/pt.json +302 -0
  123. package/src/i18n/locales/zh-Hans.json +302 -0
  124. package/src/index.ts +542 -0
  125. package/src/proxy/ProxyClient.ts +968 -0
  126. package/src/proxy/ProxySocketWrapper.ts +113 -0
  127. package/src/proxy/__tests__/ProxyClient.test.ts +575 -0
  128. package/src/proxy/__tests__/ProxySocketWrapper.test.ts +251 -0
  129. package/src/proxy/__tests__/handshake-validation.test.ts +367 -0
  130. package/src/proxy/chunking.ts +162 -0
  131. package/src/proxy/handshake-validation.ts +64 -0
  132. package/src/rpc/__tests__/router.test.ts +400 -0
  133. package/src/rpc/router.ts +183 -0
  134. package/src/services/BrowserProxyService.ts +179 -0
  135. package/src/services/FilesystemService.ts +841 -0
  136. package/src/services/GitService.ts +1639 -0
  137. package/src/services/SearchService.ts +809 -0
  138. package/src/services/TerminalService.ts +413 -0
  139. package/src/services/__tests__/BrowserProxyService.test.ts +155 -0
  140. package/src/services/__tests__/FilesystemService.test.ts +1002 -0
  141. package/src/services/__tests__/GitService.test.ts +1552 -0
  142. package/src/services/__tests__/SearchService.test.ts +484 -0
  143. package/src/services/__tests__/TerminalService.test.ts +702 -0
  144. package/src/setup/wizard.ts +242 -0
  145. package/src/types/fossil-delta.d.ts +4 -0
  146. package/src/types.ts +287 -0
  147. package/src/utils/__tests__/gitignore.test.ts +174 -0
  148. package/src/utils/gitignore.ts +91 -0
  149. package/src/utils/logger.ts +578 -0
  150. package/src/utils/project-dir.ts +218 -0
  151. package/src/utils/ripgrep.ts +180 -0
  152. package/src/utils/tool-detection.ts +141 -0
  153. package/src/watcher/FileWatcher.ts +53 -0
  154. package/tsconfig.json +24 -0
  155. package/vitest.config.ts +19 -0
@@ -0,0 +1,302 @@
1
+ {
2
+ "app": {
3
+ "title": "Spck CLI",
4
+ "goodbye": "再见!"
5
+ },
6
+ "config": {
7
+ "loaded": "配置已加载",
8
+ "notFound": "未找到配置。正在运行设置向导...",
9
+ "corrupted": "配置文件已损坏",
10
+ "corruptedRunSetup": "正在运行设置向导以重新创建...",
11
+ "fileNotFound": "未找到配置文件: {{path}}",
12
+ "fileNotFoundHint": "正在运行设置向导以创建初始配置...",
13
+ "fileCorrupted": "配置文件已损坏: {{path}}",
14
+ "fileCorruptedHint": "将运行设置向导以重新创建...",
15
+ "saved": "配置保存成功!"
16
+ },
17
+ "auth": {
18
+ "title": "Firebase 身份验证",
19
+ "startingCallback": "正在端口 {{port}} 上启动本地回调服务器...",
20
+ "openingBrowser": "正在打开浏览器进行身份验证...",
21
+ "couldNotOpenBrowser": "无法自动打开浏览器: {{message}}",
22
+ "manualAuthHint": "如果浏览器未打开,请手动进行身份验证:",
23
+ "visitUrl": "或访问: {{url}}",
24
+ "waiting": "等待身份验证中(超时时间: 10分钟)...",
25
+ "success": "身份验证成功!",
26
+ "userId": "用户 ID: {{userId}}",
27
+ "credentialsLoaded": "Firebase 凭据已加载",
28
+ "generatingToken": "正在生成新的 Firebase ID 令牌...",
29
+ "noRefreshToken": "没有可用的刷新令牌。需要重新认证。",
30
+ "refreshTokenExpired": "刷新令牌已过期或无效。需要重新认证。",
31
+ "tokenRefreshError": "令牌刷新错误: {{message}}",
32
+ "tokenRefreshFailed": "令牌刷新失败。需要重新认证。"
33
+ },
34
+ "tools": {
35
+ "title": "工具检测",
36
+ "gitForceDisabled": "Git 已强制禁用(开发模式)",
37
+ "gitDetected": "检测到 Git: {{version}}",
38
+ "gitDetectedShort": "检测到 Git",
39
+ "gitNotDetected": "未检测到 Git",
40
+ "gitDisabledHint": "本次会话中 Git 功能将被禁用。",
41
+ "gitInstallHint": "请安装 Git 以启用版本控制功能:",
42
+ "ripgrepForceDisabled": "ripgrep 已强制禁用(开发模式)",
43
+ "ripgrepDetected": "检测到 ripgrep: {{version}}",
44
+ "ripgrepDetectedShort": "检测到 ripgrep",
45
+ "ripgrepNotDetected": "未检测到 ripgrep",
46
+ "ripgrepDisabledHint": "本次会话中快速搜索功能将被禁用。",
47
+ "ripgrepInstallHint": "请安装 ripgrep 以获得高性能代码搜索:",
48
+ "gitInstallUrl": "https://git-scm.com/downloads",
49
+ "ripgrepInstallUrl": "https://github.com/BurntSushi/ripgrep#installation"
50
+ },
51
+ "features": {
52
+ "title": "可用功能",
53
+ "filesystem": "文件系统操作",
54
+ "gitEnabled": "Git 版本控制",
55
+ "gitDisabled": "Git 版本控制(未安装 Git)",
56
+ "searchFast": "快速搜索(ripgrep)",
57
+ "searchBasic": "基本搜索(未安装 ripgrep)",
58
+ "terminalEnabled": "终端服务",
59
+ "terminalDisabled": "终端服务(已在配置中禁用)",
60
+ "securityTitle": "安全模式",
61
+ "userAuthEnabled": "用户认证: 已启用",
62
+ "userAuthEnabledHint1": "所有连接都需要 Firebase 身份验证",
63
+ "userAuthEnabledHint2": "添加用户身份验证层",
64
+ "userAuthEnabledHint3": "与 Spck Editor 兼容(不包括 Lite 版)",
65
+ "userAuthDisabled": "用户认证: 已禁用",
66
+ "userAuthDisabledHint1": "连接仅通过密钥签名保护",
67
+ "userAuthDisabledHint2": "更低的延迟,不需要 Firebase 认证",
68
+ "userAuthDisabledHint3": "与 Spck Editor Lite 兼容",
69
+ "browserProxyEnabled": "浏览器代理服务",
70
+ "browserProxyDisabled": "浏览器代理服务(已在配置中禁用)"
71
+ },
72
+ "server": {
73
+ "selectingBest": "正在选择最佳中继服务器...",
74
+ "checkingLatency": "正在检查服务器延迟...",
75
+ "selected": "已选择服务器: {{label}} ({{url}}) - {{ping}}ms",
76
+ "allUnreachable": "所有服务器均无法访问,使用默认值: {{url}}",
77
+ "usingOverride": "使用服务器覆盖: {{url}}",
78
+ "usingSaved": "使用已保存的服务器: {{url}}",
79
+ "failedSelect": "选择中继服务器失败: {{message}}",
80
+ "usingDefault": "使用默认值: {{url}}",
81
+ "unreachable": "无法访问"
82
+ },
83
+ "connection": {
84
+ "title": "正在连接到中继服务器",
85
+ "relayServer": "中继服务器: {{server}}",
86
+ "scanQR": "请使用 Spck Editor 移动应用扫描此二维码:",
87
+ "clientId": "客户端 ID: {{id}}",
88
+ "secret": "密钥: {{secret}}",
89
+ "name": "名称: {{name}}",
90
+ "relayServerLabel": "中继服务器: {{server}}",
91
+ "relayServerMismatch": "重要: 客户端必须选择相同的中继服务器",
92
+ "relayServerMismatchHint": "请在 Spck Editor 中选择 ({{server}}) 以进行连接。",
93
+ "existingFound": "找到现有连接",
94
+ "connectedAt": "连接时间: {{date}}",
95
+ "noExisting": "未找到现有连接。正在连接到代理...",
96
+ "tokenExpired": "服务器令牌已过期。正在重新连接...",
97
+ "settingsCorrupted": "连接设置已损坏,将重新连接到代理...",
98
+ "reusingSecret": "正在为 clientId 重用现有密钥",
99
+ "generatedSecret": "已为 clientId 生成新密钥",
100
+ "newDevice": "新设备正在连接: {{deviceId}}",
101
+ "newDeviceWarning": "这是该设备首次连接。",
102
+ "newDeviceCompromised": "如果您没有发起此连接,您的凭据可能已泄露。",
103
+ "userVerifying": "正在请求用户验证...",
104
+ "userVerified": "{{deviceId}} 的用户已验证: {{userId}}",
105
+ "userVerifyFailed": "{{deviceId}} 的用户验证失败: {{message}}",
106
+ "userVerifyOptional": "继续执行(验证为可选)",
107
+ "protocolNegotiated": "已与 {{deviceId}} 协商协议 v{{version}}",
108
+ "protocolUnsupported": "来自 {{deviceId}} 的不支持的协议版本 {{version}}。此 CLI 仅支持协议 v1。需要升级: 请将您的客户端/库(以及此 CLI,如适用)更新到最新版本以匹配协议版本。如果您是全局安装的 CLI,请运行: npm i -g spck@latest",
109
+ "chunkingMessage": "正在分块传输大型 {{event}} 消息: 为 {{deviceId}} 分为 {{chunks}} 个块(约 {{size}}MB)",
110
+ "disconnectedFromProxy": "已从代理断开: {{reason}}",
111
+ "serverTerminated": "服务器已终止连接。正在退出...",
112
+ "attemptingReconnect": "正在尝试重新连接...",
113
+ "reconnectAttempt": "重新连接尝试 {{attempt}}/5...",
114
+ "reconnected": "在 {{attempts}} 次尝试后重新连接成功",
115
+ "reconnectFailed": "5次尝试后重新连接失败。",
116
+ "exiting": "正在退出...",
117
+ "shuttingDown": "正在正常关闭...",
118
+ "killTimeout": "终止确认超时,强制断开连接",
119
+ "gracefulDisconnect": "已从代理正常断开连接",
120
+ "connectError": "连接错误: {{message}}",
121
+ "connectErrorNamespace": "命名空间: /listen",
122
+ "connectErrorType": "错误类型: {{type}}",
123
+ "connectFailed": "无法连接到中继服务器",
124
+ "connectFailedUrl": "URL: {{url}}/listen",
125
+ "connectFailedError": "错误: {{message}}",
126
+ "connectFailedCauses": "可能的原因:",
127
+ "connectFailedCause1": "- 服务器无法访问(请检查您的网络连接)",
128
+ "connectFailedCause2": "- 网络/防火墙阻止了连接",
129
+ "freeTierNotice": "免费账号:今日已使用 {{used}} / {{limit}} 分钟(剩余 {{remaining}} 分钟)",
130
+ "freeTierUpgrade": "升级以获得无限制 CLI 访问权限。"
131
+ },
132
+ "multipleConnection": {
133
+ "detected": "检测到多重连接尝试!",
134
+ "existingCount": "现有连接数: {{count}}",
135
+ "newConnectionId": "新连接 ID: {{id}}",
136
+ "rejectedHint": "出于安全原因,新连接默认被拒绝。",
137
+ "restartHint": "如需允许多个连接,请重新启动 CLI。",
138
+ "compromiseWarning": "如果您没有发起此连接,您的客户端 ID",
139
+ "compromiseHint": "可能已泄露。请考虑重新生成。"
140
+ },
141
+ "proxyError": {
142
+ "error": "代理错误: {{message}}",
143
+ "tokenExpiredTimeout": "您的访问令牌已过期或超时。",
144
+ "tokenExpiredHint": "请重试或使用以下命令重新认证: spck auth login",
145
+ "tokenRevoked": "您的登录令牌已被吊销。",
146
+ "tokenRevokedHint": "请重新认证: spck auth logout && spck auth login",
147
+ "privacyConsent": "需要同意隐私政策。",
148
+ "privacyConsentHint1": "请在 Spck Editor 应用的账户设置中",
149
+ "privacyConsentHint2": "同意隐私政策以使用此功能。",
150
+ "accountDeleting": "您的账户正在删除中。",
151
+ "accountDeletingHint": "请在 72 小时后重试。",
152
+ "accountBanned": "此账户已被封禁。",
153
+ "accountBannedHint1": "由于违反服务条款协议,",
154
+ "accountBannedHint2": "您的账户已被封禁。",
155
+ "subscriptionCheckFailed": "无法验证订阅状态。",
156
+ "subscriptionCheckFailedHint": "这可能是临时问题。请稍后重试。",
157
+ "subscriptionRequired": "此功能需要付费订阅。",
158
+ "subscriptionRequiredHint": "请在Spck Editor应用内升级到Supporter或Gold。",
159
+ "maxConnections": "已达到最大 CLI 连接数 {{max}}。",
160
+ "maxConnectionsHint": "请关闭其他 CLI 实例后重试。",
161
+ "duplicateClientId": "具有此客户端 ID 的 CLI 已经连接。",
162
+ "duplicateHint1": "可能的原因:",
163
+ "duplicateHint2": "- 另一个 CLI 实例仍在使用相同连接运行",
164
+ "duplicateHint3": "- 之前的连接未正常断开",
165
+ "duplicateHint4": "请:",
166
+ "duplicateHint5": "1. 关闭其他正在运行的 CLI 实例",
167
+ "duplicateHint6": "2. 等待几秒钟让之前的连接超时",
168
+ "duplicateHint7": "3. 再次尝试连接",
169
+ "firebaseExpiredRefreshFailed": "Firebase 令牌已过期且刷新失败。",
170
+ "firebaseExpiredRefreshFailedHint": "请重新认证: spck auth login",
171
+ "firebaseExpired": "Firebase 令牌已过期。",
172
+ "firebaseExpiredHint": "请重新认证: spck auth login",
173
+ "firebaseInvalid": "Firebase 令牌无效(未过期)。",
174
+ "firebaseInvalidHint1": "令牌可能已损坏或来自其他账户。",
175
+ "firebaseInvalidHint2": "请重新认证: spck auth login",
176
+ "firebaseTokenExpiring": "Firebase 令牌已过期。正在尝试刷新...",
177
+ "tokenRefreshFailed": "令牌刷新失败: {{message}}",
178
+ "dailyLimitExceeded": "已达到每日30分钟的免费使用限额。",
179
+ "dailyLimitReset": "限额将在{{time}}后重置。",
180
+ "dailyLimitExceededHint": "请在Spck Editor应用内升级到Supporter或Gold以获得无限CLI访问。",
181
+ "defaultError": "验证订阅时出现问题。"
182
+ },
183
+ "errors": {
184
+ "permissionError": "权限错误: 无法写入所需目录",
185
+ "permissionPath": "路径: {{path}}",
186
+ "permissionOperation": "操作: {{operation}}",
187
+ "permissionFix": "请修复权限:",
188
+ "permissionFixCmd1": "chmod 700 ~/.spck-editor",
189
+ "permissionFixCmd2": "chmod 600 ~/.spck-editor/.credentials.json",
190
+ "permissionFixHint": "或确保您的用户对主目录具有写入权限。",
191
+ "diskFull": "磁盘已满: 设备上没有可用空间",
192
+ "diskFullHint": "请释放磁盘空间后重试。",
193
+ "cannotConnect": "无法连接到代理服务器",
194
+ "cannotConnectError": "错误: {{message}}",
195
+ "cannotConnectCauses": "可能的原因:",
196
+ "cannotConnectCause1": "- 代理服务器已宕机",
197
+ "cannotConnectCause2": "- 网络连接问题",
198
+ "cannotConnectCause3": "- 配置中的代理 URL 不正确",
199
+ "cannotConnectHint": "请检查代理 URL 后重试。",
200
+ "failedToStart": "代理客户端启动失败: {{message}}",
201
+ "rootNotFound": "未找到根目录: {{path}}",
202
+ "rootNotFoundHint": "请确保目录存在且可访问,或运行设置向导:",
203
+ "rootNotFoundCmd": "spck --setup",
204
+ "uncaughtException": "未捕获的异常: {{message}}",
205
+ "unhandledRejection": "未处理的拒绝: {{message}}",
206
+ "shutdownError": "关闭过程中出错: {{message}}",
207
+ "cliError": "错误: {{message}}",
208
+ "cliErrorHint": "使用 --help 运行以查看可用的命令和选项。"
209
+ },
210
+ "logout": {
211
+ "title": "登出",
212
+ "clearedCredentials": "已清除用户凭据",
213
+ "removed": "已删除: {{path}}",
214
+ "clearedSettings": "已清除连接设置",
215
+ "noCredentials": "未找到凭据或连接设置",
216
+ "notLoggedIn": "当前未登录。",
217
+ "success": "已成功登出!",
218
+ "runAgain": "请重新运行 CLI 以重新认证。"
219
+ },
220
+ "account": {
221
+ "title": "账户信息",
222
+ "credentialsCorrupted": "凭据文件已损坏。",
223
+ "credentialsCorruptedHint1": "请登出并重新认证:",
224
+ "credentialsCorruptedHint2": "spck --logout",
225
+ "notLoggedIn": "当前未登录。",
226
+ "notLoggedInHint1": "请运行 CLI 进行认证:",
227
+ "notLoggedInHint2": "spck",
228
+ "fetching": "正在获取账户信息...",
229
+ "decodeFailed": "认证令牌解码失败",
230
+ "loggedIn": "已登录",
231
+ "userId": "用户 ID: {{userId}}",
232
+ "email": "邮箱: {{email}}",
233
+ "verified": "已验证: {{status}}",
234
+ "yes": "是",
235
+ "no": "否",
236
+ "tokenExpires": "令牌到期时间: {{date}}",
237
+ "timeRemaining": "剩余时间: {{hours}}小时 {{minutes}}分钟",
238
+ "subscription": "订阅",
239
+ "status": "状态: {{status}}",
240
+ "plan": "方案: {{plan}}",
241
+ "premium": "高级版: {{status}}",
242
+ "fetchFailed": "获取账户信息失败",
243
+ "fetchFailedError": "错误: {{message}}",
244
+ "permissionDenied": "凭据文件访问被拒绝",
245
+ "permissionHint1": "请检查文件权限:",
246
+ "permissionHint2": "chmod 600 ~/.spck-editor/.credentials.json",
247
+ "networkError": "网络连接错误",
248
+ "networkHint": "请检查您的网络连接"
249
+ },
250
+ "credentials": {
251
+ "corrupted": "凭证文件已损坏: {{path}}",
252
+ "corruptedHint": "将触发重新认证...",
253
+ "settingsCorrupted": "连接设置文件已损坏: {{path}}",
254
+ "settingsCorruptedHint": "将重新连接到代理..."
255
+ },
256
+ "projectDir": {
257
+ "configured": "项目目录已配置",
258
+ "directory": "目录: {{path}}",
259
+ "configLink": "配置: {{symlink}} -> {{dataPath}}"
260
+ },
261
+ "setup": {
262
+ "title": "Spck Networking CLI - 初始设置",
263
+ "description1": "此向导将帮助您配置 Spck Networking CLI。",
264
+ "description2": "CLI 连接到代理服务器以启用远程访问,",
265
+ "description3": "可访问您的本地文件系统、Git 和终端。",
266
+ "projectConfig": "项目配置",
267
+ "rootDirPrompt": "要提供服务的根目录 [{{default}}]: ",
268
+ "terminalConfig": "终端配置",
269
+ "terminalDescription": "终端服务允许远程 Shell 访问您的计算机。",
270
+ "terminalPrompt": "启用终端服务? [Y/n]: ",
271
+ "advancedTerminalPrompt": "配置高级终端设置? [y/N]: ",
272
+ "maxBufferPrompt": "最大缓冲行数(终端历史记录) [{{default}}]: ",
273
+ "maxBufferHint": "(更大的缓冲区存储更多历史记录,但可能减慢同步速度)",
274
+ "maxTerminalsPrompt": "最大终端进程数 [{{default}}]: ",
275
+ "securityConfig": "安全配置",
276
+ "securityDescription1": "额外的用户认证增加了一层安全保护,",
277
+ "securityDescription2": "要求客户端验证其 Firebase 身份。",
278
+ "securityDescription3": "这会使初始连接时间增加约 3-15 秒。",
279
+ "securityDocsHint": "了解更多: {{url}}",
280
+ "securityPrompt": "启用额外的用户认证? [y/N]: ",
281
+ "gitConfig": "Git 配置",
282
+ "gitignoreDetected": "在您的项目目录中检测到 .gitignore 文件。",
283
+ "gitignoreRecommend1": "建议将 .spck-editor/ 添加到 .gitignore 以防止",
284
+ "gitignoreRecommend2": "意外提交该目录到版本控制。",
285
+ "gitignorePrompt": "将 .spck-editor/ 添加到 .gitignore? [Y/n]: ",
286
+ "gitignoreAdded": "已将 .spck-editor/ 添加到 .gitignore",
287
+ "gitignoreFailed": "更新 .gitignore 失败: {{message}}",
288
+ "gitignoreManualHint": "您可以手动将 .spck-editor/ 添加到 .gitignore 文件中。",
289
+ "setupFailed": "设置失败: {{message}}",
290
+ "configSummary": "配置摘要:",
291
+ "summaryName": "服务器名称: {{name}}",
292
+ "summaryNameNotSet": "未设置",
293
+ "summaryRoot": "根目录: {{root}}",
294
+ "summaryTerminal": "终端服务: {{status}}",
295
+ "summaryEnabled": "已启用",
296
+ "summaryDisabled": "已禁用",
297
+ "summaryMaxBuffer": "- 最大缓冲行数: {{value}}",
298
+ "summaryMaxProcesses": "- 最大进程数: {{value}}",
299
+ "summaryUserAuth": "用户认证: {{status}}",
300
+ "received": "收到 {{signal}}"
301
+ }
302
+ }