Skip to content

Commit

Permalink
✨ feat: introduce plugin detail modal
Browse files Browse the repository at this point in the history
  • Loading branch information
arvinxx authored and canisminor1990 committed Dec 15, 2023
1 parent dd6f00e commit 0308783
Show file tree
Hide file tree
Showing 44 changed files with 1,432 additions and 546 deletions.
4 changes: 3 additions & 1 deletion locales/en_US/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
"PluginApiParamsError": "Sorry, the input parameter validation for the plugin request failed. Please check if the input parameters match the API description",
"PluginSettingsInvalid": "This plugin needs to be correctly configured before it can be used. Please check if your configuration is correct",
"PluginServerError": "Plugin server request returned an error. Please check your plugin manifest file, plugin configuration, or server implementation based on the error information below",
"NoAPIKey": "OpenAI API Key is empty, please add a custom OpenAI API Key"
"NoAPIKey": "OpenAI API Key is empty, please add a custom OpenAI API Key",
"PluginGatewayError": "Sorry, there was an error with the plugin gateway. Please check if the plugin gateway configuration is correct.",
"PluginOpenApiInitError": "Sorry, the OpenAPI client failed to initialize. Please check if the OpenAPI configuration information is correct."
},
"stt": {
"responseError": "Service request failed, please check the configuration or try again"
Expand Down
138 changes: 97 additions & 41 deletions locales/en_US/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,128 +2,184 @@
"debug": {
"arguments": "Arguments",
"function_call": "Function Call",
"off": "Turn Off Debug",
"on": "View Plugin Call Information",
"response": "Response"
"response": "Response",
"off": "Turn off debug",
"on": "View plugin invocation information"
},
"detailModal": {
"info": {
"description": "API Description",
"name": "API Name"
},
"tabs": {
"info": "Plugin Capabilities",
"manifest": "Installation File",
"settings": "Settings"
},
"title": "Plugin Details"
},
"dev": {
"confirmDeleteDevPlugin": "Are you sure you want to delete this local plugin? Once deleted, it cannot be recovered.",
"deleteSuccess": "Plugin deleted successfully",
"manifest": {
"identifier": {
"desc": "Unique identifier for the plugin",
"desc": "The unique identifier of the plugin",
"label": "Identifier"
},
"mode": {
"local": "Local Configuration",
"local-tooltip": "Local configuration is temporarily not supported",
"local": "Visual Configuration",
"local-tooltip": "Visual configuration is not supported at the moment",
"url": "Online Link"
},
"name": {
"desc": "Plugin title",
"desc": "The title of the plugin",
"label": "Title",
"placeholder": "Search Engine"
}
},
"meta": {
"author": {
"desc": "Author of the plugin",
"desc": "The author of the plugin",
"label": "Author"
},
"avatar": {
"desc": "Plugin icon, can use Emoji or URL",
"desc": "The icon of the plugin, can be an Emoji or a URL",
"label": "Icon"
},
"description": {
"desc": "Plugin description",
"desc": "The description of the plugin",
"label": "Description",
"placeholder": "Query search engine for information"
"placeholder": "Get information from search engines"
},
"formFieldRequired": "This field is required",
"homepage": {
"desc": "Plugin homepage",
"desc": "The homepage of the plugin",
"label": "Homepage"
},
"identifier": {
"desc": "Unique identifier for the plugin, will be automatically recognized from the manifest",
"errorDuplicate": "Identifier is already used by another plugin, please modify the identifier",
"desc": "The unique identifier of the plugin, only supports alphanumeric characters, hyphen -, and underscore _",
"errorDuplicate": "The identifier is already used by another plugin, please modify the identifier",
"label": "Identifier",
"pattenErrorMessage": "Only English characters, numbers, - and _ are allowed"
"pattenErrorMessage": "Only alphanumeric characters, hyphen -, and underscore _ are allowed"
},
"manifest": {
"desc": "LobeChat will install the plugin through this link",
"label": "Plugin Description File (Manifest) URL",
"desc": "LobeChat will install the plugin using this link",
"invalid": "The input manifest link is invalid or does not comply with the specification",
"urlError": "Please enter a valid URL",
"jsonInvalid": "The manifest is not valid, validation result: \n\n {{error}}",
"preview": "Preview Manifest",
"refresh": "Refresh"
"refresh": "Refresh",
"requestError": "Failed to request the link, please enter a valid link and check if the link allows cross-origin access",
"label": "Plugin Description (Manifest) URL"
},
"title": {
"desc": "Plugin title",
"desc": "The title of the plugin",
"label": "Title",
"placeholder": "Search Engine"
}
},
"metaConfig": "Plugin metadata configuration",
"modalDesc": "After adding a custom plugin, it can be used for plugin development validation or directly in the session. For plugin development, please refer to the <1>development documentation↗</>.",
"preview": {
"card": "Preview Plugin Display",
"desc": "Preview Plugin Description",
"card": "Preview of plugin display",
"desc": "Preview of plugin description",
"title": "Plugin Name Preview"
},
"save": "Install Plugin",
"saveSuccess": "Plugin settings saved successfully",
"tabs": {
"manifest": "Manifest Description",
"manifest": "Function Description Manifest (Manifest)",
"meta": "Plugin Metadata"
},
"title": "Add Custom Plugin",
"update": "Update",
"updateSuccess": "Plugin settings updated successfully"
"updateSuccess": "Plugin settings updated successfully",
"modalDesc": "After adding a custom plugin, it can be used for plugin development verification or directly in the session. Please refer to the <1>development documentation↗</> for plugin development.",
"openai": {
"importUrl": "Import from URL link",
"schema": "Schema"
},
"save": "Install Plugin",
"type": {
"lobe": "LobeChat Plugin",
"openai": "OpenAI Plugin"
},
"title": {
"create": "Add Custom Plugin",
"edit": "Edit Custom Plugin"
}
},
"error": {
"fetchError": "Failed to fetch the manifest link. Please ensure the link is valid and allows cross-origin access.",
"installError": "Failed to install plugin {{name}}",
"manifestInvalid": "The manifest does not comply with the specification. Validation result: \n\n {{error}}",
"installError": "Plugin {{name}} installation failed",
"noManifest": "Manifest file does not exist",
"fetchError": "Failed to fetch the manifest link. Please ensure the link is valid and allows cross-origin access.",
"manifestInvalid": "The manifest does not conform to the specification. Validation result: \n\n {{error}}",
"openAPIInvalid": "OpenAPI parsing failed. Error: \n\n {{error}}",
"reinstallError": "Failed to refresh plugin {{name}}",
"urlError": "The link did not return content in JSON format. Please ensure it is a valid link"
"urlError": "The link did not return content in JSON format. Please ensure it is a valid link."
},
"list": {
"item": {
"deprecated.title": "Deprecated",
"local.config": "Configuration",
"local.title": "Custom"
"local.title": "Local",
"deprecated.title": "Deleted"
}
},
"loading": {
"content": "Calling plugin...",
"plugin": "Plugin running..."
"plugin": "Plugin is running...",
"content": "Calling plugin..."
},
"pluginList": "Plugin List",
"plugins": {
"loading": "Checking plugins...",
"unknown": "Unknown plugin"
"realtimeWeather": "Realtime Weather",
"searchEngine": "Search Engine",
"undefined": "Plugin Detection...",
"websiteCrawler": "Website Crawler",
"loading": "Detecting plugins...",
"unknown": "Unknown Plugin"
},
"realtimeWeather": {
"data": {
"date": "Date",
"daytemp_float": "Daytime Temperature",
"dayweather": "Daytime Weather",
"daywind": "Daytime Wind",
"nighttemp_float": "Nighttime Temperature",
"nightweather": "Nighttime Weather",
"nightwind": "Nighttime Wind",
"week": "Week"
},
"title": "Weather Data for the Next 7 Days ({{city}})",
"updateAt": "Last Updated"
},
"responseData": "Response Data",
"setting": "Plugin Settings",
"settings": {
"indexUrl": {
"title": "Marketplace Index",
"tooltip": "Online editing is not supported for now. Please set it through environment variables during deployment."
"tooltip": "Editing is not supported at the moment"
},
"modalDesc": "After configuring the address of the plugin marketplace, you can use a custom plugin marketplace.",
"title": "Set Plugin Marketplace"
"modalDesc": "After configuring the address of the plugin marketplace, you can use a custom plugin marketplace",
"title": "Configure Plugin Marketplace"
},
"store": {
"empty": "No installed plugins yet",
"install": "Install",
"installAllPlugins": "Install All",
"networkError": "Failed to fetch the plugin store. Please check your network connection and try again.",
"networkError": "Failed to fetch plugin store. Please check your network connection and try again",
"releasedAt": "Released at {{createdAt}}",
"tabs": {
"all": "All",
"installed": "Installed"
},
"title": "Plugin Store",
"uninstall": "Uninstall",
"placeholder": "Search for plugin name, description, or keywords..."
"placeholder": "Search for plugin name, description, or keyword...",
"actions": {
"confirmUninstall": "The plugin is about to be uninstalled. After uninstalling, the plugin configuration will be cleared. Please confirm your operation.",
"detail": "Details",
"install": "Install",
"manifest": "Edit Installation File",
"settings": "Settings",
"uninstall": "Uninstall"
},
"customPlugin": "Custom Plugin"
}
}
4 changes: 3 additions & 1 deletion locales/fr_FR/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
"PluginServerError": "Erreur de réponse du serveur du plugin. Veuillez vérifier le fichier de description du plugin, la configuration du plugin ou la mise en œuvre côté serveur en fonction des informations d'erreur ci-dessous",
"InvalidAccessCode": "Mot de passe incorrect ou vide. Veuillez saisir un mot de passe d'accès correct ou ajouter une clé API OpenAI personnalisée",
"OpenAIBizError": "Erreur de service OpenAI. Veuillez diagnostiquer ou réessayer en fonction des informations ci-dessous",
"NoAPIKey": "La clé API OpenAI est vide. Veuillez ajouter une clé API OpenAI personnalisée"
"NoAPIKey": "La clé API OpenAI est vide. Veuillez ajouter une clé API OpenAI personnalisée",
"PluginGatewayError": "Désolé, une erreur est survenue avec la passerelle du plugin. Veuillez vérifier la configuration de la passerelle du plugin.",
"PluginOpenApiInitError": "Désolé, l'initialisation du client OpenAPI a échoué. Veuillez vérifier les informations de configuration d'OpenAPI."
},
"stt": {
"responseError": "Échec de la requête de service. Veuillez vérifier la configuration ou réessayer"
Expand Down
41 changes: 37 additions & 4 deletions locales/fr_FR/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@
"on": "Activer le débogage",
"response": "Réponse"
},
"detailModal": {
"info": {
"description": "Description de l'API",
"name": "Nom de l'API"
},
"tabs": {
"info": "Capacités du plugin",
"manifest": "Fichier d'installation",
"settings": "Paramètres"
},
"title": "Détails du plugin"
},
"dev": {
"confirmDeleteDevPlugin": "Êtes-vous sûr de vouloir supprimer ce plugin local ? Cette action est irréversible.",
"deleteSuccess": "Suppression du plugin réussie",
Expand Down Expand Up @@ -75,17 +87,29 @@
"manifest": "Manifeste des fonctionnalités",
"meta": "Métadonnées du plugin"
},
"title": "Ajouter un plugin personnalisé",
"update": "Mettre à jour",
"updateSuccess": "Paramètres du plugin mis à jour avec succès"
"updateSuccess": "Paramètres du plugin mis à jour avec succès",
"openai": {
"importUrl": "Importer depuis l'URL",
"schema": "Schéma"
},
"type": {
"lobe": "Plugin LobeChat",
"openai": "Plugin OpenAI"
},
"title": {
"create": "Ajouter un plugin personnalisé",
"edit": "Modifier un plugin personnalisé"
}
},
"error": {
"fetchError": "Échec de la requête vers ce lien de manifest. Veuillez vous assurer que le lien est valide et autorise les requêtes cross-origin.",
"installError": "Échec de l'installation du plugin {{name}}",
"manifestInvalid": "Le manifest ne respecte pas les normes. Résultat de la validation : \n\n {{error}}",
"noManifest": "Aucun fichier de description trouvé",
"reinstallError": "Échec de la mise à jour du plugin {{name}}",
"urlError": "Ce lien ne renvoie pas de contenu au format JSON. Veuillez vous assurer qu'il s'agit d'un lien valide."
"urlError": "Ce lien ne renvoie pas de contenu au format JSON. Veuillez vous assurer qu'il s'agit d'un lien valide.",
"openAPIInvalid": "Échec d'analyse de l'OpenAPI, erreur : \n\n {{error}}"
},
"list": {
"item": {
Expand Down Expand Up @@ -124,6 +148,15 @@
},
"title": "Boutique de plugins",
"uninstall": "Désinstaller",
"placeholder": "Rechercher le nom ou les mots-clés de l'extension..."
"placeholder": "Rechercher le nom ou les mots-clés de l'extension...",
"actions": {
"confirmUninstall": "Vous êtes sur le point de désinstaller ce plugin. Une fois désinstallé, sa configuration sera effacée. Veuillez confirmer votre action.",
"detail": "Détails",
"install": "Installer",
"manifest": "Modifier le fichier d'installation",
"settings": "Paramètres",
"uninstall": "Désinstaller"
},
"customPlugin": "Plugin personnalisé"
}
}
4 changes: 3 additions & 1 deletion locales/ja_JP/error.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@
"PluginManifestNotFound": "申し訳ありませんが、サーバーでプラグインのマニフェストファイル (manifest.json) が見つかりませんでした。プラグインのマニフェストファイルのアドレスが正しいかどうかを確認してください",
"PluginManifestInvalid": "申し訳ありませんが、このプラグインのマニフェストの検証に失敗しました。マニフェストの形式が正しいかどうかを確認してください",
"PluginApiNotFound": "申し訳ありませんが、プラグインのマニフェストに指定されたAPIが見つかりませんでした。リクエストメソッドとプラグインのマニフェストのAPIが一致しているかどうかを確認してください",
"NoAPIKey": "OpenAI APIキーが空です。カスタムOpenAI APIキーを追加してください。"
"NoAPIKey": "OpenAI APIキーが空です。カスタムOpenAI APIキーを追加してください。",
"PluginGatewayError": "申し訳ありませんが、プラグインゲートウェイでエラーが発生しました。プラグインゲートウェイの設定を確認してください。",
"PluginOpenApiInitError": "申し訳ありませんが、OpenAPIクライアントの初期化に失敗しました。OpenAPIの設定情報を確認してください。"
},
"stt": {
"responseError": "サービスリクエストが失敗しました。設定を確認するか、もう一度お試しください"
Expand Down
Loading

0 comments on commit 0308783

Please sign in to comment.