@lobehub/chat 1.109.1 → 1.110.0
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.
- package/.cursor/rules/i18n.mdc +1 -2
- package/CHANGELOG.md +25 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/apps/desktop/electron-builder.js +22 -0
- package/apps/desktop/src/main/controllers/McpInstallCtr.ts +153 -0
- package/apps/desktop/src/main/controllers/index.ts +19 -0
- package/apps/desktop/src/main/core/App.ts +46 -0
- package/apps/desktop/src/main/core/infrastructure/IoCContainer.ts +4 -0
- package/apps/desktop/src/main/core/infrastructure/ProtocolManager.ts +256 -0
- package/apps/desktop/src/main/types/protocol.ts +60 -0
- package/apps/desktop/src/main/utils/__tests__/protocol.test.ts +203 -0
- package/apps/desktop/src/main/utils/protocol.ts +210 -0
- package/changelog/v1.json +9 -0
- package/locales/ar/plugin.json +196 -136
- package/locales/bg-BG/plugin.json +204 -144
- package/locales/de-DE/plugin.json +176 -116
- package/locales/en-US/plugin.json +192 -132
- package/locales/es-ES/plugin.json +203 -143
- package/locales/fa-IR/plugin.json +155 -95
- package/locales/fr-FR/plugin.json +161 -101
- package/locales/it-IT/plugin.json +193 -133
- package/locales/ja-JP/plugin.json +195 -135
- package/locales/ko-KR/plugin.json +163 -103
- package/locales/nl-NL/plugin.json +211 -151
- package/locales/pl-PL/plugin.json +171 -111
- package/locales/pt-BR/plugin.json +180 -120
- package/locales/ru-RU/plugin.json +191 -131
- package/locales/tr-TR/plugin.json +187 -127
- package/locales/vi-VN/plugin.json +152 -92
- package/locales/zh-CN/plugin.json +60 -0
- package/locales/zh-TW/plugin.json +157 -97
- package/package.json +2 -1
- package/packages/electron-client-ipc/src/events/index.ts +5 -2
- package/packages/electron-client-ipc/src/events/protocol.ts +29 -0
- package/packages/electron-client-ipc/src/types/index.ts +1 -0
- package/packages/electron-client-ipc/src/types/mcpInstall.ts +19 -0
- package/packages/types/src/plugins/mcp.ts +38 -1
- package/packages/types/src/plugins/protocol.ts +166 -0
- package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +4 -1
- package/src/app/[variants]/(main)/discover/(detail)/mcp/[slug]/features/Sidebar/ActionButton/index.tsx +1 -2
- package/src/components/KeyValueEditor/index.tsx +4 -2
- package/src/features/MCP/MCPInstallProgress/index.tsx +1 -1
- package/src/features/PluginDevModal/MCPManifestForm/index.tsx +30 -36
- package/src/features/PluginStore/McpList/List/Item.tsx +1 -1
- package/src/features/ProtocolUrlHandler/InstallPlugin/ConfigDisplay.tsx +211 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/CustomPluginInstallModal.tsx +228 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/Detail.tsx +44 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/index.tsx +105 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/index.tsx +55 -0
- package/src/features/ProtocolUrlHandler/InstallPlugin/types.ts +45 -0
- package/src/features/ProtocolUrlHandler/index.tsx +30 -0
- package/src/locales/default/plugin.ts +60 -0
- package/src/store/tool/slices/mcpStore/action.ts +127 -1
- package/src/store/tool/slices/mcpStore/initialState.ts +8 -13
- package/src/store/tool/slices/mcpStore/selectors.ts +13 -0
@@ -1,48 +1,48 @@
|
|
1
1
|
{
|
2
2
|
"confirm": "Confirmar",
|
3
3
|
"debug": {
|
4
|
-
"arguments": "
|
4
|
+
"arguments": "Parámetros de llamada",
|
5
5
|
"function_call": "Llamada a función",
|
6
|
-
"off": "
|
7
|
-
"on": "Ver información de
|
8
|
-
"payload": "
|
6
|
+
"off": "Desactivar depuración",
|
7
|
+
"on": "Ver información de llamadas al plugin",
|
8
|
+
"payload": "Carga útil del plugin",
|
9
9
|
"pluginState": "Estado del plugin",
|
10
|
-
"response": "
|
11
|
-
"title": "Detalles del
|
12
|
-
"tool_call": "
|
10
|
+
"response": "Resultado devuelto",
|
11
|
+
"title": "Detalles del plugin",
|
12
|
+
"tool_call": "Solicitud de llamada a herramienta"
|
13
13
|
},
|
14
14
|
"detailModal": {
|
15
15
|
"customPlugin": {
|
16
16
|
"description": "Por favor, visite la página de edición para ver los detalles",
|
17
17
|
"editBtn": "Editar ahora",
|
18
|
-
"title": "Este es un
|
18
|
+
"title": "Este es un plugin personalizado"
|
19
19
|
},
|
20
20
|
"emptyState": {
|
21
|
-
"description": "Por favor, instale este
|
22
|
-
"title": "Ver detalles del
|
21
|
+
"description": "Por favor, instale este plugin primero para ver sus capacidades y opciones de configuración",
|
22
|
+
"title": "Ver detalles del plugin tras la instalación"
|
23
23
|
},
|
24
24
|
"info": {
|
25
25
|
"description": "Descripción de la API",
|
26
26
|
"name": "Nombre de la API"
|
27
27
|
},
|
28
28
|
"tabs": {
|
29
|
-
"info": "
|
29
|
+
"info": "Capacidades del plugin",
|
30
30
|
"manifest": "Archivo de instalación",
|
31
|
-
"settings": "
|
31
|
+
"settings": "Configuración"
|
32
32
|
},
|
33
|
-
"title": "Detalles del
|
33
|
+
"title": "Detalles del plugin"
|
34
34
|
},
|
35
35
|
"dev": {
|
36
|
-
"confirmDeleteDevPlugin": "Está a punto de eliminar este
|
36
|
+
"confirmDeleteDevPlugin": "Está a punto de eliminar este plugin local. Una vez eliminado, no podrá recuperarse. ¿Desea eliminar este plugin?",
|
37
37
|
"customParams": {
|
38
38
|
"useProxy": {
|
39
|
-
"label": "Instalar a través de proxy (si encuentra errores de acceso
|
39
|
+
"label": "Instalar a través de proxy (si encuentra errores de acceso cruzado, intente activar esta opción y reinstalar)"
|
40
40
|
}
|
41
41
|
},
|
42
|
-
"deleteSuccess": "
|
42
|
+
"deleteSuccess": "Plugin eliminado con éxito",
|
43
43
|
"manifest": {
|
44
44
|
"identifier": {
|
45
|
-
"desc": "Identificador único del
|
45
|
+
"desc": "Identificador único del plugin",
|
46
46
|
"label": "Identificador"
|
47
47
|
},
|
48
48
|
"mode": {
|
@@ -51,9 +51,9 @@
|
|
51
51
|
"url": "Enlace en línea"
|
52
52
|
},
|
53
53
|
"name": {
|
54
|
-
"desc": "Título del
|
54
|
+
"desc": "Título del plugin",
|
55
55
|
"label": "Título",
|
56
|
-
"placeholder": "
|
56
|
+
"placeholder": "Motor de búsqueda"
|
57
57
|
}
|
58
58
|
},
|
59
59
|
"mcp": {
|
@@ -61,10 +61,10 @@
|
|
61
61
|
"title": "Configuración avanzada"
|
62
62
|
},
|
63
63
|
"args": {
|
64
|
-
"desc": "Lista de parámetros
|
64
|
+
"desc": "Lista de parámetros para el comando de ejecución, generalmente aquí se ingresa el nombre del servidor MCP o la ruta del script de inicio",
|
65
65
|
"label": "Parámetros del comando",
|
66
|
-
"placeholder": "Por ejemplo:
|
67
|
-
"required": "Por favor,
|
66
|
+
"placeholder": "Por ejemplo: mcp-hello-world",
|
67
|
+
"required": "Por favor, ingrese los parámetros de inicio"
|
68
68
|
},
|
69
69
|
"auth": {
|
70
70
|
"bear": "Clave API",
|
@@ -73,121 +73,121 @@
|
|
73
73
|
"none": "Sin autenticación",
|
74
74
|
"placeholder": "Por favor, seleccione el tipo de autenticación",
|
75
75
|
"token": {
|
76
|
-
"desc": "Ingrese su
|
76
|
+
"desc": "Ingrese su clave API o token Bearer",
|
77
77
|
"label": "Clave API",
|
78
78
|
"placeholder": "sk-xxxxx",
|
79
79
|
"required": "Por favor, ingrese el token de autenticación"
|
80
80
|
}
|
81
81
|
},
|
82
82
|
"avatar": {
|
83
|
-
"label": "Icono del
|
83
|
+
"label": "Icono del plugin"
|
84
84
|
},
|
85
85
|
"command": {
|
86
|
-
"desc": "Archivo ejecutable o script para iniciar el
|
86
|
+
"desc": "Archivo ejecutable o script para iniciar el servidor MCP STDIO",
|
87
87
|
"label": "Comando",
|
88
|
-
"placeholder": "Por ejemplo:
|
89
|
-
"required": "Por favor,
|
88
|
+
"placeholder": "Por ejemplo: npx / uv / docker, etc.",
|
89
|
+
"required": "Por favor, ingrese el comando de inicio"
|
90
90
|
},
|
91
91
|
"desc": {
|
92
|
-
"desc": "
|
93
|
-
"label": "Descripción del
|
94
|
-
"placeholder": "
|
92
|
+
"desc": "Agregue una descripción del plugin",
|
93
|
+
"label": "Descripción del plugin",
|
94
|
+
"placeholder": "Agregue información sobre el uso y escenarios del plugin"
|
95
95
|
},
|
96
96
|
"endpoint": {
|
97
|
-
"desc": "
|
98
|
-
"label": "URL del
|
97
|
+
"desc": "Ingrese la dirección de su servidor MCP Streamable HTTP",
|
98
|
+
"label": "URL del endpoint MCP"
|
99
99
|
},
|
100
100
|
"env": {
|
101
101
|
"add": "Agregar una línea",
|
102
|
-
"desc": "
|
102
|
+
"desc": "Ingrese las variables de entorno necesarias para su servidor MCP",
|
103
103
|
"duplicateKeyError": "La clave del campo debe ser única",
|
104
|
-
"formValidationFailed": "La validación del formulario falló, por favor
|
104
|
+
"formValidationFailed": "La validación del formulario falló, por favor revise el formato de los parámetros",
|
105
105
|
"keyRequired": "La clave del campo no puede estar vacía",
|
106
106
|
"label": "Variables de entorno del servidor MCP",
|
107
|
-
"stringifyError": "No se
|
107
|
+
"stringifyError": "No se pueden serializar los parámetros, por favor revise el formato"
|
108
108
|
},
|
109
109
|
"headers": {
|
110
|
-
"add": "Agregar una
|
110
|
+
"add": "Agregar una línea",
|
111
111
|
"desc": "Ingrese los encabezados de la solicitud",
|
112
112
|
"label": "Encabezados HTTP"
|
113
113
|
},
|
114
114
|
"identifier": {
|
115
|
-
"desc": "
|
116
|
-
"invalid": "
|
117
|
-
"label": "Nombre del
|
115
|
+
"desc": "Asigne un nombre a su plugin MCP, debe usar caracteres en inglés",
|
116
|
+
"invalid": "El identificador solo puede contener letras, números, guiones y guiones bajos",
|
117
|
+
"label": "Nombre del plugin MCP",
|
118
118
|
"placeholder": "Por ejemplo: my-mcp-plugin",
|
119
|
-
"required": "Por favor,
|
119
|
+
"required": "Por favor, ingrese el identificador del servicio MCP"
|
120
120
|
},
|
121
|
-
"previewManifest": "
|
122
|
-
"quickImport": "
|
121
|
+
"previewManifest": "Vista previa del archivo de descripción del plugin",
|
122
|
+
"quickImport": "Importación rápida de configuración JSON",
|
123
123
|
"quickImportError": {
|
124
|
-
"empty": "El contenido
|
125
|
-
"invalidJson": "Formato JSON
|
126
|
-
"invalidStructure": "Estructura JSON
|
124
|
+
"empty": "El contenido no puede estar vacío",
|
125
|
+
"invalidJson": "Formato JSON inválido",
|
126
|
+
"invalidStructure": "Estructura JSON inválida"
|
127
127
|
},
|
128
|
-
"stdioNotSupported": "El entorno actual no
|
128
|
+
"stdioNotSupported": "El entorno actual no soporta plugins MCP tipo stdio",
|
129
129
|
"testConnection": "Probar conexión",
|
130
|
-
"testConnectionTip": "El
|
130
|
+
"testConnectionTip": "El plugin MCP solo puede usarse normalmente después de una prueba de conexión exitosa",
|
131
131
|
"type": {
|
132
|
-
"desc": "
|
133
|
-
"httpFeature1": "Compatible con
|
134
|
-
"httpFeature2": "
|
135
|
-
"httpShortDesc": "Protocolo de comunicación basado en HTTP
|
136
|
-
"label": "Tipo de
|
132
|
+
"desc": "Seleccione el modo de comunicación del plugin MCP, la versión web solo soporta Streamable HTTP",
|
133
|
+
"httpFeature1": "Compatible con versión web y de escritorio",
|
134
|
+
"httpFeature2": "Conexión a servidor MCP remoto, sin necesidad de instalación adicional",
|
135
|
+
"httpShortDesc": "Protocolo de comunicación basado en HTTP en streaming",
|
136
|
+
"label": "Tipo de plugin MCP",
|
137
137
|
"stdioFeature1": "Menor latencia de comunicación, adecuado para ejecución local",
|
138
|
-
"stdioFeature2": "
|
138
|
+
"stdioFeature2": "Requiere instalación local del servidor MCP",
|
139
139
|
"stdioNotAvailable": "El modo STDIO solo está disponible en la versión de escritorio",
|
140
140
|
"stdioShortDesc": "Protocolo de comunicación basado en entrada y salida estándar",
|
141
|
-
"title": "Tipo de
|
141
|
+
"title": "Tipo de plugin MCP"
|
142
142
|
},
|
143
143
|
"url": {
|
144
|
-
"desc": "
|
145
|
-
"invalid": "Por favor,
|
146
|
-
"label": "URL del
|
147
|
-
"required": "Por favor,
|
144
|
+
"desc": "Ingrese la dirección Streamable HTTP de su servidor MCP, no soporta modo SSE",
|
145
|
+
"invalid": "Por favor, ingrese una URL válida",
|
146
|
+
"label": "URL del endpoint Streamable HTTP",
|
147
|
+
"required": "Por favor, ingrese la URL del servicio MCP"
|
148
148
|
}
|
149
149
|
},
|
150
150
|
"meta": {
|
151
151
|
"author": {
|
152
|
-
"desc": "Autor del
|
152
|
+
"desc": "Autor del plugin",
|
153
153
|
"label": "Autor"
|
154
154
|
},
|
155
155
|
"avatar": {
|
156
|
-
"desc": "Icono del
|
156
|
+
"desc": "Icono del plugin, puede usar Emoji o URL",
|
157
157
|
"label": "Icono"
|
158
158
|
},
|
159
159
|
"description": {
|
160
|
-
"desc": "Descripción del
|
160
|
+
"desc": "Descripción del plugin",
|
161
161
|
"label": "Descripción",
|
162
|
-
"placeholder": "
|
162
|
+
"placeholder": "Consulta motores de búsqueda para obtener información"
|
163
163
|
},
|
164
164
|
"formFieldRequired": "Este campo es obligatorio",
|
165
165
|
"homepage": {
|
166
|
-
"desc": "Página
|
167
|
-
"label": "Página
|
166
|
+
"desc": "Página principal del plugin",
|
167
|
+
"label": "Página principal"
|
168
168
|
},
|
169
169
|
"identifier": {
|
170
|
-
"desc": "Identificador único del
|
171
|
-
"errorDuplicate": "El identificador
|
170
|
+
"desc": "Identificador único del plugin, se detectará automáticamente desde el manifest",
|
171
|
+
"errorDuplicate": "El identificador ya existe en otro plugin, por favor modifíquelo",
|
172
172
|
"label": "Identificador",
|
173
|
-
"pattenErrorMessage": "Solo se
|
173
|
+
"pattenErrorMessage": "Solo se permiten caracteres en inglés, números, - y _"
|
174
174
|
},
|
175
|
-
"lobe": "
|
175
|
+
"lobe": "Plugin {{appName}}",
|
176
176
|
"manifest": {
|
177
|
-
"desc": "{{appName}}
|
178
|
-
"label": "
|
177
|
+
"desc": "{{appName}} instalará el plugin a través de este enlace",
|
178
|
+
"label": "Archivo de descripción del plugin (Manifest) URL",
|
179
179
|
"preview": "Vista previa del Manifest",
|
180
180
|
"refresh": "Actualizar"
|
181
181
|
},
|
182
|
-
"openai": "
|
182
|
+
"openai": "Plugin OpenAI",
|
183
183
|
"title": {
|
184
|
-
"desc": "Título del
|
184
|
+
"desc": "Título del plugin",
|
185
185
|
"label": "Título",
|
186
|
-
"placeholder": "
|
186
|
+
"placeholder": "Motor de búsqueda"
|
187
187
|
}
|
188
188
|
},
|
189
|
-
"metaConfig": "Configuración de
|
190
|
-
"modalDesc": "Después de agregar un
|
189
|
+
"metaConfig": "Configuración de metainformación del plugin",
|
190
|
+
"modalDesc": "Después de agregar un plugin personalizado, puede usarse para desarrollo y verificación, o directamente en conversaciones. Para desarrollo de plugins, consulte la <1>documentación de desarrollo↗</1>",
|
191
191
|
"openai": {
|
192
192
|
"importUrl": "Importar desde enlace URL",
|
193
193
|
"schema": "Esquema"
|
@@ -195,44 +195,44 @@
|
|
195
195
|
"preview": {
|
196
196
|
"api": {
|
197
197
|
"noParams": "Esta herramienta no tiene parámetros",
|
198
|
-
"noResults": "No se encontraron
|
198
|
+
"noResults": "No se encontraron APIs que coincidan con los criterios de búsqueda",
|
199
199
|
"params": "Parámetros:",
|
200
200
|
"searchPlaceholder": "Buscar herramienta..."
|
201
201
|
},
|
202
|
-
"card": "Vista previa del efecto del
|
203
|
-
"desc": "
|
202
|
+
"card": "Vista previa del efecto del plugin",
|
203
|
+
"desc": "Descripción previa del plugin",
|
204
204
|
"empty": {
|
205
|
-
"desc": "
|
206
|
-
"title": "Comience
|
205
|
+
"desc": "Después de completar la configuración, podrá previsualizar las capacidades de las herramientas soportadas aquí",
|
206
|
+
"title": "Comience la vista previa tras configurar el plugin"
|
207
207
|
},
|
208
|
-
"title": "Vista previa del nombre del
|
208
|
+
"title": "Vista previa del nombre del plugin"
|
209
209
|
},
|
210
|
-
"save": "Instalar
|
211
|
-
"saveSuccess": "Configuración del
|
210
|
+
"save": "Instalar plugin",
|
211
|
+
"saveSuccess": "Configuración del plugin guardada con éxito",
|
212
212
|
"tabs": {
|
213
213
|
"manifest": "Lista de descripción de funciones (Manifest)",
|
214
|
-
"meta": "
|
214
|
+
"meta": "Metainformación del plugin"
|
215
215
|
},
|
216
216
|
"title": {
|
217
|
-
"create": "Agregar
|
218
|
-
"edit": "Editar
|
217
|
+
"create": "Agregar plugin personalizado",
|
218
|
+
"edit": "Editar plugin personalizado"
|
219
219
|
},
|
220
220
|
"type": {
|
221
|
-
"lobe": "
|
222
|
-
"openai": "
|
221
|
+
"lobe": "Plugin {{appName}}",
|
222
|
+
"openai": "Plugin OpenAI"
|
223
223
|
},
|
224
224
|
"update": "Actualizar",
|
225
|
-
"updateSuccess": "Configuración del
|
225
|
+
"updateSuccess": "Configuración del plugin actualizada con éxito"
|
226
226
|
},
|
227
227
|
"error": {
|
228
|
-
"fetchError": "Error al
|
229
|
-
"installError": "Error al instalar el
|
230
|
-
"manifestInvalid": "El
|
231
|
-
"noManifest": "
|
232
|
-
"openAPIInvalid": "Error al analizar OpenAPI
|
233
|
-
"reinstallError": "Error al
|
228
|
+
"fetchError": "Error al solicitar el enlace manifest, por favor asegúrese de que el enlace es válido y permite acceso cruzado",
|
229
|
+
"installError": "Error al instalar el plugin {{name}}",
|
230
|
+
"manifestInvalid": "El manifest no cumple con las especificaciones, resultado de la validación: \n\n {{error}}",
|
231
|
+
"noManifest": "Archivo de descripción no encontrado",
|
232
|
+
"openAPIInvalid": "Error al analizar OpenAPI, error: \n\n {{error}}",
|
233
|
+
"reinstallError": "Error al actualizar el plugin {{name}}",
|
234
234
|
"testConnectionFailed": "Error al obtener el Manifest: {{error}}",
|
235
|
-
"urlError": "El enlace no
|
235
|
+
"urlError": "El enlace no devolvió contenido en formato JSON, por favor asegúrese de que es un enlace válido"
|
236
236
|
},
|
237
237
|
"inspector": {
|
238
238
|
"args": "Ver lista de parámetros",
|
@@ -240,14 +240,14 @@
|
|
240
240
|
},
|
241
241
|
"list": {
|
242
242
|
"item": {
|
243
|
-
"deprecated.title": "
|
243
|
+
"deprecated.title": "Eliminado",
|
244
244
|
"local.config": "Configuración",
|
245
245
|
"local.title": "Personalizado"
|
246
246
|
}
|
247
247
|
},
|
248
248
|
"loading": {
|
249
|
-
"content": "
|
250
|
-
"plugin": "
|
249
|
+
"content": "Llamando al plugin...",
|
250
|
+
"plugin": "Plugin en ejecución..."
|
251
251
|
},
|
252
252
|
"localSystem": {
|
253
253
|
"apiName": {
|
@@ -256,23 +256,23 @@
|
|
256
256
|
"readLocalFile": "Leer contenido del archivo",
|
257
257
|
"renameLocalFile": "Renombrar",
|
258
258
|
"searchLocalFiles": "Buscar archivos",
|
259
|
-
"writeLocalFile": "Escribir
|
259
|
+
"writeLocalFile": "Escribir archivo"
|
260
260
|
},
|
261
261
|
"title": "Archivos locales"
|
262
262
|
},
|
263
263
|
"mcpInstall": {
|
264
|
-
"CHECKING_INSTALLATION": "
|
264
|
+
"CHECKING_INSTALLATION": "Verificando entorno de instalación...",
|
265
265
|
"COMPLETED": "Instalación completada",
|
266
|
-
"CONFIGURATION_REQUIRED": "Por favor
|
266
|
+
"CONFIGURATION_REQUIRED": "Por favor complete la configuración requerida para continuar la instalación",
|
267
267
|
"ERROR": "Error de instalación",
|
268
|
-
"FETCHING_MANIFEST": "Obteniendo
|
269
|
-
"GETTING_SERVER_MANIFEST": "Inicializando
|
270
|
-
"INSTALLING_PLUGIN": "Instalando
|
268
|
+
"FETCHING_MANIFEST": "Obteniendo archivo de descripción del plugin...",
|
269
|
+
"GETTING_SERVER_MANIFEST": "Inicializando servidor MCP...",
|
270
|
+
"INSTALLING_PLUGIN": "Instalando plugin...",
|
271
271
|
"configurationDescription": "Este plugin MCP requiere parámetros de configuración para funcionar correctamente, por favor complete la información necesaria",
|
272
272
|
"configurationRequired": "Configurar parámetros del plugin",
|
273
273
|
"continueInstall": "Continuar instalación",
|
274
|
-
"dependenciesDescription": "Este plugin requiere
|
275
|
-
"dependenciesRequired": "Por favor
|
274
|
+
"dependenciesDescription": "Este plugin requiere instalar las siguientes dependencias del sistema para funcionar correctamente, por favor instale las dependencias faltantes según las indicaciones y luego haga clic en reintentar para continuar la instalación.",
|
275
|
+
"dependenciesRequired": "Por favor instale las dependencias del sistema para el plugin",
|
276
276
|
"dependencyStatus": {
|
277
277
|
"installed": "Instalado",
|
278
278
|
"notInstalled": "No instalado",
|
@@ -293,36 +293,96 @@
|
|
293
293
|
"AUTHORIZATION_ERROR": "Error de autorización",
|
294
294
|
"CONNECTION_FAILED": "Conexión fallida",
|
295
295
|
"INITIALIZATION_TIMEOUT": "Tiempo de inicialización agotado",
|
296
|
-
"PROCESS_SPAWN_ERROR": "Error al iniciar
|
296
|
+
"PROCESS_SPAWN_ERROR": "Error al iniciar proceso",
|
297
297
|
"UNKNOWN_ERROR": "Error desconocido",
|
298
298
|
"VALIDATION_ERROR": "Error de validación de parámetros"
|
299
299
|
},
|
300
|
-
"installError": "
|
300
|
+
"installError": "Error al instalar plugin MCP, motivo: {{detail}}",
|
301
301
|
"installMethods": {
|
302
302
|
"manual": "Instalación manual:",
|
303
303
|
"recommended": "Método de instalación recomendado:"
|
304
304
|
},
|
305
|
-
"recheckDependencies": "Revisar
|
305
|
+
"recheckDependencies": "Revisar dependencias nuevamente",
|
306
306
|
"skipDependencies": "Omitir revisión"
|
307
307
|
},
|
308
|
-
"pluginList": "Lista de
|
308
|
+
"pluginList": "Lista de plugins",
|
309
|
+
"protocolInstall": {
|
310
|
+
"actions": {
|
311
|
+
"install": "Instalar",
|
312
|
+
"installAnyway": "Instalar de todos modos",
|
313
|
+
"installed": "Instalado"
|
314
|
+
},
|
315
|
+
"config": {
|
316
|
+
"args": "Parámetros",
|
317
|
+
"command": "Comando",
|
318
|
+
"env": "Variables de entorno",
|
319
|
+
"headers": "Encabezados",
|
320
|
+
"title": "Información de configuración",
|
321
|
+
"type": {
|
322
|
+
"http": "Tipo: HTTP",
|
323
|
+
"label": "Tipo",
|
324
|
+
"stdio": "Tipo: Stdio"
|
325
|
+
},
|
326
|
+
"url": "Dirección del servicio"
|
327
|
+
},
|
328
|
+
"custom": {
|
329
|
+
"badge": "Plugin personalizado",
|
330
|
+
"security": {
|
331
|
+
"description": "Este plugin no ha sido verificado oficialmente, la instalación puede implicar riesgos de seguridad. Por favor asegúrese de confiar en la fuente del plugin.",
|
332
|
+
"title": "⚠️ Advertencia de riesgo de seguridad"
|
333
|
+
},
|
334
|
+
"title": "Instalar plugin personalizado"
|
335
|
+
},
|
336
|
+
"marketplace": {
|
337
|
+
"title": "Instalar plugins de terceros",
|
338
|
+
"trustedBy": "Proporcionado por {{name}}",
|
339
|
+
"unverified": {
|
340
|
+
"title": "Plugin de terceros no verificado",
|
341
|
+
"warning": "Este plugin proviene de un mercado de terceros no verificado, por favor confirme que confía en esta fuente antes de instalar."
|
342
|
+
},
|
343
|
+
"verified": "Verificado"
|
344
|
+
},
|
345
|
+
"messages": {
|
346
|
+
"connectionTestFailed": "Prueba de conexión fallida",
|
347
|
+
"installError": "Error al instalar plugin, por favor intente de nuevo",
|
348
|
+
"installSuccess": "Plugin {{name}} instalado con éxito!",
|
349
|
+
"manifestError": "Error al obtener detalles del plugin, por favor revise la conexión de red e intente de nuevo",
|
350
|
+
"manifestNotFound": "No se pudo obtener el archivo de descripción del plugin"
|
351
|
+
},
|
352
|
+
"meta": {
|
353
|
+
"author": "Autor",
|
354
|
+
"homepage": "Página principal",
|
355
|
+
"identifier": "Identificador",
|
356
|
+
"source": "Fuente",
|
357
|
+
"version": "Versión"
|
358
|
+
},
|
359
|
+
"official": {
|
360
|
+
"badge": "Plugin oficial de LobeHub",
|
361
|
+
"description": "Este plugin es desarrollado y mantenido oficialmente por LobeHub, ha pasado rigurosas auditorías de seguridad y puede usarse con confianza.",
|
362
|
+
"loadingMessage": "Obteniendo detalles del plugin...",
|
363
|
+
"loadingTitle": "Cargando",
|
364
|
+
"title": "Instalar plugin oficial"
|
365
|
+
},
|
366
|
+
"title": "Instalar plugin MCP",
|
367
|
+
"warning": "⚠️ Por favor confirme que confía en la fuente de este plugin, plugins maliciosos pueden comprometer la seguridad de su sistema."
|
368
|
+
},
|
309
369
|
"search": {
|
310
370
|
"apiName": {
|
311
|
-
"crawlMultiPages": "Leer
|
312
|
-
"crawlSinglePage": "Leer contenido de
|
371
|
+
"crawlMultiPages": "Leer contenido de múltiples páginas",
|
372
|
+
"crawlSinglePage": "Leer contenido de página",
|
313
373
|
"search": "Buscar página"
|
314
374
|
},
|
315
375
|
"config": {
|
316
376
|
"addKey": "Agregar clave",
|
317
377
|
"close": "Eliminar",
|
318
|
-
"confirm": "Configuración completada
|
378
|
+
"confirm": "Configuración completada y reintentar"
|
319
379
|
},
|
320
380
|
"crawPages": {
|
321
|
-
"crawling": "
|
381
|
+
"crawling": "Reconociendo enlaces",
|
322
382
|
"detail": {
|
323
383
|
"preview": "Vista previa",
|
324
384
|
"raw": "Texto original",
|
325
|
-
"tooLong": "El contenido del texto es demasiado largo,
|
385
|
+
"tooLong": "El contenido del texto es demasiado largo, solo se conservarán los primeros {{characters}} caracteres en el contexto de la conversación, el resto no se incluirá."
|
326
386
|
},
|
327
387
|
"meta": {
|
328
388
|
"crawler": "Modo de rastreo",
|
@@ -330,16 +390,16 @@
|
|
330
390
|
}
|
331
391
|
},
|
332
392
|
"searchxng": {
|
333
|
-
"baseURL": "
|
334
|
-
"description": "
|
335
|
-
"keyPlaceholder": "
|
336
|
-
"title": "Configurar
|
337
|
-
"unconfiguredDesc": "Por favor
|
338
|
-
"unconfiguredTitle": "
|
393
|
+
"baseURL": "Por favor ingrese",
|
394
|
+
"description": "Ingrese la URL de SearchXNG para comenzar la búsqueda en línea",
|
395
|
+
"keyPlaceholder": "Por favor ingrese la clave",
|
396
|
+
"title": "Configurar motor de búsqueda SearchXNG",
|
397
|
+
"unconfiguredDesc": "Por favor contacte al administrador para completar la configuración del motor de búsqueda SearchXNG y comenzar la búsqueda en línea",
|
398
|
+
"unconfiguredTitle": "SearchXNG no configurado"
|
339
399
|
},
|
340
400
|
"title": "Búsqueda en línea"
|
341
401
|
},
|
342
|
-
"setting": "Configuración
|
402
|
+
"setting": "Configuración del plugin",
|
343
403
|
"settings": {
|
344
404
|
"capabilities": {
|
345
405
|
"prompts": "Indicaciones",
|
@@ -358,52 +418,52 @@
|
|
358
418
|
"url": "Dirección del servicio"
|
359
419
|
},
|
360
420
|
"edit": "Editar",
|
361
|
-
"envConfigDescription": "Estas configuraciones se pasarán como variables de entorno al
|
362
|
-
"httpTypeNotice": "Los
|
421
|
+
"envConfigDescription": "Estas configuraciones se pasarán como variables de entorno al iniciar el servidor MCP",
|
422
|
+
"httpTypeNotice": "Los plugins MCP de tipo HTTP no requieren variables de entorno configurables",
|
363
423
|
"indexUrl": {
|
364
|
-
"title": "Índice
|
365
|
-
"tooltip": "No se
|
424
|
+
"title": "Índice del mercado",
|
425
|
+
"tooltip": "No se soporta edición en línea, por favor configure mediante variables de entorno al desplegar"
|
366
426
|
},
|
367
427
|
"messages": {
|
368
428
|
"connectionUpdateFailed": "Error al actualizar la información de conexión",
|
369
429
|
"connectionUpdateSuccess": "Información de conexión actualizada con éxito",
|
370
|
-
"envUpdateFailed": "Error al guardar
|
430
|
+
"envUpdateFailed": "Error al guardar variables de entorno",
|
371
431
|
"envUpdateSuccess": "Variables de entorno guardadas con éxito"
|
372
432
|
},
|
373
|
-
"modalDesc": "Después de configurar la dirección del mercado de
|
433
|
+
"modalDesc": "Después de configurar la dirección del mercado de plugins, podrá usar mercados personalizados",
|
374
434
|
"rules": {
|
375
|
-
"argsRequired": "Por favor
|
376
|
-
"commandRequired": "Por favor
|
377
|
-
"urlRequired": "Por favor
|
435
|
+
"argsRequired": "Por favor ingrese los parámetros de inicio",
|
436
|
+
"commandRequired": "Por favor ingrese el comando de inicio",
|
437
|
+
"urlRequired": "Por favor ingrese la dirección del servicio"
|
378
438
|
},
|
379
439
|
"saveSettings": "Guardar configuración",
|
380
|
-
"title": "
|
440
|
+
"title": "Configurar mercado de plugins"
|
381
441
|
},
|
382
|
-
"showInPortal": "Por favor
|
442
|
+
"showInPortal": "Por favor vea los detalles en el espacio de trabajo",
|
383
443
|
"store": {
|
384
444
|
"actions": {
|
385
445
|
"cancel": "Cancelar instalación",
|
386
|
-
"confirmUninstall": "Está a punto de desinstalar este
|
446
|
+
"confirmUninstall": "Está a punto de desinstalar este plugin, la configuración del plugin será eliminada. Por favor confirme su acción",
|
387
447
|
"detail": "Detalles",
|
388
448
|
"install": "Instalar",
|
389
449
|
"manifest": "Editar archivo de instalación",
|
390
450
|
"settings": "Configuración",
|
391
451
|
"uninstall": "Desinstalar"
|
392
452
|
},
|
393
|
-
"communityPlugin": "Comunidad",
|
453
|
+
"communityPlugin": "Comunidad de terceros",
|
394
454
|
"customPlugin": "Personalizado",
|
395
|
-
"empty": "No hay
|
396
|
-
"emptySelectHint": "Seleccione un
|
455
|
+
"empty": "No hay plugins instalados",
|
456
|
+
"emptySelectHint": "Seleccione un plugin para previsualizar detalles",
|
397
457
|
"installAllPlugins": "Instalar todos",
|
398
|
-
"networkError": "Error al obtener la tienda de
|
399
|
-
"placeholder": "Buscar por nombre, descripción o palabra clave del
|
458
|
+
"networkError": "Error al obtener la tienda de plugins, por favor revise la conexión de red e intente de nuevo",
|
459
|
+
"placeholder": "Buscar por nombre, descripción o palabra clave del plugin...",
|
400
460
|
"releasedAt": "Publicado el {{createdAt}}",
|
401
461
|
"tabs": {
|
402
462
|
"installed": "Instalados",
|
403
|
-
"mcp": "
|
404
|
-
"old": "
|
463
|
+
"mcp": "Plugins MCP",
|
464
|
+
"old": "Plugins LobeChat"
|
405
465
|
},
|
406
|
-
"title": "Tienda de
|
466
|
+
"title": "Tienda de plugins"
|
407
467
|
},
|
408
468
|
"unknownError": "Error desconocido",
|
409
469
|
"unknownPlugin": "Plugin desconocido"
|