Standardize UI text capitalization to sentence case (#11696)

### What problem does this PR solve?

This PR addresses inconsistencies in UI text capitalization across the
application, enforcing a "Sentence case" style (only the first letter
capitalized) for better readability and visual consistency.

### Type of change

- [x] Refactoring
This commit is contained in:
redredrrred
2025-12-03 17:01:22 +08:00
committed by GitHub
parent 237a66913b
commit caaf7043cc

View File

@ -54,7 +54,7 @@ export default {
noData: 'No data available', noData: 'No data available',
promptPlaceholder: `Please input or use / to quickly insert variables.`, promptPlaceholder: `Please input or use / to quickly insert variables.`,
mcp: { mcp: {
namePlaceholder: 'My MCP Server', namePlaceholder: 'My MCP server',
nameRequired: nameRequired:
'It must be 164 characters long and can only contain letters, numbers, hyphens, and underscores.', 'It must be 164 characters long and can only contain letters, numbers, hyphens, and underscores.',
urlPlaceholder: 'https://api.example.com/v1/mcp', urlPlaceholder: 'https://api.example.com/v1/mcp',
@ -63,8 +63,8 @@ export default {
selected: 'Selected', selected: 'Selected',
}, },
login: { login: {
loginTitle: 'Sign in to Your Account', loginTitle: 'Sign in to your account',
signUpTitle: 'Create an Account', signUpTitle: 'Create an account',
login: 'Sign in', login: 'Sign in',
signUp: 'Sign up', signUp: 'Sign up',
loginDescription: 'Were so excited to see you again!', loginDescription: 'Were so excited to see you again!',
@ -111,9 +111,9 @@ export default {
noMoreData: `That's all. Nothing more.`, noMoreData: `That's all. Nothing more.`,
}, },
knowledgeDetails: { knowledgeDetails: {
localUpload: 'Local Upload', localUpload: 'Local upload',
fileSize: 'File Size', fileSize: 'File size',
fileType: 'File Type', fileType: 'File type',
uploadedBy: 'Uploaded by', uploadedBy: 'Uploaded by',
notGenerated: 'Not generated', notGenerated: 'Not generated',
generatedOn: 'Generated on ', generatedOn: 'Generated on ',
@ -124,7 +124,7 @@ export default {
'Performs recursive clustering and summarization of document chunks to build a hierarchical tree structure, enabling more context-aware retrieval across lengthy documents.', 'Performs recursive clustering and summarization of document chunks to build a hierarchical tree structure, enabling more context-aware retrieval across lengthy documents.',
generate: 'Generate', generate: 'Generate',
raptor: 'RAPTOR', raptor: 'RAPTOR',
processingType: 'Processing Type', processingType: 'Processing type',
dataPipeline: 'Ingestion pipeline', dataPipeline: 'Ingestion pipeline',
operations: 'Operations', operations: 'Operations',
taskId: 'Task ID', taskId: 'Task ID',
@ -132,23 +132,23 @@ export default {
details: 'Details', details: 'Details',
status: 'Status', status: 'Status',
task: 'Task', task: 'Task',
startDate: 'Start Date', startDate: 'Start date',
source: 'Source', source: 'Source',
fileName: 'File Name', fileName: 'File name',
datasetLogs: 'Dataset', datasetLogs: 'Dataset',
fileLogs: 'File', fileLogs: 'File',
overview: 'Logs', overview: 'Logs',
success: 'Success', success: 'Success',
failed: 'Failed', failed: 'Failed',
completed: 'Completed', completed: 'Completed',
datasetLog: 'Dataset Log', datasetLog: 'Dataset log',
created: 'Created', created: 'Created',
learnMore: 'Built-in pipeline introduction', learnMore: 'Built-in pipeline introduction',
general: 'General', general: 'General',
chunkMethodTab: 'Chunk Method', chunkMethodTab: 'Chunk method',
testResults: 'Test Results', testResults: 'Test results',
testSetting: 'Test Setting', testSetting: 'Test setting',
retrievalTesting: 'Retrieval Testing', retrievalTesting: 'Retrieval testing',
retrievalTestingDescription: retrievalTestingDescription:
'Conduct a retrieval test to check if RAGFlow can recover the intended content for the LLM.', 'Conduct a retrieval test to check if RAGFlow can recover the intended content for the LLM.',
Parse: 'Parse', Parse: 'Parse',
@ -156,7 +156,7 @@ export default {
testing: 'Retrieval testing', testing: 'Retrieval testing',
files: 'files', files: 'files',
configuration: 'Configuration', configuration: 'Configuration',
knowledgeGraph: 'Knowledge Graph', knowledgeGraph: 'Knowledge graph',
name: 'Name', name: 'Name',
namePlaceholder: 'Please input name!', namePlaceholder: 'Please input name!',
doc: 'Docs', doc: 'Docs',
@ -166,14 +166,14 @@ export default {
searchFiles: 'Search your files', searchFiles: 'Search your files',
localFiles: 'Local files', localFiles: 'Local files',
emptyFiles: 'Create empty file', emptyFiles: 'Create empty file',
webCrawl: 'Web Crawl', webCrawl: 'Web crawl',
chunkNumber: 'Chunk Number', chunkNumber: 'Chunk number',
uploadDate: 'Upload Date', uploadDate: 'Upload date',
chunkMethod: 'Chunking method', chunkMethod: 'Chunking method',
enabled: 'Enable', enabled: 'Enable',
disabled: 'Disable', disabled: 'Disable',
action: 'Action', action: 'Action',
parsingStatus: 'Parsing Status', parsingStatus: 'Parsing status',
parsingStatusTip: parsingStatusTip:
'Document parsing time varies based on several factors. Enabling features like Knowledge Graph, RAPTOR, Auto Question Extraction, or Auto Keyword Extraction will significantly increase processing time. If the progress bar stalls, please consult these two FAQs: https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent.', 'Document parsing time varies based on several factors. Enabling features like Knowledge Graph, RAPTOR, Auto Question Extraction, or Auto Keyword Extraction will significantly increase processing time. If the progress bar stalls, please consult these two FAQs: https://ragflow.io/docs/dev/faq#why-does-my-document-parsing-stall-at-under-one-percent.',
processBeginAt: 'Begin at', processBeginAt: 'Begin at',
@ -210,7 +210,7 @@ export default {
runningStatus2: 'CANCELED', runningStatus2: 'CANCELED',
runningStatus3: 'SUCCESS', runningStatus3: 'SUCCESS',
runningStatus4: 'FAIL', runningStatus4: 'FAIL',
pageRanges: 'Page Ranges', pageRanges: 'Page ranges',
pageRangesTip: pageRangesTip:
'Range of pages to be parsed; pages outside this range will not be processed.', 'Range of pages to be parsed; pages outside this range will not be processed.',
fromPlaceholder: 'from', fromPlaceholder: 'from',
@ -251,7 +251,7 @@ export default {
autoQuestions: 'Auto-question', autoQuestions: 'Auto-question',
autoQuestionsTip: `Automatically extract N questions for each chunk to increase their ranking for queries containing those questions. You can check or update the added questions for a chunk from the chunk list. This feature will not disrupt the chunking process if an error occurs, except that it may add an empty result to the original chunk. Be aware that extra tokens will be consumed by the LLM specified in 'System model settings'. For details, see https://ragflow.io/docs/dev/autokeyword_autoquestion.`, autoQuestionsTip: `Automatically extract N questions for each chunk to increase their ranking for queries containing those questions. You can check or update the added questions for a chunk from the chunk list. This feature will not disrupt the chunking process if an error occurs, except that it may add an empty result to the original chunk. Be aware that extra tokens will be consumed by the LLM specified in 'System model settings'. For details, see https://ragflow.io/docs/dev/autokeyword_autoquestion.`,
redo: 'Do you want to clear the existing {{chunkNum}} chunks?', redo: 'Do you want to clear the existing {{chunkNum}} chunks?',
setMetaData: 'Set Meta Data', setMetaData: 'Set meta data',
pleaseInputJson: 'Please enter JSON', pleaseInputJson: 'Please enter JSON',
documentMetaTips: `<p>The meta data is in Json format(it's not searchable). It will be added into prompt for LLM if any chunks of this document are included in the prompt.</p> documentMetaTips: `<p>The meta data is in Json format(it's not searchable). It will be added into prompt for LLM if any chunks of this document are included in the prompt.</p>
<p>Examples:</p> <p>Examples:</p>
@ -282,17 +282,17 @@ export default {
generationScopeTip: generationScopeTip:
'Determines whether RAPTOR is generated for the entire dataset or for a single file.', 'Determines whether RAPTOR is generated for the entire dataset or for a single file.',
scopeDataset: 'Dataset', scopeDataset: 'Dataset',
generationScope: 'Generation Scope', generationScope: 'Generation scope',
scopeSingleFile: 'Single File', scopeSingleFile: 'Single file',
autoParse: 'Auto Parse', autoParse: 'Auto parse',
rebuildTip: rebuildTip:
'Re-downloads files from the linked data source and parses them again.', 'Re-downloads files from the linked data source and parses them again.',
baseInfo: 'Basic Info', baseInfo: 'Basic info',
globalIndex: 'Global Index', globalIndex: 'Global index',
dataSource: 'Data Source', dataSource: 'Data source',
linkSourceSetTip: 'Manage data source linkage with this dataset', linkSourceSetTip: 'Manage data source linkage with this dataset',
linkDataSource: 'Link Data Source', linkDataSource: 'Link data source',
tocExtraction: 'TOC Enhance', tocExtraction: 'TOC enhance',
tocExtractionTip: tocExtractionTip:
" For existing chunks, generate a hierarchical table of contents (one directory per file). During queries, when Directory Enhancement is activated, the system will use a large model to determine which directory items are relevant to the user's question, thereby identifying the relevant chunks.", " For existing chunks, generate a hierarchical table of contents (one directory per file). During queries, when Directory Enhancement is activated, the system will use a large model to determine which directory items are relevant to the user's question, thereby identifying the relevant chunks.",
deleteGenerateModalContent: ` deleteGenerateModalContent: `
@ -303,23 +303,23 @@ export default {
Do you want to continue? Do you want to continue?
`, `,
extractRaptor: 'Extract Raptor', extractRaptor: 'Extract Raptor',
extractKnowledgeGraph: 'Extract Knowledge Graph', extractKnowledgeGraph: 'Extract knowledge graph',
filterPlaceholder: 'please input filter', filterPlaceholder: 'please input filter',
fileFilterTip: '', fileFilterTip: '',
fileFilter: 'File Filter', fileFilter: 'File filter',
setDefaultTip: '', setDefaultTip: '',
setDefault: 'Set as Default', setDefault: 'Set as default',
eidtLinkDataPipeline: 'Edit Ingestion pipeline', eidtLinkDataPipeline: 'Edit Ingestion pipeline',
linkPipelineSetTip: 'Manage Ingestion pipeline linkage with this dataset', linkPipelineSetTip: 'Manage Ingestion pipeline linkage with this dataset',
default: 'Default', default: 'Default',
dataPipeline: 'Ingestion pipeline', dataPipeline: 'Ingestion pipeline',
linkDataPipeline: 'Link Ingestion pipeline', linkDataPipeline: 'Link Ingestion pipeline',
enableAutoGenerate: 'Enable Auto Generate', enableAutoGenerate: 'Enable auto generate',
teamPlaceholder: 'Please select a team.', teamPlaceholder: 'Please select a team.',
dataFlowPlaceholder: 'Please select a pipeline.', dataFlowPlaceholder: 'Please select a pipeline.',
buildItFromScratch: 'Build it from scratch', buildItFromScratch: 'Build it from scratch',
dataFlow: 'Pipeline', dataFlow: 'Pipeline',
parseType: 'Parse Type', parseType: 'Parse type',
manualSetup: 'Choose pipeline', manualSetup: 'Choose pipeline',
builtIn: 'Built-in', builtIn: 'Built-in',
titleDescription: titleDescription:
@ -489,7 +489,7 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
<li>The auto-keyword feature is dependent on the LLM and consumes a significant number of tokens.</li> <li>The auto-keyword feature is dependent on the LLM and consumes a significant number of tokens.</li>
</ul> </ul>
`, `,
topnTags: 'Top-N Tags', topnTags: 'Top-N tags',
tags: 'Tags', tags: 'Tags',
addTag: 'Add tag', addTag: 'Add tag',
useGraphRag: 'Knowledge graph', useGraphRag: 'Knowledge graph',
@ -510,7 +510,7 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
chunk: { chunk: {
chunk: 'Chunk', chunk: 'Chunk',
bulk: 'Bulk', bulk: 'Bulk',
selectAll: 'Select All', selectAll: 'Select all',
enabledSelected: 'Enable selected', enabledSelected: 'Enable selected',
disabledSelected: 'Disable selected', disabledSelected: 'Disable selected',
deleteSelected: 'Delete selected', deleteSelected: 'Delete selected',
@ -527,7 +527,7 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
mind: 'Mind map', mind: 'Mind map',
question: 'Question', question: 'Question',
questionTip: `If there are given questions, the embedding of the chunk will be based on them.`, questionTip: `If there are given questions, the embedding of the chunk will be based on them.`,
chunkResult: 'Chunk Result', chunkResult: 'Chunk result',
chunkResultTip: `View the chunked segments used for embedding and retrieval.`, chunkResultTip: `View the chunked segments used for embedding and retrieval.`,
enable: 'Enable', enable: 'Enable',
disable: 'Disable', disable: 'Disable',
@ -536,12 +536,12 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
chat: { chat: {
messagePlaceholder: 'Type your message here...', messagePlaceholder: 'Type your message here...',
exit: 'Exit', exit: 'Exit',
multipleModels: 'Multiple Models', multipleModels: 'Multiple models',
applyModelConfigs: 'Apply model configs', applyModelConfigs: 'Apply model configs',
conversations: 'Conversations', conversations: 'Conversations',
chatApps: 'Chat Apps', chatApps: 'Chat apps',
newConversation: 'New conversation', newConversation: 'New conversation',
createAssistant: 'Create an Assistant', createAssistant: 'Create an assistant',
assistantSetting: 'Assistant settings', assistantSetting: 'Assistant settings',
promptEngine: 'Prompt engine', promptEngine: 'Prompt engine',
modelSetting: 'Model settings', modelSetting: 'Model settings',
@ -549,7 +549,7 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
newChat: 'New chat', newChat: 'New chat',
send: 'Send', send: 'Send',
sendPlaceholder: 'Message the assistant...', sendPlaceholder: 'Message the assistant...',
chatConfiguration: 'Chat Configuration', chatConfiguration: 'Chat configuration',
chatConfigurationDescription: chatConfigurationDescription:
' Set up a chat assistant for your selected datasets (knowledge bases) here! 💕', ' Set up a chat assistant for your selected datasets (knowledge bases) here! 💕',
assistantName: 'Assistant name', assistantName: 'Assistant name',
@ -628,21 +628,21 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
thumbUp: 'customer satisfaction', thumbUp: 'customer satisfaction',
preview: 'Preview', preview: 'Preview',
embedded: 'Embedded', embedded: 'Embedded',
serviceApiEndpoint: 'Service API Endpoint', serviceApiEndpoint: 'Service API endpoint',
apiKey: 'API KEY', apiKey: 'API KEY',
apiReference: 'API Documents', apiReference: 'API documents',
dateRange: 'Date Range:', dateRange: 'Date range:',
backendServiceApi: 'API Server', backendServiceApi: 'API server',
createNewKey: 'Create new key', createNewKey: 'Create new key',
created: 'Created', created: 'Created',
action: 'Action', action: 'Action',
embedModalTitle: 'Embed into webpage', embedModalTitle: 'Embed into webpage',
comingSoon: 'Coming soon', comingSoon: 'Coming soon',
fullScreenTitle: 'Full Embed', fullScreenTitle: 'Full embed',
fullScreenDescription: fullScreenDescription:
'Embed the following iframe into your website at the desired location', 'Embed the following iframe into your website at the desired location',
partialTitle: 'Partial Embed', partialTitle: 'Partial embed',
extensionTitle: 'Chrome Extension', extensionTitle: 'Chrome extension',
tokenError: 'Please create API key first.', tokenError: 'Please create API key first.',
betaError: betaError:
'Please acquire a RAGFlow API key from the System Settings page first.', 'Please acquire a RAGFlow API key from the System Settings page first.',
@ -682,11 +682,11 @@ This auto-tagging feature enhances retrieval by adding another layer of domain-s
crossLanguage: 'Cross-language search', crossLanguage: 'Cross-language search',
crossLanguageTip: `Select one or more languages for crosslanguage search. If no language is selected, the system searches with the original query.`, crossLanguageTip: `Select one or more languages for crosslanguage search. If no language is selected, the system searches with the original query.`,
createChat: 'Create chat', createChat: 'Create chat',
metadata: 'Meta Data', metadata: 'Meta data',
metadataTip: metadataTip:
'Metadata filtering is the process of using metadata attributes (such as tags, categories, or access permissions) to refine and control the retrieval of relevant information within a system.', 'Metadata filtering is the process of using metadata attributes (such as tags, categories, or access permissions) to refine and control the retrieval of relevant information within a system.',
conditions: 'Conditions', conditions: 'Conditions',
addCondition: 'Add Condition', addCondition: 'Add condition',
meta: { meta: {
disabled: 'Disabled', disabled: 'Disabled',
auto: 'Automatic', auto: 'Automatic',
@ -726,7 +726,7 @@ Example: Virtual Hosted Style`,
<p>Are you sure you want to delete this data source link?</p>`, <p>Are you sure you want to delete this data source link?</p>`,
deleteSourceModalConfirmText: 'Confirm', deleteSourceModalConfirmText: 'Confirm',
errorMsg: 'Error message', errorMsg: 'Error message',
newDocs: 'New Docs', newDocs: 'New docs',
timeStarted: 'Time started', timeStarted: 'Time started',
log: 'Log', log: 'Log',
confluenceDescription: confluenceDescription:
@ -802,7 +802,7 @@ Example: Virtual Hosted Style`,
avatar: 'Avatar', avatar: 'Avatar',
avatarTip: 'This will be displayed on your profile.', avatarTip: 'This will be displayed on your profile.',
profileDescription: 'Update your photo and personal details here.', profileDescription: 'Update your photo and personal details here.',
maxTokens: 'Max Tokens', maxTokens: 'Max tokens',
maxTokensMessage: 'Max Tokens is required', maxTokensMessage: 'Max Tokens is required',
maxTokensTip: `This sets the maximum length of the model's output, measured in the number of tokens (words or pieces of words). Defaults to 512. If disabled, you lift the maximum token limit, allowing the model to determine the number of tokens in its responses.`, maxTokensTip: `This sets the maximum length of the model's output, measured in the number of tokens (words or pieces of words). Defaults to 512. If disabled, you lift the maximum token limit, allowing the model to determine the number of tokens in its responses.`,
maxTokensInvalidMessage: 'Please enter a valid number for Max Tokens.', maxTokensInvalidMessage: 'Please enter a valid number for Max Tokens.',
@ -834,7 +834,7 @@ Example: Virtual Hosted Style`,
currentPassword: 'Current password', currentPassword: 'Current password',
currentPasswordMessage: 'Please input your password!', currentPasswordMessage: 'Please input your password!',
newPassword: 'New password', newPassword: 'New password',
changePassword: 'Change Password', changePassword: 'Change password',
newPasswordMessage: 'Please input your password!', newPasswordMessage: 'Please input your password!',
newPasswordDescription: newPasswordDescription:
'Your new password must be more than 8 characters.', 'Your new password must be more than 8 characters.',
@ -883,8 +883,8 @@ Example: Virtual Hosted Style`,
workspace: 'workspace', workspace: 'workspace',
upgrade: 'Upgrade', upgrade: 'Upgrade',
addLlmTitle: 'Add LLM', addLlmTitle: 'Add LLM',
editLlmTitle: 'Edit {{name}} Model', editLlmTitle: 'Edit {{name}} model',
editModel: 'Edit Model', editModel: 'Edit model',
modelName: 'Model name', modelName: 'Model name',
modelID: 'Model ID', modelID: 'Model ID',
modelUid: 'Model UID', modelUid: 'Model UID',
@ -907,7 +907,7 @@ Example: Virtual Hosted Style`,
bedrockAKMessage: 'Please input your ACCESS KEY', bedrockAKMessage: 'Please input your ACCESS KEY',
addBedrockSK: 'SECRET KEY', addBedrockSK: 'SECRET KEY',
bedrockSKMessage: 'Please input your SECRET KEY', bedrockSKMessage: 'Please input your SECRET KEY',
bedrockRegion: 'AWS Region', bedrockRegion: 'AWS region',
bedrockRegionMessage: 'Please select!', bedrockRegionMessage: 'Please select!',
'us-east-2': 'US East (Ohio)', 'us-east-2': 'US East (Ohio)',
'us-east-1': 'US East (N. Virginia)', 'us-east-1': 'US East (N. Virginia)',
@ -1048,15 +1048,15 @@ Example: Virtual Hosted Style`,
fileManager: { fileManager: {
files: 'Files', files: 'Files',
name: 'Name', name: 'Name',
uploadDate: 'Upload Date', uploadDate: 'Upload date',
knowledgeBase: 'Dataset', knowledgeBase: 'Dataset',
size: 'Size', size: 'Size',
action: 'Action', action: 'Action',
addToKnowledge: 'Link to Knowledge Base', addToKnowledge: 'Link to dataset',
pleaseSelect: 'Please select', pleaseSelect: 'Please select',
newFolder: 'New Folder', newFolder: 'New folder',
file: 'File', file: 'File',
uploadFile: 'Upload File', uploadFile: 'Upload file',
parseOnCreation: 'Parse on creation', parseOnCreation: 'Parse on creation',
directory: 'Directory', directory: 'Directory',
uploadTitle: 'Drag and drop your file here to upload', uploadTitle: 'Drag and drop your file here to upload',
@ -1078,44 +1078,44 @@ Example: Virtual Hosted Style`,
formatTypeError: 'Format or type error', formatTypeError: 'Format or type error',
variableNameMessage: variableNameMessage:
'Variable name can only contain letters and underscores and numbers', 'Variable name can only contain letters and underscores and numbers',
variableDescription: 'Variable Description', variableDescription: 'Variable description',
defaultValue: 'Default Value', defaultValue: 'Default value',
conversationVariable: 'Conversation variable', conversationVariable: 'Conversation variable',
recommended: 'Recommended', recommended: 'Recommended',
customerSupport: 'Customer Support', customerSupport: 'Customer support',
marketing: 'Marketing', marketing: 'Marketing',
consumerApp: 'Consumer App', consumerApp: 'Consumer app',
other: 'Other', other: 'Other',
ingestionPipeline: 'Ingestion Pipeline', ingestionPipeline: 'Ingestion pipeline',
agents: 'Agents', agents: 'Agents',
days: 'Days', days: 'Days',
beginInput: 'Begin Input', beginInput: 'Begin input',
ref: 'Variable', ref: 'Variable',
stockCode: 'Stock Code', stockCode: 'Stock code',
apiKeyPlaceholder: apiKeyPlaceholder:
'YOUR_API_KEY (obtained from https://serpapi.com/manage-api-key)', 'YOUR_API_KEY (obtained from https://serpapi.com/manage-api-key)',
flowStart: 'Start', flowStart: 'Start',
flowNum: 'N', flowNum: 'N',
test: 'Test', test: 'Test',
extractDepth: 'Extract Depth', extractDepth: 'Extract depth',
format: 'Format', format: 'Format',
basic: 'basic', basic: 'basic',
advanced: 'advanced', advanced: 'advanced',
general: 'general', general: 'general',
searchDepth: 'Search Depth', searchDepth: 'Search depth',
tavilyTopic: 'Tavily Topic', tavilyTopic: 'Tavily topic',
maxResults: 'Max Results', maxResults: 'Max results',
includeAnswer: 'Include Answer', includeAnswer: 'Include answer',
includeRawContent: 'Include Raw Content', includeRawContent: 'Include raw content',
includeImages: 'Include Images', includeImages: 'Include images',
includeImageDescriptions: 'Include Image Descriptions', includeImageDescriptions: 'Include image descriptions',
includeDomains: 'Include Domains', includeDomains: 'Include domains',
ExcludeDomains: 'Exclude Domains', ExcludeDomains: 'Exclude domains',
Days: 'Days', Days: 'Days',
comma: 'Comma', comma: 'Comma',
semicolon: 'Semicolon', semicolon: 'Semicolon',
period: 'Period', period: 'Period',
lineBreak: 'Line Break', lineBreak: 'Line break',
tab: 'Tab', tab: 'Tab',
space: 'Space', space: 'Space',
delimiters: 'Delimiters', delimiters: 'Delimiters',
@ -1124,8 +1124,8 @@ Example: Virtual Hosted Style`,
script: 'Script', script: 'Script',
iterationItemDescription: iterationItemDescription:
'It represents the current element in the iteration, which can be referenced and manipulated in subsequent steps.', 'It represents the current element in the iteration, which can be referenced and manipulated in subsequent steps.',
guidingQuestion: 'Guidance Question', guidingQuestion: 'Guidance question',
onFailure: 'On Failure', onFailure: 'On failure',
userPromptDefaultValue: userPromptDefaultValue:
'This is the order you need to send to the agent.', 'This is the order you need to send to the agent.',
search: 'Search', search: 'Search',
@ -1138,8 +1138,8 @@ Example: Virtual Hosted Style`,
maxRounds: 'Max reflection rounds', maxRounds: 'Max reflection rounds',
delayEfterError: 'Delay after error', delayEfterError: 'Delay after error',
maxRetries: 'Max retry rounds', maxRetries: 'Max retry rounds',
advancedSettings: 'Advanced Settings', advancedSettings: 'Advanced settings',
addTools: 'Add Tools', addTools: 'Add tools',
sysPromptDefaultValue: ` sysPromptDefaultValue: `
<role> <role>
You are a helpful assistant, an AI assistant specialized in problem-solving for the user. You are a helpful assistant, an AI assistant specialized in problem-solving for the user.
@ -1153,15 +1153,15 @@ Example: Virtual Hosted Style`,
5. Summarize the final result clearly. 5. Summarize the final result clearly.
</instructions>`, </instructions>`,
singleLineText: 'Single-line text', singleLineText: 'Single-line text',
multimodalModels: 'Multimodal Models', multimodalModels: 'Multimodal models',
textOnlyModels: 'Text-only Models', textOnlyModels: 'Text-only models',
allModels: 'All Models', allModels: 'All models',
codeExecDescription: 'Write your custom Python or Javascript logic.', codeExecDescription: 'Write your custom Python or Javascript logic.',
stringTransformDescription: stringTransformDescription:
'Modifies text content. Currently supports: Splitting or concatenating text.', 'Modifies text content. Currently supports: Splitting or concatenating text.',
foundation: 'Foundation', foundation: 'Foundation',
tools: 'Tools', tools: 'Tools',
dataManipulation: 'Data Manipulation', dataManipulation: 'Data manipulation',
flow: 'Flow', flow: 'Flow',
dialog: 'Dialogue', dialog: 'Dialogue',
cite: 'Cite', cite: 'Cite',
@ -1184,7 +1184,7 @@ Example: Virtual Hosted Style`,
'Loop is the upper limit of the number of loops of the current component, when the number of loops exceeds the value of loop, it means that the component can not complete the current task, please re-optimize agent', 'Loop is the upper limit of the number of loops of the current component, when the number of loops exceeds the value of loop, it means that the component can not complete the current task, please re-optimize agent',
exitLoop: 'Exit loop', exitLoop: 'Exit loop',
exitLoopDescription: `Equivalent to "break". This node has no configuration items. When the loop body reaches this node, the loop terminates.`, exitLoopDescription: `Equivalent to "break". This node has no configuration items. When the loop body reaches this node, the loop terminates.`,
loopVariables: 'Loop Variables', loopVariables: 'Loop variables',
maximumLoopCount: 'Maximum loop count', maximumLoopCount: 'Maximum loop count',
loopTerminationCondition: 'Loop termination condition', loopTerminationCondition: 'Loop termination condition',
yes: 'Yes', yes: 'Yes',
@ -1223,8 +1223,8 @@ Example: Virtual Hosted Style`,
message: 'Message', message: 'Message',
blank: 'Blank', blank: 'Blank',
createFromNothing: 'Create your agent from scratch', createFromNothing: 'Create your agent from scratch',
addItem: 'Add Item', addItem: 'Add item',
addSubItem: 'Add Sub Item', addSubItem: 'Add sub item',
nameRequiredMsg: 'Name is required', nameRequiredMsg: 'Name is required',
nameRepeatedMsg: 'The name cannot be repeated', nameRepeatedMsg: 'The name cannot be repeated',
keywordExtract: 'Keyword', keywordExtract: 'Keyword',
@ -1265,7 +1265,7 @@ Example: Virtual Hosted Style`,
bingDescription: bingDescription:
'A component that searches from https://www.bing.com/, allowing you to specify the number of search results using TopN. It supplements the existing knowledge bases. Please note that this requires an API key from microsoft.com.', 'A component that searches from https://www.bing.com/, allowing you to specify the number of search results using TopN. It supplements the existing knowledge bases. Please note that this requires an API key from microsoft.com.',
apiKey: 'API KEY', apiKey: 'API KEY',
country: 'Country & Region', country: 'Country & region',
language: 'Language', language: 'Language',
googleScholar: 'Google Scholar', googleScholar: 'Google Scholar',
googleScholarDescription: googleScholarDescription:
@ -1400,7 +1400,7 @@ Example: Virtual Hosted Style`,
exeSQL: 'Execute SQL', exeSQL: 'Execute SQL',
exeSQLDescription: exeSQLDescription:
'A component that performs SQL queries on a relational database, supporting querying from MySQL, PostgreSQL, or MariaDB.', 'A component that performs SQL queries on a relational database, supporting querying from MySQL, PostgreSQL, or MariaDB.',
dbType: 'Database Type', dbType: 'Database type',
database: 'Database', database: 'Database',
username: 'Username', username: 'Username',
host: 'Host', host: 'Host',
@ -1441,8 +1441,8 @@ Example: Virtual Hosted Style`,
fund: 'fund', fund: 'fund',
hkstock: 'Hong Kong shares', hkstock: 'Hong Kong shares',
usstock: 'US stock market', usstock: 'US stock market',
threeboard: 'New OTC Market', threeboard: 'New OTC market',
conbond: 'Convertible Bond', conbond: 'Convertible bond',
insurance: 'insurance', insurance: 'insurance',
futures: 'futures', futures: 'futures',
lccp: 'Financing', lccp: 'Financing',
@ -1454,7 +1454,7 @@ Example: Virtual Hosted Style`,
yahooFinance: 'YahooFinance', yahooFinance: 'YahooFinance',
yahooFinanceDescription: yahooFinanceDescription:
'A component that queries information about a publicly traded company using its ticker symbol.', 'A component that queries information about a publicly traded company using its ticker symbol.',
crawler: 'Web Crawler', crawler: 'Web crawler',
crawlerDescription: crawlerDescription:
'A component that crawls HTML source code from a specified URL.', 'A component that crawls HTML source code from a specified URL.',
proxy: 'Proxy', proxy: 'Proxy',
@ -1480,38 +1480,38 @@ Example: Virtual Hosted Style`,
symbolsDatatype: 'Symbols datatype', symbolsDatatype: 'Symbols datatype',
symbolsType: 'Symbols type', symbolsType: 'Symbols type',
jin10TypeOptions: { jin10TypeOptions: {
flash: 'Quick News', flash: 'Quick news',
calendar: 'Calendar', calendar: 'Calendar',
symbols: 'quotes', symbols: 'quotes',
news: 'reference', news: 'reference',
}, },
jin10FlashTypeOptions: { jin10FlashTypeOptions: {
'1': 'Market News', '1': 'Market news',
'2': ' Futures News', '2': 'Futures news',
'3': 'US-Hong Kong News', '3': 'US-Hong Kong news',
'4': 'A-Share News', '4': 'A-Share news',
'5': 'Commodities & Forex News', '5': 'Commodities & Forex news',
}, },
jin10CalendarTypeOptions: { jin10CalendarTypeOptions: {
cj: 'Macroeconomic Data Calendar', cj: 'Macroeconomic data calendar',
qh: ' Futures Calendar', qh: 'Futures calendar',
hk: 'Hong Kong Stock Market Calendar', hk: 'Hong Kong stock market calendar',
us: 'US Stock Market Calendar', us: 'US stock market calendar',
}, },
jin10CalendarDatashapeOptions: { jin10CalendarDatashapeOptions: {
data: 'Data', data: 'Data',
event: ' Event', event: 'Event',
holiday: 'Holiday', holiday: 'Holiday',
}, },
jin10SymbolsTypeOptions: { jin10SymbolsTypeOptions: {
GOODS: 'Commodity Quotes', GOODS: 'Commodity quotes',
FOREX: ' Forex Quotes', FOREX: 'Forex quotes',
FUTURE: 'International Market Quotes', FUTURE: 'International market quotes',
CRYPTO: 'Cryptocurrency Quotes', CRYPTO: 'Cryptocurrency quotes',
}, },
jin10SymbolsDatatypeOptions: { jin10SymbolsDatatypeOptions: {
symbols: 'Commodity List', symbols: 'Commodity list',
quotes: ' Latest Market Quotes', quotes: 'Latest market quotes',
}, },
concentrator: 'Concentrator', concentrator: 'Concentrator',
concentratorDescription: concentratorDescription:
@ -1536,7 +1536,7 @@ Example: Virtual Hosted Style`,
note: 'Note', note: 'Note',
noteDescription: 'Note', noteDescription: 'Note',
notePlaceholder: 'Please enter a note', notePlaceholder: 'Please enter a note',
invoke: 'HTTP Request', invoke: 'HTTP request',
invokeDescription: `A component capable of calling remote services, using other components' outputs or constants as inputs.`, invokeDescription: `A component capable of calling remote services, using other components' outputs or constants as inputs.`,
url: 'Url', url: 'Url',
method: 'Method', method: 'Method',
@ -1553,23 +1553,23 @@ Example: Virtual Hosted Style`,
parameter: 'Parameter', parameter: 'Parameter',
howUseId: 'How to use agent ID?', howUseId: 'How to use agent ID?',
content: 'Content', content: 'Content',
operationResults: 'Operation Results', operationResults: 'Operation results',
autosaved: 'Autosaved', autosaved: 'Autosaved',
optional: 'Optional', optional: 'Optional',
pasteFileLink: 'Paste file link', pasteFileLink: 'Paste file link',
testRun: 'Test Run', testRun: 'Test run',
template: 'Template', template: 'Template',
templateDescription: templateDescription:
'A component that formats the output of other components.1. Supports Jinja2 templates, will first convert the input to an object and then render the template, 2. Simultaneously retains the original method of using {parameter} string replacement', 'A component that formats the output of other components.1. Supports Jinja2 templates, will first convert the input to an object and then render the template, 2. Simultaneously retains the original method of using {parameter} string replacement',
emailComponent: 'Email', emailComponent: 'Email',
emailDescription: 'Send an email to a specified address.', emailDescription: 'Send an email to a specified address.',
smtpServer: 'SMTP Server', smtpServer: 'SMTP server',
smtpPort: 'SMTP Port', smtpPort: 'SMTP port',
senderEmail: 'Sender Email', senderEmail: 'Sender email',
authCode: 'Authorization Code', authCode: 'Authorization code',
senderName: 'Sender Name', senderName: 'Sender name',
toEmail: 'Recipient Email', toEmail: 'Recipient email',
ccEmail: 'CC Email', ccEmail: 'CC email',
emailSubject: 'Subject', emailSubject: 'Subject',
emailContent: 'Content', emailContent: 'Content',
smtpServerRequired: 'Please input SMTP server address', smtpServerRequired: 'Please input SMTP server address',
@ -1579,7 +1579,7 @@ Example: Virtual Hosted Style`,
emailContentRequired: 'Please input email content', emailContentRequired: 'Please input email content',
emailSentSuccess: 'Email sent successfully', emailSentSuccess: 'Email sent successfully',
emailSentFailed: 'Failed to send email', emailSentFailed: 'Failed to send email',
dynamicParameters: 'Dynamic Parameters', dynamicParameters: 'Dynamic parameters',
jsonFormatTip: jsonFormatTip:
'Upstream component should provide JSON string in following format:', 'Upstream component should provide JSON string in following format:',
toEmailTip: 'to_email: Recipient email (Required)', toEmailTip: 'to_email: Recipient email (Required)',
@ -1687,18 +1687,18 @@ This process aggregates variables from multiple branches into a single variable
queryRequired: 'Query is required', queryRequired: 'Query is required',
queryTip: 'Select the variable you want to use', queryTip: 'Select the variable you want to use',
agent: 'Agent', agent: 'Agent',
addAgent: 'Add Agent', addAgent: 'Add agent',
agentDescription: agentDescription:
'Builds agent components equipped with reasoning, tool usage, and multi-agent collaboration. ', 'Builds agent components equipped with reasoning, tool usage, and multi-agent collaboration. ',
maxRecords: 'Max records', maxRecords: 'Max records',
createAgent: 'Agent flow', createAgent: 'Agent flow',
stringTransform: 'Text Processing', stringTransform: 'Text processing',
userFillUp: 'Await Response', userFillUp: 'Await response',
userFillUpDescription: `Pauses the workflow and waits for the user's message before continuing.`, userFillUpDescription: `Pauses the workflow and waits for the user's message before continuing.`,
codeExec: 'Code', codeExec: 'Code',
tavilySearch: 'Tavily Search', tavilySearch: 'Tavily search',
tavilySearchDescription: 'Search results via Tavily service.', tavilySearchDescription: 'Search results via Tavily service.',
tavilyExtract: 'Tavily Extract', tavilyExtract: 'Tavily extract',
tavilyExtractDescription: 'Tavily Extract', tavilyExtractDescription: 'Tavily Extract',
log: 'Log', log: 'Log',
management: 'Management', management: 'Management',
@ -1739,9 +1739,9 @@ This process aggregates variables from multiple branches into a single variable
httpRequest: 'Calling an API', httpRequest: 'Calling an API',
wenCai: 'Querying financial data', wenCai: 'Querying financial data',
}, },
goto: 'Fail Branch', goto: 'Fail branch',
comment: 'Default Value', comment: 'Default value',
sqlStatement: 'SQL Statement', sqlStatement: 'SQL statement',
sqlStatementTip: sqlStatementTip:
'Write your SQL query here. You can use variables, raw SQL, or mix both using variable syntax.', 'Write your SQL query here. You can use variables, raw SQL, or mix both using variable syntax.',
frameworkPrompts: 'Framework', frameworkPrompts: 'Framework',
@ -1751,7 +1751,7 @@ This process aggregates variables from multiple branches into a single variable
importJsonFile: 'Import JSON file', importJsonFile: 'Import JSON file',
ceateAgent: 'Agent flow', ceateAgent: 'Agent flow',
createPipeline: 'Ingestion pipeline', createPipeline: 'Ingestion pipeline',
chooseAgentType: 'Choose Agent Type', chooseAgentType: 'Choose agent type',
parser: 'Parser', parser: 'Parser',
parserDescription: parserDescription:
'Extracts raw text and structure from files for downstream processing.', 'Extracts raw text and structure from files for downstream processing.',
@ -1791,8 +1791,8 @@ This process aggregates variables from multiple branches into a single variable
The Indexer will store the content in the corresponding data structures for the selected methods.`, The Indexer will store the content in the corresponding data structures for the selected methods.`,
// file: 'File', // file: 'File',
parserMethod: 'PDF parser', parserMethod: 'PDF parser',
tableResultType: 'Table Result Type', tableResultType: 'Table result type',
markdownImageResponseType: 'Markdown Image Response Type', markdownImageResponseType: 'Markdown image response type',
// systemPrompt: 'System Prompt', // systemPrompt: 'System Prompt',
systemPromptPlaceholder: systemPromptPlaceholder:
'Enter system prompt for image analysis, if empty the system default value will be used', 'Enter system prompt for image analysis, if empty the system default value will be used',
@ -1860,10 +1860,10 @@ Important structured information may include: names, dates, locations, events, k
}, },
filenameEmbeddingWeight: 'Filename embedding weight', filenameEmbeddingWeight: 'Filename embedding weight',
tokenizerFieldsOptions: { tokenizerFieldsOptions: {
text: 'Processed Text', text: 'Processed text',
keywords: 'Keywords', keywords: 'Keywords',
questions: 'Questions', questions: 'Questions',
summary: 'Augmented Context', summary: 'Augmented context',
}, },
imageParseMethodOptions: { imageParseMethodOptions: {
ocr: 'OCR', ocr: 'OCR',
@ -1896,7 +1896,7 @@ Important structured information may include: names, dates, locations, events, k
desc: 'Descending', desc: 'Descending',
}, },
variableAssignerLogicalOperatorOptions: { variableAssignerLogicalOperatorOptions: {
overwrite: 'Overwritten By', overwrite: 'Overwritten by',
clear: 'Clear', clear: 'Clear',
set: 'Set', set: 'Set',
add: 'Add', add: 'Add',
@ -1928,7 +1928,7 @@ Important structured information may include: names, dates, locations, events, k
export: 'Export', export: 'Export',
import: 'Import', import: 'Import',
url: 'URL', url: 'URL',
serverType: 'Server Type', serverType: 'Server type',
addMCP: 'Add MCP', addMCP: 'Add MCP',
editMCP: 'Edit MCP', editMCP: 'Edit MCP',
toolsAvailable: 'tools available', toolsAvailable: 'tools available',
@ -1941,8 +1941,8 @@ Important structured information may include: names, dates, locations, events, k
selected: 'Selected', selected: 'Selected',
}, },
search: { search: {
searchApps: 'Search Apps', searchApps: 'Search apps',
createSearch: 'Create Search', createSearch: 'Create search',
searchGreeting: 'How can I help you today ', searchGreeting: 'How can I help you today ',
profile: 'Hide Profile', profile: 'Hide Profile',
locale: 'Locale', locale: 'Locale',
@ -1950,18 +1950,18 @@ Important structured information may include: names, dates, locations, events, k
id: 'ID', id: 'ID',
copySuccess: 'Copy Success', copySuccess: 'Copy Success',
welcomeBack: 'Welcome back', welcomeBack: 'Welcome back',
searchSettings: 'Search Settings', searchSettings: 'Search settings',
name: 'Name', name: 'Name',
avatar: 'Avatar', avatar: 'Avatar',
description: 'Description', description: 'Description',
datasets: 'Datasets', datasets: 'Datasets',
rerankModel: 'Rerank Model', rerankModel: 'Rerank model',
AISummary: 'AI Summary', AISummary: 'AI summary',
enableWebSearch: 'Enable Web Search', enableWebSearch: 'Enable web search',
enableRelatedSearch: 'Enable Related Search', enableRelatedSearch: 'Enable related search',
showQueryMindmap: 'Show Query Mindmap', showQueryMindmap: 'Show query mindmap',
embedApp: 'Embed App', embedApp: 'Embed app',
relatedSearch: 'Related Search', relatedSearch: 'Related search',
descriptionValue: 'You are an intelligent assistant.', descriptionValue: 'You are an intelligent assistant.',
okText: 'Save', okText: 'Save',
cancelText: 'Cancel', cancelText: 'Cancel',
@ -1984,13 +1984,13 @@ Important structured information may include: names, dates, locations, events, k
}, },
dataflowParser: { dataflowParser: {
result: 'Result', result: 'Result',
parseSummary: 'Parse Summary', parseSummary: 'Parse summary',
parseSummaryTip: 'Parserdeepdoc', parseSummaryTip: 'Parserdeepdoc',
parserMethod: 'Parser Method', parserMethod: 'Parser method',
outputFormat: 'Output Format', outputFormat: 'Output format',
rerunFromCurrentStep: 'Rerun From Current Step', rerunFromCurrentStep: 'Rerun from current step',
rerunFromCurrentStepTip: 'Changes detected. Click to re-run.', rerunFromCurrentStepTip: 'Changes detected. Click to re-run.',
confirmRerun: 'Confirm Rerun Process', confirmRerun: 'Confirm rerun process',
confirmRerunModalContent: ` confirmRerunModalContent: `
<p class="text-sm text-text-disabled font-medium mb-2"> <p class="text-sm text-text-disabled font-medium mb-2">
You are about to rerun the process starting from the <span class="text-text-secondary">{{step}}</span> step. You are about to rerun the process starting from the <span class="text-text-secondary">{{step}}</span> step.
@ -2001,7 +2001,7 @@ Important structured information may include: names, dates, locations, events, k
<li>• Create a new log entry for tracking</li> <li>• Create a new log entry for tracking</li>
<li>• Previous steps will remain unchanged</li> <li>• Previous steps will remain unchanged</li>
</ul>`, </ul>`,
changeStepModalTitle: 'Step Switch Warning', changeStepModalTitle: 'Step switch warning',
changeStepModalContent: ` changeStepModalContent: `
<p>You are currently editing the results of this stage.</p> <p>You are currently editing the results of this stage.</p>
<p>If you switch to a later stage, your changes will be lost. </p> <p>If you switch to a later stage, your changes will be lost. </p>
@ -2023,7 +2023,7 @@ Important structured information may include: names, dates, locations, events, k
datasetOverview: { datasetOverview: {
downloadTip: 'Files being downloaded from data sources. ', downloadTip: 'Files being downloaded from data sources. ',
processingTip: 'Files being processed by Ingestion pipeline.', processingTip: 'Files being processed by Ingestion pipeline.',
totalFiles: 'Total Files', totalFiles: 'Total files',
downloading: 'Downloading', downloading: 'Downloading',
downloadSuccessTip: 'Total successful downloads', downloadSuccessTip: 'Total successful downloads',
downloadFailedTip: 'Total failed downloads', downloadFailedTip: 'Total failed downloads',
@ -2054,7 +2054,7 @@ Important structured information may include: names, dates, locations, events, k
}, },
admin: { admin: {
loginTitle: 'Admin Console', loginTitle: 'Admin console',
title: 'RAGFlow', title: 'RAGFlow',
confirm: 'Confirm', confirm: 'Confirm',
close: 'Close', close: 'Close',
@ -2115,8 +2115,8 @@ Important structured information may include: names, dates, locations, events, k
lastLoginTime: 'Last login time', lastLoginTime: 'Last login time',
lastUpdateTime: 'Last update time', lastUpdateTime: 'Last update time',
isAnonymous: 'Is Anonymous', isAnonymous: 'Is anonymous',
isSuperuser: 'Is Superuser', isSuperuser: 'Is superuser',
deleteUser: 'Delete user', deleteUser: 'Delete user',
deleteUserConfirmation: 'Are you sure you want to delete this user?', deleteUserConfirmation: 'Are you sure you want to delete this user?',
@ -2171,7 +2171,7 @@ Important structured information may include: names, dates, locations, events, k
agentTitle: 'Agent title', agentTitle: 'Agent title',
canvasCategory: 'Canvas category', canvasCategory: 'Canvas category',
newRole: 'New Role', newRole: 'New role',
addNewRole: 'Add new role', addNewRole: 'Add new role',
roleName: 'Role name', roleName: 'Role name',
roleNameRequired: 'Role name is required', roleNameRequired: 'Role name is required',