|
@@ -15,6 +15,7 @@ export const errorMessages = {
|
|
|
chunkOverflow: '切片大小 {size} 超过上限 {max} ({reason})。已自动调整',
|
|
chunkOverflow: '切片大小 {size} 超过上限 {max} ({reason})。已自动调整',
|
|
|
chunkUnderflow: '切片大小 {size} 小于最小值 {min}。已自动调整',
|
|
chunkUnderflow: '切片大小 {size} 小于最小值 {min}。已自动调整',
|
|
|
overlapOverflow: '重叠大小 {size} 超过上限 {max}。已自动调整',
|
|
overlapOverflow: '重叠大小 {size} 超过上限 {max}。已自动调整',
|
|
|
|
|
+ overlapUnderflow: '重叠大小 {size} 小于最小值 {min}。已自动调整',
|
|
|
overlapRatioExceeded: '重叠大小 {size} 超过切片大小的50% ({max})。已自动调整',
|
|
overlapRatioExceeded: '重叠大小 {size} 超过切片大小的50% ({max})。已自动调整',
|
|
|
batchOverflowWarning: '建议切片大小不超过 {safeSize} 以避免批量处理溢出 (当前: {size}, 模型限制的 {percent}%)',
|
|
batchOverflowWarning: '建议切片大小不超过 {safeSize} 以避免批量处理溢出 (当前: {size}, 模型限制的 {percent}%)',
|
|
|
estimatedChunkCountExcessive: '预计切片数量过多 ({count}),处理可能较慢',
|
|
estimatedChunkCountExcessive: '预计切片数量过多 ({count}),处理可能较慢',
|
|
@@ -22,6 +23,40 @@ export const errorMessages = {
|
|
|
embeddingModelNotFound: '找不到嵌入模型 {id} 或类型不是 embedding',
|
|
embeddingModelNotFound: '找不到嵌入模型 {id} 或类型不是 embedding',
|
|
|
ocrFailed: '提取文本失败: {message}',
|
|
ocrFailed: '提取文本失败: {message}',
|
|
|
noImageUploaded: '未上传图片',
|
|
noImageUploaded: '未上传图片',
|
|
|
|
|
+ adminOnlyViewList: '只有管理员可以查看用户列表',
|
|
|
|
|
+ passwordsRequired: '当前密码和新密码不能为空',
|
|
|
|
|
+ newPasswordMinLength: '新密码长度不能少于6位',
|
|
|
|
|
+ adminOnlyCreateUser: '只有管理员可以创建用户',
|
|
|
|
|
+ usernamePasswordRequired: '用户名和密码不能为空',
|
|
|
|
|
+ passwordMinLength: '密码长度不能少于6位',
|
|
|
|
|
+ adminOnlyUpdateUser: '只有管理员可以更新用户信息',
|
|
|
|
|
+ userNotFound: '用户不存在',
|
|
|
|
|
+ cannotModifyBuiltinAdmin: '无法修改内置管理员账户',
|
|
|
|
|
+ adminOnlyDeleteUser: '只有管理员可以删除用户',
|
|
|
|
|
+ cannotDeleteSelf: '不能删除自己的账户',
|
|
|
|
|
+ cannotDeleteBuiltinAdmin: '无法删除内置管理员账户',
|
|
|
|
|
+ incorrectCredentials: '用户名或密码不正确',
|
|
|
|
|
+ incorrectCurrentPassword: '当前密码错误',
|
|
|
|
|
+ usernameExists: '用户名已存在',
|
|
|
|
|
+ noteNotFound: '找不到笔记: {id}',
|
|
|
|
|
+ knowledgeGroupNotFound: '找不到知识组: {id}',
|
|
|
|
|
+ accessDeniedNoToken: '访问被拒绝:缺少令牌',
|
|
|
|
|
+ invalidToken: '无效的令牌',
|
|
|
|
|
+ pdfFileNotFound: '找不到 PDF 文件',
|
|
|
|
|
+ pdfFileEmpty: 'PDF 文件为空,转换可能失败',
|
|
|
|
|
+ pdfConversionFailed: 'PDF 文件不存在或转换失败',
|
|
|
|
|
+ pdfConversionFailedDetail: 'PDF 转换失败(文件 ID: {id}),请稍后重试',
|
|
|
|
|
+ pdfPreviewNotSupported: '该文件格式不支持预览',
|
|
|
|
|
+ pdfServiceUnavailable: 'PDF 服务不可用: {message}',
|
|
|
|
|
+ pageImageNotFound: '找不到页面图像',
|
|
|
|
|
+ pdfPageImageFailed: '无法获取 PDF 页面图像',
|
|
|
|
|
+ someGroupsNotFound: '部分组不存在',
|
|
|
|
|
+ promptRequired: '提示词是必填项',
|
|
|
|
|
+ addLLMConfig: '请在系统设置中添加 LLM 模型',
|
|
|
|
|
+ visionAnalysisFailed: '视觉分析失败: {message}',
|
|
|
|
|
+ retryMechanismError: '重试机制异常',
|
|
|
|
|
+ imageLoadError: '无法读取图像: {message}',
|
|
|
|
|
+ groupNotFound: '分组不存在',
|
|
|
},
|
|
},
|
|
|
ja: {
|
|
ja: {
|
|
|
noEmbeddingModel: '先にシステム設定で埋め込みモデルを設定してください',
|
|
noEmbeddingModel: '先にシステム設定で埋め込みモデルを設定してください',
|
|
@@ -39,6 +74,7 @@ export const errorMessages = {
|
|
|
chunkOverflow: 'チャンクサイズ {size} が上限 {max} ({reason}) を超えています。自動調整されました',
|
|
chunkOverflow: 'チャンクサイズ {size} が上限 {max} ({reason}) を超えています。自動調整されました',
|
|
|
chunkUnderflow: 'チャンクサイズ {size} が最小値 {min} 未満です。自動調整されました',
|
|
chunkUnderflow: 'チャンクサイズ {size} が最小値 {min} 未満です。自動調整されました',
|
|
|
overlapOverflow: '重なりサイズ {size} が上限 {max} を超えています。自動調整されました',
|
|
overlapOverflow: '重なりサイズ {size} が上限 {max} を超えています。自動調整されました',
|
|
|
|
|
+ overlapUnderflow: '重なりサイズ {size} が最小値 {min} 未満です。自動調整されました',
|
|
|
overlapRatioExceeded: '重なりサイズ {size} がチャンクサイズの50% ({max}) を超えています。自動調整されました',
|
|
overlapRatioExceeded: '重なりサイズ {size} がチャンクサイズの50% ({max}) を超えています。自動調整されました',
|
|
|
batchOverflowWarning: 'バッチ処理のオーバーフローを避けるため、チャンクサイズを {safeSize} 以下にすることをお勧めします (現在: {size}, モデル制限の {percent}%)',
|
|
batchOverflowWarning: 'バッチ処理のオーバーフローを避けるため、チャンクサイズを {safeSize} 以下にすることをお勧めします (現在: {size}, モデル制限の {percent}%)',
|
|
|
estimatedChunkCountExcessive: '推定チャンク数が多すぎます ({count})。処理に時間がかかる可能性があります',
|
|
estimatedChunkCountExcessive: '推定チャンク数が多すぎます ({count})。処理に時間がかかる可能性があります',
|
|
@@ -46,6 +82,40 @@ export const errorMessages = {
|
|
|
embeddingModelNotFound: '埋め込みモデル {id} が見つかりません、またはタイプが embedding ではありません',
|
|
embeddingModelNotFound: '埋め込みモデル {id} が見つかりません、またはタイプが embedding ではありません',
|
|
|
ocrFailed: 'テキストの抽出に失敗しました: {message}',
|
|
ocrFailed: 'テキストの抽出に失敗しました: {message}',
|
|
|
noImageUploaded: '画像がアップロードされていません',
|
|
noImageUploaded: '画像がアップロードされていません',
|
|
|
|
|
+ adminOnlyViewList: '管理者のみがユーザーリストを表示できます',
|
|
|
|
|
+ passwordsRequired: '現在のパスワードと新しいパスワードは必須です',
|
|
|
|
|
+ newPasswordMinLength: '新しいパスワードは少なくとも6文字以上である必要があります',
|
|
|
|
|
+ adminOnlyCreateUser: '管理者のみがユーザーを作成できます',
|
|
|
|
|
+ usernamePasswordRequired: 'ユーザー名とパスワードは必須です',
|
|
|
|
|
+ passwordMinLength: 'パスワードは少なくとも6文字以上である必要があります',
|
|
|
|
|
+ adminOnlyUpdateUser: '管理者のみがユーザー情報を更新できます',
|
|
|
|
|
+ userNotFound: 'ユーザーが見つかりません',
|
|
|
|
|
+ cannotModifyBuiltinAdmin: 'ビルトイン管理者アカウントを変更できません',
|
|
|
|
|
+ adminOnlyDeleteUser: '管理者のみがユーザーを削除できます',
|
|
|
|
|
+ cannotDeleteSelf: '自分自身のアカウントを削除できません',
|
|
|
|
|
+ cannotDeleteBuiltinAdmin: 'ビルトイン管理者アカウントを削除できません',
|
|
|
|
|
+ incorrectCredentials: 'ユーザー名またはパスワードが間違っています',
|
|
|
|
|
+ incorrectCurrentPassword: '現在のパスワードが間違っています',
|
|
|
|
|
+ usernameExists: 'ユーザー名が既に存在します',
|
|
|
|
|
+ noteNotFound: 'ノートが見つかりません: {id}',
|
|
|
|
|
+ knowledgeGroupNotFound: 'ナレッジグループが見つかりません: {id}',
|
|
|
|
|
+ accessDeniedNoToken: 'アクセス不許可:トークンがありません',
|
|
|
|
|
+ invalidToken: '無効なトークンです',
|
|
|
|
|
+ pdfFileNotFound: 'PDF ファイルが見つかりません',
|
|
|
|
|
+ pdfFileEmpty: 'PDF ファイルが空です。変換に失敗した可能性があります',
|
|
|
|
|
+ pdfConversionFailed: 'PDF ファイルが存在しないか、変換に失敗しました',
|
|
|
|
|
+ pdfConversionFailedDetail: 'PDF 変換に失敗しました(ファイル ID: {id})。後でもう一度お試しください',
|
|
|
|
|
+ pdfPreviewNotSupported: 'このファイル形式はプレビューをサポートしていません',
|
|
|
|
|
+ pdfServiceUnavailable: 'PDF サービスを利用できません: {message}',
|
|
|
|
|
+ pageImageNotFound: 'ページ画像が見つかりません',
|
|
|
|
|
+ pdfPageImageFailed: 'PDF ページの画像を取得できませんでした',
|
|
|
|
|
+ someGroupsNotFound: '一部のグループが存在しません',
|
|
|
|
|
+ promptRequired: 'プロンプトは必須です',
|
|
|
|
|
+ addLLMConfig: 'システム設定で LLM モデルを追加してください',
|
|
|
|
|
+ visionAnalysisFailed: 'ビジョン分析に失敗しました: {message}',
|
|
|
|
|
+ retryMechanismError: '再試行メカニズムの異常',
|
|
|
|
|
+ imageLoadError: '画像を読み込めません: {message}',
|
|
|
|
|
+ groupNotFound: 'グループが存在しません',
|
|
|
},
|
|
},
|
|
|
en: {
|
|
en: {
|
|
|
noEmbeddingModel: 'Please configure embedding model in system settings first',
|
|
noEmbeddingModel: 'Please configure embedding model in system settings first',
|
|
@@ -63,6 +133,7 @@ export const errorMessages = {
|
|
|
chunkOverflow: 'Chunk size {size} exceeds limit {max} ({reason}). Auto-adjusted',
|
|
chunkOverflow: 'Chunk size {size} exceeds limit {max} ({reason}). Auto-adjusted',
|
|
|
chunkUnderflow: 'Chunk size {size} is below minimum {min}. Auto-adjusted',
|
|
chunkUnderflow: 'Chunk size {size} is below minimum {min}. Auto-adjusted',
|
|
|
overlapOverflow: 'Overlap size {size} exceeds limit {max}. Auto-adjusted',
|
|
overlapOverflow: 'Overlap size {size} exceeds limit {max}. Auto-adjusted',
|
|
|
|
|
+ overlapUnderflow: 'Overlap size {size} is below minimum {min}. Auto-adjusted',
|
|
|
overlapRatioExceeded: 'Overlap size {size} exceeds 50% of chunk size ({max}). Auto-adjusted',
|
|
overlapRatioExceeded: 'Overlap size {size} exceeds 50% of chunk size ({max}). Auto-adjusted',
|
|
|
batchOverflowWarning: 'Recommended chunk size below {safeSize} to avoid batch overflow (Current: {size}, {percent}% of model limit)',
|
|
batchOverflowWarning: 'Recommended chunk size below {safeSize} to avoid batch overflow (Current: {size}, {percent}% of model limit)',
|
|
|
estimatedChunkCountExcessive: 'Estimated chunk count is too high ({count}). Processing may be slow',
|
|
estimatedChunkCountExcessive: 'Estimated chunk count is too high ({count}). Processing may be slow',
|
|
@@ -70,6 +141,41 @@ export const errorMessages = {
|
|
|
embeddingModelNotFound: 'Embedding model {id} not found or type is not embedding',
|
|
embeddingModelNotFound: 'Embedding model {id} not found or type is not embedding',
|
|
|
ocrFailed: 'Failed to extract text: {message}',
|
|
ocrFailed: 'Failed to extract text: {message}',
|
|
|
noImageUploaded: 'No image uploaded',
|
|
noImageUploaded: 'No image uploaded',
|
|
|
|
|
+ adminOnlyViewList: 'Only admins can view the user list',
|
|
|
|
|
+ passwordsRequired: 'Current and new passwords are required',
|
|
|
|
|
+ newPasswordMinLength: 'New password must be at least 6 characters',
|
|
|
|
|
+ adminOnlyCreateUser: 'Only admins can create users',
|
|
|
|
|
+ usernamePasswordRequired: 'Username and password are required',
|
|
|
|
|
+ passwordMinLength: 'Password must be at least 6 characters',
|
|
|
|
|
+ adminOnlyUpdateUser: 'Only admins can update user info',
|
|
|
|
|
+ userNotFound: 'User not found',
|
|
|
|
|
+ cannotModifyBuiltinAdmin: 'Cannot modify built-in admin account',
|
|
|
|
|
+ adminOnlyDeleteUser: 'Only admins can delete users',
|
|
|
|
|
+ cannotDeleteSelf: 'Cannot delete your own account',
|
|
|
|
|
+ cannotDeleteBuiltinAdmin: 'Cannot delete built-in admin account',
|
|
|
|
|
+ onlyBuiltinAdminCanChangeRole: 'Only built-in admin can change user roles',
|
|
|
|
|
+ incorrectCredentials: 'Incorrect username or password',
|
|
|
|
|
+ incorrectCurrentPassword: 'Incorrect current password',
|
|
|
|
|
+ usernameExists: 'Username already exists',
|
|
|
|
|
+ noteNotFound: 'Note with ID {id} not found',
|
|
|
|
|
+ knowledgeGroupNotFound: 'Knowledge group with ID {id} not found',
|
|
|
|
|
+ accessDeniedNoToken: 'Access Denied: Missing token',
|
|
|
|
|
+ invalidToken: 'Invalid token',
|
|
|
|
|
+ pdfFileNotFound: 'PDF file not found',
|
|
|
|
|
+ pdfFileEmpty: 'PDF file is empty. Conversion may have failed',
|
|
|
|
|
+ pdfConversionFailed: 'PDF file does not exist or conversion failed',
|
|
|
|
|
+ pdfConversionFailedDetail: 'PDF conversion failed for file ID: {id}. Please try again later.',
|
|
|
|
|
+ pdfPreviewNotSupported: 'Preview is not supported for this file format',
|
|
|
|
|
+ pdfServiceUnavailable: 'PDF service unavailable: {message}',
|
|
|
|
|
+ pageImageNotFound: 'Page image not found',
|
|
|
|
|
+ pdfPageImageFailed: 'Could not retrieve PDF page image',
|
|
|
|
|
+ someGroupsNotFound: 'Some groups not found',
|
|
|
|
|
+ promptRequired: 'Prompt is required',
|
|
|
|
|
+ addLLMConfig: 'Please add LLM model in system settings',
|
|
|
|
|
+ visionAnalysisFailed: 'Vision analysis failed: {message}',
|
|
|
|
|
+ retryMechanismError: 'Retry mechanism error',
|
|
|
|
|
+ imageLoadError: 'Cannot load image: {message}',
|
|
|
|
|
+ groupNotFound: 'Group not found',
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -88,6 +194,16 @@ export const logMessages = {
|
|
|
configLoaded: '数据库模型配置加载: {name} ({id})',
|
|
configLoaded: '数据库模型配置加载: {name} ({id})',
|
|
|
batchSizeAdjusted: '批量大小从 {old} 调整为 {new} (模型限制: {limit})',
|
|
batchSizeAdjusted: '批量大小从 {old} 调整为 {new} (模型限制: {limit})',
|
|
|
dimensionMismatch: '模型 {id} 维度不匹配: 预期 {expected}, 实际 {actual}',
|
|
dimensionMismatch: '模型 {id} 维度不匹配: 预期 {expected}, 实际 {actual}',
|
|
|
|
|
+ searchMetadataFailed: '为用户 {userId} 搜索知识库失败',
|
|
|
|
|
+ extractedTextTooLarge: '抽出されたテキストが大きいです: {size}MB',
|
|
|
|
|
+ preciseModeUnsupported: '格式 {ext} 不支持精密模式,回退到快速模式',
|
|
|
|
|
+ visionModelNotConfiguredFallback: '未配置视觉模型,回退到快速模式',
|
|
|
|
|
+ visionModelInvalidFallback: '视觉模型配置无效,回退到快速模式',
|
|
|
|
|
+ visionPipelineFailed: '视觉流水线失败,回退到快速模式',
|
|
|
|
|
+ preciseModeComplete: '精密模式提取完成: {pages}页, 费用: ${cost}',
|
|
|
|
|
+ skippingEmptyVectorPage: '跳过第 {page} 页(空向量)',
|
|
|
|
|
+ pdfPageImageError: '获取 PDF 页面图像失败: {message}',
|
|
|
|
|
+ internalServerError: '服务器内部错误',
|
|
|
},
|
|
},
|
|
|
ja: {
|
|
ja: {
|
|
|
processingFile: 'ファイル処理中: {name} ({size})',
|
|
processingFile: 'ファイル処理中: {name} ({size})',
|
|
@@ -103,6 +219,16 @@ export const logMessages = {
|
|
|
configLoaded: 'データベースからモデル設定を読み込みました: {name} ({id})',
|
|
configLoaded: 'データベースからモデル設定を読み込みました: {name} ({id})',
|
|
|
batchSizeAdjusted: 'バッチサイズを {old} から {new} に調整しました (モデル制限: {limit})',
|
|
batchSizeAdjusted: 'バッチサイズを {old} から {new} に調整しました (モデル制限: {limit})',
|
|
|
dimensionMismatch: 'モデル {id} の次元が一致しません: 期待値 {expected}, 実際 {actual}',
|
|
dimensionMismatch: 'モデル {id} の次元が一致しません: 期待値 {expected}, 実際 {actual}',
|
|
|
|
|
+ searchMetadataFailed: 'ユーザー {userId} のナレッジベース検索に失敗しました',
|
|
|
|
|
+ extractedTextTooLarge: '抽出されたテキストが大きいです: {size}MB',
|
|
|
|
|
+ preciseModeUnsupported: 'ファイル形式 {ext} は精密モードをサポートしていません。高速モードにフォールバックします',
|
|
|
|
|
+ visionModelNotConfiguredFallback: 'ビジョンモデルが設定されていません。高速モードにフォールバックします',
|
|
|
|
|
+ visionModelInvalidFallback: 'ビジョンモデルの設定が無効です。高速モードにフォールバックします',
|
|
|
|
|
+ visionPipelineFailed: 'ビジョンパイプラインが失敗しました。高速モードにフォールバックします',
|
|
|
|
|
+ preciseModeComplete: '精密モード内容抽出完了: {pages}ページ, コスト: ${cost}',
|
|
|
|
|
+ skippingEmptyVectorPage: '第 {page} ページの空ベクトルをスキップします',
|
|
|
|
|
+ pdfPageImageError: 'PDF ページの画像取得に失敗しました: {message}',
|
|
|
|
|
+ internalServerError: 'サーバー内部エラー',
|
|
|
},
|
|
},
|
|
|
en: {
|
|
en: {
|
|
|
processingFile: 'Processing file: {name} ({size})',
|
|
processingFile: 'Processing file: {name} ({size})',
|
|
@@ -118,6 +244,16 @@ export const logMessages = {
|
|
|
configLoaded: 'Model config loaded from DB: {name} ({id})',
|
|
configLoaded: 'Model config loaded from DB: {name} ({id})',
|
|
|
batchSizeAdjusted: 'Batch size adjusted from {old} to {new} (Model limit: {limit})',
|
|
batchSizeAdjusted: 'Batch size adjusted from {old} to {new} (Model limit: {limit})',
|
|
|
dimensionMismatch: 'Model {id} dimension mismatch: Expected {expected}, Actual {actual}',
|
|
dimensionMismatch: 'Model {id} dimension mismatch: Expected {expected}, Actual {actual}',
|
|
|
|
|
+ searchMetadataFailed: 'Failed to search knowledge base for user {userId}',
|
|
|
|
|
+ extractedTextTooLarge: 'Extracted text is too large: {size}MB',
|
|
|
|
|
+ preciseModeUnsupported: 'Format {ext} not supported for precise mode. Falling back to fast mode',
|
|
|
|
|
+ visionModelNotConfiguredFallback: 'Vision model not configured. Falling back to fast mode',
|
|
|
|
|
+ visionModelInvalidFallback: 'Vision model config invalid. Falling back to fast mode',
|
|
|
|
|
+ visionPipelineFailed: 'Vision pipeline failed. Falling back to fast mode',
|
|
|
|
|
+ preciseModeComplete: 'Precise mode extraction complete: {pages} pages, cost: ${cost}',
|
|
|
|
|
+ skippingEmptyVectorPage: 'Skipping page {page} due to empty vector',
|
|
|
|
|
+ pdfPageImageError: 'Failed to retrieve PDF page image: {message}',
|
|
|
|
|
+ internalServerError: 'Internal server error',
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -168,6 +304,50 @@ export const statusMessages = {
|
|
|
simpleChatGenerationError: '简单聊天生成错误',
|
|
simpleChatGenerationError: '简单聊天生成错误',
|
|
|
noMatchInKnowledgeGroup: '所选知识组中未找到相关内容,以下是基于模型的一般性回答:',
|
|
noMatchInKnowledgeGroup: '所选知识组中未找到相关内容,以下是基于模型的一般性回答:',
|
|
|
uploadTextSuccess: '笔记内容已接收。正在后台索引',
|
|
uploadTextSuccess: '笔记内容已接收。正在后台索引',
|
|
|
|
|
+ passwordChanged: '密码已成功修改',
|
|
|
|
|
+ userCreated: '用户已成功创建',
|
|
|
|
|
+ userInfoUpdated: '用户信息已更新',
|
|
|
|
|
+ userDeleted: '用户已删除',
|
|
|
|
|
+ pdfNoteTitle: 'PDF 笔记 - {date}',
|
|
|
|
|
+ noTextExtracted: '未提取到文本',
|
|
|
|
|
+ kbCleared: '知识库已清空',
|
|
|
|
|
+ fileDeleted: '文件已删除',
|
|
|
|
|
+ pageImageNotFoundDetail: '无法获取 PDF 第 {page} 页’的图像',
|
|
|
|
|
+ groupSyncSuccess: '文件分组已更新',
|
|
|
|
|
+ fileDeletedFromGroup: '文件已从分组中删除',
|
|
|
|
|
+ chunkConfigCorrection: '切片配置已修正: {warnings}',
|
|
|
|
|
+ noChunksGenerated: '文件 {id} 未生成任何切片',
|
|
|
|
|
+ chunkCountAnomaly: '实际切片数 {actual} 大幅超过预计值 {estimated},可能存在异常',
|
|
|
|
|
+ batchSizeExceeded: '批次 {index} 的大小 {actual} 超过推荐值 {limit},将拆分处理',
|
|
|
|
|
+ skippingEmptyVectorChunk: '跳过文本块 {index} (空向量)',
|
|
|
|
|
+ contextLengthErrorFallback: '批次处理发生上下文长度错误,降级到逐条处理模式',
|
|
|
|
|
+ chunkLimitExceededForceBatch: '切片数 {actual} 超过模型批次限制 {limit},强制进行批次处理',
|
|
|
|
|
+ noteContentRequired: '笔记内容是必填项',
|
|
|
|
|
+ imageAnalysisStarted: '正在使用模型 {id} 分析图像...',
|
|
|
|
|
+ batchAnalysisStarted: '正在分析 {count} 张图像...',
|
|
|
|
|
+ pageAnalysisFailed: '第 {page} 页分析失败',
|
|
|
|
|
+ visionSystemPrompt: '您是专业的文档分析助手。请分析此文档图像,并按以下要求以 JSON 格式返回:\n\n1. 提取所有可读文本(按阅读顺序,保持段落和格式)\n2. 识别图像/图表/表格(描述内容、含义和作用)\n3. 分析页面布局(仅文本/文本和图像混合/表格/图表等)\n4. 评估分析质量 (0-1)\n\n响应格式:\n{\n "text": "完整的文本内容",\n "images": [\n {"type": "图表类型", "description": "详细描述", "position": 1}\n ],\n "layout": "布局说明",\n "confidence": 0.95\n}',
|
|
|
|
|
+ visionModelCall: '[模型调用] 类型: Vision, 模型: {model}, 页面: {page}',
|
|
|
|
|
+ visionAnalysisSuccess: '✅ 视觉分析完成: {path}{page}, 文本长度: {textLen}, 图像数: {imgCount}, 布局: {layout}, 置信度: {confidence}%',
|
|
|
|
|
+ conversationHistoryNotFound: '对话历史不存在',
|
|
|
|
|
+ batchContextLengthErrorFallback: '小文件批次处理发生上下文长度错误,降级到逐条处理模式',
|
|
|
|
|
+ chunkProcessingFailed: '处理文本块 {index} 失败,已跳过: {message}',
|
|
|
|
|
+ singleTextProcessingComplete: '逐条文本处理完成: {count} 个切片',
|
|
|
|
|
+ fileVectorizationComplete: '文件 {id} 向量化完成。共处理 {count} 个文本块。最终内存: {memory}MB',
|
|
|
|
|
+ fileVectorizationFailed: '文件 {id} 向量化失败',
|
|
|
|
|
+ batchProcessingStarted: '开始批次处理: {count} 个项目',
|
|
|
|
|
+ batchProcessingProgress: '正在处理批次 {index}/{total}: {count} 个项目',
|
|
|
|
|
+ batchProcessingComplete: '批次处理完成: {count} 个项目,耗时 {duration}s',
|
|
|
|
|
+ onlyFailedFilesRetryable: '仅允许重试失败的文件 (当前状态: {status})',
|
|
|
|
|
+ emptyFileRetryFailed: '文件内容为空,无法重试。请重新上传文件。',
|
|
|
|
|
+ ragSystemPrompt: '您是专业的知识库助手。请根据以下提供的文档内容回答用户的问题。',
|
|
|
|
|
+ ragRules: '## 规则:\n1. 仅根据提供的文档内容进行回答,请勿编造信息。\n2. 如果文档中没有相关信息,请告知用户。\n3. 请在回答中注明信息来源。格式:[文件名.扩展子]\n4. 如果多个文档中的信息存在矛盾,请进行综合分析或解释不同的观点。\n5. 请使用{lang}进行回答。',
|
|
|
|
|
+ ragDocumentContent: '## 文档内容:',
|
|
|
|
|
+ ragUserQuestion: '## 用户问题:',
|
|
|
|
|
+ ragAnswer: '## 回答:',
|
|
|
|
|
+ ragSource: '### 来源:{fileName}',
|
|
|
|
|
+ ragSegment: '片段 {index} (相似度: {score}):',
|
|
|
|
|
+ ragNoDocumentFound: '未找到相关文档。',
|
|
|
},
|
|
},
|
|
|
ja: {
|
|
ja: {
|
|
|
searching: 'ナレッジベースを検索中...',
|
|
searching: 'ナレッジベースを検索中...',
|
|
@@ -214,6 +394,50 @@ export const statusMessages = {
|
|
|
simpleChatGenerationError: '簡易チャット生成エラー',
|
|
simpleChatGenerationError: '簡易チャット生成エラー',
|
|
|
noMatchInKnowledgeGroup: '選択された知識グループに関連する内容が見つかりませんでした。以下はモデルに基づく一般的な回答です:',
|
|
noMatchInKnowledgeGroup: '選択された知識グループに関連する内容が見つかりませんでした。以下はモデルに基づく一般的な回答です:',
|
|
|
uploadTextSuccess: 'ノート内容を受け取りました。バックグラウンドでインデックス処理を実行中です',
|
|
uploadTextSuccess: 'ノート内容を受け取りました。バックグラウンドでインデックス処理を実行中です',
|
|
|
|
|
+ passwordChanged: 'パスワードが正常に変更されました',
|
|
|
|
|
+ userCreated: 'ユーザーが正常に作成されました',
|
|
|
|
|
+ userInfoUpdated: 'ユーザー情報が更新されました',
|
|
|
|
|
+ userDeleted: 'ユーザーが削除されました',
|
|
|
|
|
+ pdfNoteTitle: 'PDF ノート - {date}',
|
|
|
|
|
+ noTextExtracted: 'テキストが抽出されませんでした',
|
|
|
|
|
+ kbCleared: 'ナレッジベースが空になりました',
|
|
|
|
|
+ fileDeleted: 'ファイルが削除されました',
|
|
|
|
|
+ pageImageNotFoundDetail: 'PDF の第 {page} ページの画像を取得できません',
|
|
|
|
|
+ groupSyncSuccess: 'ファイルグループが更新されました',
|
|
|
|
|
+ fileDeletedFromGroup: 'ファイルがグループから削除されました',
|
|
|
|
|
+ chunkConfigCorrection: 'チャンク設定の修正: {warnings}',
|
|
|
|
|
+ noChunksGenerated: 'ファイル {id} からテキストチャンクが生成されませんでした',
|
|
|
|
|
+ chunkCountAnomaly: '実際のチャンク数 {actual} が推定値 {estimated} を大幅に超えています。異常がある可能性があります',
|
|
|
|
|
+ batchSizeExceeded: 'バッチ {index} のサイズ {actual} が推奨値 {limit} を超えています。分割して処理します',
|
|
|
|
|
+ skippingEmptyVectorChunk: '空ベクトルのテキストブロック {index} をスキップします',
|
|
|
|
|
+ contextLengthErrorFallback: 'バッチ処理でコンテキスト長エラーが発生しました。単一テキスト処理モードにダウングレードします',
|
|
|
|
|
+ chunkLimitExceededForceBatch: 'チャンク数 {actual} がモデルのバッチ制限 {limit} を超えています。強制的にバッチ処理を行います',
|
|
|
|
|
+ noteContentRequired: 'ノート内容は必須です',
|
|
|
|
|
+ imageAnalysisStarted: 'モデル {id} で画像を分析中...',
|
|
|
|
|
+ batchAnalysisStarted: '{count} 枚の画像を分析中...',
|
|
|
|
|
+ pageAnalysisFailed: '第 {page} ページの分析に失敗しました',
|
|
|
|
|
+ visionSystemPrompt: 'あなたは専門的なドキュメント分析アシスタントです。このドキュメント画像を分析し、以下の要求に従って JSON 形式で返してください:\n\n1. すべての読み取り可能なテキストを抽出(読み取り順序に従い、段落と形式を保持)\n2. 画像/グラフ/表の識別(内容、意味、役割を記述)\n3. ページレイアウトの分析(テキストのみ/テキストと画像の混合/表/グラフなど)\n4. 分析品質の評価(0-1)\n\nレスポンス形式:\n{\n "text": "完全なテキスト内容",\n "images": [\n {"type": "グラフの種類", "description": "詳細な記述", "position": 1}\n ],\n "layout": "レイアウトの説明",\n "confidence": 0.95\n}',
|
|
|
|
|
+ visionModelCall: '[モデル呼び出し] タイプ: Vision, モデル: {model}, ページ: {page}',
|
|
|
|
|
+ visionAnalysisSuccess: '✅ Vision 分析完了: {path}{page}, テキスト長: {textLen}文字, 画像数: {imgCount}, レイアウト: {layout}, 信頼度: {confidence}%',
|
|
|
|
|
+ conversationHistoryNotFound: '会話履歴が存在しません',
|
|
|
|
|
+ batchContextLengthErrorFallback: '小ファイルバッチ処理でコンテキスト長エラーが発生しました。単一テキスト処理モードにダウングレードします',
|
|
|
|
|
+ chunkProcessingFailed: 'テキストブロック {index} の処理に失敗しました。スキップします: {message}',
|
|
|
|
|
+ singleTextProcessingComplete: '単一テキスト処理完了: {count} チャンク',
|
|
|
|
|
+ fileVectorizationComplete: 'ファイル {id} ベクトル化完了。{count} 個のテキストブロックを処理しました。最終メモリ: {memory}MB',
|
|
|
|
|
+ fileVectorizationFailed: 'ファイル {id} ベクトル化失敗',
|
|
|
|
|
+ batchProcessingStarted: 'バッチ処理を開始します: {count} アイテム',
|
|
|
|
|
+ batchProcessingProgress: 'バッチ {index}/{total} を処理中: {count} 個のアイテム',
|
|
|
|
|
+ batchProcessingComplete: 'バッチ処理完了: {count} アイテム, 所要時間 {duration}s',
|
|
|
|
|
+ onlyFailedFilesRetryable: '失敗したファイルのみ再試行可能です (現在のステータス: {status})',
|
|
|
|
|
+ emptyFileRetryFailed: 'ファイル内容が空です。再試行できません。ファイルを再アップロードしてください。',
|
|
|
|
|
+ ragSystemPrompt: 'あなたは専門的なナレッジベースアシスタントです。以下の提供されたドキュメントの内容に基づいて、ユーザーの質問に答えてください。',
|
|
|
|
|
+ ragRules: '## ルール:\n1. 提供されたドキュメントの内容のみに基づいて回答し、情報を捏造しないでください。\n2. ドキュメントに関連情報がない場合は、その旨をユーザーに伝えてください。\n3. 回答には情報源を明記してください。形式:[ファイル名.拡張子]\n4. 複数のドキュメントで情報が矛盾している場合は、総合的に分析するか、異なる視点を説明してください。\n5. {lang}で回答してください。',
|
|
|
|
|
+ ragDocumentContent: '## ドキュメント内容:',
|
|
|
|
|
+ ragUserQuestion: '## ユーザーの質問:',
|
|
|
|
|
+ ragAnswer: '## 回答:',
|
|
|
|
|
+ ragSource: '### ソース:{fileName}',
|
|
|
|
|
+ ragSegment: 'セグメント {index} (類似度: {score}):',
|
|
|
|
|
+ ragNoDocumentFound: '関連するドキュメントが見つかりませんでした。',
|
|
|
},
|
|
},
|
|
|
en: {
|
|
en: {
|
|
|
searching: 'Searching knowledge base...',
|
|
searching: 'Searching knowledge base...',
|
|
@@ -260,5 +484,49 @@ export const statusMessages = {
|
|
|
simpleChatGenerationError: 'Simple chat generation error',
|
|
simpleChatGenerationError: 'Simple chat generation error',
|
|
|
noMatchInKnowledgeGroup: 'No relevant content found in the selected knowledge group. The following is a general answer based on the model:',
|
|
noMatchInKnowledgeGroup: 'No relevant content found in the selected knowledge group. The following is a general answer based on the model:',
|
|
|
uploadTextSuccess: 'Note content received. Indexing in background',
|
|
uploadTextSuccess: 'Note content received. Indexing in background',
|
|
|
|
|
+ passwordChanged: 'Password changed successfully',
|
|
|
|
|
+ userCreated: 'User created successfully',
|
|
|
|
|
+ userInfoUpdated: 'User information updated',
|
|
|
|
|
+ userDeleted: 'User deleted',
|
|
|
|
|
+ pdfNoteTitle: 'PDF Note - {date}',
|
|
|
|
|
+ noTextExtracted: 'No text extracted',
|
|
|
|
|
+ kbCleared: 'Knowledge base cleared',
|
|
|
|
|
+ fileDeleted: 'File deleted',
|
|
|
|
|
+ pageImageNotFoundDetail: 'Could not retrieve image for PDF page {page}',
|
|
|
|
|
+ groupSyncSuccess: 'File groups updated',
|
|
|
|
|
+ fileDeletedFromGroup: 'File removed from group',
|
|
|
|
|
+ chunkConfigCorrection: 'Chunk config corrected: {warnings}',
|
|
|
|
|
+ noChunksGenerated: 'No chunks generated for file {id}',
|
|
|
|
|
+ chunkCountAnomaly: 'Actual chunk count {actual} significantly exceeds estimate {estimated}. Possible anomaly.',
|
|
|
|
|
+ batchSizeExceeded: 'Batch {index} size {actual} exceeds recommended limit {limit}. Splitting for processing.',
|
|
|
|
|
+ skippingEmptyVectorChunk: 'Skipping text block {index} due to empty vector',
|
|
|
|
|
+ contextLengthErrorFallback: 'Context length error occurred during batch processing. Downgrading to single processing mode.',
|
|
|
|
|
+ chunkLimitExceededForceBatch: 'Chunk count {actual} exceeds model batch limit {limit}. Forcing batch processing.',
|
|
|
|
|
+ noteContentRequired: 'Note content is required',
|
|
|
|
|
+ imageAnalysisStarted: 'Analyzing image with model {id}...',
|
|
|
|
|
+ batchAnalysisStarted: 'Batch analyzing {count} images...',
|
|
|
|
|
+ pageAnalysisFailed: 'Failed to analyze page {page}',
|
|
|
|
|
+ visionSystemPrompt: 'You are a professional document analysis assistant. Analyze this document image and return in JSON format according to these requirements:\n\n1. Extract all readable text (follow reading order, maintain paragraphs and formatting)\n2. Identify images/graphs/tables (describe content, meaning, and role)\n3. Analyze page layout (text only/mixed/table/graph, etc.)\n4. Evaluate analysis quality (0-1)\n\nResponse format:\n{\n "text": "full text content",\n "images": [\n {"type": "graph type", "description": "detailed description", "position": 1}\n ],\n "layout": "layout description",\n "confidence": 0.95\n}',
|
|
|
|
|
+ visionModelCall: '[Model Call] Type: Vision, Model: {model}, Page: {page}',
|
|
|
|
|
+ visionAnalysisSuccess: '✅ Vision analysis complete: {path}{page}, Text length: {textLen}, Images: {imgCount}, Layout: {layout}, Confidence: {confidence}%',
|
|
|
|
|
+ conversationHistoryNotFound: 'Conversation history not found',
|
|
|
|
|
+ batchContextLengthErrorFallback: 'Context length error occurred during small file batch processing. Downgrading to single processing mode.',
|
|
|
|
|
+ chunkProcessingFailed: 'Failed to process text block {index}. Skipping: {message}',
|
|
|
|
|
+ singleTextProcessingComplete: 'Single text processing complete: {count} chunks',
|
|
|
|
|
+ fileVectorizationComplete: 'File {id} vectorization complete. Processed {count} text blocks. Final memory: {memory}MB',
|
|
|
|
|
+ fileVectorizationFailed: 'File {id} vectorization failed',
|
|
|
|
|
+ batchProcessingStarted: 'Batch processing started: {count} items',
|
|
|
|
|
+ batchProcessingProgress: 'Processing batch {index}/{total}: {count} items',
|
|
|
|
|
+ batchProcessingComplete: 'Batch processing complete: {count} items in {duration}s',
|
|
|
|
|
+ onlyFailedFilesRetryable: 'Only failed files can be retried (current status: {status})',
|
|
|
|
|
+ emptyFileRetryFailed: 'File content is empty. Cannot retry. Please re-upload the file.',
|
|
|
|
|
+ ragSystemPrompt: 'You are a professional knowledge base assistant. Please answer the user\'s question based on the provided document content below.',
|
|
|
|
|
+ ragRules: '## Rules:\n1. Answer based only on the provided document content; do not fabricate information.\n2. If there is no relevant information in the documents, please inform the user.\n3. Clearly state the sources in your answer. Format: [filename.ext]\n4. If information in different documents is contradictory, analyze it comprehensively or explain the different perspectives.\n5. Please answer in {lang}.',
|
|
|
|
|
+ ragDocumentContent: '## Document Content:',
|
|
|
|
|
+ ragUserQuestion: '## User Question:',
|
|
|
|
|
+ ragAnswer: '## Answer:',
|
|
|
|
|
+ ragSource: '### Source: {fileName}',
|
|
|
|
|
+ ragSegment: 'Segment {index} (Similarity: {score}):',
|
|
|
|
|
+ ragNoDocumentFound: 'No relevant documents found.',
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|