From bf6084da6970e58721185abe5b2810fe14e43d01 Mon Sep 17 00:00:00 2001 From: Carson Yang Date: Thu, 2 May 2024 08:35:59 +0800 Subject: [PATCH] Enhance English language support in i18n (#1348) Signed-off-by: Carson Yang --- projects/app/i18n/en/common.json | 2169 ++++++++++++++---------------- 1 file changed, 1031 insertions(+), 1138 deletions(-) diff --git a/projects/app/i18n/en/common.json b/projects/app/i18n/en/common.json index 363be447a..893ff25e9 100644 --- a/projects/app/i18n/en/common.json +++ b/projects/app/i18n/en/common.json @@ -1,124 +1,119 @@ { "App": "App", - "Create New": "", + "Create New": "Create New", "Export": "Export", "Folder": "Folder", "Move": "Move", "Name": "Name", "Rename": "Rename", "Running": "Running", - "Select value is empty": "Select value is empty", - "UnKnow": "UnKnow", + "Select value is empty": "Selected value is empty", + "UnKnow": "Unknown", "Warning": "Warning", "app": { - "AI Advanced Settings": "Advanced Settings", + "AI Advanced Settings": "AI Advanced Settings", "AI Settings": "AI Settings", - "Advance App TestTip": "The current application is advanced editing mode \n. If you need to switch to [simple mode], please click the save button on the left", - "App Detail": "App Detail", + "Advance App TestTip": "Current app may be in advanced orchestration mode\nTo switch to【Simple Mode】please click the save button on the left", + "App Detail": "App Details", "Apps Share": "Apps Share", "Basic Settings": "Basic Settings", "Chat Debug": "Chat Debug", - "Chat Logs Tips": "Logs record the app's online, shared, and API(chatId is existing) conversations", + "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 the app and all its chats", - "Connection is invalid": "Connecting is invalid", + "Confirm Del App Tip": "Confirm to delete this app and all its chat records?", + "Connection is invalid": "Connection is invalid", "Connection type is different": "Connection type is different", - "Copy Module Config": "Copy config", - "Dataset Quote Template": "Dataset Mode", - "Export Config Successful": "The configuration has been copied. Please check for important data", + "Copy Module Config": "Copy Config", + "Dataset Quote Template": "Knowledge Base QA Mode", + "Export Config Successful": "Config copied, please check for important data", "Export Configs": "Export Configs", "Feedback Count": "User Feedback", "Import Configs": "Import Configs", - "Import Configs Failed": "Failed to import the configuration, please ensure that the configuration is normal!", + "Import Configs Failed": "Failed to import configs, please ensure configs are valid!", "Input Field Settings": "Input Field Settings", - "Logs Empty": "Logs is empty", - "Logs Message Total": "Message Count", + "Logs Empty": "No logs yet~", + "Logs Message Total": "Total Messages", "Logs Source": "Source", "Logs Time": "Time", "Logs Title": "Title", - "Mark Count": "Mark Count", + "Mark Count": "Marked Answer Count", "My Apps": "My Apps", "Output Field Settings": "Output Field Settings", "Paste Config": "Paste Config", - "To Chat": "To Chat Page", - "To Settings": "To Settings Page", - "Variable Key Repeat Tip": "Variable Key Repeat", + "To Chat": "Go to Chat", + "To Settings": "View Details", + "Variable Key Repeat Tip": "Variable key is duplicate", "module": { "Combine Modules": "Combine Modules", - "Custom Title Tip": "The title name is displayed during the conversation", - "My Modules": "My Custom Modules", - "No Modules": "No module", + "Custom Title Tip": "This title will be displayed during the conversation", + "My Modules": "My Modules", + "No Modules": "No modules yet~", "System Module": "System Module", - "type": "{{type}}\n{{description}}" + "type": "\"{{type}}\" type\n{{description}}" }, "modules": { - "Title is required": "Title is required" + "Title is required": "Module name cannot be empty" } }, "common": { "Action": "Action", "Add": "Add", - "Add New": "Add", + "Add New": "Add New", "All": "All", "Back": "Back", "Beta": "Beta", - "Business edition features": "This is the commercial version function ~", + "Business edition features": "This is a business edition feature~", "Cancel": "Cancel", "Choose": "Choose", "Close": "Close", "Collect": "Collect", "Config": "Config", "Confirm": "Confirm", - "Confirm Create": "Create", - "Confirm Import": "Import", + "Confirm Create": "Confirm Create", + "Confirm Import": "Confirm Import", "Confirm Move": "Move here", - "Confirm Update": "Update", - "Confirm to leave the page": "Are you sure to leave this page?", + "Confirm Update": "Confirm Update", "Copy": "Copy", - "Copy Successful": "Copy Successful", - "Course": "", + "Copy Successful": "Copied successfully", + "Course": "Course", "Create Failed": "Create Failed", - "Create New": "Create", - "Create Success": "Create Success", - "Create Time": "Create time", + "Create New": "Create New", + "Create Success": "Created Successfully", + "Create Time": "Create Time", "Creating": "Creating", "Custom Title": "Custom Title", "Delete": "Delete", "Delete Failed": "Delete Failed", - "Delete Success": "Delete Successful", - "Delete Tip": "Delete Confirm", - "Delete Warning": "Warning", + "Delete Success": "Deleted Successfully", + "Delete Tip": "Delete Tip", + "Delete Warning": "Delete Warning", "Detail": "Detail", "Done": "Done", "Edit": "Edit", "Exit": "Exit", - "Expired Time": "Expired", + "Expired Time": "Expire Time", "Field": "Field", "File": "File", - "Filed is repeat": "Filed is repeated", - "Filed is repeated": "", + "Filed is repeat": "Field is duplicate", + "Filed is repeated": "Field is repeated", "Finish": "Finish", "Import": "Import", "Import failed": "Import failed", "Import success": "Import success", "Input": "Input", "Intro": "Intro", - "Invalid Json": "Invalid Json", - "Last Step": "Last", + "Invalid Json": "Invalid JSON format, please check carefully.", + "Last Step": "Previous", "Last use time": "Last use time", "Load Failed": "Load Failed", - "Loading": "Loading", + "Loading": "Loading...", "More settings": "More settings", - "MultipleRowSelect": { - "No data": "No data" - }, "Name": "Name", - "Name Can": "Name Can't Be Empty", - "Name is empty": "Name is empty", - "New Create": "Create", + "Name Can": "Name cannot be empty", + "Name is empty": "Name cannot be empty", + "New Create": "New Create", "Next Step": "Next", - "No more data": "No more", - "Not open": "Close", + "Not open": "Not Open", "Number of words": "{{amount}} words", "OK": "OK", "Open": "Open", @@ -126,513 +121,483 @@ "Other": "Other", "Output": "Output", "Params": "Params", - "Password inconsistency": "Password inconsistency", - "Please Input Name": "Please Input Name", - "Price used": "Usage", - "Read document": "Read document", - "Read intro": "Read intro", - "Readed": "", + "Password inconsistency": "Passwords do not match", + "Please Input Name": "Please input a name", + "Price used": "Amount used", + "Read document": "View document", + "Read intro": "View intro", + "Readed": "Read", "Remove": "Remove", "Rename": "Rename", "Rename Failed": "Rename Failed", - "Rename Success": "Rename Success", + "Rename Success": "Renamed Successfully", "Request Error": "Request Error", "Require Input": "Required", "Root folder": "Root folder", "Save": "Save", "Save Failed": "Save Failed", - "Save Success": "Save Success", + "Save Success": "Saved Successfully", "Search": "Search", "Select File Failed": "Select File Failed", "Select One Folder": "Select a folder", "Select template": "Select template", - "Set Avatar": "Set Avatar", - "Set Name": "Make a nice name", + "Set Avatar": "Click to set avatar", + "Set Name": "Set a name", "Set Team Tags": "Set Team Tags", - "Setting": "Setting", + "Setting": "Settings", "Status": "Status", "Submit failed": "Submit failed", - "Submit success": "Update Success", - "Sync success": "", - "System Output": "System Output", - "System version": "System version", + "Submit success": "Submitted successfully", + "Sync success": "Sync success", + "System version": "System Version", "Team": "Team", - "Team Tags Set": "Team Tags", + "Team Tags Set": "Tags", "Test": "Test", "Time": "Time", "Un used": "Unused", - "UnKnow": "UnKnow", - "UnKnow Source": "UnKnow Source", + "UnKnow": "Unknown", + "UnKnow Source": "Unknown Source", "Unlimited": "Unlimited", "Update": "Update", "Update Failed": "Update Failed", - "Update Success": "Update Success", - "Update Successful": "Update Successful", + "Update Success": "Updated Successfully", + "Update Successful": "Updated Successfully", "Update Time": "Update Time", "Update success": "Update success", "Upload File Failed": "Upload File Failed", - "Username": "UserName", + "Username": "Username", "Waiting": "Waiting", - "Warning": "", + "Warning": "Warning", "Website": "Website", "avatar": { - "Select Avatar": "Select Avatar", - "Select Failed": "Select Failed" + "Select Avatar": "Click to select avatar", + "Select Failed": "Select avatar failed" }, - "change": "Change", - "choosable": "choosable", + "change": "change", + "choosable": "optional", "confirm": { - "Common Tip": "Operational Confirm" + "Common Tip": "Operation Confirmation" }, "course": { - "Read Course": "Read Course" + "Read Course": "View Tutorial" }, "empty": { - "Common Tip": "No data" + "Common Tip": "No data yet~" }, "error": { "Select avatar failed": "Select avatar failed", - "Update error": "Update error", - "unKnow": "There was an accident" + "Update error": "Update failed", + "unKnow": "Something unexpected happened~" }, - "export": "", + "export": "Export", "file": { - "Empty file tip": "The file content is empty. The file may be unreadable or pure image file content.", + "Empty file tip": "File content is empty, the file may be unreadable or contain only image content.", "File Content": "File Content", "File Name": "File Name", "File Size": "File Size", - "File content can not be empty": "File content can not be empty", - "Filename Can not Be Empty": "Filename Can not Be Empty", - "Read File Error": "Read file error", - "Select and drag file tip": "Click or drag the file here to upload", + "File content can not be empty": "File content cannot be empty", + "Filename Can not Be Empty": "Filename cannot be empty", + "Read File Error": "Parse file failed", + "Select and drag file tip": "Click or drag files here to upload", "Select failed": "Select file failed", - "Select file amount limit": "A maximum of {{max}} files can be selected", - "Select file amount limit 100": "You can select a maximum of 100 files at a time", - "Some file count exceeds limit": "The number of files exceeding {{maxCount}} has been automatically intercepted", - "Some file size exceeds limit": "Some files exceed: {{maxSize}}, have been filtered", - "Support file type": "Support {{fileType}} files", - "Support max count": "A maximum of {{maxCount}} files are supported.", - "Support max size": "Maximum for a single file {{maxSize}}.", + "Select file amount limit": "Select up to {{max}} files", + "Select file amount limit 100": "Select up to 100 files at a time", + "Some file count exceeds limit": "Over {{maxCount}} files, automatically truncated", + "Some file size exceeds limit": "Some files exceed: {{maxSize}}, filtered out", + "Support file type": "Supports {{fileType}} files", + "Support max count": "Supports up to {{maxCount}} files.", + "Support max size": "Maximum {{maxSize}} per file.", "Upload failed": "Upload failed" }, "folder": { - "Drag Tip": "Click and move", + "Drag Tip": "Click to drag", "Move Success": "Move Success", - "No Folder": "There's no subdirectory. Just put it here", - "Root Path": "Root Folder", - "empty": "There is nothing to choose from in this directory" + "No Folder": "No more subdirectories, just put it here", + "Root Path": "Root Path", + "empty": "Nothing left to select in this directory~" }, "input": { - "Repeat Value": "Repeat Value" + "Repeat Value": "Duplicate values" }, "jsonEditor": { - "Parse error": "Json parse error, please check it" + "Parse error": "JSON may be wrong, please check carefully" }, "link": { - "UnValid": "UnValid Link" + "UnValid": "Invalid link" }, - "month": "Month", + "month": "month", "price": { "Amount": "{{amount}}{{unit}}" }, "speech": { - "error tip": "Speech Failed", + "error tip": "Speech to text failed", "not support": "Your browser does not support voice input" }, "system": { - "Commercial version function": "Commercial version special function", - "Help Chatbot": "Chatbot Helper", - "Use Helper": "UsingHelp" + "Commercial version function": "Enterprise version feature", + "Help Chatbot": "Help Chatbot", + "Use Helper": "Use Help" }, "time": { "Just now": "Just now", - "The day before yesterday": "2 days", + "The day before yesterday": "The day before yesterday", "Yesterday": "Yesterday" }, "ui": { "textarea": { - "Magnifying": "Magnifying" + "Magnifying": "Zoom In" } } }, "core": { "Chat": "Chat", "Chat test": "Test", - "Max Token": "MaxTokens", - "Start chat": "Start chat", - "Total chars": "Total chars: {{total}}", - "Total tokens": "Tokens: {{total}}", + "Max Token": "Single Data Limit", + "Start chat": "Start Chat", + "Total chars": "Total characters: {{total}}", + "Total tokens": "Total Tokens: {{total}}", "ai": { - "AI settings": "AI settings", - "Ai point price": "AI points", - "Max context": "Max context", - "Model": "Model", - "Not deploy rerank model": "Not deploy rerank model", + "AI settings": "AI Settings", + "Ai point price": "AI Point Usage", + "Max context": "Max Context", + "Model": "AI Model", + "Not deploy rerank model": "Rerank model not deployed", "Prompt": "Prompt", - "Support tool": "Function call", + "Support tool": "Function Calls", "model": { - "Dataset Agent Model": "Agent Model", + "Dataset Agent Model": "File Processing Model", "Vector Model": "Vector Model" } }, "app": { - "Ai response": "Ai response", - "Api request": "Api request", - "Api request desc": "Access to the existing system through API, or enterprise micro, flying book, etc", - "App intro": "App intro", - "App params config": "App Config", - "Auto Save time": "Auto-saved: {{time}}", - "Change to simple mode": "Switch easy mode", - "Chat Variable": "", - "Config schedule plan": "Config schedule config", - "Config whisper": "Config whisper", - "External using": "External use", - "Interval timer config": "Interval timer config", - "Interval timer run": "Timed execution", - "Interval timer tip": "Applications can be executed periodically", - "Make a brief introduction of your app": "Make a brief introduction of your app", - "Max histories": "Dialog round", - "Max tokens": "Max tokens", - "Name and avatar": "Avatar & Name", - "Onclick to save": "Save", - "Publish": "Publish", - "Publish Confirm": "Sure to release the app? App status is immediately updated across all publishing channels.", - "Publish Failed": "Publish error", - "Publish Success": "Publish Success", - "Question Guide": "Question Guide", - "Question Guide Tip": "At the end of the conversation, three leading questions will be asked.", - "Quote prompt": "Quote prompt", - "Quote templates": "Quote templates", - "Random": "Random", - "Save and preview": "Save", - "Search team tags": "Search tags", - "Select TTS": "Select TTS", - "Select app from template": "Select from the template", - "Select quote template": "Select quote template", - "Set a name for your app": "App name", - "Setting ai property": "Click Configure AI model properties", - "Share link": "Share", - "Share link desc": "Share links with other users and use them directly without logging in", - "Share link desc detail": "You can share the model directly with other users to have a conversation, and the other user can have a conversation directly without logging in. Note that this function will consume the balance of your account, please keep the link!", - "Simple Config Tip": "Only basic functions are included. For complex agent functions, use advanced orchestration.", - "TTS": "Audio Speech", - "TTS Tip": "After this function is enabled, the voice playback function can be used after each conversation. Use of this feature may incur additional charges.", - "TTS start": "Reading content", - "Team tags": "Team tags", + "Ai response": "AI Response", + "Api request": "API Request", + "Api request desc": "Integrate into existing systems via API, such as WeCom or Feishu", + "App intro": "App Introduction", + "App params config": "App Configuration", + "Chat Variable": "Chat Variable", + "Config whisper": "Configure Voice Input", + "External using": "External Usage", + "Make a brief introduction of your app": "Provide a brief introduction for your AI application", + "Max histories": "Max Chat Histories", + "Max tokens": "Max Response Tokens", + "Name and avatar": "Name & Avatar", + "Question Guide": "Suggested Questions", + "Question Guide Tip": "After the conversation ends, 3 guiding questions will be generated.", + "Quote prompt": "Quote Template Prompt", + "Quote templates": "Quote Content Templates", + "Random": "Randomize", + "Save and preview": "Save and Preview", + "Search team tags": "Search Tags", + "Select TTS": "Select Text-to-Speech Mode", + "Select app from template": "Select from Template", + "Select quote template": "Select Quote Template", + "Set a name for your app": "Set a name for your application", + "Share link": "Share Link", + "Share link desc": "Share link with other users, no login required for direct usage", + "Share link desc detail": "You can directly share this model with other users for conversation, without them needing to log in. Note that this feature will consume your account balance, please keep the link secure!", + "Simple Config Tip": "Only includes basic features, for complex agent capabilities please use Advanced Orchestration.", + "TTS": "Text-to-Speech", + "TTS Tip": "When enabled, text-to-speech can be used after each conversation. Using this feature may incur additional costs.", + "TTS start": "Read Content", + "Team tags": "Team Tags", "Temperature": "Temperature", - "Tool call": "Tool call", - "Tool call tip": "The AI model automatically selects one or more tools to use. If this feature is enabled, the knowledge base call is also called as a tool. Please try to choose the AI model that supports \"function call\", the effect is better.", + "Tool call": "Tool Invocation", + "Tool call tip": "Automatically select one or more tools to use via the AI model. If this feature is enabled, knowledge base queries will also be considered a tool invocation. Please try to select AI models that support \"function calls\" for better results.", "ToolCall": { - "No plugin": "No plugins", - "Parameter setting": "", - "Setting tool": "Setting tool", + "No plugin": "No available plugins", + "Setting tool": "Configure Tools", "System": "System", "Team": "Team", - "This plugin cannot be called as a tool": "This tool cannot be used in easy mode" + "This plugin cannot be called as a tool": "This tool cannot be used in simple mode" }, - "Welcome Text": "Welcome Text", - "Whisper": "Whisper", - "Whisper Tip": "", - "Whisper config": "Whisper config", - "create app": "Create App", + "Welcome Text": "Conversation Opening", + "Whisper": "Voice Input", + "Whisper Tip": "Configure voice input related parameters", + "Whisper config": "Voice Input Configuration", + "create app": "Create your own AI application", "deterministic": "Deterministic", "edit": { - "Confirm Save App Tip": "The application may be in advanced orchestration mode, and the advanced orchestration configuration will be overwritten after saving, please confirm!", - "Out Ad Edit": "You are about to exit the Advanced orchestration page, please confirm", + "Confirm Save App Tip": "This application may be in Advanced Orchestration mode, saving will overwrite the Advanced Orchestration configuration, please confirm!", + "Out Ad Edit": "You are about to exit the Advanced Orchestration page, please confirm", "Prompt Editor": "Prompt Editor", - "Query extension background prompt": "Chat background description", - "Query extension background tip": "Describing the scope of the current conversation makes it easier for AI to complete first or vague questions, thereby enhancing the knowledge base's ability to continue conversations.\nIf the value is empty, the question completion function is not used for [first question].", - "Save and out": "Save out", - "UnSave": "UnSave" + "Query extension background prompt": "Conversation Background Description", + "Query extension background tip": "Describes the scope of the current conversation, allowing the AI to extend and complete the current question. The filled content usually refers to the assistant", + "Save and out": "Save and Exit", + "UnSave": "Don't Save" }, "error": { - "App name can not be empty": "App name can not be empty", - "Get app failed": "Get app failed" + "App name can not be empty": "Application name cannot be empty", + "Get app failed": "Failed to get application" }, "feedback": { - "Custom feedback": "Custom feedback", + "Custom feedback": "Custom Feedback", "close custom feedback": "Close Feedback" }, "logs": { "Source And Time": "Source & Time" }, "navbar": { - "External": "External", - "Flow mode": "Flow mode", + "External": "External Usage", + "Flow mode": "Advanced Orchestration", "Publish": "Publish", - "Publish app": "Publish App", - "Simple mode": "Simple mode" + "Publish app": "Publish Application", + "Simple mode": "Simple Configuration" }, "outLink": { - "Can Drag": "Icon Drag", - "Default open": "Default Open", - "Iframe block title": "Copy the Iframe below and add it to your web page", - "Link block title": "Copy the link below to your browser to open", + "Can Drag": "Icon is draggable", + "Default open": "Open by Default", + "Iframe block title": "Copy the below Iframe and add it to your website", + "Link block title": "Copy the link below and open it in a browser", "Script Close Icon": "Close Icon", "Script Icon": "Icon", - "Script Open Icon": "Open Script", - "Script block title": "Add the following code to your website", - "Select Mode": "Select Mode", - "Select Using Way": "Select use mode", - "Show History": "Show History", + "Script Open Icon": "Open Icon", + "Script block title": "Add the code below to your website", + "Select Mode": "Start Using", + "Select Using Way": "Select Usage Method", + "Show History": "Show Chat History", "Web Link": "Web Link" }, - "publish": { - "Fei Shu Bot Desc": "Access the Lark robot", - "Fei shu bot": "Lark", - "Fei shu bot publish": "Posted to Lark Robot" - }, - "schedule": { - "Default prompt": "Default prompt", - "Default prompt placeholder": "Default problem when executing the application", - "Every day": "Every {{hour}} hour", - "Every month": "{{day}} {{hour}}:00 Every month", - "Every week": "Every week {{day}} {{hour}}:00", - "Interval": "Per {{interval}} hour", - "Open schedule": "Enable schedule" - }, - "setting": "App Setting", + "setting": "Application Information Settings", "share": { - "Amount limit tip": "A maximum of 10 groups can be created", - "Create link": "Create share", - "Create link tip": "The creation is successful. The share address has been copied and can be shared directly", - "Ip limit title": "IP limiting (person/minute)", - "Is response quote": "Response quote", - "Not share link": "No share link created", - "Role check": "Custom role check" + "Amount limit tip": "Maximum 10 groups can be created", + "Create link": "Create New Link", + "Create link tip": "Created successfully. Share address has been copied and can be directly shared for use", + "Ip limit title": "IP Rate Limiting (people/minute)", + "Is response quote": "Return Quote", + "Not share link": "No share links created", + "Role check": "Identity Verification" }, "simple": { - "mode template select": "Template" + "mode template select": "Simple Templates" }, "template": { - "Classify and dataset": "Classification + Dataset", - "Classify and dataset desc": "Classify the user's problems first, then perform different actions according to the different types of problems.", - "Common template": "Common", - "Common template tip": "Common template\nCan completely self-configure AI properties and knowledge base", - "Dataset and guide": "Dataset + dialogue guide", - "Dataset and guide desc": "Conduct a knowledge base search each time a question is asked, inject the search results into the LLM model for reference answers ", - "Guide and variables": "Dialogue guide + Variables ", - "Guide and variables desc": "You can send a prompt at the beginning of the conversation, or ask the user to fill in something as a variable for the conversation ", - "Simple chat": "Simple chat", - "Simple chat desc": "An extremely simple AI conversation application ", - "Simple template": "Simple", - "Simple template tip": "Simple template\nHas built-in parameter details" + "Classify and dataset": "Question Classification + Knowledge Base", + "Classify and dataset desc": "First classify the user's question, then execute different operations according to different question types", + "Common template": "Common Templates", + "Common template tip": "Common Templates\nAI attributes and knowledge bases can be fully customized", + "Dataset and guide": "Knowledge Base + Conversation Guidance", + "Dataset and guide desc": "Perform a knowledge base search for each question, and inject the search results into the LLM model for reference answers", + "Guide and variables": "Conversation Guidance + Variables", + "Guide and variables desc": "A prompt can be sent at the beginning of the conversation, or the user can fill in some content as variables for this conversation", + "Simple chat": "Simple Chat", + "Simple chat desc": "An extremely simple AI chat application", + "Simple template": "Simple Templates", + "Simple template tip": "Minimalist Templates\nParameter details are built-in" }, "tip": { - "Add a intro to app": "Add a intro to app", - "chatNodeSystemPromptTip": "Indicates the fixed guide word of the model. If this content is adjusted, the model chat direction can be guided. The content is fixed at the beginning of the context. You can use variables such as {{language}}", - "userGuideTip": "You can set the guide language before the session, set global variables, set next guidelines ", - "variableTip": "You can ask the user to fill in something as a specific variable for this round of conversation before the conversation starts. This module is located after the opening boot.\nvariables can be injected into other modules with string input in the form of {{variable key}}, such as: prompts, qualifiers, etc.", - "welcomeTextTip": "Before each conversation begins, send an initial content. Support standard Markdown syntax, additional tags can be used :\n[shortcut button]: The user can send the question directly after clicking " + "Add a intro to app": "Give your application an introduction~", + "chatNodeSystemPromptTip": "Fixed prompts for the model, by adjusting this content, you can guide the model's chat direction. This content will be fixed at the beginning of the context. Variables can be used, e.g., {{language}}\nIf a knowledge base is associated, you can also appropriately describe how to guide the model to invoke knowledge base searches. For example:\nYou are the assistant for the movie \"Interstellar\", when the user asks about content related to \"Interstellar\", please search the knowledge base and answer in combination with the search results.", + "userGuideTip": "You can set guiding text before the conversation, set global variables, and set next step guidance", + "variableTip": "Before starting a conversation, you can require the user to fill in some content as specific variables for this round of conversation. This module is located after the opening guidance.\nVariables can be injected into other module string type inputs in the form of {{variable key}}, such as: prompts, constraints, etc.", + "welcomeTextTip": "Send an initial content before each conversation starts. Standard Markdown syntax is supported, extra markup that can be used:\n[Shortcut]: The user can directly send this question by clicking" }, "tts": { - "Close": "NoUse", - "Model alloy": "Female - Alloy", - "Model echo": "Male - Echo", - "Speech model": "Speech model", - "Speech speed": "Speed", - "Test Listen": "Test", - "Test Listen Text": "Hello, this is a voice test, if you can hear this sentence, it means that the voice playback function is normal", - "Web": "Browser (free)" + "Close": "Don't Use", + "Model alloy": "Female Voice - Alloy", + "Model echo": "Male Voice - Echo", + "Speech model": "Speech Model", + "Speech speed": "Speech Speed", + "Test Listen": "Test Listen", + "Test Listen Text": "Hello, this is a speech test. If you can hear this sentence, it means the speech playback function is working properly", + "Web": "Browser Built-in (Free)" }, "whisper": { - "Auto send": "Auto send", - "Auto send tip": "After the voice input is completed, you can send it directly, without manually clicking the send button", - "Auto tts response": "Auto tts response", - "Auto tts response tip": "Questions sent through voice input will be answered directly in the form of voice. Please ensure that the voice broadcast function is enabled.", + "Auto send": "Auto Send", + "Auto send tip": "Directly send after voice input is completed, without needing to manually click the send button", + "Auto tts response": "Auto Voice Response", + "Auto tts response tip": "Questions sent via voice input will be directly responded to in voice form, please ensure voice playback is enabled.", "Close": "Close", - "Not tts tip": "You have not turned on Voice playback and the feature is not available", - "Open": "Open", - "Switch": "Open whisper" + "Not tts tip": "You have not enabled text-to-speech, this feature cannot be used", + "Open": "Enable", + "Switch": "Enable Voice Input" } }, "chat": { - "Admin Mark Content": "Corrected response", - "Audio Not Support": "The device does not support voice play", - "Audio Speech Error": "Audio Speech Error", - "Cancel Speak": "Cancel speak", - "Canceled Speak": "Voice input has been cancelled", - "Chat API is error or undefined": "The session interface reported an error or returned null", - "Confirm to clear history": "Confirm to clear history?", - "Confirm to clear share chat history": " Are you sure to delete all chats?", + "Admin Mark Content": "Corrected Response", + "Audio Speech Error": "Speech Broadcast Error", + "Cancel Speak": "Cancel Voice Input", + "Canceled Speak": "Voice input has been canceled", + "Chat API is error or undefined": "Conversation interface error or returned empty", + "Confirm to clear history": "Confirm to clear the online chat history of this app? Shared and API call records will not be cleared.", + "Confirm to clear share chat history": "Confirm to delete all chat records?", "Converting to text": "Converting to text...", - "Custom History Title": "Custom history title", - "Custom History Title Description": "If set to empty, chat history will be followed automatically.", - "Debug test": "Test", - "Exit Chat": "Exit", + "Custom History Title": "Custom History Title", + "Custom History Title Description": "If set to empty, it will automatically follow the chat history.", + "Debug test": "Debug Preview", + "Exit Chat": "Exit Chat", "Failed to initialize chat": "Failed to initialize chat", - "Feedback Failed": "Feedback Failed", + "Feedback Failed": "Feedback submission error", "Feedback Mark": "Mark", - "Feedback Modal": "Feedback", - "Feedback Modal Tip": "Enter what you find unsatisfactory", - "Feedback Submit": "Submit", - "Feedback Success": "Feedback Success", - "Feedback Update Failed": "Feedback Update Failed", - "Finish Speak": "Finish speak", + "Feedback Modal": "Result Feedback", + "Feedback Modal Tip": "Enter where you think the answer is unsatisfactory", + "Feedback Submit": "Submit Feedback", + "Feedback Success": "Feedback successful!", + "Feedback Update Failed": "Failed to update feedback status", + "Finish Speak": "Voice input completed", "History": "History", "History Amount": "{{amount}} records", - "Mark": "Mark", - "Mark Description": "The annotation feature is currently in beta. \n\n After clicking Add annotation, you need to select a knowledge base in order to store annotation data. You can use this feature to quickly annotate questions and expected answers to guide the model to the next answer. At present, the annotation function, like other data in the knowledge base, is affected by the model, which does not mean that the annotation meets 100% expectations. The \n\n annotation data is only unidirectional synchronization with the knowledge base. If the knowledge base modifies the annotation data, the annotation data displayed in the log cannot be synchronized", - "Mark Description Title": "Mark Description", + "Mark": "Mark Expected Answer", + "Mark Description": "The current mark function is a beta version.\n\nAfter clicking to add a mark, you need to select a knowledge base to store the mark data. You can use this function to quickly mark questions and expected answers to guide the model's answers next time.\n\nCurrently, like other data in the knowledge base, the marking function is affected by the model and does not represent 100% compliance with expectations after marking.\n\nThe marked data is only unidirectionally synchronized with the knowledge base. If the knowledge base modifies the marked data, the marked data displayed in the log cannot be synchronized.", + "Mark Description Title": "Introduction to Mark Function", "New Chat": "New Chat", "Pin": "Pin", - "Question Guide": "I guess what you're asking is", + "Question Guide": "You may want to ask", "Quote": "Quote", - "Quote Amount": "Dataset Quote:{{amount}}", - "Read Mark Description": "Read mark description", - "Record": "Speech", - "Restart": "Restart", - "Select File": "Select file", + "Quote Amount": "Knowledge Base Quotes ({{amount}} pieces)", + "Read Mark Description": "View mark function introduction", + "Record": "Voice Input", + "Restart": "Restart Conversation", + "Select File": "Select File", "Select Image": "Select Image", - "Select dataset": "Select Dataset", - "Select dataset Desc": "Select a dataset to store the expected answers", - "Send Message": "Send Message", - "Speaking": "I'm listening...", + "Select dataset": "Select Knowledge Base", + "Select dataset Desc": "Select a knowledge base to store the expected answer", + "Send Message": "Send", + "Speaking": "I'm listening, please speak...", "Start Chat": "Start Chat", - "Stop Speak": "Stop Speak", - "Type a message": "Enter your question here", + "Stop Speak": "Stop Recording", + "Type a message": "Enter a question", "Unpin": "Unpin", - "You need to a chat app": "You don't have apps available", + "You need to a chat app": "You don't have an available app", "error": { - "Chat error": "Chat error", - "Messages empty": "Interface content is empty, maybe the text is too long ~", - "Select dataset empty": "You didn't choose any dataset.", - "User input empty": "User question is empty" + "Chat error": "Conversation error", + "Messages empty": "Interface content is empty, the text may be too long~", + "Select dataset empty": "You have not selected a knowledge base", + "User input empty": "The passed user question is empty" }, "feedback": { "Close User Good Feedback": "", - "Close User Like": "The user like\nClick to close the tag", + "Close User Like": "User agrees\nClick to close this mark", "Feedback Close": "Close Feedback", - "No Content": "The user did not fill in the specific feedback content", - "Read User dislike": "User dislike\nClick to view content" + "No Content": "The user did not fill in specific feedback", + "Read User dislike": "User disagrees\nClick to view content" }, "logs": { - "api": "API", - "online": "Online Chat", - "share": "Share", - "test": "Test Chat " + "api": "API Call", + "online": "Online Usage", + "share": "External Link Call", + "test": "Test" }, "markdown": { "Edit Question": "Edit Question", - "Quick Question": "Ask the question immediately", + "Quick Question": "Click to ask immediately", "Send Question": "Send Question" }, "quote": { - "Quote Tip": "Only the actual reference content is displayed here. If the data is updated, it will not be updated in real time", - "Read Quote": "Read Quote", - "Read Source": "Read Source" + "Quote Tip": "Only actual quoted content is displayed here and will not be updated in real-time if data is updated", + "Read Quote": "View Quote", + "Read Source": "View Source" }, "response": { "Complete Response": "Complete Response", - "Extension model": "Extension model", - "Plugin response detail": "Plugin Detail", - "Read complete response": "Read Detail", - "Read complete response tips": "Click to see the detailed process", - "Tool call response detail": "Tool call detail", - "Tool call tokens": "Tool call tokens", - "context total length": "Context Length", - "module cq": "Question classification list", + "Extension model": "Question Optimization Model", + "Plugin response detail": "Plugin Details", + "Read complete response": "View Details", + "Read complete response tips": "Click to view detailed process", + "Tool call response detail": "Tool Run Details", + "Tool call tokens": "Tool Call Token Consumption", + "context total length": "Total Length of Context", + "module cq": "Question Classification List", "module cq result": "Classification Result", - "module extract description": "Extract Description", - "module extract result": "Extract Result", - "module historyPreview": "Messages", - "module http body": "Body", - "module http result": "Response", - "module http url": "Request Url", - "module if else Result": "if-else Result", - "module limit": "Count Limit", - "module maxToken": "MaxTokens", + "module extract description": "Extract Requirement Description", + "module extract result": "Extraction Result", + "module historyPreview": "Complete Record", + "module http body": "Request Body", + "module http result": "Response Body", + "module http url": "Request URL", + "module limit": "Single Search Limit", + "module maxToken": "Max Response Tokens", "module model": "Model", - "module name": "Name", - "module price": "Price", - "module query": "Question/Query", + "module name": "Model Name", + "module price": "Billing", + "module query": "Question/Search Keyword", "module question": "Question", - "module quoteList": "Quotes", - "module runningTime": "Time", - "module search query": "Query", + "module quoteList": "Quote Content", + "module runningTime": "Running Time", + "module search query": "Search Keyword", "module search response": "Search Result", "module similarity": "Similarity", "module temperature": "Temperature", "module time": "Running Time", "module tokens": "Total Tokens", - "plugin output": "Plugin Output", - "search using reRank": "ReRank", + "plugin output": "Plugin Output Value", + "search using reRank": "Result Reranking", "text output": "Text Output" }, - "retry": "Retry", + "retry": "Regenerate", "tts": { "Stop Speech": "Stop" } }, "common": { "tip": { - "leave page": "Content has been modified, are you sure to leave the page?" + "leave page": "Content has been modified, confirm to leave the page?" } }, "dataset": { - "All Dataset": "All Dataset", - "Avatar": "Avatar", - "Choose Dataset": "Choose Dataset", - "Chunk amount": "Chunks", + "All Dataset": "All Datasets", + "Avatar": "Dataset Avatar", + "Choose Dataset": "Link Dataset", + "Chunk amount": "Chunk Count", "Collection": "Collection", "Common Dataset": "Common Dataset", - "Common Dataset Desc": "Knowledge bases can be built by importing files, web links, or manual entry", - "Create dataset": "Create Dataset", + "Common Dataset Desc": "Build a dataset by importing files, web links or manual input", + "Create dataset": "Create a dataset", "Dataset": "Dataset", "Dataset ID": "Dataset ID", "Dataset Type": "Dataset Type", - "Delete Confirm": "Are you sure to delete the knowledge base? Data cannot be recovered after deletion, please confirm!", - "Delete Website Tips": "Confirm to delete the website", + "Delete Confirm": "Confirm deleting this dataset? Data cannot be recovered after deletion, please confirm!", + "Delete Website Tips": "Confirm deleting this website?", "Empty Dataset": "", - "Empty Dataset Tips": "There is no knowledge base yet, go create one!", - "File collection": "File collection", + "Empty Dataset Tips": "No datasets yet, go create one!", + "File collection": "File Collection", "Folder Dataset": "Folder", - "Folder placeholder": "This is a folder", - "Go Dataset": "To Dataset", - "Intro Placeholder": "This dataset has not yet been introduced~", - "Manual collection": "Manual collection", - "My Dataset": "My Dataset", - "Name": "Name", - "Query extension intro": "If the problem completion function is enabled, the accuracy of knowledge base search can be improved in continuous conversations. After this function is enabled, when searching the knowledge base, AI will be used to complete the missing information of the problem according to the conversation records.", - "Quote Length": "Quote Length", - "Read Dataset": "Read Dataset", - "Search score tip": "{{scoreText}}Here are the rankings and scores:\n----\n{{detailScore}}", - "Select dataset": "Select dataset", - "Set Empty Result Tip": ",Response empty text", - "Set Website Config": "Configuring Website", - "Similarity": "Similarity", + "Folder placeholder": "This is a directory", + "Go Dataset": "Go to Dataset", + "Intro Placeholder": "This dataset doesn't have a description yet~", + "Manual collection": "Manual Collection", + "My Dataset": "My Datasets", + "Name": "Dataset Name", + "Query extension intro": "Enabling query optimization can improve the accuracy of dataset searches during continuous conversations. When enabled, the AI will complete missing information in the query based on the conversation history when performing a dataset search.", + "Quote Length": "Quote Content Length", + "Read Dataset": "View Dataset Details", + "Search score tip": "{{scoreText}} The detailed ranking and scores are as follows:\n----\n{{detailScore}}", + "Select dataset": "Select Dataset", + "Set Empty Result Tip": ", reply with specified content when no results are found", + "Set Website Config": "Start configuring website info", + "Similarity": "Relevance", "Start export": "Export started", - "Sync Time": "Update Time", - "Table collection": "Table collection", - "Text collection": "Text collection", - "Total chunks": "Chunks: {{total}}", - "Website Dataset": "Website Sync", - "Website Dataset Desc": "Web site synchronization allows you to build a knowledge base directly from a web link", + "Sync Time": "Last Updated", + "Table collection": "Table Collection", + "Text collection": "Text Collection", + "Total chunks": "Total Chunks: {{total}}", + "Website Dataset": "Web Site Sync", + "Website Dataset Desc": "Web site sync allows you to directly build a dataset using a webpage link", "collection": { - "Click top config website": "Config", - "Collection name": "Collection name", - "Collection raw text": "Collection raw text", + "Click top config website": "Click to configure website", + "Collection name": "Collection Name", + "Collection raw text": "Collection Content", "Empty Tip": "The collection is empty", - "QA Prompt": "QA Prompt", - "Start Sync Tip": "Are you sure to start synchronizing data? The old data will be deleted and then re-acquired, please confirm!", - "Sync": "Data Sync", + "QA Prompt": "QA Split Prompt", + "Start Sync Tip": "Confirm starting data sync? Old data will be deleted and re-fetched, please confirm!", + "Sync": "Sync Data", "Sync Collection": "Data Sync", - "Website Create Success": "Created successfully, data is being synchronized", - "Website Empty Tip": "No associated website yet", - "Website Link": "Website Link", - "Website Sync": "Website", - "id": "Id", + "Website Create Success": "Created successfully, data sync in progress", + "Website Empty Tip": "No linked websites yet", + "Website Link": "Website URL", + "Website Sync": "Website Sync", + "id": "Collection ID", "metadata": { "Chunk Size": "Chunk Size", - "Createtime": "Create Time", - "Raw text length": "Raw text length", - "Read Metadata": "Read Metadata", - "Training Type": "Training Type", - "Updatetime": "Update Time", - "Web page selector": "Web Selector", + "Createtime": "Created At", + "Raw text length": "Raw Text Length", + "Read Metadata": "View Metadata", + "Training Type": "Training Mode", + "Updatetime": "Updated At", + "Web page selector": "Web Page Selector", "metadata": "Metadata", - "read source": "Read Source", - "source": "Source", + "read source": "View Raw Content", + "source": "Data Source", "source name": "Source Name", "source size": "Source Size" }, @@ -642,1031 +607,959 @@ }, "sync": { "result": { - "sameRaw": "The content has not changed and no update is required.", - "success": "Start synchronization" + "sameRaw": "Content unchanged, no update needed", + "success": "Sync started" } - } + }, + "training": {} }, "data": { "Auxiliary Data": "Auxiliary Data", - "Auxiliary Data Placeholder": "This section is optional, usually in conjunction with the previous [data content], to build a structured prompt word, for special scenarios, up to {{maxToken}} words.", - "Auxiliary Data Tip": "This section is divided into optional fields \n This content is usually designed to work with the previous data content to build structured prompt words for special scenarios", - "Data Content": "Data Content", - "Data Content Placeholder": "The input field is required, and the content is usually a description of the knowledge point, or it can be a user question, at most {{maxToken}} words.", - "Data Content Tip": "The input box is a required field \n The content is usually a description of the knowledge point, but also can be a user question.", - "Default Index Tip": "Cannot be edited, the default index will use the text of [related data content] and [auxiliary data] to generate an index directly, if the default index is not needed, you can delete it. Each piece of data must have more than one index. After all indexes are deleted, a default index is automatically generated.", + "Auxiliary Data Placeholder": "This is an optional field, usually used to construct structured prompts together with the [Data Content] for special scenarios, up to {{maxToken}} characters.", + "Auxiliary Data Tip": "This is an optional field\nThis content is usually used to construct structured prompts together with the data content for special scenarios", + "Data Content": "Relevant Data Content", + "Data Content Placeholder": "This is a required field, usually a description of a knowledge point or a user's question, up to {{maxToken}} characters.", + "Data Content Tip": "This is a required field\nThis content is usually a description of a knowledge point or a user's question.", + "Default Index Tip": "Cannot edit, the default index will directly generate indexes using the text from [Relevant Data Content] and [Auxiliary Data].", "Edit": "Edit Data", - "Empty Tip": "This collection has no data yet", - "Main Content": "Main content", + "Empty Tip": "This collection has no data yet~", + "Main Content": "Main Content", "Search data placeholder": "Search relevant data", - "Too Long": "Content is too long", - "Total Amount": "{{total}} Chunks", - "data is deleted": "Data is deleted", - "get data error": "Get data error", + "Too Long": "Total length exceeded", + "Total Amount": "{{total}} sets", + "data is deleted": "This data has been deleted", + "get data error": "Error getting data", "id": "Data ID", - "unit": "pieces" + "unit": " items" }, - "embedding model tip": "The index model can transform the natural language into vectors for semantic retrieval. Note that different index models cannot be used together and cannot be modified after selecting the index model.", + "embedding model tip": "The index model can convert natural language into vectors for semantic retrieval.\nNote that different index models cannot be used together. Once an index model is selected, it cannot be changed.", "error": { - "Data not found": "The data does not exist or has been deleted", - "Start Sync Failed": "Start Sync Failed", + "Data not found": "Data does not exist or has been deleted", + "Start Sync Failed": "Failed to start sync", "Template does not exist": "Template does not exist", - "unAuthDataset": "No access to this knowledge base ", - "unAuthDatasetCollection": "Not authorized to manipulate this data set ", - "unAuthDatasetData": "Not authorized to manipulate this data ", - "unAuthDatasetFile": "No permission to manipulate this file ", - "unCreateCollection": "No permission to manipulate this data ", - "unLinkCollection": "not a network link collection" + "unAuthDataset": "No permission to operate on this dataset", + "unAuthDatasetCollection": "No permission to operate on this collection", + "unAuthDatasetData": "No permission to operate on this data", + "unAuthDatasetFile": "No permission to operate on this file", + "unCreateCollection": "No permission to operate on this data", + "unLinkCollection": "Not a web link collection" }, "file": "File", "folder": "Folder", "import": { - "Auto mode Estimated Price Tips": "Need to call the file processing model, need to consume more Tokens: {{price}} credits /1k Tokens", + "Auto mode Estimated Price Tips": "Requires calling file processing model, consumes many tokens: {{price}} points/1k Tokens", "Auto process": "Auto", - "Auto process desc": "Automatically set segmentation and preprocessing rules", - "CSV Import": "CSV QA Import", - "CSV Import Tip": "Import q and a from csv, data is required to be sorted out in advance", + "Auto process desc": "Automatically set chunking and preprocessing rules", + "CSV Import": "CSV Import", + "CSV Import Tip": "Batch import QA pairs, data needs to be prepared in advance", "Chunk Range": "Range: {{min}}~{{max}}", - "Chunk Split": "Chunk Split", - "Chunk Split Tip": "After the text is segmented according to certain rules, it is converted into a format that can conduct semantic search, which is suitable for most scenarios.", - "Chunk length": "Chunk length", - "Csv format error": "The csv file format is incorrect, please ensure that the index and content columns are two", - "Custom file": "", - "Custom process": "Custom rule", - "Custom process desc": "Customize scoring and preprocessing rules", - "Custom prompt": "Custom prompt", - "Custom split char": "Custom split char", - "Custom split char Tips": "Allows you to block according to custom delimiters. It is usually used for processed data, using specific delimiters to precisely block it.", - "Custom text": "Custom text", - "Custom text desc": "Manually enter a piece of text as the collection", - "Data Preprocessing": "Data Preprocessing", - "Data file progress": "Data upload progress", - "Data process params": "Data process params", - "Down load csv template": "Down load csv template", - "Embedding Estimated Price Tips": "Use only the index model and consume a small amount of Tokens: {{price}} credits /1k Tokens", - "Estimated Price": "Estimated Price: : {{amount}}{{unit}}", - "Estimated Price Tips": "QA charges: {{charsPointsPrice}} points/1k Tokens", - "Estimated points": "About {{points}} points", - "Fetch Error": "Get link failed", - "Fetch Url": "Url", + "Chunk Split": "Direct Chunking", + "Chunk Split Tip": "Splits text into chunks according to certain rules and converts into a format that can be semantically searched, suitable for most scenarios. Does not require calling models for extra processing, low cost.", + "Chunk length": "Total Chunks", + "Csv format error": "CSV file format error, please ensure there are 'index' and 'content' columns", + "Custom file": "Custom Text", + "Custom process": "Custom Rules", + "Custom process desc": "Customize chunking and preprocessing rules", + "Custom prompt": "Custom Prompt", + "Custom split char": "Custom Delimiter", + "Custom split char Tips": "Allows you to chunk based on custom delimiters. Usually used for pre-processed data to precisely chunk using specific delimiters.", + "Custom text": "Custom Text", + "Custom text desc": "Manually input a piece of text as the dataset", + "Data Preprocessing": "Data Processing", + "Data file progress": "Data Upload Progress", + "Data process params": "Data Processing Parameters", + "Down load csv template": "Click to download CSV template", + "Embedding Estimated Price Tips": "Only uses index model, consumes few tokens: {{price}} points/1k Tokens", + "Estimated Price": "Estimated Price: {{amount}}{{unit}}", + "Estimated Price Tips": "QA billing is\nInput: {{charsPointsPrice}} points/1k Tokens", + "Estimated points": "Estimated {{points}} points consumed", + "Fetch Error": "Failed to fetch link", + "Fetch Url": "Web Link", "Fetch url placeholder": "Up to 10 links, one per line.", - "Fetch url tip": "Only static links can be read, please check the results", + "Fetch url tip": "Only supports reading static links, please check the results", "File chunk amount": "Chunks: {{amount}}", - "File list": "Files", - "Ideal chunk length": "Chunk length", - "Ideal chunk length Tips": "Segment by end symbol. We recommend that your document should be properly punctuated to ensure that each complete sentence length does not exceed this value \n Chinese document recommended 400~1000\n English document recommended 600~1200", - "Import Failed": "Import Failed", - "Import Success Tip": "The {{num}} group data is imported successfully. Please wait for training.", - "Import Tip": "This task cannot be terminated and takes some time to generate indexes. Please confirm the import. If the balance is insufficient, the unfinished task will be suspended and can continue after topping up.", + "File list": "File List", + "Ideal chunk length": "Ideal Chunk Length", + "Ideal chunk length Tips": "Chunk based on end punctuation. We recommend your documents use punctuation appropriately to ensure each complete sentence does not exceed this length\nChinese documents recommend 400~1000\nEnglish documents recommend 600~1200", + "Import Failed": "File import failed", + "Import Success Tip": "Successfully imported {{num}} sets of data, please wait patiently for training.", + "Import Tip": "This task cannot be terminated and requires some time to generate indexes, please confirm the import. If your balance is insufficient, unfinished tasks will be paused and can be resumed after recharging.", "Import success": "Import successful, please wait for training", - "Link name": "Link name", - "Link name placeholder": "Only static links are supported\nOne per line, up to 10 links at a time", - "Local file": "Local file", - "Local file desc": "Upload files in PDF, TXT, DOCX and other formats", - "Only Show First 50 Chunk": "Show only part", - "Predicted chunk": "Predicted chunk", - "Predicted chunk amount": "Predicted chunks:{{amount}}", - "Predicted total chars": "Predicted chars: {{total}}", - "Preview chunks": "Preview chunks", - "Preview raw text": "Preview file text (max show 3000 words)", - "Process way": "Process way", - "QA Estimated Price Tips": "Need to call the file processing model, need to consume more Tokens: {{price}} credits /1k Tokens", + "Link name": "Web Link", + "Link name placeholder": "Only supports static links, if data is empty after uploading, the link may not be readable\nOne per line, up to 10 links each time", + "Local file": "Local File", + "Local file desc": "Upload files in formats like PDF, TXT, DOCX, etc.", + "Only Show First 50 Chunk": "Only showing partial", + "Predicted chunk": "Estimated Chunks", + "Predicted chunk amount": "Estimated Chunks:{{amount}}", + "Predicted total chars": "Estimated Characters: {{total}}", + "Preview chunks": "Preview Chunks (up to 5)", + "Preview raw text": "Preview Source Text (up to 3000 characters)", + "Process way": "Processing Method", + "QA Estimated Price Tips": "Requires calling file processing model, consumes many tokens: {{price}} points/1k Tokens", "QA Import": "QA Split", - "QA Import Tip": "According to certain rules, the text is broken into a larger paragraph, and the AI is invoked to generate a question and answer pair for the paragraph.", - "Re Preview": "RePreview", - "Select file": "Select file", - "Select source": "Select source", - "Set Chunk Error": "Split chunks error", - "Source name": "Source name", - "Sources list": "Sources", - "Start upload": "Start", - "Total Chunk Preview": "Chunk Preview: {{totalChunks}} ", - "Total files": "Total {{total}} files", - "Total tokens": "Tokens", - "Training mode": "Training mode", - "Upload data": "Upload data", - "Upload file progress": "Upload state", + "QA Import Tip": "Splits text into larger paragraphs according to certain rules, calls AI to generate QA pairs for each paragraph. Has very high retrieval accuracy but will lose many content details.", + "Re Preview": "Re-generate Preview", + "Select file": "Select File", + "Select source": "Select Source", + "Set Chunk Error": "Text chunking error", + "Source name": "Source Name", + "Sources list": "Sources List", + "Start upload": "Start Upload", + "Total Chunk Preview": "Chunk Preview ({{totalChunks}} sets)", + "Total files": "{{total}} files total", + "Total tokens": "Total Tokens", + "Training mode": "Training Mode", + "Upload data": "Upload Data", + "Upload file progress": "File Upload Progress", "Upload status": "Status", - "Upload success": "Upload success", - "Web link": "Web link", - "Web link desc": "Fetch static web content as a collection" + "Upload success": "Upload Successful", + "Web link": "Web Link", + "Web link desc": "Read static webpage content as dataset" }, "link": "Link", "search": { - "Basic params": "Basic settings", - "Dataset Search Params": "Dataset search configuration", - "Embedding score": "Embedding score", - "Empty result response": "Empty Response", - "Empty result response Tips": "If you fill in the content, if no suitable content is found, you will directly reply to the content.", - "Filter": "Search filter", - "Limit": "Search limit", - "Max Tokens": "Max Tokens", - "Max Tokens Tips": "The maximum number of Tokens in a single search, about 1 word in Chinese =1.7Tokens, about 1 word in English =1 tokens", - "Min Similarity": "Min Similarity", - "Min Similarity Tips": "The similarity of different index models is different, please use the search test to select the appropriate value", - "No support similarity": "Relevance filtering is supported when using only rearrangement or semantic search", - "Nonsupport": "Nonsupport", + "Basic params": "Basic Parameters", + "Dataset Search Params": "Dataset Search Configuration", + "Embedding score": "Semantic Search Score", + "Empty result response": "Empty Result Reply", + "Empty result response Tips": "If this is filled, when no suitable content is found, the filled content will be directly replied.", + "Filter": "Search Filter", + "Limit": "", + "Max Tokens": "Quote Limit", + "Max Tokens Tips": "Maximum Tokens per search, for Chinese about 1 character=1.7 Tokens, for English about 1 character=1 Token", + "Min Similarity": "Minimum Relevance", + "Min Similarity Tips": "Relevance differs for different index models, please use search tests to select an appropriate value. When using ReRank, the relevance may be very low.", + "No support similarity": "Relevance filtering is only supported when using result reranking or semantic search", + "Nonsupport": "Not supported", "Not similarity": "", - "Params Setting": "Params Setting", - "Quote index": "Quote index", + "Params Setting": "Search Parameter Settings", + "Quote index": "Quote Index", "Rank": "Rank", - "Rank Tip": "Ranking in all data", - "ReRank": "ReRank", - "ReRank desc": "The rearrangement model is used for secondary ranking to enhance the overall ranking.", - "Read score": "Read score", - "Rerank score": "ReRank score", + "Rank Tip": "Ranking among all data", + "ReRank": "Result Reranking", + "ReRank desc": "Use a reranking model for secondary sorting to enhance overall ranking.", + "Read score": "View Score", + "Rerank score": "Rerank Score", "Score": "Score", "Search type": "Type", "Source id": "Source ID", - "Source name": "Source", - "Tool description": "Description", - "Top K": "Top K", - "Using cfr": "Open query extension", - "Using query extension": "Open query extension", + "Source name": "Quote Source Name", + "Tool description": "Invocation Timing", + "Top K": "Single Search Limit", + "Using cfr": "", + "Using query extension": "Using Query Optimization", "mode": { - "embedding": "Vector recall", - "embedding desc": "Use vectors for text correlation queries", - "fullTextRecall": "Full text recall ", - "fullTextRecall desc": "Using traditional full-text search, suitable for finding data with specific keywords and main predicates", - "mixedRecall": "Mixed recall", - "mixedRecall desc": "Returns the combined results of vector and full-text searches, sorted using the RRF algorithm." + "embedding": "Semantic Search", + "embedding desc": "Use vectors for text relevance queries", + "fullTextRecall": "Full-text Search", + "fullTextRecall desc": "Use traditional full-text search, suitable for finding data with specific keywords and subject-predicate combinations", + "mixedRecall": "Mixed Search", + "mixedRecall desc": "Return the combined results of vector search and full-text search, ranked using the RRF algorithm." }, "score": { - "embedding": "Embedding", - "embedding desc": "Text correlation query using vectors", - "fullText": "FullText", - "fullText desc": "Calculate the score of the same keyword, ranging from 0 to infinity.", - "fullTextRecall": "Full text recall", - "fullTextRecall desc": "Using traditional full-text search, suitable for finding specific data with keywords and main predicates ", - "mixedRecall": "Mixed recall", - "mixedRecall desc": "Returns the combined results of vector and full-text searches, sorted using the RRF algorithm.", - "reRank": "ReRank", - "reRank desc": "The correlation degree between sentences was calculated by ReRank model, ranging from 0 to 1.", - "rrf": "RRF", - "rrf desc": "Multiple search results are combined by inverting calculation." + "embedding": "Semantic Search", + "embedding desc": "Calculate the score by computing the distance between vectors, range 0~1.", + "fullText": "Full-text Search", + "fullText desc": "Calculate the score of matching keywords, range 0~infinity.", + "fullTextRecall": "", + "fullTextRecall desc": "", + "mixedRecall": "", + "mixedRecall desc": "", + "reRank": "Result Reranking", + "reRank desc": "Calculate the relevance between sentences using a ReRank model, range 0~1.", + "rrf": "Overall Ranking", + "rrf desc": "Merge multiple search results by calculating inverted rankings." }, "search mode": "Search Mode" }, "settings": { - "Search basic params": "" + "Search basic params": "Search Parameters" }, "status": { "active": "Ready", "syncing": "Syncing" }, "test": { - "Batch test": "Batch test", - "Batch test Placeholder": "Select one csv file", + "Batch test": "Batch Test", + "Batch test Placeholder": "Select a CSV file", "Search Test": "Search Test", - "Test": "Start", - "Test File": "", - "Test Result": "Results", - "Test Text": "Text", - "Test Text Placeholder": "Enter the text you want to test", - "Test params": "Search Params", - "delete test history": "Delete the test result", + "Test": "Test", + "Test File": "Batch Test", + "Test Result": "Test Result", + "Test Text": "Single Text Test", + "Test Text Placeholder": "Enter text to test", + "Test params": "Test Parameters", + "delete test history": "Delete this test result", "test history": "Test History", - "test result placeholder": "The test results will be presented here", - "test result tip": "The contents of the knowledge base are sorted according to their similarity to the test text, and you can adjust the corresponding text according to the test results. Note: The data in the test record may have been modified, clicking on a test data will show the latest data." + "test result placeholder": "Test results will be shown here", + "test result tip": "Results are ranked by the similarity between the dataset content and test text. You can adjust the corresponding text based on the test results.\nNote: The data in the test records may have been modified. Clicking on a test data will show the latest data." }, "training": { - "Agent queue": "QA wait list", - "Auto mode": "Enhancement process", - "Auto mode Tip": "Subindex and call model are used to generate relevant questions and abstracts to increase the semantic richness of data blocks and facilitate retrieval. It consumes more storage space and increases the number of AI calls.", - "Chunk mode": "Chunk split", - "Full": "Expect more than 5 minutes", - "Leisure": "Leisure", - "Manual": "Manual import", - "Manual mode": "", - "QA mode": "QA learning", - "Vector queue": "Vector wait list", - "Waiting": "Waiting", + "Agent queue": "QA Training Queue", + "Auto mode": "Enhanced Processing (Experimental)", + "Auto mode Tip": "Increase the semantic richness of data chunks through sub-indexes and calling models to generate related questions and summaries, which is more conducive to retrieval. Requires more storage space and increases AI invocations.", + "Chunk mode": "Direct Chunking", + "Full": "Estimated over 5 minutes", + "Leisure": "Idle", + "Manual": "", + "Manual mode": "Manual Import", + "QA mode": "QA Split", + "Vector queue": "Indexing Queue", + "Waiting": "Estimated 5 minutes", "Website Sync": "Website Sync" }, "website": { - "Base Url": "BaseUrl", - "Config": "Website Configuring", - "Config Description": "The Web site synchronization function allows you to fill in the root address of a website, and the system will automatically crawl the relevant pages deeply for knowledge base training. Only crawls static websites, mainly project documents and blogs.", - "Confirm Create Tips": "Confirm to synchronize the site, the synchronization task will start later, please confirm!", - "Confirm Update Tips": "Are you sure to update the site configuration? The synchronization starts immediately with the new configuration. Please confirm", + "Base Url": "Base URL", + "Config": "Website Configuration", + "Config Description": "The website sync function allows you to enter the base URL of a website, and the system will automatically deeply crawl related webpages for dataset training. Only static websites, mainly project documentation and blogs, will be crawled.", + "Confirm Create Tips": "Confirm syncing this site. The sync task will start afterwards. Please confirm!", + "Confirm Update Tips": "Confirm updating site configuration? Syncing will immediately start with the new configuration, please confirm!", "Selector": "Selector", - "Selector Course": "Instructions", + "Selector Course": "Tutorial", "Start Sync": "Start Sync", - "UnValid Website Tip": "Your site may not be static and cannot be synchronized" + "UnValid Website Tip": "Your site may not be a static site and cannot be synced" } }, "module": { - "Add question type": "Add type", - "Can not connect self": "Cannot connect itself", - "Confirm Delete Node": "", + "Add question type": "Add Question Type", + "Can not connect self": "Cannot Connect to Self", + "Confirm Delete Node": "Confirm Delete Node?", "Data Type": "Data Type", "Dataset quote": { - "Add quote": "Add quote", - "Concat result": "Concat result", - "Input description": "", - "label": "Dataset quote" + "Add quote": "Add Quote", + "Concat result": "Concatenate Results", + "Input description": "Can accept results from knowledge base search.", + "label": "Knowledge Base Quote" }, - "Default Value": "Default value", - "Default value": "Default ", - "Default value placeholder": "Null characters are returned by default", - "Edit intro": "Edit", - "Field Description": "Description", - "Field Name": "Name", - "Field Type": "Type", - "Field key": "Key", - "Http request props": "Request props", - "Http request settings": "Request settings", + "Default value": "Default Value", + "Default value placeholder": "If left blank, empty string will be returned by default", + "Edit intro": "Edit Description", + "Field Description": "Field Description", + "Field Name": "Field Name", + "Field Type": "Field Type", + "Field key": "Field Key", + "Http request props": "Request Parameters", + "Http request settings": "Request Configuration", "Input Type": "Input Type", - "Laf sync params": "Sync params", - "Max Length": "Max Length", - "Max Length placeholder": "The max length of input text", - "Max Value": "Max Value", - "Min Value": "", - "Model List": "Model list", - "No Config Tips": "no configuration", - "Output Type": "Output Type", - "Plugin output must connect": "Custom outputs must all be connected", - "Plugin tool Description": "", + "Laf sync params": "Sync Parameters", + "Plugin output must connect": "Custom output must be fully connected", "QueryExtension": { - "placeholder": "Questions about python introduction and usage, etc. The current conversation is related to the game GTA5.", - "tip": "Describes the scope of the current conversation, making it easier for the AI to complete first or vague questions, thereby enhancing the knowledge base's ability to continue conversations.If \n is empty, the question completion function is not used in the first conversation. " + "placeholder": "For example:\nQuestions about Python introduction and usage.\nThe current conversation is related to the game \"GTA5\".", + "tip": "Describe the scope of the current conversation to help AI complete initial or ambiguous questions, enhancing the knowledge base's capability for continuous dialogue. It is recommended to briefly describe the context of the conversation when this feature is enabled, otherwise inaccurate completions may occur." }, - "Quote prompt setting": "Quote prompt setting", + "Quote prompt setting": "Quote Prompt Configuration", "Qupte prompt setting": "", - "Select Data List": "Data list", - "Select app": "Select app", - "Setting quote prompt": "Setting quote prompt", - "Unlink tip": "[{{name}}] An unfilled or unconnected parameter exists", - "Variable": "Variables", + "Select app": "Select Application", + "Setting quote prompt": "Configure Quote Prompt", + "Unlink tip": "【{{name}}】has unfilled or unconnected parameters", + "Variable": "Global Variable", "Variable Setting": "Variable Setting", - "Variable import": "Variable import", + "Variable import": "External Parameter Input", "edit": { - "Field Already Exist": "Key already exist", - "Field Edit": "Field Edit", - "Field Name Cannot Be Empty": "Field Name Cannot Be Empty" + "Field Already Exist": "Duplicate key", + "Field Edit": "Field Edit" }, "extract": { - "Add field": "Add", - "Enum Description": "Lists the possible values for the field, one per row", - "Enum Value": "Enum", - "Field Description Placeholder": "Name/age /sql statement......", - "Field Setting Title": "Extract field configuration", + "Add field": "Add Field", + "Enum Description": "List possible values for this field, one per line", + "Enum Value": "Enum Value", + "Field Description Placeholder": "Name/Age/SQL Statement...", + "Field Setting Title": "Extraction Field Configuration", "Required": "Required", - "Required Description": "Even if the field cannot be extracted, it is returned with the default value", - "Target field": "Field" + "Required Description": "Even if the field cannot be extracted, it will be returned with a default value", + "Target field": "Target Field" }, "http": { - "Add props": "Add props", - "AppId": "appId", - "ChatId": "chatId", - "Current time": "Current time", - "Histories": "histories", - "Key already exists": "Key already exists", - "Key cannot be empty": "Name cannot be empty", - "Props name": "Name", - "Props tip": "You can set parameters related to Http requests\nGlobal changes or external parameter inputs can be invoked by {{key}}", - "Props value": "Value", - "ResponseChatItemId": "Ai response id", - "Url and params have been split": "Path parameters are automatically added to Params", - "Variables": "Global variables", - "curl import": "curl Import", - "curl import placeholder": "Please enter the curl format content, and the request information for the first interface will be extracted.", - "params": "" + "Add props": "Add Parameter", + "AppId": "Application ID", + "ChatId": "Current Conversation ID", + "Current time": "Current Time", + "Histories": "History, up to 10 records", + "Key already exists": "Key Already Exists", + "Key cannot be empty": "Parameter name cannot be empty", + "Props name": "Parameter Name", + "Props tip": "You can set relevant parameters for HTTP requests\nGlobal variables or external parameter inputs can be invoked using {{key}}, currently available variables:\n{{variable}}", + "Props value": "Parameter Value", + "ResponseChatItemId": "AI Reply ID", + "Url and params have been split": "URL parameters have been automatically added to Params", + "Variables": "Global Variables", + "curl import": "cURL Import", + "curl import placeholder": "Please enter content in cURL format, request information for the first interface will be extracted.", + "params": "Params" }, "input": { "Add Input": "Add Input", "Input Number": "Input: {{length}}", - "add": "Add condition", "description": { - "Background": "", - "HTTP Dynamic Input": "Receive output values from preceding nodes as variables, which can be used as parameters in HTTP requests.", - "Http Request Header": "User-defined request header, please strictly fill in the JSON string.\n1. Make sure the last attribute has no commas\n2. Make sure key contains double quotes\nFor example: {\"Authorization\":\"Bearer xxx\"}", - "Http Request Url": "New HTTP request address. If two 'request addresses' appear, the module can be deleted and rejoined, and the latest module configuration will be pulled.", - "Quote": "Object array format, structure:\n[{q:' question ',a:' answer '}]", - "Response content": "You can use \\n to achieve continuous line wrapping.\nReplies can be achieved by external module input, which overwrites the content currently filled in.\nIf passed non-string type data will be automatically converted to a string", - "TFSwitch textarea": "Allows you to define a number of strings to achieve false matching, one per line, and supports regular expressions.", - "Trigger": "Most of the time, you don't need to concatenate this property. You can connect this property when you need to delay execution, or precisely control the timing of execution.", - "dynamic input": "Receives parameters dynamically added by the user and will be tiled in at run time ", - "textEditor textarea": "The passed variable can be referenced by {{key}}. Variables support only strings or numbers." + "Background": "You can add introductions to specific content for better identification of user question types. This content is usually used to introduce something the model doesn't know.", + "Http Request Header": "Custom request headers, please fill in strict JSON string.\n1. Ensure the last property has no comma\n2. Ensure keys are wrapped in double quotes\nFor example: {\"Authorization\":\"Bearer xxx\"}", + "Http Request Url": "New HTTP request URL. If there are two \"Request URLs\", you can delete the module and add it again to fetch the latest module configuration.", + "Quote": "Object array format, structure:\n[{q:'question',a:'answer'}]", + "Response content": "You can use \\n to achieve continuous line breaks.\nReplies can be implemented through external module input, which will overwrite the currently filled content when invoked.\nNon-string type data will be automatically converted to string when passed in", + "TFSwitch textarea": "Allows defining some strings to achieve false matching, one per line, supports regular expressions.", + "Trigger": "Most of the time, you don't need to connect this attribute.\nWhen you need to delay execution or precisely control timing, you can connect this attribute.", + "dynamic input": "Receives dynamically added parameters from users, these parameters will be flattened and passed in at runtime", + "textEditor textarea": "Variables passed in can be referenced using {{key}}. Variables only support strings or numbers." }, "label": { - "Background": "Background", - "Classify model": "Classify model", - "Http Request Header": "Request header ", + "Background": "Background Knowledge", + "Classify model": "Classification Model", + "Http Request Header": "Request Header", "Http Request Method": "Request Method", - "Http Request Url": "Request address ", - "LLM": "", - "Quote": "Quote", - "Response content": "Response content", - "Select dataset": "Select dataset", - "TFSwitch input tip": "", - "TFSwitch textarea": "Custom False matching rule ", - "aiModel": "AI model ", - "anyInput": "Any input", - "chat history": "chat history", + "Http Request Url": "Request URL", + "LLM": "AI Model", + "Quote": "Quote Content", + "Response content": "Reply Content", + "Select dataset": "Select Knowledge Base", + "TFSwitch input tip": "Any content input", + "TFSwitch textarea": "Custom False Matching Rules", + "aiModel": "AI Model", + "anyInput": "", + "chat history": "Chat History", "switch": "Trigger", - "system params": "System params", - "textEditor textarea": "Text edit", - "user question": "User question" + "textEditor textarea": "Text Editor", + "user question": "User Question" }, "placeholder": { - "Classify background": "For example:\n1.AIGC (Artificial Intelligence Generates content) refers to the automatic or semi-automatic generation of digital content, such as text, images, music, videos, and so on, using artificial intelligence technologies. AIGC technologies include, but are not limited to, natural language processing, computer vision, machine learning, and deep learning. These technologies can create new content or modify existing content to meet specific creative, educational, entertainment or information needs." + "Classify background": "For example:\n1. AIGC (AI-Generated Content) refers to automatically or semi-automatically generating digital content such as text, images, music, videos, etc. using artificial intelligence technology.\n2. AIGC technology includes but is not limited to natural language processing, computer vision, machine learning, and deep learning. These technologies can create new content or modify existing content to meet specific creative, educational, entertainment, or informational needs." } }, + "inputType": { + "chat history": "Chat History", + "dynamicTargetInput": "Dynamic External Data", + "input": "Input Box", + "selectApp": "Select Application", + "selectDataset": "Select Knowledge Base", + "selectLLMModel": "Select Dialogue Model", + "switch": "Switch", + "target": "External Data", + "textarea": "Paragraph Input" + }, "laf": { - "Select laf function": "" + "Select laf function": "Select LAF Function" }, "output": { "Add Output": "Add Output", "Output Number": "Output: {{length}}", "description": { - "Ai response content": "Will be triggered after the stream reply is complete", - "New context": "Concatenate the reply content with history and return it as a new context", - "Quote": "Always return an array, if you want the search results to be empty to perform additional operations, you need to use the above two inputs and the trigger of the target module", - "query extension result": "Output as an array of strings to connect the result directly to the 'Question' of the knowledge base search", - "running done": "Triggered when the module call finish" + "Ai response content": "Will be triggered after stream reply is complete", + "New context": "Concatenates the current reply content with the history and returns it as the new context", + "Quote": "Always returns an array, if you want to perform additional operations when search results are empty, you need to use the above two inputs and the trigger of the target module", + "query extension result": "Outputs as a string array, this result can be directly connected to the \"User Question\" of \"Knowledge Base Search\", it is recommended not to connect it to the \"User Question\" of \"AI Conversation\"", + "running done": "Triggered when module invocation ends" }, "label": { - "Ai response content": "Response Content", - "New context": "New context", - "Quote": "Quote", - "Search result empty": "Search result empty", - "Search result not empty": "Search result not empty", - "query extension result": "Response text", + "Ai response content": "AI Reply Content", + "New context": "New Context", + "Quote": "Quote Content", + "Search result empty": "Search Results Empty", + "Search result not empty": "Search Results Not Empty", + "query extension result": "Optimization Result", "result false": "False", "result true": "True", - "running done": "done", - "text": "Text output" + "running done": "Module Invocation Ended", + "text": "Text Output" } }, "template": { - "AI response switch tip": "If you want the current node not to output content, you can turn this switch off. AI output content will not be shown to the user, you can manually use the \"AI reply content\" for special processing.", - "AI support tool tip": "A model that supports function calls allows better use of tool calls.", - "Ai chat": "LLM Chat", - "Ai chat intro": "Request LLM chat", - "App system setting": "", - "Assigned reply": "Assigned reply", - "Assigned reply intro": "The module can respond directly to a specified piece of content. Often used to guide and prompt. When non-string content is passed in, it is converted to a string for output.", - "Basic Node": "Basic Node", - "Chat entrance": "Chat entrance", - "Chat entrance intro": "When the user sends a content, the flow will start from this module.", - "Classify question": "Classify question", - "Classify question intro": "Determine the type of question based on the user's history and current issue. Multiple sets of question types can be added, here is a template example: \n type 1: Hello\ntype 2: Questions about 'use'\ntype 3: Questions about 'purchase'\ntype 4: Other questions", - "Dataset search": "Dataset search", - "Dataset search intro": "Invoke the Dataset search capability to find content that may be relevant to the problem", - "Dataset search result concat intro": "Multiple knowledge base search results can be combined and output", - "External module": "External call", - "Extract field": "Text content extraction ", - "Extract field intro": "Can extract specified data from the text, such as: sql statements, search keywords, code, etc.", - "Function module": " Function call", - "Guide module": "Guides", - "Http request": "Http request", - "Http request intro": " Can issue an HTTP request to implement more complex operations (Internet search, database query, etc.)", - "My plugin module": "Personal plugins", - "Query extension": "Query extension", - "Query extension intro": "If the problem completion function is enabled, the accuracy of knowledge base search can be improved in continuous conversations. After this function is enabled, when searching the knowledge base, AI will be used to complete the missing information of the problem according to the conversation records.", - "Response module": "Text output", - "Running app": "Running app", - "Running app intro": "You can select a different app to run", + "AI response switch tip": "If you want the current node not to output content, you can turn off this switch. The content output by AI will not be shown to the user, you can manually perform special processing using \"AI Reply Content\".", + "AI support tool tip": "Models that support function calling can better utilize tool invocations.", + "Ai chat": "AI Conversation", + "Ai chat intro": "AI Large Model Conversation", + "App system setting": "System Configuration", + "Assigned reply": "Assigned Reply", + "Assigned reply intro": "This module can directly reply with a specified piece of content. Commonly used for guidance and prompts. Non-string content will be converted to string for output when passed in.", + "Basic Node": "Basic Functions", + "Chat entrance": "Conversation Entrance", + "Chat entrance intro": "When a user sends content, the flow will start executing from this module.", + "Classify question": "Classify Question", + "Classify question intro": "Determine the type of the current question based on the user's history and current question. Multiple sets of question types can be added, here is a template example:\nType 1: Greeting\nType 2: Questions about product \"usage\"\nType 3: Questions about product \"purchase\"\nType 4: Other questions", + "Dataset search": "Knowledge Base Search", + "Dataset search intro": "Invokes knowledge base search capability to find content that may be relevant to the question", + "Dataset search result concat intro": "Can merge and output multiple knowledge base search results. Uses the RRF merging method for final ranking and output.", + "External module": "External Invocation", + "Extract field": "Extract Text Content", + "Extract field intro": "Can extract specified data from text, such as: SQL statements, search keywords, code, etc.", + "Function module": "Function Invocation", + "Guide module": "Guidance Module", + "Http request": "HTTP Request", + "Http request intro": "Can send an HTTP request to implement more complex operations (online search, database query, etc.)", + "My plugin module": "Personal Plugin", + "Query extension": "Question Optimization", + "Query extension intro": "Using the question optimization feature can improve the accuracy of knowledge base searches during continuous dialogue. When this feature is used, AI will first construct one or more new search terms based on the context, which are more conducive to knowledge base search. This module is built into the knowledge base search module, if you only perform a single knowledge base search, you can directly use the built-in completion function of the knowledge base.", + "Response module": "Text Output", + "Running app": "Application Invocation", + "Running app intro": "Can select another application to invoke", "System Plugin": "System Plugin", - "System input module": "System input", - "TFSwitch": "TF Switch", - "TFSwitch intro": "Output True False based on what is passed in. By default, false is printed when the content passed in is false, undefined, null, 0, none. You can also add some custom strings to supplement the output of false.", + "System input module": "System Input", + "TFSwitch": "Judgment", + "TFSwitch intro": "Outputs True or False based on the input content. By default, when the input content is false, undefined, null, 0, none, it will output false. You can also add some custom strings to supplement content that outputs false. Non-string, non-number, non-boolean types directly output True.", "Team Plugin": "Team Plugin", - "Tool module": "Tools", - "UnKnow Module": "UnKnow Module", - "User guide": "User guide", + "Tool module": "Tool", + "UnKnow Module": "Unknown Module", + "User guide": "User Guide", "http body placeholder": "Same syntax as APIFox", - "textEditor": "Text Editor", - "textEditor intro": "Output of fixed or incoming text after edit" + "textEditor": "Text Processing", + "textEditor intro": "Can process fixed or input text and then output, non-string type data will ultimately be converted to string type." }, "templates": { - "Load plugin error": "Load plugin error" + "Load plugin error": "Failed to load plugin" }, "textEditor": { - "Text Edit": "Text Edit" + "Text Edit": "Text Processing" }, "tool": { - "Tool input": "Tool input" + "Tool input": "Tool Input" }, "valueType": { "any": "Any", - "arrayBoolean": "Array Boolean", - "arrayNumber": "Array Number", - "arrayObject": "Array Object", - "arrayString": "Array String", "boolean": "Boolean", - "chatHistory": "History", - "datasetQuote": "Dataset Quote", - "dynamicTargetInput": "Dynamic Input", + "chatHistory": "Chat History", + "datasetQuote": "Quote Content", + "dynamicTargetInput": "Dynamic Field Input", "number": "Number", - "object": "Object", - "selectApp": "Select App", - "selectDataset": "Select Dataset", + "selectApp": "Select Application", + "selectDataset": "Select Knowledge Base", "string": "String", - "tools": "tools" + "tools": "Tool Invocation" }, "variable": { - "External type": "External", + "External type": "Externally Passed", "add option": "Add Option", "input type": "Text", - "key": "Key", - "key is required": "variable key is required", - "select type": "Select", + "key": "Variable Key", + "key is required": "Variable key is required", + "select type": "Single Select Dropdown", "text max length": "Max Length", - "textarea type": "Textarea", - "variable key is required": "", - "variable name": "Name", - "variable name is required": "variable name is required", - "variable option is required": "Variable option is required", - "variable option is value is required": "Variable option is value is required", + "textarea type": "Paragraph", + "variable key is required": "Variable key cannot be empty", + "variable name": "Variable Name", + "variable name is required": "Variable name cannot be empty", + "variable option is required": "Options cannot all be empty", + "variable option is value is required": "Option content cannot be empty", "variable options": "Options" }, "variable add option": "Add Option" }, "plugin": { "Custom headers": "Custom Headers", - "Delete http plugin": "Are you sure to delete this group of HTTP plug-ins? All plug-ins in the directory are deleted.", - "Get Plugin Module Detail Failed": "Load plugin failed", - "Http plugin intro placeholder": "Only for demonstration, no practical effect", - "Intro placeholder": "If the plug-in is called as a tool, the introduction is used as the prompt word." + "Delete http plugin": "Confirm to delete this group of HTTP plugins? All plugins under this directory will be deleted.", + "Get Plugin Module Detail Failed": "Plugin loading exception", + "Http plugin intro placeholder": "For display only, no actual effect", + "Intro placeholder": "If this plugin is invoked as a tool, this description will be used as the prompt." }, "shareChat": { - "Init Error": "Init Chat Error", - "Init History Error": "Init History Error" - }, - "workflow": { - "Add variable": "Add", - "Can not delete node": "Can not delete the node", - "Change input type tip": "Changing the input type will empty the entered values, please confirm!", - "Check Failed": "Workflow verification fails. Check whether the node or connection is normal", - "Confirm stop debug": "Do you want to terminate debugging? Debugging information is not retained.", - "Copy node": "Copy node", - "Current workflow": "Current workflow", - "Custom inputs": "Inputs", - "Custom outputs": "Outputs", - "Custom variable": "Custom variable", - "Dataset quote": "Dataset quote", - "Debug": "Debug", - "Debug Node": "Workflow Debug", - "Failed": "Running failed", - "Not intro": "This node is not introduced", - "Run from here": "Run from here", - "Run result": "Run result", - "Running": "Running", - "Skipped": "Skipped", - "Stop debug": "Stop", - "Success": "Running success", - "Value type": "Type", - "Variable outputs": "Variables", - "chat": { - "Quote prompt": "Quote prompt" - }, - "debug": { - "Done": "Done", - "Hide result": "Hide result", - "Not result": "Not result", - "Run result": "", - "Show result": "Show result" - }, - "inputType": { - "JSON Editor": "JSON Editor", - "Manual input": "", - "Manual select": "Select", - "Reference": "Reference", - "Required": "Required", - "Select edit field": "Editable field", - "Select input default value": "Default value", - "Select input type": "Configurable input types", - "Select input type placeholder": "Please select a configurable input type", - "chat history": "History", - "dynamicTargetInput": "dynamic Target Input", - "input": "Input", - "number input": "number input", - "selectApp": "App Selector", - "selectDataset": "Dataset Selector", - "selectLLMModel": "Select Chat Model", - "switch": "Switch", - "target": "Target Data", - "textarea": "Textarea" - }, - "publish": { - "OnRevert version": "Click back to that version", - "OnRevert version confirm": "Are you sure to roll back the version?", - "histories": "Publiish histories" - }, - "tool": { - "Handle": "Tool handle", - "Select Tool": "Select Tool" - } + "Init Error": "Conversation initialization failed", + "Init History Error": "Chat history initialization failed" } }, "dataset": { - "Confirm move the folder": "Confirm Move", - "Confirm to delete the data": "Confirm to delete the data?", - "Confirm to delete the file": "Are you sure to delete the file and all its data?", + "Confirm move the folder": "Confirm moving to the directory", + "Confirm to delete the data": "Confirm deleting this data?", + "Confirm to delete the file": "Confirm deleting this file and all its data?", "Create Folder": "Create Folder", - "Create manual collection": "Manual collection", - "Delete Dataset Error": "Delete dataset failed", + "Create manual collection": "Create manual dataset", + "Delete Dataset Error": "Error deleting knowledge base", "Edit Folder": "Edit Folder", "Export": "Export", - "Export Dataset Limit Error": "Export Data Error", - "File Input": "Import File", + "Export Dataset Limit Error": "Failed to export data", + "File Input": "File Import", "File Size": "File Size", "Filename": "Filename", - "Files": "{{total}} Files", - "Folder Name": "Input folder name", + "Files": "Files: {{total}}", + "Folder Name": "Enter folder name", "Insert Data": "Insert", - "Manual Data": "Manual Data", + "Manual Data": "Manual Entry", "Manual Input": "Manual Input", - "Manual Mark": "Manual Mark", - "Manual collection Tip": "Manual Collections allow you to create a custom container to hold data", - "Mark Data": "Mark Data", - "Move Failed": "Move Failed", - "Queue Desc": "This data refers to the current amount of training for the entire system. FastGPT uses queued training, and if you have too much data to train, you may need to wait for a while", - "Select Dataset": "Select Dataset", - "Select Dataset Tips": "Select only knowledge bases with the same index model", + "Manual Mark": "Manual Annotation", + "Manual collection Tip": "Manual datasets allow creating an empty container to store data", + "Mark Data": "Annotate Data", + "Move Failed": "Error occurred while moving~", + "Queue Desc": "This data refers to the total number of pending training tasks in the current system. {{title}} uses a queued training method. If there are too many pending training tasks, it may take some time to wait.", + "Select Dataset": "Select this knowledge base", + "Select Dataset Tips": "Only knowledge bases of the same index model can be selected", "Select Folder": "Enter folder", - "System Data Queue": "Data Queue", - "Training Name": "Dataset Training", + "System Data Queue": "Queue Length", + "Training Name": "Data Training", "Upload Time": "Upload Time", "collections": { - "Click to view file": "View File Data", - "Click to view folder": "To Folder", - "Collection Embedding": "{{total}}Embedding", - "Confirm to delete the folder": "Are you sure to delete this folder and all its contents?", + "Click to view file": "Click to view file details", + "Click to view folder": "Enter directory", + "Collection Embedding": "{{total}} groups of indexes", + "Confirm to delete the folder": "Confirm deleting this folder and all its contents?", "Create And Import": "Create/Import", - "Create Training Data": "Training-{{filename}}", - "Create manual collection Success": "Create manual collection Success", - "Data Amount": "Data Amount", - "Select Collection": "Select Collection", - "Select One Collection To Store": "Select the collection to store" + "Create Training Data": "File Training-{{filename}}", + "Create manual collection Success": "Manual dataset created successfully", + "Data Amount": "Total Data", + "Select Collection": "Select File", + "Select One Collection To Store": "Select a file for storage" }, "data": { - "Add Index": "Add Index", + "Add Index": "Add Custom Index", "Can not delete tip": "No modification permission", - "Can not edit": "No edit permission", - "Custom Index Number": "Custom index{{number}}", + "Can not edit": "No editing permission", + "Custom Index Number": "Custom Index {{number}}", "Default Index": "Default Index", - "Delete Success Tip": "", - "Delete Tip": "Confirm to delete the data?", + "Delete Success Tip": "Deleted successfully", + "Delete Tip": "Confirm deleting this data entry?", "File import": "File Import", "Index Edit": "Data Index", - "Index Placeholder": "Enter the index text content", - "Input Data": "Import Data", - "Input Success Tip": "Succeeded in importing data", + "Index Placeholder": "Enter index text content", + "Input Data": "Import New Data", + "Input Success Tip": "Data imported successfully", "Update Data": "Update Data", - "Update Success Tip": "Update data successfully", + "Update Success Tip": "Data updated successfully", "edit": { - "Content": "Content", - "Course": "Document", - "Delete": "Delete", - "Index": "Index({{amount}})" + "Content": "Data Content", + "Course": "Documentation", + "Delete": "Delete Data", + "Index": "Data Index ({{amount}})" }, - "input is empty": "The data content cannot be empty" + "input is empty": "Data content cannot be empty" }, - "deleteFolderTips": "Are you sure to delete this folder and all the knowledge bases it contains? Data cannot be recovered after deletion, please confirm!", - "import csv tip": "Ensure that the CSV is in UTF-8 format; otherwise, garbled characters will be displayed", + "deleteFolderTips": "Confirm deleting this folder and all knowledge bases it contains? Data cannot be recovered after deletion, please confirm!", + "import csv tip": "Please ensure the CSV is in UTF-8 format, otherwise it will be garbled", "test": { "noResult": "Search results are empty" } }, "error": { - "fileNotFound": "File not found ~", + "fileNotFound": "File not found~", "team": { - "overSize": "Team member exceeds limit" + "overSize": "Team member limit exceeded" } }, "file": { - "Click to download file template": "Download Template: {{name}}", - "Click to view file": "Click to view file", - "Create File": "Create File", + "Click to download file template": "Click to download template: {{name}}", + "Click to view file": "Click to view original file", + "Create File": "Create New File", "Create file": "Create file", "Drag and drop": "Drag and drop files here", - "Fetch Url": "Fetch Url", + "Fetch Url": "Link Import", "If the imported file is garbled, please convert CSV to UTF-8 encoding format": "If the imported file is garbled, please convert CSV to UTF-8 encoding format", - "Parse": "{{name}} Parsing...", + "Parse": "Parsing {{name}}...", "Release the mouse to upload the file": "Release the mouse to upload the file", "Select a maximum of 10 files": "Select a maximum of 10 files", - "Uploading": "Uploading: {{name}}, Progress: {{percent}}%", - "max 10": "Max 10 files", - "select a document": "select a document", - "support": "support {{fileExtension}} file", - "upload error description": "Only upload multiple files or one folder at a time" + "Uploading": "Uploading {{name}}, progress: {{percent}}%", + "max 10": "Select up to 10 files", + "select a document": "Select a file", + "support": "Support {{fileExtension}} files", + "upload error description": "Only supports uploading multiple files or one folder at a time" }, "home": { "AI Assistant": "AI Assistant", - "AI Assistant Desc": "", - "Advanced Settings": "", - "Advanced Settings Desc": "", + "AI Assistant Desc": "AI will provide 24/7 service to your users, both internally and externally", + "Advanced Settings": "Advanced Orchestration", + "Advanced Settings Desc": "Based on the Flow orchestration mode, easily enable your AI with extended capabilities such as database queries, IO operations, and network communication", "Choice Debug": "Convenient Debugging", - "Choice Debug Desc": "Search testing, reference modification, full conversation preview and many other debugging ways", - "Choice Desc": "FastGPT follows the Apache License 2.0 open source protocol", - "Choice Extension": "Infinite Extension", - "Choice Extension Desc": "HTTP based extension, easy to achieve custom functions", - "Choice Fast": "Fast", - "Choice Fast Desc": "{{title}} provides out-of-the-box visual actions to build AI applications point-by-point", - "Choice Models": "Multiple Models", - "Choice Models Desc": "Supports multiple models such as GPT, Claude, Spark, and ChatGLM", - "Choice Open": "Open", - "Choice Open Desc": "{{title}} follows the Apache License 2.0 open source protocol", - "Choice QA": "QA Structure", - "Choice QA Desc": "The index is constructed with the structure of QA pairs, and ADAPTS to various scenarios such as Q&A and reading", - "Choice Visual": "Visual workflow", - "Choice Visual Desc": "Visualize modular operations, easily implement complex workflows, and make your AI no longer monolithic", - "Commercial": "Commercial", + "Choice Debug Desc": "Multiple debugging methods including search testing, reference modification, and complete conversation preview", + "Choice Desc": "", + "Choice Extension": "Unlimited Extension", + "Choice Extension Desc": "Easily implement custom functions based on HTTP extensions", + "Choice Fast": "Ready to Use", + "Choice Fast Desc": "{{title}} provides out-of-the-box visual operations, allowing you to build AI applications with just a few clicks", + "Choice Models": "Support Multiple Models", + "Choice Models Desc": "Support multiple models including GPT, Claude, Spark, ChatGLM, etc.", + "Choice Open": "More Open", + "Choice Open Desc": "{{title}} follows the Apache License 2.0 open source agreement", + "Choice QA": "Unique QA Structure", + "Choice QA Desc": "Builds indexes using a QA pair structure, suitable for various scenarios such as Q&A and reading", + "Choice Visual": "Visual Workflow", + "Choice Visual Desc": "Visually operate modules to easily create complex workflows, making your AI no longer singular", + "Commercial": "Business Consultation", "Community": "Community", - "Dateset": "", - "Dateset Desc": "", + "Dateset": "Automatic Data Preprocessing", + "Dateset Desc": "Provides multiple data import methods including manual input, direct segmentation, LLM automatic processing, CSV, etc.", "Docs": "Docs", - "FastGPT Ability": "{{title}} Ability", - "FastGPT Desc": "{{title}} is a dataset question answering system based on LLM large language model, which provides out-of-the-box data processing, model invocation and other capabilities. At the same time, workflow orchestration can be performed through Flow visualization to achieve complex Q&A scenarios!", + "FastGPT Ability": "{{title}} Capabilities", + "FastGPT Desc": "{{title}} is a knowledge base Q&A system based on LLM large language models, providing out-of-the-box data processing, model invocation and other capabilities. It can also use Flow visualization to orchestrate workflows, thus realizing complex Q&A scenarios!", "Features": "Features", - "Footer Developer": "Developer", + "Footer Developer": "Developers", "Footer Docs": "Docs", - "Footer FastGPT Cloud": "{{title}} Cloud", + "Footer FastGPT Cloud": "{{title}} Cloud Service", "Footer Feedback": "Feedback", - "Footer Git": "Code", - "Footer Product": "Product", + "Footer Git": "Source Code", + "Footer Product": "Products", "Footer Support": "Support", "Login": "Login", "Open": "", "OpenAPI": "OpenAPI", - "OpenAPI Desc": "", - "Quickly build AI question and answer library": "Quickly build AI question and answer library", - "Start Now": "Start Now", - "Visual AI orchestration": "Visual AI orchestration", - "Why FastGPT": "Why {{title}}", - "desc": "AI knowledge base question and answer platform based on LLM large model", + "OpenAPI Desc": "Consistent external interface with GPT API, helping you easily access existing applications", + "Quickly build AI question and answer library": "Quickly build AI Q&A system", + "Start Now": "Get Started", + "Visual AI orchestration": "Visual AI Orchestration", + "Why FastGPT": "Why Choose {{title}}", + "desc": "AI Knowledge Base Q&A Platform Based on LLM Large Models", "navbar": { - "Use guidance": "Use Guidance", + "Use guidance": "Usage Guide", "chatbot": "Chatbot" }, - "slogan": "Let the AI know more about you" + "slogan": "Make AI Understand Your Knowledge Better" }, "module": { - "Confirm Delete Module": "Confirm to delete the custom module?", - "Confirm Sync Plugin": "Confirm the latest sync plugin information? The plug-in connection and input content will be cleared, please confirm!", - "Create Your Module": "Create You Module", - "Intro": "Module Intro", - "Load Module Failed": "Load Module Failed", - "Plugin input is not value": "User-defined input parameters cannot be null", - "Plugin input is required": "The plug setting must contain an input module", - "Plugin input must connect": "Custom input modules must all be connected", + "Confirm Delete Module": "Confirm to delete this custom module?", + "Confirm Sync Plugin": "Confirm to sync the latest plugin information? The connections and input content of the plugin will be cleared, please confirm!", + "Create Your Module": "Create Your Custom Module", + "Intro": "Module Introduction", + "Load Module Failed": "Failed to load module", + "Plugin input is not value": "The custom input parameter cannot be empty", + "Plugin input is required": "Plugin orchestration must include an input module", + "Plugin input must connect": "All custom input modules must be connected", "Preview Plugin": "Preview Plugin", - "Save Config": "Save", - "Update Your Module": "Update Module" + "Save Config": "Save Configuration", + "Update Your Module": "Update Module Information" }, "navbar": { "Account": "Account", - "Apps": "App", - "Apps Share": "", + "Apps": "Apps", + "Apps Share": "App Sharing", "Chat": "Chat", - "Datasets": "DataSet", + "Datasets": "Datasets", "Module": "Module", "Plugin": "Plugin", - "Store": "Store", + "Store": "App Market", "Tools": "Tools" }, "openapi": { - "app key tips": "These keys have the identification of the current application and can be used by external access.", - "key alias": "Alias of key, for display only", - "key tips": "You can use the API Key to access certain interfaces (you can't access the application, you need to use the API key within the application to access the application)." + "app key tips": "These keys already have the current app identifier, refer to the documentation for specific usage", + "key alias": "Alias for the key, only used for display", + "key tips": "You can use the API key to access some specific interfaces (cannot access apps, use the API Key within the app to access apps)" }, "outlink": { - "Copy IFrame": "Copy IFrame", + "Copy IFrame": "Embed Webpage", "Copy Link": "Copy", - "Create API Key": "Create Key", + "Create API Key": "Create New Key", "Create Link": "Create Link", - "Delete Link": "Delete", - "Edit API Key": "Edit Key", - "Edit IFrame Link": "Edit IFrame Link", + "Delete Link": "Delete Link", + "Edit API Key": "Edit Key Info", + "Edit IFrame Link": "Update Embedded Link", "Edit Link": "Edit", - "Edit Share Window": "Edit Share Window", - "Link Name": "Link Name", + "Edit Share Window": "Update Share Window", + "Link Name": "Share Link Name", "Link is empty": "", - "QPM": "QPM", - "QPM Tips": "The maximum number of queries per IP address per minute", - "QPM is empty": "QPM is empty", - "token auth": "Token Auth", - "token auth Tips": "Identity verification server address. If this value is set, the server will be specified to send a request for identity verification before each session", - "token auth use cases": "Review the authentication instructions" + "QPM": "", + "QPM Tips": "Maximum number of queries per minute per IP", + "QPM is empty": "QPM cannot be empty", + "token auth": "Authentication", + "token auth Tips": "Authentication server address. If this value is filled in, a request will be sent to the specified server before each conversation for identity verification.", + "token auth use cases": "View Authentication Usage Instructions" }, "permission": { "Private": "Private", - "Private Tip": "Be used only to oneself", - "Public": "Public", + "Private Tip": "Only available to self", + "Public": "Team", "Public Tip": "Available to all team members", - "Set Private": "Set Private", - "Set Public": "Set to public" + "Set Private": "Set to Private", + "Set Public": "Set to Team Accessible" }, "plugin": { - "App": "Choose App", - "Auth Header Prefix": "Auth header prefix", - "Auth Method": "Auth method", + "App": "Select App", + "Auth Header Prefix": "Auth Header Prefix", + "Auth Method": "Auth Method", "Auth Type": "Auth Type", - "Confirm Delete": "Confirm to delete the plugin?", - "Create Your Plugin": "Create Plugin", - "Currentapp": "CurrentApp", - "Custom Plugin": "Custom plugin", + "Confirm Delete": "Confirm to delete this plugin?", + "Create Your Plugin": "Create Your Plugin", + "Currentapp": "Current App", + "Custom Plugin": "Custom Plugin", "Description": "Description", - "Edit Http Plugin": "Edit HTTP plugin", + "Edit Http Plugin": "Edit HTTP Plugin", "Enter Env": "Enter laf environment", - "Enter PAT": "Please enter personal access token (PAT)", - "Func": "Choose Function", - "Get Plugin Module Detail Failed": "Get plugin detail failed", - "HTTP Plugin": "HTTP plugin", - "Import Plugin": "Import HTTP plugin", + "Enter PAT": "Please enter Personal Access Token (PAT)", + "Func": "Select Function", + "Get Plugin Module Detail Failed": "Failed to get plugin information", + "HTTP Plugin": "HTTP Plugin", + "Import Plugin": "Import HTTP Plugin", "Import from URL": "Import from URL. https://xxxx", - "Intro": "Plugin Intro", + "Intro": "Plugin Introduction", "Invalid Appid": "Invalid appid", - "Invalid Env": "Invalid Env", + "Invalid Env": "Invalid laf environment", "Invalid Schema": "Invalid Schema", "Invalid URL": "Invalid URL", "Key": "Key", - "Load Plugin Failed": "Load Plugin Failed", + "Load Plugin Failed": "Failed to load plugin", "Method": "Method", "My Plugins": "My Plugins", - "No Intro": "This plugin is not introduced", + "No Intro": "This plugin has no introduction~", "None": "None", "Path": "Path", - "Please bind laf accout first": "Please bind laf accout first", - "Plugin List": "Plugin list", - "Plugin Module": "Plugin", - "Privacy Agreement": "privacy agreement", - "Search plugin": "Search plugins", - "Set Name": "Plugin Name", + "Please bind laf accout first": "Please bind laf account first", + "Plugin List": "Plugin List", + "Plugin Module": "Plugin Module", + "Privacy Agreement": "Privacy Agreement", + "Search plugin": "Search plugin", + "Set Name": "Give the plugin a name", "Synchronous app": "Sync App", "Synchronous version": "Sync Version", - "To Edit Plugin": "To Edit", + "To Edit Plugin": "Go to Edit", "Update Your Plugin": "Update Plugin", "Value": "Value", - "go to laf": "go to laf", + "go to laf": "Go to Write", "path": "", - "update params": "update params" + "update params": "Update Parameters" }, "support": { "account": { - "Individuation": "Individuation" + "Individuation": "Personalization" }, "inform": { "Read": "Read" }, "openapi": { - "Api baseurl": "Baseurl", - "Api manager": "API key management", - "Copy success": "The API address has been copied", - "Max usage": "Max usage", - "New api key": "New API key", - "New api key tip": "Please keep your secret key, the secret key will not be displayed again~", - "Usage": "Usage" + "Api baseurl": "API Base URL", + "Api manager": "API Key Management", + "Copy success": "API address copied", + "Max usage": "Maximum Quota (¥)", + "New api key": "New API Key", + "New api key tip": "Please keep your key safe, it will not be displayed again.", + "Usage": "Used Quota (¥)" }, "outlink": { - "Delete link tip": "Are you sure to delete this no-sign link? After deletion, the link will be invalid immediately and the session log will still be retained. Please confirm!", - "Max usage points": "Max usage", - "Max usage points tip": "The maximum number of credits allowed for this link will not be used. -1 indicates no limit.", - "Usage points": "Usage points", + "Delete link tip": "Confirm to delete this login-free link? Once deleted, the link will become invalid immediately. Chat logs will be retained. Please confirm!", + "Max usage points": "Maximum Points", + "Max usage points tip": "The maximum points allowed for this link. Usage will be restricted if exceeded. -1 means no limit.", + "Usage points": "Points Consumed", "share": { - "Response Quote": "Show Quote", - "Response Quote tips": "The referenced content is returned in the share link, but the user is not allowed to download the original document." + "Response Quote": "Response Quote", + "Response Quote tips": "Return quoted content in shared links, but users will not be allowed to download the original document." } }, "standard": { - "AI Bonus Points": "AI Bonus Points", - "Expired Time": "Expired Time", + "AI Bonus Points": "AI Points", + "Expired Time": "End Time", "Start Time": "Start Time", - "storage": "storage", - "type": "type" + "storage": "Storage", + "type": "Type" }, "subscription": { - "Cancel subscription": "Cancel" + "Cancel subscription": "Cancel Subscription" }, "team": { "limit": { - "No permission rerank": "Not permission to rerank, please upgrade your plan" + "No permission rerank": "No permission to use result re-ranking, please upgrade your plan." } }, "user": { - "AI point standard": "AI points price", + "AI point standard": "AI Point Standard", "Avatar": "Avatar", - "Go laf env": "Click to go to laf to get PAT certificate.", - "Laf account course": "Check out the laf account binding tutorial.", - "Laf account intro": "After binding your laf account, you will be able to use the laf module in your workflow to write code online.", + "Go laf env": "Click to go to laf to get PAT token.", + "Laf account course": "View tutorial on linking laf account.", + "Laf account intro": "After linking your laf account, you can use laf modules in workflows to write code online.", "Need to login": "Please log in first", - "Price": "Price", - "User self info": "My info", + "Price": "Pricing", + "User self info": "Personal Information", "auth": { "Sending Code": "Sending" }, "inform": { - "System message": "System message" + "System message": "System Message" }, "login": { - "And": "&", + "And": "and", "Email": "Email", - "Forget Password": "Forget Password?", - "Github": "Github", - "Google": "Google", + "Forget Password": "Forgot Password?", + "Github": "Login with Github", + "Google": "Login with Google", "Password": "Password", - "Password login": "Password login", + "Password login": "Password Login", "Phone": "Phone Login", - "Phone number": "Phone", - "Policy tip": "By using it, you agree with us", - "Privacy": "Privacy", - "Provider error": "Login exception, please try again", - "Register": "Register", - "Root login": "Log in as the root user", + "Phone number": "Phone Number", + "Policy tip": "By using, you agree to our", + "Privacy": "Privacy Policy", + "Provider error": "Login error, please try again", + "Register": "Register Account", + "Root login": "Log in with root user", "Root password placeholder": "root password is the environment variable you set", - "Terms": "Terms", + "Terms": "Terms of Service", "Username": "Username", - "Wechat": "Wechat", - "Wx qr login": "Wechat scan code login" + "Wechat": "Login with WeChat", + "Wx qr login": "Scan QR Code to Log In with WeChat" }, "team": { - "Dataset usage": "Dataset usage", - "Team Tags Async Success": "Team async success", - "member": "Member", + "Dataset usage": "Knowledge Base Capacity", + "Team Tags Async Success": "Sync completed", + "member": "Members", "tag": { - "Have not opened": "Team chat is not enabled" + "Have not opened": "Team chat function not enabled" } } }, "wallet": { - "Ai point every thoundsand tokens": "", - "Ai point every thounsand tokens": "{{points}}Points/1K Tokens", - "Ai point every thousand tokens": "{{points}}Points/1K Tokens", + "Ai point every thoundsand tokens": "{{points}} points/1K tokens", + "Ai point every thounsand tokens": "{{points}} points/1K tokens", + "Ai point every thousand tokens": "{{points}} points/1K tokens", "Amount": "Amount", - "Balance not enough tip": "The balance is insufficient, please go to the account page first", - "Bills": "Bill", + "Balance not enough tip": "Insufficient balance. Please top up in account page first.", + "Bills": "Bills", "Buy": "Buy", - "Buy more": "Buy more", - "Confirm pay": "Confirm pay", - "Not sufficient": "Your AI points are insufficient, please upgrade the package or purchase additional AI points before continuing to use.", - "Pay error": "Pay error", - "Pay success": "Pay success", - "Plan expired time": "Plan expired time", - "Plan reset time": "Plan reset time", - "Standard Plan Detail": "Standard Plan Detail", - "To read plan": "Read plan", + "Buy more": "Expand", + "Confirm pay": "Confirm Payment", + "Not sufficient": "Your AI Points are insufficient. Please upgrade your plan or purchase extra AI Points to continue.", + "Pay error": "Payment failed", + "Pay success": "Payment successful", + "Plan expired time": "Plan Expiration Time", + "Plan reset time": "Plan Reset Time", + "Standard Plan Detail": "Plan Details", + "To read plan": "View Plan", "bill": { "AI Model": "AI Model", "AI Type": "AI Type", - "Number": "Number", - "Price": "Price(¥)", + "Number": "Order No.", + "Price": "Price (¥)", "Status": "Status", - "Type": "Bill type", + "Type": "Order Type", "payWay": { - "Way": "Pay way", - "balance": "Balance", - "wx": "Wechat" + "Way": "Payment Method", + "balance": "Balance Payment", + "wx": "WeChat Pay" }, "status": { - "closed": "CLOSED", - "notpay": "NOT_PAY", - "refund": "REFUND", - "success": "SUCCESS" + "closed": "Closed", + "notpay": "Unpaid", + "refund": "Refunded", + "success": "Paid Successfully" } }, "moduleName": { "index": "Index Generation", - "qa": "QA Generation" + "qa": "QA Splitting" }, - "noBill": "Not Bills", + "noBill": "No billing records~", "subscription": { - "AI points": "AI points", - "AI points click to read tip": "Each time an AI model is invoked, a certain amount of AI credits (similar to Tokens) are consumed. Click to view the detailed calculation rules.", - "AI points tip": "", - "AI points usage": "AI point usage", - "AI points usage tip": "Each time the AI model is invoked, a certain amount of AI credits are consumed. Please refer to the \"Charging Standard\" above for specific calculation standards.", - "Ai points": "AI Points Standard", - "Buy now": "Buy now", - "Change will take effect after the current subscription expires": "Change will take effect after the current subscription expires", - "Current dataset store": "Current dataset store subscription", - "Current extra ai points": "Current extra points", - "Current plan": "Current plan", - "Dataset store": "Dataset store size", - "Dataset store price tip": "Deduct it from the account balance on the 1st of each month", - "Expand size": "Expand size", - "Extra ai points": "Extra ai points", - "Extra dataset size": "Extra dataset size", - "Extra plan": "Extra Plan", - "Extra plan tip": "When the standard plan is not enough, you can purchase an additional plan to continue using", - "FAQ": "Pricing FAQs", - "Month amount": "Month", - "Next extra ai points": "Next extra points", - "Next plan": "Future plan", - "Next sub dataset size": "", - "Nonsupport": "Nonsupport", - "Refund plan and pay confirm": "There is no extra cost for you to switch this package and {{amount}} will be refunded to the balance.", - "Stand plan level": "Sub plan", - "Standard plan pay confirm": "To switch this package, you need to pay {{payPrice}} Yuan.", - "Standard update fail": "Update plan failed.", - "Standard update success": "Change subscription plan successful!", - "Sub plan": "Pricing Plans", - "Sub plan tip": "Use FastGPT for free or upgrade to a higher plan", - "Team plan and usage": "Plan and usage", - "Training weight": "Training weight: {{weight}}", - "Update extra ai points": "AI Points", - "Update extra dataset size": "Dataset size", - "Upgrade plan": "Upgrade plan", + "AI points": "AI Points", + "AI points click to read tip": "Each time an AI model is invoked, a certain amount of AI Points (similar to tokens) will be consumed. Click to view detailed calculation rules.", + "AI points tip": "Each time an AI model is invoked, a certain amount of AI Points will be consumed. Refer to the \"Pricing\" below for specific calculation standards.", + "AI points usage": "AI Points Usage", + "AI points usage tip": "Each time an AI model is invoked, a certain amount of AI Points will be consumed. Refer to the \"Pricing\" above for specific calculation standards.", + "Ai points": "AI Points Calculation", + "Buy now": "Change Plan", + "Change will take effect after the current subscription expires": "Update successful. It will take effect in the next subscription cycle.", + "Current dataset store": "Current Extra Capacity", + "Current extra ai points": "Current Extra Points", + "Current plan": "Current Plan", + "Dataset store": "Knowledge Base Capacity", + "Dataset store price tip": "Deducted from account balance on the 1st of each month", + "Expand size": "Expand Capacity", + "Extra ai points": "Extra AI Points", + "Extra dataset size": "Extra Knowledge Base Capacity", + "Extra plan": "Extra Resource Pack", + "Extra plan tip": "When the standard plan is insufficient, you can purchase extra resource packs to continue using", + "FAQ": "FAQ", + "Month amount": "Months", + "Next extra ai points": "Next Extra Points", + "Next plan": "Future Plan", + "Next sub dataset size": "Next Subscription Extra Capacity", + "Nonsupport": "Cannot Change", + "Refund plan and pay confirm": "No additional payment is required to change to this plan. {{amount}} will be refunded to your balance.", + "Stand plan level": "Subscription Plan", + "Standard plan pay confirm": "To change to this plan, you need to pay an additional {{payPrice}}.", + "Standard update fail": "Error updating subscription plan", + "Standard update success": "Subscription plan changed successfully!", + "Sub plan": "Subscription Plan", + "Sub plan tip": "Use {{title}} for free or upgrade to a higher plan", + "Team plan and usage": "Plan & Usage", + "Training weight": "Training priority:{{weight}}", + "Update extra ai points": "Extra AI Points", + "Update extra dataset size": "Extra Storage", + "Upgrade plan": "Upgrade Plan", "function": { - "History store": "", - "Max app": "", - "Max dataset": "", - "Max dataset size": "", - "Max members": "", - "Points": "" + "History store": "{{amount}} days of conversation history retention", + "Max app": "{{amount}} apps", + "Max dataset": "{{amount}} knowledge bases", + "Max dataset size": "{{amount}} knowledge base indexes", + "Max members": "{{amount}} team members", + "Points": "{{amount}} AI Points" }, "mode": { "Month": "Monthly", - "Period": "Period", - "Year": "Yearly", + "Period": "Subscription Period", + "Year": "Annual", "Year sale": "2 months free" }, "standardSubLevel": { - "enterprise": "", - "experience": "", + "enterprise": "Enterprise", + "experience": "Experience", "experience desc": "", - "free": "", - "free desc": "", - "team": "" + "free": "Free", + "free desc": "Basic features can be used for free each month. Knowledge base will be cleared after 30 days of inactivity.", + "team": "Team" }, "type": { - "balance": "Add Balance", - "extraDatasetSize": "Extra dataset size", - "extraPoints": "AI Points", - "standard": "Sub plan" + "balance": "Balance Top-Up", + "extraDatasetSize": "Knowledge Base Expansion", + "extraPoints": "AI Points Package", + "standard": "Subscription Plan" } }, "usage": { - "Ai model": "Ai Model", - "App name": "App name", - "Audio Speech": "Audio Speech", - "Bill Module": "Bill Detail", - "Chars length": "Chars length", - "Data Length": "Data length", - "Dataset store": "Dataset store", - "Duration": "Duration(s)", - "Extension Input Token Length": "Extension input tokens", - "Extension Output Token Length": "Extension output tokens", - "Extension result": "Extension result", - "Input Token Length": "Input tokens", - "Module name": "Module name", - "Number": "Bill ID", - "Output Token Length": "Output tokens", - "ReRank": "ReRank", + "Ai model": "AI Model", + "App name": "App Name", + "Audio Speech": "Voice Playback", + "Bill Module": "Billing Module", + "Chars length": "Text Length", + "Data Length": "Data Length", + "Dataset store": "Knowledge Base Storage", + "Duration": "Duration (s)", + "Extension Input Token Length": "Question Optimization Input Tokens", + "Extension Output Token Length": "Question Optimization Output Tokens", + "Extension result": "Question Optimization Result", + "Input Token Length": "Input Tokens", + "Module name": "Module Name", + "Number": "", + "Output Token Length": "Output Tokens", + "ReRank": "Result Re-Ranking", "Source": "Source", - "Text Length": "Text length", - "Time": "Time", - "Token Length": "Tokens", - "Total": "Total", - "Total points": "AI points usage", - "Usage Detail": "Usage Detail", - "Whisper": "Whisper", + "Text Length": "Text Length", + "Time": "Generation Time", + "Token Length": "Token Length", + "Total": "Total Amount", + "Total points": "AI Points Consumed", + "Usage Detail": "Usage Details", + "Whisper": "Voice Input", "bill username": "User" } } }, "system": { - "Help Document": "Document" + "Help Document": "Help Document" }, "template": { - "Quote Content Tip": "This configuration takes effect only when reference content is passed in (knowledge base search).\nYou can customize the structure of the reference content to better suit different scenarios. Some variables can be used for template configuration:\n{{q}} - retrieve content, {{a}} - expected content, {{source}} - source, {{sourceId}} - source file name, {{index}} - the first n references, they are optional, Here are the default values:\n{{default}}", - "Quote Prompt Tip": "This configuration takes effect only when the knowledge base is searched.\nYou can use {{quote}} to insert the reference content template and {{question}} to insert the question. Here are the default values:\n{{default}}" + "Quote Content Tip": "You can customize the structure of the quoted content to better fit different scenarios. You can use some variables for template configuration:\n{{q}} - retrieved content, {{a}} - expected content, {{source}} - source, {{sourceId}} - source filename, {{index}} - the nth quote, they are all optional, here is the default value:\n{{default}}", + "Quote Prompt Tip": "You can use {{quote}} to insert the quote content template and {{question}} to insert the question. Here is the default value:\n{{default}}" }, "user": { "Account": "Account", - "Amount of earnings": "Earnings", - "Amount of inviter": "Inviter", - "Application Name": "Application Name", + "Amount of earnings": "Earnings (¥)", + "Amount of inviter": "Total number of invitees", + "Application Name": "Project Name", "Avatar": "Avatar", "Balance": "Balance", - "Bill Detail": "Bill Detail", + "Bill Detail": "Bill Details", "Change": "Change", - "Copy invite url": "Copy invitation link", - "Current laf Env": "Current laf Env", - "Edit name": "Click to modify nickname", - "Invite Url": "Invite Url", - "Invite url tip": "Friends who register through this link will be permanently bound to you, and you will get a certain balance reward when they recharge. In addition, when friends register with their mobile phone number, you will get 5 yuan reward immediately.", - "Laf Account Setting": "laf account setting", + "Copy invite url": "Copy invite link", + "Current laf Env": "Current laf Environment", + "Edit name": "Click to edit nickname", + "Invite Url": "Invite Link", + "Invite url tip": "Friends who register through this link will be permanently bound to you, and you will receive a certain balance reward when they recharge.\nIn addition, when a friend registers using a mobile phone number, you will immediately receive a reward of 5 yuan.\nRewards will be sent to your default team.", + "Laf Account Setting": "laf Account Setting", "Language": "Language", "Learn More": "Learn More", - "Member Name": "Name", + "Member Name": "Nickname", "Notice": "Notice", - "Old password is error": "Old password is error", + "Old password is error": "Old password is incorrect", "OpenAI Account Setting": "OpenAI Account Setting", "Password": "Password", - "Pay": "Pay", + "Pay": "Recharge", "Permission": "Permission", - "Personal Information": "Personal", - "Promotion": "Promotion", - "Promotion Rate": "Promotion Rate", - "Promotion Record": "Promotion", - "Promotion rate tip": "You will be rewarded with a percentage of the balance when your friends top up", - "Recharge Record": "Recharge", + "Personal Information": "Personal Information", + "Promotion": "", + "Promotion Rate": "Cashback Ratio", + "Promotion Record": "Promotion Record", + "Promotion rate tip": "You will receive a certain percentage of balance reward when your friends recharge", + "Recharge Record": "Payment Record", "Replace": "Replace", - "Set Laf Account Failed": "set laf accout failed", - "Set OpenAI Account Failed": "Set OpenAI account failed", + "Set Laf Account Failed": "Set laf Account Failed", + "Set OpenAI Account Failed": "Set OpenAI Account Failed", "Sign Out": "Sign Out", "Source": "Source", "Standard Detail": "", @@ -1677,74 +1570,74 @@ "Update Password": "Update Password", "Update password failed": "Update password failed", "Update password successful": "Update password successful", - "Usage Record": "Usage", + "Usage Record": "Usage Record", "apikey": { - "key": "API Keys" + "key": "API Key" }, "promotion": { - "pay": "", - "register": "" + "pay": "Friend Recharge", + "register": "Friend Registration" }, "team": { "Balance": "Team Balance", "Check Team": "Switch", "Confirm Invite": "Confirm Invite", - "Create Team": "Create Team", - "Invite Member": "Invite", - "Invite Member Failed Tip": "Invite Member Failed", - "Invite Member Result Tip": "Invite Member Result", - "Invite Member Success Tip": "Invite member completed \n successful :{{success}} Person \n username invalid :{{inValid}}\n Already on team :{{inTeam}}", - "Invite Member Tips": "They can access or use other resources within your team", - "Invite Role Admin Alias": "Invite an Administrator to join", - "Invite Role Admin Tip": "Admin\nCan create, edit, and use team resources", - "Invite Role Visitor Alias": "Invite visitors to Join", - "Invite Role Visitor Tip": "Visitors\nCan only use resources and have no permission to create and edit them", - "Leave Team": "Leave", + "Create Team": "Create New Team", + "Invite Member": "Invite Member", + "Invite Member Failed Tip": "Inviting member failed", + "Invite Member Result Tip": "Invite Result Tip", + "Invite Member Success Tip": "Inviting member completed\nSuccess: {{success}} people\nInvalid username: {{inValid}}\nAlready in the team: {{inTeam}}", + "Invite Member Tips": "The other party can view or use other resources within the team", + "Invite Role Admin Alias": "Invite admin to join", + "Invite Role Admin Tip": "Admin\nCan create, edit and use team resources", + "Invite Role Visitor Alias": "Invite visitor to join", + "Invite Role Visitor Tip": "Visitor\nCan only use resources, no creation or editing permissions", + "Leave Team": "Leave Team", "Leave Team Failed": "Leave Team Failed", - "Manage": "Team Manage", + "Manage": "Team Management", "Member": "Member", - "Member Name": "Member", - "Over Max Member Tip": "Team max {{max}} people", - "Personal Team": "Personal", + "Member Name": "Member Name", + "Over Max Member Tip": "Team can have up to {{max}} people", + "Personal Team": "Personal Team", "Processing invitations": "Processing invitations", - "Processing invitations Tips": "You have {{amount}} of team invitations that need to be processed", + "Processing invitations Tips": "You have {{amount}} team invitations to process", "Reinvite": "Reinvite", - "Remove Member Confirm Tip": "Are you sure you want to move {{username}} off the team? All its resources are transferred to the team creator's account.", - "Remove Member Failed": "Removing a team member failed", - "Remove Member Success": "Removing a team member succeeded", - "Remove Member Tip": "Move out team", + "Remove Member Confirm Tip": "Confirm removing {{username}} from the team? All their resources will be transferred to the team creator's account.", + "Remove Member Failed": "Remove Member Failed", + "Remove Member Success": "Remove Member Success", + "Remove Member Tip": "Remove from Team", "Role": "Role", "Select Team": "Select Team", - "Set Name": "Team Name", + "Set Name": "Name your team", "Switch Team Failed": "Switch Team Failed", - "Tags Async": "Tag synchronization", + "Tags Async": "Save", "Team Name": "Team Name", - "Team Tags Async": "Team Tags Async", - "Team Tags Async Success": "Team Tags Async Success", - "Team Tags Async Tip": "Fill in the tag sync connection to get the latest", - "Update Team": "Update Team", + "Team Tags Async": "Tag Synchronization", + "Team Tags Async Success": "Link error reported successfully, tag information updated", + "Team Tags Async Tip": "Fill in the tag synchronization link to get the latest", + "Update Team": "Update Team Info", "invite": { - "Accept Confirm": "Want to join the team?", - "Accepted": "Accepted", - "Deal Width Footer Tip": "It will automatically shut down after processing~", - "Reject": "Rejected", - "Reject Confirm": "Confirm to decline the invitation?", - "accept": "Accept", - "reject": "Reject" + "Accept Confirm": "Confirm joining this team?", + "Accepted": "Joined Team", + "Deal Width Footer Tip": "It will automatically close after processing~", + "Reject": "Invite Rejected", + "Reject Confirm": "Confirm rejecting this invitation?", + "accept": "accept", + "reject": "reject" }, "member": { - "Confirm Leave": "Confirm leave the team?", - "active": "Accept", - "reject": "Rejected", - "waiting": "Waiting" + "Confirm Leave": "Confirm leaving this team?", + "active": "Joined", + "reject": "Reject", + "waiting": "Pending" }, "role": { "Admin": "Admin", "Member": "Member", - "Owner": "Owner", - "Update to Visitor": "Set to visitor", + "Owner": "Creator", + "Update to Visitor": "Change to Visitor", "Visitor": "Visitor" } } } -} +} \ No newline at end of file