@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.
Files changed (56) hide show
  1. package/.cursor/rules/i18n.mdc +1 -2
  2. package/CHANGELOG.md +25 -0
  3. package/README.md +1 -1
  4. package/README.zh-CN.md +1 -1
  5. package/apps/desktop/electron-builder.js +22 -0
  6. package/apps/desktop/src/main/controllers/McpInstallCtr.ts +153 -0
  7. package/apps/desktop/src/main/controllers/index.ts +19 -0
  8. package/apps/desktop/src/main/core/App.ts +46 -0
  9. package/apps/desktop/src/main/core/infrastructure/IoCContainer.ts +4 -0
  10. package/apps/desktop/src/main/core/infrastructure/ProtocolManager.ts +256 -0
  11. package/apps/desktop/src/main/types/protocol.ts +60 -0
  12. package/apps/desktop/src/main/utils/__tests__/protocol.test.ts +203 -0
  13. package/apps/desktop/src/main/utils/protocol.ts +210 -0
  14. package/changelog/v1.json +9 -0
  15. package/locales/ar/plugin.json +196 -136
  16. package/locales/bg-BG/plugin.json +204 -144
  17. package/locales/de-DE/plugin.json +176 -116
  18. package/locales/en-US/plugin.json +192 -132
  19. package/locales/es-ES/plugin.json +203 -143
  20. package/locales/fa-IR/plugin.json +155 -95
  21. package/locales/fr-FR/plugin.json +161 -101
  22. package/locales/it-IT/plugin.json +193 -133
  23. package/locales/ja-JP/plugin.json +195 -135
  24. package/locales/ko-KR/plugin.json +163 -103
  25. package/locales/nl-NL/plugin.json +211 -151
  26. package/locales/pl-PL/plugin.json +171 -111
  27. package/locales/pt-BR/plugin.json +180 -120
  28. package/locales/ru-RU/plugin.json +191 -131
  29. package/locales/tr-TR/plugin.json +187 -127
  30. package/locales/vi-VN/plugin.json +152 -92
  31. package/locales/zh-CN/plugin.json +60 -0
  32. package/locales/zh-TW/plugin.json +157 -97
  33. package/package.json +2 -1
  34. package/packages/electron-client-ipc/src/events/index.ts +5 -2
  35. package/packages/electron-client-ipc/src/events/protocol.ts +29 -0
  36. package/packages/electron-client-ipc/src/types/index.ts +1 -0
  37. package/packages/electron-client-ipc/src/types/mcpInstall.ts +19 -0
  38. package/packages/types/src/plugins/mcp.ts +38 -1
  39. package/packages/types/src/plugins/protocol.ts +166 -0
  40. package/src/app/[variants]/(main)/chat/_layout/Desktop/index.tsx +4 -1
  41. package/src/app/[variants]/(main)/discover/(detail)/mcp/[slug]/features/Sidebar/ActionButton/index.tsx +1 -2
  42. package/src/components/KeyValueEditor/index.tsx +4 -2
  43. package/src/features/MCP/MCPInstallProgress/index.tsx +1 -1
  44. package/src/features/PluginDevModal/MCPManifestForm/index.tsx +30 -36
  45. package/src/features/PluginStore/McpList/List/Item.tsx +1 -1
  46. package/src/features/ProtocolUrlHandler/InstallPlugin/ConfigDisplay.tsx +211 -0
  47. package/src/features/ProtocolUrlHandler/InstallPlugin/CustomPluginInstallModal.tsx +228 -0
  48. package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/Detail.tsx +44 -0
  49. package/src/features/ProtocolUrlHandler/InstallPlugin/OfficialPluginInstallModal/index.tsx +105 -0
  50. package/src/features/ProtocolUrlHandler/InstallPlugin/index.tsx +55 -0
  51. package/src/features/ProtocolUrlHandler/InstallPlugin/types.ts +45 -0
  52. package/src/features/ProtocolUrlHandler/index.tsx +30 -0
  53. package/src/locales/default/plugin.ts +60 -0
  54. package/src/store/tool/slices/mcpStore/action.ts +127 -1
  55. package/src/store/tool/slices/mcpStore/initialState.ts +8 -13
  56. package/src/store/tool/slices/mcpStore/selectors.ts +13 -0
@@ -1,49 +1,49 @@
1
1
  {
2
2
  "confirm": "Bevestigen",
3
3
  "debug": {
4
- "arguments": "Argumenten",
5
- "function_call": "Functieoproep",
6
- "off": "Zet debug uit",
7
- "on": "Bekijk plug-in oproepinformatie",
8
- "payload": "plug-in payload",
9
- "pluginState": "Pluginstatus",
10
- "response": "Reactie",
11
- "title": "Plugin Details",
12
- "tool_call": "Tool-oproepverzoek"
4
+ "arguments": "Aanroepparameters",
5
+ "function_call": "Functieaanroep",
6
+ "off": "Debuggen uitschakelen",
7
+ "on": "Plugin-aanroepinformatie bekijken",
8
+ "payload": "Plugin payload",
9
+ "pluginState": "Plugin status",
10
+ "response": "Resultaat",
11
+ "title": "Plugin details",
12
+ "tool_call": "Tool-aanroepverzoek"
13
13
  },
14
14
  "detailModal": {
15
15
  "customPlugin": {
16
- "description": "Ga naar de bewerkingspagina voor meer details",
16
+ "description": "Ga naar de bewerkingspagina voor details",
17
17
  "editBtn": "Nu bewerken",
18
18
  "title": "Dit is een aangepaste plugin"
19
19
  },
20
20
  "emptyState": {
21
- "description": "Installeer deze plug-in eerst om de mogelijkheden en configuratieopties te bekijken",
22
- "title": "Bekijk plug-in details na installatie"
21
+ "description": "Installeer deze plugin eerst om de mogelijkheden en configuratieopties te bekijken",
22
+ "title": "Bekijk plugindetails na installatie"
23
23
  },
24
24
  "info": {
25
25
  "description": "API-beschrijving",
26
26
  "name": "API-naam"
27
27
  },
28
28
  "tabs": {
29
- "info": "Plug-in mogelijkheden",
29
+ "info": "Pluginmogelijkheden",
30
30
  "manifest": "Installatiebestand",
31
31
  "settings": "Instellingen"
32
32
  },
33
- "title": "Plug-in Details"
33
+ "title": "Plugindetails"
34
34
  },
35
35
  "dev": {
36
- "confirmDeleteDevPlugin": "Weet u zeker dat u deze lokale plug-in wilt verwijderen? Eenmaal verwijderd, kan het niet worden hersteld.",
36
+ "confirmDeleteDevPlugin": "Deze lokale plugin wordt verwijderd en kan niet worden hersteld. Weet u zeker dat u deze plugin wilt verwijderen?",
37
37
  "customParams": {
38
38
  "useProxy": {
39
- "label": "Installeren via proxy (als u problemen ondervindt met toegang tot cross-origin, probeer dan deze optie in te schakelen en opnieuw te installeren)"
39
+ "label": "Installeren via proxy (schakel dit in bij CORS-fouten en probeer opnieuw te installeren)"
40
40
  }
41
41
  },
42
- "deleteSuccess": "Plug-in succesvol verwijderd",
42
+ "deleteSuccess": "Plugin succesvol verwijderd",
43
43
  "manifest": {
44
44
  "identifier": {
45
- "desc": "De unieke identificatie van de plug-in",
46
- "label": "Identificatie"
45
+ "desc": "Unieke identificatie van de plugin",
46
+ "label": "Identificator"
47
47
  },
48
48
  "mode": {
49
49
  "mcp": "MCP-plugin",
@@ -51,7 +51,7 @@
51
51
  "url": "Online link"
52
52
  },
53
53
  "name": {
54
- "desc": "De titel van de plug-in",
54
+ "desc": "Plugin titel",
55
55
  "label": "Titel",
56
56
  "placeholder": "Zoekmachine"
57
57
  }
@@ -61,200 +61,200 @@
61
61
  "title": "Geavanceerde instellingen"
62
62
  },
63
63
  "args": {
64
- "desc": "Een lijst met parameters die aan het uitvoeringscommando worden doorgegeven, meestal hier de naam van de MCP-server of het pad naar het opstartscript invoeren.",
65
- "label": "Commando-parameters",
66
- "placeholder": "Bijvoorbeeld: --port 8080 --debug",
67
- "required": "Voer de opstartparameters in"
64
+ "desc": "Parameters doorgeven aan het uitvoeringscommando, meestal hier de MCP-servernaam of het pad naar het opstartscript invoeren",
65
+ "label": "Commando-argumenten",
66
+ "placeholder": "Bijv.: mcp-hello-world",
67
+ "required": "Voer opstartparameters in"
68
68
  },
69
69
  "auth": {
70
70
  "bear": "API-sleutel",
71
71
  "desc": "Kies de authenticatiemethode voor de MCP-server",
72
72
  "label": "Authenticatietype",
73
- "none": "Geen authenticatie vereist",
74
- "placeholder": "Selecteer een authenticatietype",
73
+ "none": "Geen authenticatie nodig",
74
+ "placeholder": "Selecteer authenticatietype",
75
75
  "token": {
76
76
  "desc": "Voer je API-sleutel of Bearer-token in",
77
77
  "label": "API-sleutel",
78
78
  "placeholder": "sk-xxxxx",
79
- "required": "Voer het authenticatietoken in"
79
+ "required": "Voer authenticatietoken in"
80
80
  }
81
81
  },
82
82
  "avatar": {
83
83
  "label": "Plugin-icoon"
84
84
  },
85
85
  "command": {
86
- "desc": "Uitvoerbaar bestand of script om de MCP STDIO-plugin te starten",
86
+ "desc": "Uitvoerbaar bestand of script om MCP STDIO-server te starten",
87
87
  "label": "Commando",
88
- "placeholder": "Bijvoorbeeld: python main.py of /path/to/executable",
89
- "required": "Voer het opstartcommando in"
88
+ "placeholder": "Bijv.: npx / uv / docker enz.",
89
+ "required": "Voer opstartcommando in"
90
90
  },
91
91
  "desc": {
92
- "desc": "Voeg een beschrijving van de plugin toe",
93
- "label": "Plugin-beschrijving",
94
- "placeholder": "Vul informatie in over het gebruik en de scenario's van deze plugin"
92
+ "desc": "Voeg een beschrijving toe voor de plugin",
93
+ "label": "Pluginbeschrijving",
94
+ "placeholder": "Voeg gebruiks- en scenario-informatie toe"
95
95
  },
96
96
  "endpoint": {
97
- "desc": "Voer het adres van je MCP Streamable HTTP Server in",
97
+ "desc": "Voer het adres van je MCP Streamable HTTP-server in",
98
98
  "label": "MCP Endpoint URL"
99
99
  },
100
100
  "env": {
101
- "add": "Een regel toevoegen",
102
- "desc": "Voer de omgevingsvariabelen in die nodig zijn voor jouw MCP-server",
103
- "duplicateKeyError": "Veldsleutels moeten uniek zijn",
104
- "formValidationFailed": "Formuliervalidatie is mislukt, controleer het parameterformaat",
105
- "keyRequired": "Veldsleutel mag niet leeg zijn",
106
- "label": "Omgevingsvariabelen voor MCP-server",
107
- "stringifyError": "Kan parameters niet serialiseren, controleer het parameterformaat"
101
+ "add": "Voeg een regel toe",
102
+ "desc": "Voer de omgevingsvariabelen in die de MCP-server nodig heeft",
103
+ "duplicateKeyError": "Sleutel moet uniek zijn",
104
+ "formValidationFailed": "Formuliervalidatie mislukt, controleer parameterindeling",
105
+ "keyRequired": "Sleutel mag niet leeg zijn",
106
+ "label": "MCP Server omgevingsvariabelen",
107
+ "stringifyError": "Kan parameters niet serialiseren, controleer parameterindeling"
108
108
  },
109
109
  "headers": {
110
110
  "add": "Voeg een regel toe",
111
- "desc": "Voer de verzoekheaders in",
111
+ "desc": "Voer HTTP-headers in",
112
112
  "label": "HTTP-headers"
113
113
  },
114
114
  "identifier": {
115
- "desc": "Geef je MCP-plugin een naam, gebruik Engelse karakters",
116
- "invalid": "Alleen Engelse karakters, cijfers, - en _ zijn toegestaan",
117
- "label": "MCP Plugin Naam",
118
- "placeholder": "Bijvoorbeeld: my-mcp-plugin",
119
- "required": "Voer de MCP service-identificator in"
115
+ "desc": "Geef je MCP-plugin een naam, alleen Engelse tekens toegestaan",
116
+ "invalid": "Identificator mag alleen letters, cijfers, koppeltekens en underscores bevatten",
117
+ "label": "MCP-pluginnaam",
118
+ "placeholder": "Bijv.: my-mcp-plugin",
119
+ "required": "Voer MCP-service-identificator in"
120
120
  },
121
- "previewManifest": "Voorbeeld van het plugin beschrijvingsbestand",
121
+ "previewManifest": "Plugin manifest bekijken",
122
122
  "quickImport": "Snelle import van JSON-configuratie",
123
123
  "quickImportError": {
124
- "empty": "Invoerveld mag niet leeg zijn",
125
- "invalidJson": "Ongeldig JSON-formaat",
124
+ "empty": "Inhoud mag niet leeg zijn",
125
+ "invalidJson": "Ongeldige JSON-indeling",
126
126
  "invalidStructure": "Ongeldige JSON-structuur"
127
127
  },
128
- "stdioNotSupported": "De huidige omgeving ondersteunt geen stdio-type MCP-plug-ins",
129
- "testConnection": "Test verbinding",
130
- "testConnectionTip": "De MCP plugin kan pas normaal worden gebruikt na een succesvolle verbindingstest",
128
+ "stdioNotSupported": "Huidige omgeving ondersteunt geen stdio-type MCP-plugins",
129
+ "testConnection": "Verbinding testen",
130
+ "testConnectionTip": "MCP-plugin kan pas normaal worden gebruikt na succesvolle verbindingstest",
131
131
  "type": {
132
- "desc": "Kies de communicatiemethode voor de MCP-plugin, de webversie ondersteunt alleen Streamable HTTP",
132
+ "desc": "Kies het communicatieprotocol van de MCP-plugin, webversie ondersteunt alleen Streamable HTTP",
133
133
  "httpFeature1": "Compatibel met web- en desktopversies",
134
- "httpFeature2": "Verbind met een externe MCP-server, zonder extra installatie of configuratie",
135
- "httpShortDesc": "Communicatieprotocol op basis van streaming HTTP",
136
- "label": "MCP Plugin Type",
137
- "stdioFeature1": "Lagere communicatietijd, geschikt voor lokale uitvoering",
138
- "stdioFeature2": "MCP-server moet lokaal worden geïnstalleerd en uitgevoerd",
139
- "stdioNotAvailable": "STDIO-modus is alleen beschikbaar in de desktopversie",
140
- "stdioShortDesc": "Communicatieprotocol op basis van standaardinvoer en -uitvoer",
141
- "title": "MCP-plugintype"
134
+ "httpFeature2": "Verbind met externe MCP-server zonder extra installatie",
135
+ "httpShortDesc": "Communicatieprotocol gebaseerd op gestreamde HTTP",
136
+ "label": "MCP-plugin type",
137
+ "stdioFeature1": "Lagere communicatielatentie, geschikt voor lokaal gebruik",
138
+ "stdioFeature2": "MCP-server moet lokaal geïnstalleerd en uitgevoerd worden",
139
+ "stdioNotAvailable": "STDIO-modus alleen beschikbaar in desktopversie",
140
+ "stdioShortDesc": "Communicatieprotocol gebaseerd op standaardinvoer/-uitvoer",
141
+ "title": "MCP-plugin type"
142
142
  },
143
143
  "url": {
144
- "desc": "Voer je MCP Server Streamable HTTP-adres in, SSE-modus wordt niet ondersteund",
144
+ "desc": "Voer het Streamable HTTP-adres van je MCP-server in, SSE-modus wordt niet ondersteund",
145
145
  "invalid": "Voer een geldige URL in",
146
- "label": "HTTP Endpoint URL",
147
- "required": "Voer de MCP service URL in"
146
+ "label": "Streamable HTTP Endpoint URL",
147
+ "required": "Voer MCP-service-URL in"
148
148
  }
149
149
  },
150
150
  "meta": {
151
151
  "author": {
152
- "desc": "De auteur van de plug-in",
152
+ "desc": "Auteur van de plugin",
153
153
  "label": "Auteur"
154
154
  },
155
155
  "avatar": {
156
- "desc": "Het pictogram van de plug-in, kan een Emoji of een URL zijn",
157
- "label": "Pictogram"
156
+ "desc": "Plugin-icoon, kan een emoji of URL zijn",
157
+ "label": "Icoon"
158
158
  },
159
159
  "description": {
160
- "desc": "De beschrijving van de plug-in",
160
+ "desc": "Pluginbeschrijving",
161
161
  "label": "Beschrijving",
162
- "placeholder": "Informatie verkrijgen van zoekmachines"
162
+ "placeholder": "Zoek informatie via zoekmachine"
163
163
  },
164
164
  "formFieldRequired": "Dit veld is verplicht",
165
165
  "homepage": {
166
- "desc": "De startpagina van de plug-in",
166
+ "desc": "Startpagina van de plugin",
167
167
  "label": "Startpagina"
168
168
  },
169
169
  "identifier": {
170
- "desc": "De unieke identificatie van de plug-in, ondersteunt alleen alfanumerieke tekens, koppelteken - en underscore _",
171
- "errorDuplicate": "De identificatie wordt al gebruikt door een andere plug-in, wijzig de identificatie",
172
- "label": "Identificatie",
173
- "pattenErrorMessage": "Alleen alfanumerieke tekens, koppelteken - en underscore _ zijn toegestaan"
170
+ "desc": "Unieke identificatie van de plugin, wordt automatisch herkend uit manifest",
171
+ "errorDuplicate": "Identificator is al in gebruik, wijzig deze",
172
+ "label": "Identificator",
173
+ "pattenErrorMessage": "Alleen Engelse letters, cijfers, - en _ zijn toegestaan"
174
174
  },
175
175
  "lobe": "{{appName}} plugin",
176
176
  "manifest": {
177
- "desc": "{{appName}} zal de plugin installeren via deze link",
178
- "label": "Plug-in Beschrijving (Manifest) URL",
179
- "preview": "Voorbeeld",
177
+ "desc": "{{appName}} installeert de plugin via deze link",
178
+ "label": "Plugin manifest URL",
179
+ "preview": "Manifest bekijken",
180
180
  "refresh": "Vernieuwen"
181
181
  },
182
- "openai": "OpenAI plugin",
182
+ "openai": "OpenAI-plugin",
183
183
  "title": {
184
- "desc": "De titel van de plug-in",
184
+ "desc": "Plugin titel",
185
185
  "label": "Titel",
186
186
  "placeholder": "Zoekmachine"
187
187
  }
188
188
  },
189
- "metaConfig": "Configuratie van plug-inmetadata",
190
- "modalDesc": "Na het toevoegen van een aangepaste plug-in kan deze worden gebruikt voor verificatie van plug-inontwikkeling of direct in de sessie. Raadpleeg de <1>ontwikkelingsdocumentatie↗</> voor plug-inontwikkeling.",
189
+ "metaConfig": "Plugin meta-informatie configuratie",
190
+ "modalDesc": "Na toevoegen van een aangepaste plugin kan deze gebruikt worden voor ontwikkelvalidatie of direct in gesprekken. Raadpleeg de <1>ontwikkelaarsdocumentatie↗</> voor pluginontwikkeling.",
191
191
  "openai": {
192
- "importUrl": "Importeren van URL-link",
192
+ "importUrl": "Importeren via URL",
193
193
  "schema": "Schema"
194
194
  },
195
195
  "preview": {
196
196
  "api": {
197
197
  "noParams": "Deze tool heeft geen parameters",
198
- "noResults": "Geen API's gevonden die aan de zoekcriteria voldoen",
198
+ "noResults": "Geen API gevonden die aan de zoekcriteria voldoet",
199
199
  "params": "Parameters:",
200
200
  "searchPlaceholder": "Zoek tool..."
201
201
  },
202
- "card": "Voorbeeld van plug-inweergave",
203
- "desc": "Voorbeeld van plug-inbeschrijving",
202
+ "card": "Plugin preview weergave",
203
+ "desc": "Plugin beschrijving preview",
204
204
  "empty": {
205
- "desc": "Na configuratie kunt u hier de mogelijkheden van de ondersteunde tools van de plug-in bekijken",
206
- "title": "Begin met het bekijken na het configureren van de plug-in"
205
+ "desc": "Na configuratie kunt u hier de ondersteunde toolmogelijkheden van de plugin bekijken",
206
+ "title": "Begin met preview na configuratie"
207
207
  },
208
- "title": "Voorbeeld van plug-innaam"
208
+ "title": "Plugin naam preview"
209
209
  },
210
- "save": "Installeer plug-in",
211
- "saveSuccess": "Instellingen van plug-in succesvol opgeslagen",
210
+ "save": "Plugin installeren",
211
+ "saveSuccess": "Plugin-instellingen succesvol opgeslagen",
212
212
  "tabs": {
213
- "manifest": "Functiebeschrijving Manifest (Manifest)",
214
- "meta": "Plug-in Metadata"
213
+ "manifest": "Functionaliteitsmanifest",
214
+ "meta": "Plugin meta-informatie"
215
215
  },
216
216
  "title": {
217
- "create": "Aangepaste plug-in toevoegen",
218
- "edit": "Aangepaste plug-in bewerken"
217
+ "create": "Aangepaste plugin toevoegen",
218
+ "edit": "Aangepaste plugin bewerken"
219
219
  },
220
220
  "type": {
221
- "lobe": "LobeChat-plug-in",
222
- "openai": "OpenAI-plug-in"
221
+ "lobe": "{{appName}} plugin",
222
+ "openai": "OpenAI-plugin"
223
223
  },
224
224
  "update": "Bijwerken",
225
- "updateSuccess": "Instellingen van plug-in succesvol bijgewerkt"
225
+ "updateSuccess": "Plugin-instellingen succesvol bijgewerkt"
226
226
  },
227
227
  "error": {
228
- "fetchError": "Het ophalen van de manifest-link is mislukt. Zorg ervoor dat de link geldig is en controleer of de link cross-origin toegang toestaat.",
229
- "installError": "Installatie van de plugin {{name}} is mislukt.",
230
- "manifestInvalid": "Manifest voldoet niet aan de specificatie. Validatieresultaat: \n\n {{error}}",
231
- "noManifest": "Geen manifest beschikbaar",
232
- "openAPIInvalid": "OpenAPI-analyse mislukt. Fout: \n\n {{error}}",
233
- "reinstallError": "Vernieuwen van de plugin {{name}} is mislukt.",
228
+ "fetchError": "Manifest-link ophalen mislukt, controleer de geldigheid van de link en of cross-origin toegang is toegestaan",
229
+ "installError": "Plugin {{name}} installatie mislukt",
230
+ "manifestInvalid": "Manifest voldoet niet aan de specificaties, validatiefout: \n\n {{error}}",
231
+ "noManifest": "Manifestbestand bestaat niet",
232
+ "openAPIInvalid": "OpenAPI parsing mislukt, fout: \n\n {{error}}",
233
+ "reinstallError": "Plugin {{name}} verversen mislukt",
234
234
  "testConnectionFailed": "Manifest ophalen mislukt: {{error}}",
235
- "urlError": "De link retourneert geen JSON-indeling. Zorg ervoor dat het een geldige link is."
235
+ "urlError": "De link retourneert geen JSON-inhoud, zorg dat het een geldige link is"
236
236
  },
237
237
  "inspector": {
238
238
  "args": "Bekijk parameterlijst",
239
- "pluginRender": "Bekijk plugininterface"
239
+ "pluginRender": "Bekijk plugin-interface"
240
240
  },
241
241
  "list": {
242
242
  "item": {
243
- "deprecated.title": "Verouderd",
243
+ "deprecated.title": "Verwijderd",
244
244
  "local.config": "Configuratie",
245
245
  "local.title": "Aangepast"
246
246
  }
247
247
  },
248
248
  "loading": {
249
- "content": "Plugin wordt geladen...",
249
+ "content": "Plugin aan het aanroepen...",
250
250
  "plugin": "Plugin wordt uitgevoerd..."
251
251
  },
252
252
  "localSystem": {
253
253
  "apiName": {
254
- "listLocalFiles": "Bestandlijst weergeven",
254
+ "listLocalFiles": "Bestandslijst bekijken",
255
255
  "moveLocalFiles": "Bestanden verplaatsen",
256
- "readLocalFile": "Bestand inhoud lezen",
257
- "renameLocalFile": "Hernoemen",
256
+ "readLocalFile": "Bestandsinhoud lezen",
257
+ "renameLocalFile": "Naam wijzigen",
258
258
  "searchLocalFiles": "Bestanden zoeken",
259
259
  "writeLocalFile": "Bestand schrijven"
260
260
  },
@@ -263,15 +263,15 @@
263
263
  "mcpInstall": {
264
264
  "CHECKING_INSTALLATION": "Installatieomgeving controleren...",
265
265
  "COMPLETED": "Installatie voltooid",
266
- "CONFIGURATION_REQUIRED": "Voltooi de configuratie voordat u doorgaat met de installatie",
266
+ "CONFIGURATION_REQUIRED": "Voltooi de configuratie om door te gaan met installatie",
267
267
  "ERROR": "Installatiefout",
268
268
  "FETCHING_MANIFEST": "Plugin manifest ophalen...",
269
269
  "GETTING_SERVER_MANIFEST": "MCP-server initialiseren...",
270
- "INSTALLING_PLUGIN": "Plugin wordt geïnstalleerd...",
271
- "configurationDescription": "Deze MCP-plugin vereist configuratieparameters om correct te functioneren. Vul de benodigde configuratiegegevens in.",
270
+ "INSTALLING_PLUGIN": "Plugin aan het installeren...",
271
+ "configurationDescription": "Deze MCP-plugin vereist configuratieparameters om correct te functioneren, vul de benodigde informatie in",
272
272
  "configurationRequired": "Pluginparameters configureren",
273
273
  "continueInstall": "Installatie voortzetten",
274
- "dependenciesDescription": "Deze plugin vereist de installatie van de volgende systeemafhankelijkheden om correct te werken. Installeer de ontbrekende afhankelijkheden volgens de instructies en klik vervolgens op 'Opnieuw controleren' om door te gaan met de installatie.",
274
+ "dependenciesDescription": "Deze plugin vereist de installatie van de volgende systeemafhankelijkheden. Installeer de ontbrekende afhankelijkheden volgens de instructies en klik op 'Opnieuw controleren' om door te gaan.",
275
275
  "dependenciesRequired": "Installeer de systeemafhankelijkheden van de plugin",
276
276
  "dependencyStatus": {
277
277
  "installed": "Geïnstalleerd",
@@ -280,14 +280,14 @@
280
280
  },
281
281
  "errorDetails": {
282
282
  "args": "Parameters",
283
- "command": "Opdracht",
283
+ "command": "Commando",
284
284
  "connectionParams": "Verbindingsparameters",
285
285
  "env": "Omgevingsvariabelen",
286
- "errorOutput": "Foutlogboek",
286
+ "errorOutput": "Foutlog",
287
287
  "exitCode": "Exitcode",
288
288
  "hideDetails": "Details verbergen",
289
289
  "originalError": "Oorspronkelijke fout",
290
- "showDetails": "Details weergeven"
290
+ "showDetails": "Details bekijken"
291
291
  },
292
292
  "errorTypes": {
293
293
  "AUTHORIZATION_ERROR": "Autorisatiefout",
@@ -300,32 +300,92 @@
300
300
  "installError": "MCP-plugin installatie mislukt, reden: {{detail}}",
301
301
  "installMethods": {
302
302
  "manual": "Handmatige installatie:",
303
- "recommended": "Aanbevolen installatiemethode:"
303
+ "recommended": "Aanbevolen installatie:"
304
304
  },
305
305
  "recheckDependencies": "Opnieuw controleren",
306
306
  "skipDependencies": "Controle overslaan"
307
307
  },
308
- "pluginList": "Lijst met plugins",
308
+ "pluginList": "Pluginlijst",
309
+ "protocolInstall": {
310
+ "actions": {
311
+ "install": "Installeren",
312
+ "installAnyway": "Toch installeren",
313
+ "installed": "Geïnstalleerd"
314
+ },
315
+ "config": {
316
+ "args": "Parameters",
317
+ "command": "Commando",
318
+ "env": "Omgevingsvariabelen",
319
+ "headers": "Headers",
320
+ "title": "Configuratie-informatie",
321
+ "type": {
322
+ "http": "Type: HTTP",
323
+ "label": "Type",
324
+ "stdio": "Type: Stdio"
325
+ },
326
+ "url": "Serviceadres"
327
+ },
328
+ "custom": {
329
+ "badge": "Aangepaste plugin",
330
+ "security": {
331
+ "description": "Deze plugin is niet officieel geverifieerd, installatie kan veiligheidsrisico's met zich meebrengen! Zorg dat u de bron vertrouwt.",
332
+ "title": "⚠️ Veiligheidswaarschuwing"
333
+ },
334
+ "title": "Aangepaste plugin installeren"
335
+ },
336
+ "marketplace": {
337
+ "title": "Derde partij plugins installeren",
338
+ "trustedBy": "Aangeboden door {{name}}",
339
+ "unverified": {
340
+ "title": "Ongeverifieerde derde partij plugin",
341
+ "warning": "Deze plugin komt uit een niet-geverifieerde derde partij markt, bevestig dat u de bron vertrouwt voor installatie."
342
+ },
343
+ "verified": "Geverifieerd"
344
+ },
345
+ "messages": {
346
+ "connectionTestFailed": "Verbindingstest mislukt",
347
+ "installError": "Plugin-installatie mislukt, probeer opnieuw",
348
+ "installSuccess": "Plugin {{name}} succesvol geïnstalleerd!",
349
+ "manifestError": "Plugin details ophalen mislukt, controleer netwerkverbinding en probeer opnieuw",
350
+ "manifestNotFound": "Plugin manifest niet gevonden"
351
+ },
352
+ "meta": {
353
+ "author": "Auteur",
354
+ "homepage": "Startpagina",
355
+ "identifier": "Identificator",
356
+ "source": "Bron",
357
+ "version": "Versie"
358
+ },
359
+ "official": {
360
+ "badge": "LobeHub officiële plugin",
361
+ "description": "Deze plugin is ontwikkeld en onderhouden door LobeHub, grondig beveiligd en veilig in gebruik.",
362
+ "loadingMessage": "Plugin details ophalen...",
363
+ "loadingTitle": "Bezig met laden",
364
+ "title": "Officiële plugin installeren"
365
+ },
366
+ "title": "MCP-plugin installeren",
367
+ "warning": "⚠️ Bevestig dat u deze pluginbron vertrouwt, kwaadaardige plugins kunnen uw systeem in gevaar brengen."
368
+ },
309
369
  "search": {
310
370
  "apiName": {
311
- "crawlMultiPages": "Meerdere pagina-inhoud lezen",
371
+ "crawlMultiPages": "Meerdere pagina's lezen",
312
372
  "crawlSinglePage": "Pagina-inhoud lezen",
313
373
  "search": "Pagina zoeken"
314
374
  },
315
375
  "config": {
316
- "addKey": "Voeg sleutel toe",
376
+ "addKey": "Sleutel toevoegen",
317
377
  "close": "Verwijderen",
318
- "confirm": "Configuratie voltooid en opnieuw proberen"
378
+ "confirm": "Configuratie voltooid en opnieuw geprobeerd"
319
379
  },
320
380
  "crawPages": {
321
- "crawling": "Linkherkenning",
381
+ "crawling": "Linkherkenning bezig",
322
382
  "detail": {
323
383
  "preview": "Voorbeeld",
324
- "raw": "Oorspronkelijke tekst",
325
- "tooLong": "De tekstinhoud is te lang, de gesprekscontext houdt alleen de eerste {{characters}} tekens vast, het overschot wordt niet meegerekend in de gesprekscontext"
384
+ "raw": "Ruwe tekst",
385
+ "tooLong": "Tekst is te lang, alleen de eerste {{characters}} tekens worden in de context opgenomen"
326
386
  },
327
387
  "meta": {
328
- "crawler": "Crawler-modus",
388
+ "crawler": "Crawling modus",
329
389
  "words": "Aantal tekens"
330
390
  }
331
391
  },
@@ -333,9 +393,9 @@
333
393
  "baseURL": "Voer in",
334
394
  "description": "Voer de URL van SearchXNG in om te beginnen met online zoeken",
335
395
  "keyPlaceholder": "Voer sleutel in",
336
- "title": "Configureer SearchXNG zoekmachine",
337
- "unconfiguredDesc": "Neem contact op met de beheerder om de configuratie van de SearchXNG zoekmachine te voltooien en te beginnen met online zoeken",
338
- "unconfiguredTitle": "SearchXNG zoekmachine is nog niet geconfigureerd"
396
+ "title": "SearchXNG zoekmachine configureren",
397
+ "unconfiguredDesc": "Neem contact op met de beheerder om SearchXNG zoekmachine te configureren en online zoeken te starten",
398
+ "unconfiguredTitle": "SearchXNG zoekmachine niet geconfigureerd"
339
399
  },
340
400
  "title": "Online zoeken"
341
401
  },
@@ -345,66 +405,66 @@
345
405
  "prompts": "Promptwoorden",
346
406
  "resources": "Middelen",
347
407
  "title": "Pluginmogelijkheden",
348
- "tools": "Hulpmiddelen"
408
+ "tools": "Tools"
349
409
  },
350
410
  "configuration": {
351
411
  "title": "Pluginconfiguratie"
352
412
  },
353
413
  "connection": {
354
- "args": "Startparameters",
355
- "command": "Startopdracht",
414
+ "args": "Opstartparameters",
415
+ "command": "Opstartcommando",
356
416
  "title": "Verbindingsinformatie",
357
417
  "type": "Verbindingstype",
358
418
  "url": "Serviceadres"
359
419
  },
360
420
  "edit": "Bewerken",
361
- "envConfigDescription": "Deze configuraties worden als omgevingsvariabelen doorgegeven aan het proces bij het opstarten van de MCP-server",
362
- "httpTypeNotice": "HTTP-type MCP-plugins hebben momenteel geen omgevingsvariabelen die geconfigureerd moeten worden",
421
+ "envConfigDescription": "Deze configuraties worden als omgevingsvariabelen doorgegeven bij het starten van de MCP-server",
422
+ "httpTypeNotice": "HTTP-type MCP-plugins hebben momenteel geen omgevingsvariabelen nodig",
363
423
  "indexUrl": {
364
424
  "title": "Marktindex",
365
- "tooltip": "Online bewerken wordt momenteel niet ondersteund. Stel in via omgevingsvariabelen tijdens implementatie."
425
+ "tooltip": "Online bewerken niet ondersteund, stel in via omgevingsvariabelen bij deployment"
366
426
  },
367
427
  "messages": {
368
- "connectionUpdateFailed": "Bijwerken van verbindingsinformatie mislukt",
428
+ "connectionUpdateFailed": "Verbindingsinformatie bijwerken mislukt",
369
429
  "connectionUpdateSuccess": "Verbindingsinformatie succesvol bijgewerkt",
370
430
  "envUpdateFailed": "Opslaan van omgevingsvariabelen mislukt",
371
431
  "envUpdateSuccess": "Omgevingsvariabelen succesvol opgeslagen"
372
432
  },
373
- "modalDesc": "Na het instellen van de marktlocatie voor plugins, kunt u een aangepaste pluginmarkt gebruiken.",
433
+ "modalDesc": "Na configuratie van de pluginmarkt kunt u aangepaste pluginmarkten gebruiken",
374
434
  "rules": {
375
435
  "argsRequired": "Voer opstartparameters in",
376
- "commandRequired": "Voer het opstartcommando in",
377
- "urlRequired": "Voer het serviceadres in"
436
+ "commandRequired": "Voer opstartcommando in",
437
+ "urlRequired": "Voer serviceadres in"
378
438
  },
379
439
  "saveSettings": "Instellingen opslaan",
380
- "title": "Instellingen voor pluginmarkt"
440
+ "title": "Pluginmarkt instellingen"
381
441
  },
382
- "showInPortal": "Gelieve de details in het portaal te bekijken",
442
+ "showInPortal": "Bekijk details in de werkruimte",
383
443
  "store": {
384
444
  "actions": {
385
445
  "cancel": "Installatie annuleren",
386
- "confirmUninstall": "Deze plugin wordt binnenkort verwijderd. Na verwijdering worden de configuraties gewist. Weet u zeker dat u door wilt gaan?",
446
+ "confirmUninstall": "Deze plugin wordt verwijderd en de configuratie wordt gewist. Bevestig uw actie.",
387
447
  "detail": "Details",
388
448
  "install": "Installeren",
389
449
  "manifest": "Installatiebestand bewerken",
390
450
  "settings": "Instellingen",
391
451
  "uninstall": "Verwijderen"
392
452
  },
393
- "communityPlugin": "Community",
453
+ "communityPlugin": "Derde partij community",
394
454
  "customPlugin": "Aangepast",
395
- "empty": "Geen geïnstalleerde plugins beschikbaar",
455
+ "empty": "Geen geïnstalleerde plugins",
396
456
  "emptySelectHint": "Selecteer een plugin om details te bekijken",
397
- "installAllPlugins": "Allemaal installeren",
398
- "networkError": "Kan de pluginwinkel niet laden. Controleer de netwerkverbinding en probeer het opnieuw.",
399
- "placeholder": "Zoek plugin op naam, beschrijving of trefwoord...",
457
+ "installAllPlugins": "Alles installeren",
458
+ "networkError": "Pluginwinkel ophalen mislukt, controleer netwerkverbinding en probeer opnieuw",
459
+ "placeholder": "Zoek pluginnaam, beschrijving of trefwoorden...",
400
460
  "releasedAt": "Uitgebracht op {{createdAt}}",
401
461
  "tabs": {
402
462
  "installed": "Geïnstalleerd",
403
- "mcp": "MCP-plug-in",
404
- "old": "LobeChat-plugin"
463
+ "mcp": "MCP-plugins",
464
+ "old": "LobeChat-plugins"
405
465
  },
406
466
  "title": "Pluginwinkel"
407
467
  },
408
468
  "unknownError": "Onbekende fout",
409
- "unknownPlugin": "onbekende plugin"
469
+ "unknownPlugin": "Onbekende plugin"
410
470
  }