scripts: add delete-unused-keys (#2115)

* scripts: add delete-unused-keys

* update script

* fix keys

* fix ci

* update keys

* add i18n

* update
This commit is contained in:
jingyang
2024-07-22 15:03:35 +08:00
committed by GitHub
parent f452554663
commit 991398b8d2
12 changed files with 493 additions and 110 deletions

View File

@@ -1,12 +1,18 @@
{
"plugin_cost_per_times": "{{cost}}/per time",
"Run": "Run",
"ai_settings": "AI Settings",
"app": {
"modules": {
"click to update": "click to update",
"has new version": "has new version"
}
},
"app_detail": "App Details",
"chat_debug": "Chat Debug",
"chat_logs_tips": "Logs will record online, shared and API (chatId required) conversation records for this app",
"chat_logs": "Chat Logs",
"confirm_del_app_tip": "Confirm to delete this app and all its chat records?",
"chat_logs_tips": "Logs will record online, shared and API (chatId required) conversation records for this app",
"confirm_copy_app_tip": "The system will create an application with the same configuration for you, but the permission will not be copied, please confirm!",
"confirm_del_app_tip": "Confirm to delete this app and all its chat records?",
"confirm_delete_folder_tip": "Are you sure to delete this folder? All the following applications and corresponding chat records will be deleted, please confirm!",
"copy_one_app": "Copy",
"create_copy_success": "Create copy success",
@@ -24,39 +30,31 @@
"logs_message_total": "Total Messages",
"logs_title": "Title",
"mark_count": "Marked Answer Count",
"move_app": "Move app",
"paste_config": "Paste Config",
"plugin_dispatch": "Plugins",
"plugin_dispatch_tip": "It is up to the model to decide which plug-ins to add additional capabilities to. If the plug-in is selected, the knowledge base call is also treated as a special plug-in.",
"publish_channel": "Publish channel",
"publish_success": "Publish success",
"Run": "Run",
"search_app": "Search app",
"setting_app": "Settings",
"setting_plugin": "Setting plugin",
"transition_to_workflow": "Transition to workflow",
"transition_to_workflow_create_new_placeholder": "Create a new application instead of modifying the current one",
"transition_to_workflow_create_new_tip": "After converting to workflow, it will not be able to convert back to simple mode, please confirm!",
"app": {
"modules": {
"click to update": "click to update",
"has new version": "has new version"
}
},
"common": {
"plugin_cost_per_times": "{{cost}} points/times"
},
"module": {
"Confirm Sync": "The template will be updated to the latest template configuration. Fields that do not exist in the template will be deleted (including all custom fields). You are advised to make a copy of the node and then update the original node version.",
"Custom Title Tip": "This title will be displayed during the conversation",
"No Modules": "No plugins yet~"
"No Modules": "No plugins yet~",
"type": "\"{{type}}\" type\n{{description}}"
},
"modules": {
"Title is required": "Module name cannot be empty"
},
"move_app": "Move app",
"paste_config": "Paste Config",
"plugin_cost_per_times": "{{cost}}/per time",
"plugin_dispatch": "Plugins",
"plugin_dispatch_tip": "It is up to the model to decide which plug-ins to add additional capabilities to. If the plug-in is selected, the knowledge base call is also treated as a special plug-in.",
"publish_channel": "Publish channel",
"publish_success": "Publish success",
"search_app": "Search app",
"setting_app": "Settings",
"setting_plugin": "Setting plugin",
"template": {
"simple_robot": "Simple Robot"
},
"transition_to_workflow": "Transition to workflow",
"transition_to_workflow_create_new_placeholder": "Create a new application instead of modifying the current one",
"transition_to_workflow_create_new_tip": "After converting to workflow, it will not be able to convert back to simple mode, please confirm!",
"type": {
"All": "All",
"Create http plugin tip": "Create plug-ins in batches using OpenAPI schema, compatible with GPTs format.",
@@ -74,4 +72,4 @@
"version": {
"Revert success": "Revert success"
}
}
}

View File

@@ -1,5 +1,6 @@
{
"chat_input_guide_lexicon_is_empty": "The lexicon has not been configured",
"config_input_guide": "Configure input boot",
"config_input_guide_lexicon": "Config",
"config_input_guide_lexicon_title": "Config lexicon",
"csv_input_lexicon_tip": "Only CSV can be imported in batches. Click to download the template",

View File

@@ -53,6 +53,7 @@
"Exit": "Exit",
"Expired Time": "Expired Time",
"Field": "Field",
"File": "File",
"Finish": "Finish",
"Import": "Import",
"Import failed": "Import failed",
@@ -71,7 +72,6 @@
"No data": "No data available"
},
"Name": "Name",
"name_is_empty": "Name cannot be empty",
"Next Step": "Next Step",
"No more data": "No more data~",
"Not open": "Not open",
@@ -82,6 +82,7 @@
"Output": "Output",
"Params": "Params",
"Password inconsistency": "Passwords do not match",
"Permission": "Permissions",
"Please Input Name": "Please enter a name",
"Read document": "Read document",
"Read intro": "Read intro",
@@ -118,6 +119,7 @@
"Username": "Username",
"Waiting": "Waiting",
"Warning": "Warning",
"Website": "Website",
"avatar": {
"Select Avatar": "Click to select avatar",
"Select Failed": "Select avatar failed"
@@ -155,6 +157,7 @@
"UnValid": "Invalid link"
},
"month": "Month",
"name_is_empty": "Name cannot be empty",
"speech": {
"error tip": "Speech to text failed",
"not support": "Your browser does not support speech input"
@@ -204,6 +207,7 @@
"Onclick to save": "Click to save",
"Publish": "Publish",
"Publish Confirm": "Confirm to publish the app? It will immediately update the app status across all published channels.",
"Publish app tip": "Once you publish your app, all distribution channels will immediately use that version",
"Question Guide": "Guess you want to ask",
"Question Guide Tip": "After the conversation ends, it will generate 3 guiding questions.",
"Quote prompt": "Quote template prompt",
@@ -317,6 +321,7 @@
"Audio Not Support": "Device does not support audio playback",
"Audio Speech Error": "Audio speech error",
"Cancel Speak": "Cancel voice input",
"Chat API is error or undefined": "Chat API error or undefined",
"Confirm to clear history": "Confirm to clear the online chat history of this app? Records of sharing and API calls will not be cleared.",
"Confirm to clear share chat history": "Confirm to delete all chat history?",
"Converting to text": "Converting to text...",
@@ -355,7 +360,10 @@
"Unpin": "Unpin",
"You need to a chat app": "You do not have a usable app",
"error": {
"Chat error": "Chat error"
"Chat error": "Chat error",
"Messages empty": "API content is empty, text may be too long~",
"Select dataset empty": "You did not select a dataset",
"User input empty": "User question input is empty"
},
"feedback": {
"Close User Like": "User expressed approval\nClick to close this mark",
@@ -363,6 +371,12 @@
"No Content": "User did not provide specific feedback content",
"Read User dislike": "User expressed disapproval\nClick to view content"
},
"logs": {
"api": "API call",
"online": "Online use",
"share": "External link call",
"test": "Test"
},
"markdown": {
"Edit Question": "Edit question",
"Quick Question": "Click to ask now",
@@ -385,7 +399,22 @@
"module cq result": "Classification result",
"module extract description": "Extract requirement description",
"module extract result": "Extraction result",
"module historyPreview": "Complete record"
"module historyPreview": "Complete record",
"module http result": "response body",
"module if else Result": "Determinator result",
"module limit": "Single search limit",
"module maxToken": "Maximum response tokens",
"module model": "Model",
"module name": "Model name",
"module query": "question/search term",
"module quoteList": "Quote content",
"module similarity": "Similarity",
"module temperature": "temperature",
"module time": "Running time",
"module tokens": "total tokens",
"plugin output": "Plugin output value",
"search using reRank": "Result rearrangement",
"text output": "text output"
},
"retry": "Regenerate",
"tts": {
@@ -407,6 +436,7 @@
"Dataset ID": "Dataset ID",
"Dataset Type": "Dataset type",
"Delete Confirm": "Confirm to delete this dataset? Data cannot be recovered after deletion, please confirm!",
"Empty Dataset": "Empty Dataset",
"Empty Dataset Tips": "No datasets yet, go create one!",
"Folder placeholder": "This is a directory",
"Go Dataset": "Go to dataset",
@@ -450,6 +480,12 @@
"status": {
"active": "Ready"
},
"sync": {
"result": {
"sameRaw": "Content unchanged, no update needed",
"success": "Start syncing"
}
},
"training": {}
},
"data": {
@@ -472,14 +508,24 @@
"error": {
"Data not found": "Data does not exist or has been deleted",
"Start Sync Failed": "Failed to start syncing",
"Template does not exist": "Template does not exist"
"Template does not exist": "Template does not exist",
"unAuthDataset": "Unauthorized to operate this dataset",
"unAuthDatasetCollection": "Unauthorized to operate this collection",
"unAuthDatasetData": "Unauthorized to operate this data",
"unAuthDatasetFile": "Unauthorized to operate this file",
"unCreateCollection": "Unauthorized to operate this data",
"unLinkCollection": "Not a network link collection"
},
"externalFile": "external file repository",
"file": "File",
"folder": "Directory",
"import": {
"Auto mode Estimated Price Tips": "Requires calling the file processing model, consuming more Tokens: {{price}} points/1k Tokens",
"Auto process": "Automatic",
"Auto process desc": "Automatically set segmentation and preprocessing rules",
"Chunk Range": "Range: {{min}}~{{max}}",
"Chunk Split": "Direct segmentation",
"Chunk Split Tip": "Segment the text according to certain rules and convert it into a format that can be semantically searched, suitable for most scenarios. Does not require calling additional models for processing, low cost.",
"Custom process": "Custom rules",
"Custom process desc": "Customize segmentation and preprocessing rules",
"Custom prompt": "Custom prompt words",
@@ -502,6 +548,8 @@
"Preview raw text": "Preview raw text (up to 3000 characters)",
"Process way": "Processing method",
"QA Estimated Price Tips": "Requires calling the file processing model, consuming more AI points: {{price}} points/1k Tokens",
"QA Import": "QA Split",
"QA Import Tip": "According to certain rules, split the text into a larger paragraph, call AI to generate Q&A pairs for that paragraph. Has very high search accuracy, but loses a lot of content details.",
"Select file": "Select file",
"Select source": "Select source",
"Source name": "Source name",
@@ -515,6 +563,7 @@
"Web link": "Web link",
"Web link desc": "Read static web page content as a dataset"
},
"link": "Link",
"search": {
"Dataset Search Params": "Knowledge base search configuration",
"Empty result response": "Empty search reply",
@@ -532,9 +581,28 @@
"Source id": "Source ID",
"Source name": "Source name",
"Using query extension": "Use question optimization",
"mode": {
"embedding": "Semantic retrieval",
"embedding desc": "Use vectors for text relevance queries",
"fullTextRecall": "Full-text retrieval",
"fullTextRecall desc": "Use traditional full-text retrieval, suitable for finding some keywords and special subject-predicate data",
"mixedRecall": "Mixed retrieval",
"mixedRecall desc": "Return the combined results of vector retrieval and full-text retrieval, sorted using the RRF algorithm."
},
"score": {
"embedding": "Semantic retrieval",
"embedding desc": "Obtain scores by calculating the distance between vectors, ranging from 0 to 1.",
"fullText": "Full-text retrieval",
"fullText desc": "Calculate the score of the same keywords, ranging from 0 to infinity.",
"reRank": "Result reranking",
"reRank desc": "Calculate the relevance between sentences using the ReRank model, ranging from 0 to 1.",
"rrf": "Comprehensive ranking",
"rrf desc": "Merge multiple search results by inverted calculation."
},
"search mode": "Search mode"
},
"status": {
"active": "Ready",
"syncing": "Syncing"
},
"test": {
@@ -553,8 +621,12 @@
},
"training": {
"Agent queue": "QA training queue",
"Auto mode": "Enhanced processing (experimental)",
"Auto mode Tip": "Increase the semantic richness of data blocks by generating related questions and summaries through sub-indexes and model calls, which is more conducive to retrieval. Requires more storage space and increases AI call frequency.",
"Chunk mode": "Direct segmentation",
"Full": "Estimated more than 5 minutes",
"Leisure": "Idle",
"QA mode": "Question and answer split",
"Vector queue": "Index queue",
"Waiting": "Estimated 5 minutes",
"Website Sync": "Web site sync"
@@ -660,11 +732,13 @@
"output": {
"description": {
"Ai response content": "Triggered after the stream response is complete",
"New context": "Concatenate this response content with historical records to return as a new context"
"New context": "Concatenate this response content with historical records to return as a new context",
"query extension result": "Outputs as an array of strings, can directly connect this result to 'Knowledge base search' 'User question', it is recommended not to connect to 'AI dialogue' 'User question'"
},
"label": {
"Ai response content": "AI response content",
"New context": "New context"
"New context": "New context",
"query extension result": "Optimized result"
}
},
"template": {
@@ -683,14 +757,15 @@
"templates": {
"Load plugin error": "Load plugin error"
},
"tool": {
"Tool input": "Tool input"
},
"variable": {
"Custom type": "Custom variable",
"add option": "Add option",
"input type": "Text",
"key": "Variable key",
"key is required": "Variable key is required",
"select type": "Dropdown single select",
"text max length": "Maximum length",
"textarea type": "Paragraph",
"variable name": "Variable name",
"variable name is required": "Variable name cannot be empty",
"variable option is required": "Options cannot be all empty",
@@ -700,16 +775,11 @@
"variable add option": "Add option"
},
"plugin": {
"Free": "The plugin requires no points",
"Intro placeholder": "If this plugin is used as a tool, this introduction will be used as a prompt.",
"cost": "Plugin cost: ",
"Custom headers": "Custom headers",
"Free": "The plugin requires no points",
"Get Plugin Module Detail Failed": "Plugin loading failed",
"Http plugin intro placeholder": "For display only, no actual effect"
},
"template": {
"Multimodal": "Multimodal",
"Search": "Search"
"Http plugin intro placeholder": "For display only, no actual effect",
"cost": "Plugin cost: "
},
"workflow": {
"Can not delete node": "This node cannot be deleted",
@@ -788,6 +858,7 @@
"Select Dataset": "Select this dataset",
"Select Dataset Tips": "Only datasets from the same index model can be selected",
"Select Folder": "Enter folder",
"Training Name": "Data Training",
"collections": {
"Collection Embedding": "{{total}} groups indexing",
"Confirm to delete the folder": "Confirm to delete the folder and all its contents?",
@@ -823,7 +894,12 @@
},
"error": {
"Create failed": "Create failed",
"fileNotFound": "File not found~"
"fileNotFound": "File not found~",
"inheritPermissionError": "Inherit permission Error",
"missingParams": "Insufficient parameters",
"team": {
"overSize": "Team members exceed the limit"
}
},
"navbar": {
"Account": "Account",
@@ -833,7 +909,7 @@
"Tools": "Tools"
},
"permission": {
"Collaborator": "",
"Collaborator": "collaborator",
"Default permission": "Default permission",
"Manage": "Manage",
"No InheritPermission": "The permission has been restricted, and the parent folder's permission will not be inherited,",
@@ -869,7 +945,8 @@
"Plugin List": "Plugin list",
"Search plugin": "Search plugin",
"Set Name": "Name the plugin",
"go to laf": "Go to write"
"go to laf": "Go to write",
"path": "Path"
},
"select_reference_variable": "Select Reference Variable",
"share_link": "Share Link",
@@ -969,11 +1046,20 @@
"Status": "Status",
"Type": "Order type",
"payWay": {
"Way": "Payment method"
"Way": "Payment method",
"balance": "Balance payment",
"wx": "Wechat payment"
},
"status": {
"closed": "Closed",
"notpay": "Not paid",
"refund": "Refunded",
"success": "Payment successful"
}
},
"moduleName": {
"index": "Index generation"
"index": "Index generation",
"qa": "QA split"
},
"noBill": "No bill records~",
"subscription": {
@@ -1015,6 +1101,19 @@
"Period": "Subscription period",
"Year": "Yearly",
"Year sale": "Two months free"
},
"standardSubLevel": {
"enterprise": "Enterprise edition",
"experience": "Experience edition",
"free": "Free edition",
"free desc": "Basic functions can be used for free every month, and the knowledge base will be cleared if there is no usage record for 30 days",
"team": "Team edition"
},
"type": {
"balance": "Balance recharge",
"extraDatasetSize": "Knowledge base expansion",
"extraPoints": "AI points package",
"standard": "Plan subscription"
}
},
"usage": {
@@ -1067,7 +1166,7 @@
"Password": "Password",
"Pay": "Recharge",
"Personal Information": "Personal information",
"Promotion": "",
"Promotion": "Promotion",
"Promotion Rate": "Cashback ratio",
"Promotion Record": "Promotion record",
"Promotion rate tip": "You will receive a certain percentage of balance reward when your friend recharges",
@@ -1121,10 +1220,15 @@
"reject": "Reject"
},
"member": {
"Confirm Leave": "Confirm to leave this team?"
"Confirm Leave": "Confirm to leave this team?",
"active": "Joined",
"reject": "Reject",
"waiting": "Waiting for Acceptance"
},
"role": {
"Admin": "Admin"
"Admin": "Admin",
"Owner": "Owner",
"Visitor": "Visitor"
}
}
}

View File

@@ -12,6 +12,7 @@
"external_read_url": "External read url",
"external_read_url_tip": "You can configure the reading address of your file library. This allows users to read and authenticate. You can currently use the {{fileId}} variable to refer to the external file ID.",
"external_url": "File read url",
"folder_dataset": "Folder",
"rebuild_embedding_start_tip": "The task of switching index models has begun",
"rebuilding_index_count": "Rebuilding count: {{count}}",
"the_knowledge_base_has_indexes_that_are_being_trained_or_being_rebuilt": "The knowledge base has indexes that are being trained or being rebuilt",

View File

@@ -1,6 +1,11 @@
{
"permission": {
"Write": "Write"
"Manage": "administrator",
"Manage tip": "Team administrator, with full permissions",
"Read": "Read only",
"Read desc": "Members can only read related resources and cannot create new resources.",
"Write": "Write",
"Write tip": "In addition to readable resources, you can also create new resources"
},
"team": {
"Add manager": "Add manager"