translations.ts 79 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732
  1. export type Language = 'zh' | 'en' | 'ja';
  2. export const translations = {
  3. zh: {
  4. appTitle: "简易知识库",
  5. loginTitle: "系统登录",
  6. loginDesc: "请输入访问密钥以进入知识库系统",
  7. loginButton: "进入系统",
  8. usernamePlaceholder: "用户名",
  9. passwordPlaceholder: "密码",
  10. aiCommandsError: "发生错误",
  11. registerButton: "注册",
  12. loginError: "密钥不能为空",
  13. unknownError: "未知错误",
  14. langZh: "语言: 中文",
  15. langEn: "语言: English",
  16. langJa: "语言: 日本語",
  17. confirm: "确认",
  18. cancel: "取消",
  19. confirmTitle: "确认操作",
  20. confirmDeleteGroup: "确定要删除分组 \"$1\" 吗?",
  21. sidebarTitle: "知识库配置",
  22. sidebarDesc: "管理文档与模型参数",
  23. tabFiles: "文档管理",
  24. files: "文件",
  25. notes: "笔记",
  26. tabSettings: "系统设置",
  27. systemConfiguration: "系统配置",
  28. noFiles: "暂无文件",
  29. noFilesDesc: "支持 PDF、Office 文档、文本、代码、图片等格式",
  30. addFile: "添加文件",
  31. clearAll: "清空知识库",
  32. uploading: "处理中",
  33. statusIndexing: "向量化中...",
  34. statusReady: "已索引",
  35. // RAG Settings
  36. ragSettings: "RAG 设置",
  37. enableRerank: "启用重排序 (Rerank)",
  38. enableRerankDesc: "使用重排序模型对检索结果进行二次精排,提高准确性",
  39. selectRerankModel: "选择 Rerank 模型",
  40. selectModelPlaceholder: "请选择模型...",
  41. // Config Panel
  42. headerModelSelection: "模型选择",
  43. headerHyperparams: "推理参数",
  44. headerIndexing: "索引与切片",
  45. headerRetrieval: "召回与排序",
  46. btnManageModels: "管理模型供应商",
  47. lblLLM: "推理模型 (LLM)",
  48. lblEmbedding: "向量模型 (Embedding)",
  49. lblRerankRef: "重排序模型 (Rerank)",
  50. lblTemperature: "随机性 (Temperature)",
  51. lblMaxTokens: "最大输出 (Max Tokens)",
  52. lblChunkSize: "切片大小 (Tokens)",
  53. lblChunkOverlap: "重叠阈值 (Overlap)",
  54. lblTopK: "召回数量 (Top K)",
  55. lblRerank: "开启重排序 (Rerank)",
  56. // Indexing Modal
  57. idxModalTitle: "知识库分段与清洗",
  58. idxDesc: "在文件存入知识库之前,请配置分段规则和 Embedding 模型。",
  59. idxFiles: "待处理文件",
  60. idxMethod: "分段设置",
  61. idxEmbeddingModel: "Embedding 模型",
  62. idxStart: "开始索引",
  63. idxCancel: "取消上传",
  64. idxAuto: "自动分段",
  65. idxCustom: "自定义",
  66. // Model Manager
  67. mmTitle: "模型供应商管理",
  68. mmAddBtn: "添加模型",
  69. mmEdit: "编辑",
  70. mmDelete: "删除",
  71. mmEmpty: "暂无配置的模型",
  72. mmFormName: "模型别名 (显示用)",
  73. mmFormProvider: "供应商类型",
  74. mmFormModelId: "模型 ID (如 gpt-4o)",
  75. mmFormBaseUrl: "API Base URL",
  76. mmFormType: "模型功能类型",
  77. mmFormVision: "支持视觉能力",
  78. mmFormDimensions: "向量维度",
  79. mmFormDimensionsHelp: "嵌入向量的维度大小,常见值:1536、3072",
  80. mmSave: "保存配置",
  81. mmCancel: "取消",
  82. mmErrorNotAuthenticated: "未登录,无法操作",
  83. mmErrorTitle: "操作失败",
  84. modelEnabled: "模型已启用",
  85. modelDisabled: "模型已禁用",
  86. confirmChangeEmbeddingModel: "警告:更改向量模型可能导致现有索引无法搜索。\n这将无法通过新的向量模型搜索到之前通过旧模型索引的内容。\n是否确认更改?",
  87. embeddingModelWarning: "更改此设置可能需要清空并重新导入知识库。",
  88. sourcePreview: "引用源预览",
  89. matchScore: "匹配度",
  90. copyContent: "复制内容",
  91. copySuccess: "复制成功",
  92. // ConfigPanel 缺失的翻译
  93. selectLLMModel: "请选择LLM模型",
  94. selectEmbeddingModel: "请选择Embedding模型",
  95. defaultForUploads: "用于新上传和查询",
  96. noRerankModel: "无重排序模型",
  97. vectorSimilarityThreshold: "向量检索阈值",
  98. rerankSimilarityThreshold: "重排序阈值",
  99. filterLowResults: "低于此值的结果将被过滤",
  100. noteCreatedSuccess: "笔记创建成功",
  101. noteCreatedFailed: "笔记创建失败",
  102. fullTextSearch: "全文检索",
  103. hybridVectorWeight: "混合检索向量权重",
  104. hybridVectorWeightDesc: "设置向量检索与全文检索的权重比例 (0 为全文本,1 为全向量)",
  105. apiKeyValidationFailed: "API Key 验证失败",
  106. keepOriginalKey: "留空保持原 API Key,输入新值则替换",
  107. leaveEmptyNoChange: "留空不修改",
  108. mmFormApiKey: "API Key",
  109. mmFormApiKeyPlaceholder: "请输入 API Key",
  110. // 更多组件缺失的翻译
  111. reconfigureFile: "重新配置文件",
  112. modifySettings: "修改文件的切片和向量化设置",
  113. filesCount: "个文件",
  114. allFilesIndexed: "所有文件将使用下面的设置进行索引",
  115. noEmbeddingModels: "未配置嵌入模型",
  116. reconfigure: "重新配置",
  117. refresh: "刷新",
  118. settings: "设置",
  119. needLogin: "需要登录才能使用聊天功能",
  120. citationSources: "引用源",
  121. chunkNumber: "片段",
  122. getUserListFailed: "获取用户列表失败",
  123. usernamePasswordRequired: "用户名和密码不能为空",
  124. passwordMinLength: "密码长度不能少于6位",
  125. userCreatedSuccess: "用户创建成功",
  126. createUserFailed: "创建用户失败",
  127. userPromotedToAdmin: "用户已提升为管理员",
  128. userDemotedFromAdmin: "用户已降级为普通用户",
  129. updateUserFailed: "更新用户失败",
  130. confirmDeleteUser: "确定要删除此用户吗?",
  131. deleteUser: "删除用户",
  132. deleteUserFailed: "删除用户失败",
  133. userDeletedSuccessfully: "用户删除成功",
  134. makeUserAdmin: "设为管理员",
  135. makeUserRegular: "设为普通用户",
  136. loading: "加载中...",
  137. noUsers: "暂无用户",
  138. // ChangePasswordModal 和 SearchResultsPanel 缺失的翻译
  139. fillAllFields: "请填写所有字段",
  140. passwordMismatch: "新密码和确认密码不匹配",
  141. newPasswordMinLength: "新密码长度不能少于6位",
  142. changePasswordFailed: "修改密码失败",
  143. changePasswordTitle: "修改密码",
  144. changing: "修改中...",
  145. searchResults: "搜索到的相关内容",
  146. // VisionModelSelector 缺失的翻译
  147. visionModelSettings: "视觉模型设置",
  148. defaultVisionModel: "默认视觉模型",
  149. loadVisionModelFailed: "加载视觉模型失败",
  150. loadFailed: "加载失败,请检查网络连接",
  151. saveVisionModelFailed: "保存视觉模型失败",
  152. noVisionModels: "没有可用的视觉模型",
  153. selectVisionModel: "请选择视觉模型",
  154. visionModelHelp: "用于处理图片文件的视觉模型。如果没有可用模型,请在模型管理中添加并勾选“支持视觉”选项。",
  155. mmErrorNameRequired: "模型名称为必填项。",
  156. mmErrorModelIdRequired: "模型 ID 为必填项。",
  157. mmErrorBaseUrlRequired: "Base URL 为必填项。",
  158. mmRequiredAsterisk: "*",
  159. // Type Labels
  160. typeLLM: "对话推理 (LLM)",
  161. typeEmbedding: "向量化 (Embedding)",
  162. typeRerank: "重排序 (Rerank)",
  163. typeVision: "视觉识别 (Vision)",
  164. welcome: "你好!我是您的智能知识库助手。请在“系统设置”中选择模型,上传文档建立索引,然后即可开始提问。",
  165. placeholderWithFiles: "基于知识库内容提问...",
  166. placeholderEmpty: "请先上传文件并完成索引...",
  167. analyzing: "正在检索并生成答案...",
  168. errorGeneric: "处理您的请求时遇到错误。",
  169. errorLabel: "错误",
  170. errorNoModel: "未选择推理模型或配置无效。",
  171. aiDisclaimer: "AI 可能会犯错。请核实源文件中的重要信息。",
  172. confirmClear: "确定要清空所有文件及索引吗?",
  173. removeFile: "移除文件",
  174. apiError: "缺少配置或 API 密钥无效。",
  175. geminiError: "API 请求失败。",
  176. processedButNoText: "无法生成文本回复。",
  177. unitByte: "字节",
  178. readingFailed: "读取文件失败",
  179. // Copy
  180. copy: "复制内容",
  181. copied: "已复制",
  182. // User Management
  183. logout: "退出登录",
  184. changePassword: "修改密码",
  185. userManagement: "用户管理",
  186. userList: "用户列表",
  187. addUser: "新增用户",
  188. username: "用户名",
  189. password: "密码",
  190. confirmPassword: "确认密码",
  191. currentPassword: "当前密码",
  192. newPassword: "新密码",
  193. createUser: "创建用户",
  194. admin: "管理员",
  195. user: "普通用户",
  196. adminUser: "设为管理员", // 新增
  197. confirmChange: "确认修改",
  198. changeUserPassword: "修改用户密码",
  199. enterNewPassword: "请输入新密码",
  200. createdAt: "创建时间",
  201. newChat: "新建对话",
  202. // Knowledge Base View
  203. kbManagement: "知识库管理",
  204. kbManagementDesc: "管理您的文档和知识分组",
  205. searchPlaceholder: "搜索文件名...",
  206. allGroups: "所有分组",
  207. allStatus: "所有状态",
  208. statusReadyFragment: "Ready",
  209. statusFailedFragment: "Failed",
  210. statusIndexingFragment: "Indexing",
  211. uploadFile: "上传文件",
  212. fileName: "文件名",
  213. size: "大小",
  214. status: "状态",
  215. groups: "分组",
  216. actions: "操作",
  217. groupsActions: "分组 / 操作",
  218. noFilesFound: "未找到匹配的文件",
  219. showingRange: "显示 $1 到 $2 条,共 $3 条",
  220. confirmDeleteFile: "确定要删除此文件吗?",
  221. fileDeleted: "文件已删除",
  222. deleteFailed: "删除失败",
  223. fileAddedToGroup: "文件已添加到分组",
  224. failedToAddToGroup: "添加到分组失败",
  225. fileRemovedFromGroup: "文件已从分组移除",
  226. failedToRemoveFromGroup: "从分组移除失败",
  227. confirmClearKB: "警告:此操作将永久删除所有文件及其索引数据。\n\n确定要清空知识库吗?",
  228. kbCleared: "知识库已清空",
  229. clearFailed: "清空失败",
  230. loginRequired: "请先登录",
  231. uploadErrors: "以下文件无法上传",
  232. uploadWarning: "$1 个文件已准备上传,$2 个文件被过滤",
  233. uploadFailed: "上传失败",
  234. preview: "预览",
  235. addGroup: "添加分组",
  236. delete: "删除",
  237. retry: "重试",
  238. retrying: "重试中...",
  239. retrySuccess: "重试成功",
  240. retryFailed: "重试失败",
  241. chunkInfo: "分片信息",
  242. totalChunks: "总分片数",
  243. chunkIndex: "分片",
  244. contentLength: "字符",
  245. position: "位置",
  246. // Indexing Modal
  247. reconfigureTitle: "重新配置文件",
  248. reconfigureDesc: "修改文件处理设置",
  249. indexingConfigTitle: "文档索引配置",
  250. indexingConfigDesc: "配置文档处理参数,选择处理模式",
  251. pendingFiles: "待处理文件",
  252. processingMode: "处理模式",
  253. analyzingFile: "分析中...",
  254. recommendationReason: "推荐理由",
  255. fastMode: "快速模式",
  256. fastModeDesc: "简单提取文本,速度快,无额外成本,适合纯文本文档",
  257. preciseMode: "精准模式",
  258. preciseModeDesc: "精准识别内容,保留图文混合信息,需要 API 费用",
  259. fastModeFeatures: "快速模式特点:",
  260. fastFeature1: "简单提取文本内容",
  261. fastFeature2: "处理速度快,适合批量处理",
  262. fastFeature3: "无额外成本",
  263. fastFeature4: "仅处理文字信息",
  264. fastFeature5: "适合纯文本文档",
  265. preciseModeFeatures: "精准模式特点:",
  266. preciseFeature1: "精准识别内容结构",
  267. preciseFeature2: "识别图片/图表/表格",
  268. preciseFeature3: "保留图文混合内容",
  269. preciseFeature4: "保留页面布局信息",
  270. preciseFeature5: "需要 API 费用",
  271. preciseFeature6: "处理时间较长",
  272. embeddingModel: "嵌入模型",
  273. pleaseSelect: "请选择...",
  274. pleaseSelectKnowledgeGroupFirst: "请先选择知识组再保存",
  275. selectUnassignGroupWarning: "如果您想取消分配知识组,请确认此操作",
  276. chunkConfig: "切片配置",
  277. chunkSize: "切片大小 (Tokens)",
  278. min: "最小",
  279. max: "上限",
  280. chunkOverlap: "重叠大小 (Tokens)",
  281. modelLimitsInfo: "模型限制信息",
  282. model: "模型",
  283. maxChunkSize: "切片上限",
  284. maxOverlapSize: "重叠上限",
  285. maxBatchSize: "批量限制",
  286. envLimitWeaker: "环境变量限制更严格",
  287. optimizationTips: "优化建议",
  288. tipChunkTooLarge: "切片较大,可能影响检索精度",
  289. tipOverlapSmall: "建议重叠至少 $1 tokens",
  290. tipMaxValues: "使用最大值,处理速度可能较慢",
  291. tipPreciseCost: "精准模式会产生 API 费用,请确认预算",
  292. selectEmbeddingFirst: "请先选择嵌入模型",
  293. confirmPreciseCost: "精准模式会产生 API 费用,是否继续?",
  294. startProcessing: "开始处理",
  295. // Notebooks View
  296. notebooks: "知识组",
  297. notebooksDesc: "管理您的研究项目和知识集合",
  298. createNotebook: "新建知识组",
  299. chatWithNotebook: "基于此知识组对话",
  300. editNotebook: "编辑知识组",
  301. deleteNotebook: "删除知识组 (包含文件)",
  302. noDescription: "无描述",
  303. noNotebooks: "暂无知识组,点击右上角创建",
  304. createFailed: "创建失败",
  305. confirmDeleteNotebook: "确定要删除知识组 \"$1\" 吗?\n\n注意:这将同时永久删除该知识组下的所有文件及其索引数据!",
  306. // Create/Edit Notebook Drawer
  307. createNotebookTitle: "新建知识组",
  308. editNotebookTitle: "编辑知识组",
  309. createFailedRetry: "创建失败,请重试",
  310. updateFailedRetry: "更新失败,请重试",
  311. name: "名称",
  312. nameHelp: "一个清晰的名称能帮你快速找到它。",
  313. namePlaceholder: "例如:量子物理研究...",
  314. shortDescription: "简短描述",
  315. descPlaceholder: "一句话描述这个知识组的用途",
  316. creating: "正在创建...",
  317. createNow: "立即创建",
  318. saving: "正在保存...",
  319. save: "保存",
  320. // Chat
  321. chatTitle: "知识库问答",
  322. chatDesc: "与您的知识库进行智能对话",
  323. viewHistory: "查看对话历史",
  324. saveSettingsFailed: "保存设置失败",
  325. loginToUpload: "请先登录再进行上传",
  326. fileSizeLimitExceeded: "$1 ($2 - 超过 $3MB 限制)",
  327. unsupportedFileType: "$1 - 不支持的文件类型 ($2)",
  328. readFailed: "$1 - 读取失败",
  329. loadHistoryFailed: "加载对话历史失败",
  330. loadingUserData: "正在加载用户数据...",
  331. errorMessage: "错误: $1",
  332. welcomeMessage: "你好!我是您的智能知识库助手。请选择知识库然后进行提问。",
  333. selectKnowledgeGroup: "选择知识库分组",
  334. allKnowledgeGroups: "全部知识库",
  335. unknownGroup: "未知分组",
  336. selectedGroupsCount: "已选 $1 个分组",
  337. // Settings
  338. generalSettings: "一般配置",
  339. modelManagement: "模型管理",
  340. languageSettings: "语言设置",
  341. passwordChangeSuccess: "密码修改成功",
  342. passwordChangeFailed: "密码修改失败",
  343. create: "创建",
  344. validationFailedMsg:
  345. '验证请求失败: $1。可能是跨域(CORS)限制或地址错误。您可以勾选"跳过验证"强制保存。',
  346. // Sidebar
  347. navChat: "对话",
  348. navCoach: "教练",
  349. navKnowledge: "知识库",
  350. navKnowledgeGroups: "知识组",
  351. navCrawler: "资源获取",
  352. expandMenu: "展开菜单",
  353. switchLanguage: "切换语言",
  354. // Group Selection Drawer
  355. selectKnowledgeGroups: "选择知识库分组",
  356. searchGroupsPlaceholder: "搜索分组...",
  357. done: "完成",
  358. all: "全部",
  359. noGroupsFound: "未找到相关分组",
  360. noGroups: "暂无分组",
  361. // Auto-refresh functionality
  362. autoRefresh: "自动刷新",
  363. refreshInterval: "刷新间隔",
  364. // NotebookDetailView
  365. errorRenderFlowchart: "无法渲染流程图",
  366. errorLoadData: "加载数据失败",
  367. confirmUnsupportedFile: "文件类型 .$1 可能不受支持,是否继续?",
  368. errorReadFile: "文件读取失败: $1",
  369. successUploadFile: "文件上传并关联成功",
  370. errorUploadFile: "上传失败: $1",
  371. errorProcessFile: "文件处理失败",
  372. errorTitleContentRequired: "标题和内容不能为空",
  373. successNoteUpdated: "笔记已更新",
  374. successNoteCreated: "笔记已创建",
  375. errorSaveFailed: "保存失败: $1",
  376. confirmDeleteNote: "确定要删除这条笔记吗?",
  377. successNoteDeleted: "笔记已删除",
  378. confirmRemoveFileFromGroup: "确定要将文件 \"$1\" 从此知识组移除吗?(文件仍保留在知识库中)",
  379. editNote: "编辑笔记",
  380. newNote: "新建笔记",
  381. togglePreviewOpen: "开启预览",
  382. togglePreviewClose: "关闭预览",
  383. aiAssistant: "AI 智能助手",
  384. polishContent: "润色内容",
  385. expandContent: "扩写",
  386. summarizeContent: "精简摘要",
  387. translateToEnglish: "翻译成英文",
  388. fixGrammar: "修复语法",
  389. aiCommandInstructPolish: "请帮我润色这段文字,使其表达更地道、更专业。",
  390. aiCommandInstructExpand: "请帮我扩写这段文字,增加更多细节,使其更充实和详细。",
  391. aiCommandInstructSummarize: "请帮我精简这段文字,提取核心观点,生成简洁的摘要。",
  392. aiCommandInstructTranslateToEn: "请帮我将这段文字翻译成英文。",
  393. aiCommandInstructFixGrammar: "请检查并修复这段文字中的语法和拼写错误。",
  394. aiCommandsPreset: "常用指令",
  395. aiCommandsCustom: "自定义需求",
  396. aiCommandsCustomPlaceholder: "例如:把这段话改写得更正式一点...",
  397. aiCommandsReferenceContext: "参考上下文 (前200字):",
  398. aiCommandsStartGeneration: "开始生成",
  399. aiCommandsResult: "AI 建议",
  400. aiCommandsGenerating: "生成中...",
  401. aiCommandsApplyResult: "替换选区",
  402. aiCommandsGoBack: "返回修改",
  403. aiCommandsReset: "清空重置",
  404. aiCommandsModalPreset: "选择预设指令",
  405. aiCommandsModalCustom: "或输入自定义指令",
  406. aiCommandsModalCustomPlaceholder: "告诉 AI 你想做什么...",
  407. aiCommandsModalBasedOnSelection: "将基于以下选中文本处理:",
  408. aiCommandsModalResult: "生成结果",
  409. aiCommandsModalApply: "采用此结果",
  410. noteTitlePlaceholder: "笔记标题",
  411. noteContentPlaceholder: "开始写作 (支持 Markdown)...",
  412. markdownPreviewArea: "Markdown 预览区域",
  413. back: "返回",
  414. chatWithGroup: "基于此知识组进行对话",
  415. chatWithFile: "基于此文件进行对话",
  416. filesCountLabel: "文件 ($1)",
  417. notesCountLabel: "笔记 ($1)",
  418. indexIntoKB: "索引到知识库",
  419. noFilesOrNotes: "暂无$1",
  420. importFolder: "导入文件夹",
  421. // CreateNoteFromPDFDialog keys
  422. createPDFNote: "创建PDF笔记",
  423. screenshotPreview: "截图预览",
  424. associateKnowledgeGroup: "关联知识组",
  425. globalNoSpecificGroup: "全局 (无特定知识组)",
  426. title: "标题",
  427. enterNoteTitle: "输入笔记标题",
  428. contentOCR: "内容 (OCR提取的文本)",
  429. extractingText: "正在提取文本...",
  430. analyzingImage: "正在分析图片并提取文字...",
  431. noTextExtracted: "未提取到文本",
  432. saveNote: "保存笔记",
  433. // Additional keys used in CreateNoteFromPDFDialog
  434. page: "第",
  435. placeholderText: "OCR提取的文本将显示在这里,您可以编辑...",
  436. // CreateNotebookDialog keys
  437. createNewNotebook: "新建知识组",
  438. nameField: "名称",
  439. required: "*",
  440. exampleResearch: "例如:量子物理研究...",
  441. shortDescriptionField: "简短描述",
  442. describePurpose: "一句话描述这个知识组的用途",
  443. creationFailed: "创建失败,请重试",
  444. // PDFPreview keys
  445. preparingPDFConversion: "准备转换PDF...",
  446. pleaseWait: "请稍候,这可能需要几分钟时间",
  447. convertingPDF: "正在转换PDF...",
  448. pdfConversionFailed: "PDF转换失败",
  449. pdfConversionError: "无法转换此文件为PDF格式,请检查文件是否损坏或格式不支持",
  450. pdfLoadFailed: "PDF加载失败",
  451. pdfLoadError: "无法在浏览器中显示PDF,请尝试下载或在新窗口中打开",
  452. downloadingPDF: "下载PDF中...",
  453. loadingPDF: "加载PDF中...",
  454. zoomOut: "缩小",
  455. zoomIn: "放大",
  456. resetZoom: "重置缩放",
  457. selectPageNumber: "选择页码:",
  458. enterPageNumber: "输入想要选取的页码",
  459. exitSelectionMode: "退出选择模式",
  460. clickToSelectAndNote: "点击框选区域并记笔记",
  461. regeneratePDF: "重新生成 PDF",
  462. downloadPDF: "下载 PDF",
  463. openInNewWindow: "在新窗口中打开",
  464. exitFullscreen: "退出全屏",
  465. fullscreenDisplay: "全屏显示",
  466. pdfPreview: "PDF预览",
  467. converting: "转换中...",
  468. generatePDFPreview: "生成PDF预览",
  469. previewNotSupported: "该格式不支持预览",
  470. // Confirmation message
  471. confirmRegeneratePDF: "确定要重新生成 PDF 吗?这将覆盖当前的预览文件。",
  472. // PDFPreviewButton keys
  473. pdfPreviewReady: "PDF预览",
  474. convertingInProgress: "转换中...",
  475. conversionFailed: "转换失败",
  476. generatePDFPreviewButton: "生成PDF预览",
  477. // Error messages
  478. checkPDFStatusFailed: "Check PDF status failed",
  479. requestRegenerationFailed: "请求重新生成失败",
  480. downloadPDFFailed: "PDF 下载失败",
  481. openPDFInNewTabFailed: "在新标签页打开 PDF 失败",
  482. // uploadService Recommendations
  483. invalidFile: "无效的文件",
  484. incompleteFileInfo: "文件信息不完整,将使用快速模式",
  485. unsupportedFileFormat: "不支持的文件格式: .$1",
  486. willUseFastMode: "将使用快速模式 (仅文本提取)",
  487. formatNoPrecise: "格式 .$1 不支持精准模式",
  488. smallFileFastOk: "文件较小,快速模式即可满足需求",
  489. mixedContentPreciseRecommended: "文件包含图文混合内容,建议使用精准模式",
  490. willIncurApiCost: "会产生 API 费用",
  491. largeFilePreciseRecommended: "文件较大,精准模式可保留完整信息",
  492. longProcessingTime: "处理时间可能较长",
  493. highApiCost: "会产生较高 API 费用",
  494. considerFileSplitting: "建议考虑文件拆分",
  495. // Drag and drop upload
  496. dragDropUploadTitle: "拖拽文件到这里上传",
  497. dragDropUploadDesc: "或点击下方按钮选择文件",
  498. supportedFormats: "支持格式",
  499. browseFiles: "浏览文件",
  500. // IndexingModal
  501. recommendationMsg: "推荐使用$1模式: $2",
  502. autoAdjustChunk: "切片大小自动调整为上限 $1",
  503. autoAdjustOverlap: "重叠大小自动调整为上限 $1",
  504. autoAdjustOverlapMin: "重叠大小自动调整为最小值 $1",
  505. loadLimitsFailed: "无法加载模型限制,将使用默认配置",
  506. maxValueMsg: "最大值为 $1",
  507. overlapRatioLimit: "不能超过切片大小的50% ($1)",
  508. onlyAdminCanModify: "只有管理员可以修改系统设置",
  509. dragToSelect: "拖动鼠标选择范围 • 按 ESC 取消",
  510. // ImportFolderDrawer
  511. fillTargetName: "请填写目标知识组名称",
  512. submitFailed: "提交失败: $1",
  513. importFolderTitle: "导入本地文件夹",
  514. importFolderTip: "提示: 请选择一个本地文件夹。系统将读取并上传文件夹内所有支持的文档。",
  515. lblTargetGroup: "目标知识组名称",
  516. placeholderNewGroup: "新分组名称",
  517. importToCurrentGroup: "将导入到当前所在的分组",
  518. nextStep: "下一步",
  519. selectedFilesCount: "已选择 $1 个文件",
  520. clickToSelectFolder: "点击选择本地文件夹",
  521. selectFolderTip: "将读取文件夹内所有支持的文件",
  522. importComplete: "导入完成",
  523. importedFromLocalFolder: "从本地文件夹导入: $1",
  524. // History
  525. historyTitle: "对话历史",
  526. confirmDeleteHistory: "确定要删除这条对话历史吗?",
  527. deleteHistorySuccess: "对话历史删除成功",
  528. deleteHistoryFailed: "删除对话历史失败",
  529. yesterday: "昨天",
  530. daysAgo: "$1天前",
  531. historyMessages: "$1 条消息",
  532. noHistory: "暂无对话历史",
  533. noHistoryDesc: "开始一次对话来创建历史记录",
  534. loadMore: "加载更多",
  535. loadingHistoriesFailed: "加载搜索历史失败",
  536. supportedFormatsInfo: "支持文档、图片及代码格式",
  537. },
  538. en: {
  539. aiCommandsError: "An error occurred",
  540. appTitle: "Gemini Knowledge Base",
  541. loginTitle: "System Login",
  542. loginDesc: "Enter access key to enter the system",
  543. loginButton: "Enter System",
  544. loginError: "Key cannot be empty",
  545. unknownError: "Unknown Error",
  546. usernamePlaceholder: "Username",
  547. passwordPlaceholder: "Password",
  548. registerButton: "Register",
  549. confirm: "Confirm",
  550. cancel: "Cancel",
  551. confirmTitle: "Confirm Action",
  552. confirmDeleteGroup: "Are you sure you want to delete group \"$1\"?",
  553. systemConfiguration: "System Configuration",
  554. noFiles: "No Files",
  555. noFilesDesc: "Supports PDF, Office documents, text, code, images, etc.",
  556. addFile: "Add File",
  557. clearAll: "Clear Knowledge Base",
  558. uploading: "Processing",
  559. editNotebookTitle: "Edit Knowledge Group",
  560. noteCreatedSuccess: "Note created successfully",
  561. noteCreatedFailed: "Failed to create note",
  562. errorRenderFlowchart: "Unable to render flowchart",
  563. errorLoadData: "Failed to load data",
  564. confirmUnsupportedFile: "File type .$1 may not be supported, continue anyway?",
  565. errorReadFile: "File read failed: $1",
  566. successUploadFile: "File uploaded and associated successfully",
  567. errorUploadFile: "Upload failed: $1",
  568. fileAddedToGroup: "File added to group",
  569. failedToAddToGroup: "Failed to add to group",
  570. fileRemovedFromGroup: "File removed from group",
  571. failedToRemoveFromGroup: "Failed to remove from group",
  572. errorProcessFile: "File processing failed",
  573. errorTitleContentRequired: "Title and content cannot be empty",
  574. successNoteUpdated: "Note updated",
  575. successNoteCreated: "Note created",
  576. errorSaveFailed: "Save failed: $1",
  577. confirmDeleteNote: "Are you sure you want to delete this note?",
  578. successNoteDeleted: "Note deleted",
  579. confirmRemoveFileFromGroup: "Are you sure you want to remove file \"$1\" from this knowledge group? (File remains in knowledge base)",
  580. editNote: "Edit Note",
  581. newNote: "New Note",
  582. togglePreviewOpen: "Open Preview",
  583. togglePreviewClose: "Close Preview",
  584. noteTitlePlaceholder: "Note Title",
  585. noteContentPlaceholder: "Start writing (supports Markdown)...",
  586. markdownPreviewArea: "Markdown Preview Area",
  587. back: "Back",
  588. chatWithGroup: "Chat with this group",
  589. chatWithFile: "Chat with this file",
  590. filesCountLabel: "Files ($1)",
  591. notesCountLabel: "Notes ($1)",
  592. indexIntoKB: "Index into knowledge base",
  593. noFilesOrNotes: "No $1",
  594. sidebarTitle: "Knowledge Base",
  595. sidebarDesc: "Manage Docs & Settings",
  596. tabFiles: "Documents",
  597. files: "Files",
  598. notes: "Notes",
  599. tabSettings: "Settings",
  600. langZh: "Language: Chinese",
  601. langEn: "Language: English",
  602. langJa: "Language: Japanese",
  603. statusIndexing: "Indexing...",
  604. statusReady: "Indexed",
  605. // RAG Settings
  606. ragSettings: "RAG Settings",
  607. enableRerank: "Enable Rerank",
  608. enableRerankDesc: "Use a rerank model to re-rank retrieval results for better accuracy",
  609. selectRerankModel: "Select Rerank Model",
  610. selectModelPlaceholder: "Select a model...",
  611. headerModelSelection: "Model Selection",
  612. headerHyperparams: "Inference Params",
  613. headerIndexing: "Indexing & Chunking",
  614. headerRetrieval: "Retrieval & Ranking",
  615. btnManageModels: "Manage Providers",
  616. lblLLM: "Inference Model (LLM)",
  617. lblEmbedding: "Embedding Model",
  618. lblRerankRef: "Rerank Model",
  619. lblTemperature: "Temperature",
  620. lblMaxTokens: "Max Output Tokens",
  621. lblChunkSize: "Chunk Size (Tokens)",
  622. lblChunkOverlap: "Overlap",
  623. lblTopK: "Recall Count (Top K)",
  624. lblRerank: "Enable Rerank",
  625. idxModalTitle: "Indexing & Segmentation",
  626. idxDesc: "Configure chunking rules and embedding model before ingestion.",
  627. idxFiles: "Pending Files",
  628. idxMethod: "Segmentation",
  629. idxEmbeddingModel: "Embedding Model",
  630. idxStart: "Start Indexing",
  631. idxCancel: "Cancel",
  632. idxAuto: "Automatic",
  633. idxCustom: "Custom",
  634. mmTitle: "Model Provider Manager",
  635. mmAddBtn: "Add Model",
  636. mmEdit: "Edit",
  637. mmDelete: "Delete",
  638. mmEmpty: "No models configured",
  639. mmFormName: "Model Name (Display)",
  640. mmFormProvider: "Provider",
  641. mmFormModelId: "Model ID (e.g., gpt-4o)",
  642. mmFormBaseUrl: "API Base URL",
  643. mmFormType: "Function Type",
  644. mmFormVision: "Supports Vision",
  645. mmFormDimensions: "Vector Dimensions",
  646. mmFormDimensionsHelp: "Embedding vector dimensions, common values: 1536, 3072",
  647. mmSave: "Save Configuration",
  648. mmCancel: "Cancel",
  649. mmErrorNotAuthenticated: "Not authenticated, cannot operate",
  650. mmErrorTitle: "Operation Failed",
  651. modelEnabled: "Model Enabled",
  652. modelDisabled: "Model Disabled",
  653. confirmChangeEmbeddingModel: "WARNING: Changing the embedding model may make existing indices unsearchable.\nYou will not be able to search content indexed with the old model using the new model.\nAre you sure you want to change it?",
  654. embeddingModelWarning: "Changing this setting may require clearing and re-importing your knowledge base.",
  655. sourcePreview: "Source Preview",
  656. matchScore: "Match Score",
  657. copyContent: "Copy Content",
  658. copySuccess: "Copied successfully",
  659. // ConfigPanel missing translations
  660. selectLLMModel: "Please select LLM model",
  661. selectEmbeddingModel: "Please select Embedding model",
  662. defaultForUploads: "Default for new uploads & queries",
  663. noRerankModel: "No Rerank Model",
  664. vectorSimilarityThreshold: "Vector Similarity Threshold",
  665. rerankSimilarityThreshold: "Rerank Similarity Threshold",
  666. filterLowResults: "Results below this value will be filtered",
  667. fullTextSearch: "Full Text Search",
  668. hybridVectorWeight: "Hybrid Vector Weight",
  669. hybridVectorWeightDesc: "Set the weight ratio between vector and full-text search (0 is text only, 1 is vector only)",
  670. apiKeyValidationFailed: "API Key validation failed",
  671. keepOriginalKey: "Leave empty to keep original API Key, input new value to replace",
  672. leaveEmptyNoChange: "Leave empty to keep unchanged",
  673. mmFormApiKey: "API Key",
  674. mmFormApiKeyPlaceholder: "Enter API Key",
  675. // More missing translations
  676. reconfigureFile: "Reconfigure File",
  677. modifySettings: "Modify file chunking and vectorization settings",
  678. filesCount: " Files",
  679. allFilesIndexed: "All files will be indexed with the settings below.",
  680. noEmbeddingModels: "No Embedding Models Configured",
  681. reconfigure: "Reconfigure",
  682. refresh: "Refresh",
  683. settings: "Settings",
  684. needLogin: "Login required to use chat function",
  685. citationSources: "Citation Sources",
  686. chunkNumber: "Chunk",
  687. getUserListFailed: "Failed to get user list",
  688. usernamePasswordRequired: "Username and password cannot be empty",
  689. passwordMinLength: "Password must be at least 6 characters",
  690. userCreatedSuccess: "User created successfully",
  691. createUserFailed: "Failed to create user",
  692. userPromotedToAdmin: "User promoted to administrator",
  693. userDemotedFromAdmin: "User demoted from administrator",
  694. updateUserFailed: "Failed to update user",
  695. confirmDeleteUser: "Are you sure you want to delete this user?",
  696. deleteUser: "Delete User",
  697. deleteUserFailed: "Failed to delete user",
  698. userDeletedSuccessfully: "User deleted successfully",
  699. makeUserAdmin: "Set as admin",
  700. makeUserRegular: "Set as regular user",
  701. loading: "Loading...",
  702. noUsers: "No users",
  703. // AI Assistant
  704. aiAssistant: "AI Assistant",
  705. polishContent: "Polish Content",
  706. expandContent: "Expand",
  707. summarizeContent: "Summarize",
  708. translateToEnglish: "Translate to English",
  709. fixGrammar: "Fix Grammar",
  710. aiCommandInstructPolish: "Please polish this text to make it more professional and idiomatic.",
  711. aiCommandInstructExpand: "Please expand this text with more details to make it more comprehensive.",
  712. aiCommandInstructSummarize: "Please summarize this text by extracting the core points into a concise summary.",
  713. aiCommandInstructTranslateToEn: "Please translate this text into English.",
  714. aiCommandInstructFixGrammar: "Please check and fix any grammar and spelling errors in this text.",
  715. aiCommandsPreset: "Common Commands",
  716. aiCommandsCustom: "Custom Request",
  717. aiCommandsCustomPlaceholder: "e.g., rewrite this text to be more formal...",
  718. aiCommandsReferenceContext: "Reference Context (first 200 chars):",
  719. aiCommandsStartGeneration: "Start Generation",
  720. aiCommandsResult: "AI Suggestions",
  721. aiCommandsGenerating: "Generating...",
  722. aiCommandsApplyResult: "Replace Selection",
  723. aiCommandsGoBack: "Go Back",
  724. aiCommandsReset: "Reset",
  725. aiCommandsModalPreset: "Select Preset Command",
  726. aiCommandsModalCustom: "Or Enter Custom Command",
  727. aiCommandsModalCustomPlaceholder: "Tell AI what you want to do...",
  728. aiCommandsModalBasedOnSelection: "Based on selected text:",
  729. aiCommandsModalResult: "Generated Result",
  730. aiCommandsModalApply: "Apply Result",
  731. // ChangePasswordModal and SearchResultsPanel missing translations
  732. fillAllFields: "Please fill in all fields",
  733. passwordMismatch: "New password and confirmation password do not match",
  734. newPasswordMinLength: "New password must be at least 6 characters",
  735. changePasswordFailed: "Failed to change password",
  736. changePasswordTitle: "Change Password",
  737. changing: "Changing...",
  738. searchResults: "Related Content Found",
  739. // VisionModelSelector missing translations
  740. visionModelSettings: "Vision Model Settings",
  741. defaultVisionModel: "Default Vision Model",
  742. loadVisionModelFailed: "Failed to load vision models",
  743. loadFailed: "Loading failed, please check network connection",
  744. saveVisionModelFailed: "Failed to save vision model",
  745. noVisionModels: "No vision models available",
  746. selectVisionModel: "Please select vision model",
  747. visionModelHelp: "Vision model for processing image files. If no models are available, please add one in model management and check the 'Supports Vision' option.",
  748. mmErrorNameRequired: "Model name is required.",
  749. mmErrorModelIdRequired: "Model ID is required.",
  750. mmErrorBaseUrlRequired: "Base URL is required for the selected provider.",
  751. mmRequiredAsterisk: "*",
  752. typeLLM: "Chat/Inference (LLM)",
  753. typeEmbedding: "Embedding",
  754. typeRerank: "Rerank",
  755. typeVision: "Vision",
  756. welcome: "Hello! Select a model in Settings, upload documents to index, and start asking questions.",
  757. placeholderWithFiles: "Ask about knowledge base...",
  758. placeholderEmpty: "Upload files to start...",
  759. analyzing: "Retrieving & Generating...",
  760. errorGeneric: "Error processing your request.",
  761. errorLabel: "Error",
  762. errorNoModel: "No inference model selected or config invalid.",
  763. aiDisclaimer: "AI can make mistakes. Verify important info.",
  764. confirmClear: "Delete all files and indices?",
  765. removeFile: "Remove file",
  766. apiError: "Missing config or invalid API Key.",
  767. geminiError: "API Request Failed.",
  768. processedButNoText: "Could not generate text response.",
  769. unitByte: "Bytes",
  770. readingFailed: "Failed to read file",
  771. copy: "Copy",
  772. copied: "Copied",
  773. // User Management
  774. logout: "Logout",
  775. changePassword: "Change Password",
  776. userManagement: "User Management",
  777. userList: "User List",
  778. addUser: "Add User",
  779. username: "Username",
  780. password: "Password",
  781. confirmPassword: "Confirm Password",
  782. currentPassword: "Current Password",
  783. newPassword: "New Password",
  784. createUser: "Create User",
  785. admin: "Admin",
  786. user: "User",
  787. adminUser: "Set as Administrator",
  788. confirmChange: "Confirm Change",
  789. changeUserPassword: "Change User Password",
  790. enterNewPassword: "Please enter new password",
  791. createdAt: "Created At",
  792. newChat: "New Chat",
  793. // Group Selection Drawer
  794. selectKnowledgeGroups: "Select Knowledge Groups",
  795. searchGroupsPlaceholder: "Search groups...",
  796. done: "Done",
  797. all: "All",
  798. noGroupsFound: "No groups found",
  799. noGroups: "No groups",
  800. // Auto-refresh functionality
  801. autoRefresh: "Auto Refresh",
  802. refreshInterval: "Refresh Interval",
  803. // Knowledge Base View
  804. kbManagement: "Knowledge Base Management",
  805. kbManagementDesc: "Manage your documents and knowledge groups",
  806. searchPlaceholder: "Search filename...",
  807. allGroups: "All Groups",
  808. allStatus: "All Status",
  809. statusReadyFragment: "Ready",
  810. statusFailedFragment: "Failed",
  811. statusIndexingFragment: "Indexing",
  812. uploadFile: "Upload File",
  813. fileName: "Filename",
  814. size: "Size",
  815. status: "Status",
  816. groups: "Groups",
  817. actions: "Actions",
  818. groupsActions: "Groups / Actions",
  819. noFilesFound: "No files found",
  820. showingRange: "Showing $1 to $2 of $3",
  821. confirmDeleteFile: "Are you sure you want to delete this file?",
  822. fileDeleted: "File deleted",
  823. deleteFailed: "Delete failed",
  824. confirmClearKB: "WARNING: This will permanently delete all files and indices.\n\nAre you sure you want to clear the knowledge base?",
  825. kbCleared: "Knowledge base cleared",
  826. clearFailed: "Clear failed",
  827. loginRequired: "Please login first",
  828. uploadErrors: "The following files could not be uploaded",
  829. uploadWarning: "$1 files ready to upload, $2 files filtered",
  830. uploadFailed: "Upload failed",
  831. preview: "Preview",
  832. addGroup: "Add Group",
  833. delete: "Delete",
  834. retry: "Retry",
  835. retrying: "Retrying...",
  836. retrySuccess: "Retry successful",
  837. retryFailed: "Retry failed",
  838. chunkInfo: "Chunk Information",
  839. totalChunks: "Total Chunks",
  840. chunkIndex: "Chunk",
  841. contentLength: "characters",
  842. position: "Position",
  843. // Indexing Modal
  844. reconfigureTitle: "Reconfigure File",
  845. reconfigureDesc: "Modify file processing settings",
  846. indexingConfigTitle: "Document Indexing Config",
  847. indexingConfigDesc: "Configure document processing options and mode",
  848. pendingFiles: "Pending Files",
  849. processingMode: "Processing Mode",
  850. analyzingFile: "Analyzing...",
  851. recommendationReason: "Reason",
  852. fastMode: "Fast Mode",
  853. fastModeDesc: "Simple text extraction, fast speed, no extra cost, suitable for pure text",
  854. preciseMode: "Precise Mode",
  855. preciseModeDesc: "Precise layout analysis, keeps tables/images, requires API cost",
  856. fastModeFeatures: "Fast Mode Features:",
  857. fastFeature1: "Simple text extraction",
  858. fastFeature2: "Fast processing speed",
  859. fastFeature3: "No extra cost",
  860. fastFeature4: "Process text only",
  861. fastFeature5: "Suitable for plain text",
  862. preciseModeFeatures: "Precise Mode Features:",
  863. preciseFeature1: "Precise structure recognition",
  864. preciseFeature2: "Recognize images/tables/charts",
  865. preciseFeature3: "Preserve mixed content",
  866. preciseFeature4: "Preserve layout information",
  867. preciseFeature5: "Requires API cost",
  868. preciseFeature6: "Longer processing time",
  869. embeddingModel: "Embedding Model",
  870. pleaseSelect: "Please select...",
  871. pleaseSelectKnowledgeGroupFirst: "Please select a knowledge group first before saving",
  872. selectUnassignGroupWarning: "If you want to unassign the knowledge group, please confirm this action",
  873. chunkConfig: "Chunk Config",
  874. chunkSize: "Chunk Size (Tokens)",
  875. min: "Min",
  876. max: "Max",
  877. chunkOverlap: "Overlap (Tokens)",
  878. modelLimitsInfo: "Model Limits Info",
  879. model: "Model",
  880. maxChunkSize: "Max Chunk",
  881. maxOverlapSize: "Max Overlap",
  882. maxBatchSize: "Max Batch",
  883. envLimitWeaker: "Environment limit is stricter",
  884. optimizationTips: "Optimization Tips",
  885. tipChunkTooLarge: "Large chunk size may affect retrieval accuracy",
  886. tipOverlapSmall: "Recommended overlap at least $1 tokens",
  887. tipMaxValues: "Using max values may result in slower processing",
  888. tipPreciseCost: "Precise mode incurs API costs, please check budget",
  889. selectEmbeddingFirst: "Please select embedding model first",
  890. confirmPreciseCost: "Precise mode will incur API costs. Continue?",
  891. startProcessing: "Start Processing",
  892. // Notebooks View
  893. notebooks: "Knowledge Groups",
  894. notebooksDesc: "Manage your research projects and knowledge collections",
  895. createNotebook: "New Knowledge Group",
  896. chatWithNotebook: "Chat with this group",
  897. editNotebook: "Edit Group",
  898. deleteNotebook: "Delete Group (including files)",
  899. noDescription: "No description",
  900. hasIntro: "Contains intro",
  901. noIntro: "No intro",
  902. noNotebooks: "No knowledge groups yet, click top right to create",
  903. createFailed: "Creation failed",
  904. confirmDeleteNotebook: "Are you sure you want to delete knowledge group \"$1\"?\n\nNote: This will permanently delete all files and index data in this group!",
  905. // Create/Edit Notebook Drawer
  906. createNotebookTitle: "New Knowledge Group",
  907. createFailedRetry: "Create failed, please try again",
  908. updateFailedRetry: "Update failed, please try again",
  909. name: "Name",
  910. nameHelp: "A clear name helps you find it quickly.",
  911. namePlaceholder: "E.g. Quantum Physics Research...",
  912. shortDescription: "Short Description",
  913. descPlaceholder: "One sentence describing the purpose of this group",
  914. detailedIntro: "Detailed Intro",
  915. introPlaceholder: "Every paragraph here may be included in the context of Q&A. Please describe the core topics, background knowledge, or goals of this group in as much detail as possible.",
  916. introHelp: "This intro can be used as extra context for conversations.",
  917. creating: "Creating...",
  918. createNow: "Create Now",
  919. saving: "Saving...",
  920. save: "Save",
  921. // Chat
  922. chatTitle: "Knowledge Base Chat",
  923. chatDesc: "Smart conversation with your knowledge base",
  924. viewHistory: "View Chat History",
  925. saveSettingsFailed: "Failed to save settings",
  926. loginToUpload: "Please login to upload",
  927. fileSizeLimitExceeded: "$1 ($2 - exceeds $3MB limit)",
  928. unsupportedFileType: "$1 - Unsupported file type ($2)",
  929. readFailed: "$1 - Read failed",
  930. loadHistoryFailed: "Failed to load chat history",
  931. loadingUserData: "Loading user data...",
  932. errorMessage: "Error: $1",
  933. welcomeMessage: "Hello! I am your AI Knowledge Base Assistant. Please select a knowledge group to start chatting.",
  934. selectKnowledgeGroup: "Select Knowledge Group",
  935. allKnowledgeGroups: "All Knowledge Groups",
  936. unknownGroup: "Unknown Group",
  937. selectedGroupsCount: "$1 groups selected",
  938. // Settings
  939. generalSettings: "General Settings",
  940. modelManagement: "Model Management",
  941. languageSettings: "Language Settings",
  942. passwordChangeSuccess: "Password changed successfully",
  943. passwordChangeFailed: "Failed to change password",
  944. create: "Create",
  945. validationFailedMsg:
  946. "Validation failed: $1. Could be CORS or incorrect URL. Check 'Skip Validation' to force save.",
  947. // Sidebar
  948. navChat: "Chat",
  949. navCoach: "Coach",
  950. navKnowledge: "Knowledge Base",
  951. navKnowledgeGroups: "Knowledge Groups",
  952. navCrawler: "Crawler",
  953. expandMenu: "Expand Menu",
  954. switchLanguage: "Switch Language",
  955. importFolder: "Import Folder",
  956. // CreateNoteFromPDFDialog keys
  957. createPDFNote: "Create PDF Note",
  958. screenshotPreview: "Screenshot Preview",
  959. associateKnowledgeGroup: "Associate Knowledge Group",
  960. globalNoSpecificGroup: "Global (No Specific Group)",
  961. title: "Title",
  962. enterNoteTitle: "Enter note title",
  963. contentOCR: "Content (OCR Extracted Text)",
  964. extractingText: "Extracting text...",
  965. analyzingImage: "Analyzing image and extracting text...",
  966. noTextExtracted: "No text extracted",
  967. saveNote: "Save Note",
  968. // Additional keys used in CreateNoteFromPDFDialog
  969. page: "Page",
  970. placeholderText: "OCR extracted text will be displayed here, you can edit...",
  971. // CreateNotebookDialog keys
  972. createNewNotebook: "New Knowledge Group",
  973. nameField: "Name",
  974. required: "*",
  975. exampleResearch: "e.g., Quantum Physics Research...",
  976. shortDescriptionField: "Short Description",
  977. describePurpose: "Describe the purpose of this group in one sentence",
  978. detailedIntroField: "Detailed Intro",
  979. provideBackgroundInfo: "Provide detailed background, goals, or context information...",
  980. creationFailed: "Creation failed, please try again",
  981. // PDFPreview keys
  982. preparingPDFConversion: "Preparing PDF conversion...",
  983. pleaseWait: "Please wait, this may take a few minutes",
  984. convertingPDF: "Converting PDF...",
  985. pdfConversionFailed: "PDF conversion failed",
  986. pdfConversionError: "Unable to convert this file to PDF format, please check if the file is corrupted or format is unsupported",
  987. pdfLoadFailed: "PDF loading failed",
  988. pdfLoadError: "Cannot display PDF in browser, please try downloading or opening in a new window",
  989. downloadingPDF: "Downloading PDF...",
  990. loadingPDF: "Loading PDF...",
  991. zoomOut: "Zoom Out",
  992. zoomIn: "Zoom In",
  993. resetZoom: "Reset Zoom",
  994. selectPageNumber: "Select page number:",
  995. enterPageNumber: "Enter the page number you want to select",
  996. exitSelectionMode: "Exit selection mode",
  997. clickToSelectAndNote: "Click to select area and take notes",
  998. regeneratePDF: "Regenerate PDF",
  999. downloadPDF: "Download PDF",
  1000. openInNewWindow: "Open in new window",
  1001. exitFullscreen: "Exit fullscreen",
  1002. fullscreenDisplay: "Fullscreen display",
  1003. pdfPreview: "PDF Preview",
  1004. converting: "Converting...",
  1005. generatePDFPreview: "Generate PDF preview",
  1006. previewNotSupported: "Preview not supported for this format",
  1007. // Confirmation message
  1008. confirmRegeneratePDF: "Are you sure you want to regenerate the PDF? This will overwrite the current preview file.",
  1009. // PDFPreviewButton keys
  1010. pdfPreviewReady: "PDF Preview",
  1011. convertingInProgress: "Converting...",
  1012. conversionFailed: "Conversion failed",
  1013. generatePDFPreviewButton: "Generate PDF preview",
  1014. // Error messages
  1015. checkPDFStatusFailed: "Check PDF status failed",
  1016. requestRegenerationFailed: "Request regeneration failed",
  1017. downloadPDFFailed: "PDF download failed",
  1018. openPDFInNewTabFailed: "Failed to open PDF in new tab",
  1019. // uploadService Recommendations
  1020. invalidFile: "Invalid file",
  1021. incompleteFileInfo: "Incomplete file info, will use Fast Mode",
  1022. unsupportedFileFormat: "Unsupported file format: .$1",
  1023. willUseFastMode: "Will use Fast Mode (text extraction only)",
  1024. formatNoPrecise: "Format .$1 does not support Precise Mode",
  1025. smallFileFastOk: "Small file, Fast Mode is sufficient",
  1026. mixedContentPreciseRecommended: "Contains mixed content, Precise Mode recommended",
  1027. willIncurApiCost: "Incurs API costs",
  1028. largeFilePreciseRecommended: "Large file, Precise Mode recommended for layout",
  1029. longProcessingTime: "Processing time may be longer",
  1030. highApiCost: "Higher API costs will apply",
  1031. considerFileSplitting: "Consider splitting the file",
  1032. // Drag and drop upload
  1033. dragDropUploadTitle: "Drag and Drop Files to Upload",
  1034. dragDropUploadDesc: "Or click the button below to select files",
  1035. supportedFormats: "Supported Formats",
  1036. browseFiles: "Browse Files",
  1037. // Indexing Modal
  1038. recommendationMsg: "Recommend $1 Mode: $2",
  1039. autoAdjustChunk: "Chunk size auto-adjusted to maximum $1",
  1040. autoAdjustOverlap: "Overlap size auto-adjusted to maximum $1",
  1041. autoAdjustOverlapMin: "Overlap size auto-adjusted to minimum $1",
  1042. loadLimitsFailed: "Failed to load model limits, using default configuration",
  1043. maxValueMsg: "Max value is $1",
  1044. overlapRatioLimit: "Cannot exceed 50% of chunk size ($1)",
  1045. onlyAdminCanModify: "Only administrators can modify system settings",
  1046. dragToSelect: "Drag mouse to select area • Press ESC to cancel",
  1047. // ImportFolderDrawer
  1048. fillTargetName: "Please fill in the target knowledge group name",
  1049. submitFailed: "Submission failed: $1",
  1050. importFolderTitle: "Import Local Folder",
  1051. importFolderTip: "Tip: Select a local folder. The system will read and upload all supported documents in the folder.",
  1052. lblTargetGroup: "Target Knowledge Group Name",
  1053. placeholderNewGroup: "New group name",
  1054. importToCurrentGroup: "Will be imported into the current group",
  1055. nextStep: "Next",
  1056. lblImportSource: "Import Source",
  1057. serverPath: "Server Path",
  1058. localFolder: "Local Folder",
  1059. selectedFilesCount: "$1 files selected",
  1060. clickToSelectFolder: "Click to select local folder",
  1061. selectFolderTip: "Will read all supported files in the folder",
  1062. importComplete: "Import complete",
  1063. importedFromLocalFolder: "Imported from local folder: $1",
  1064. // History
  1065. historyTitle: "Chat History",
  1066. confirmDeleteHistory: "Are you sure you want to delete this chat history?",
  1067. deleteHistorySuccess: "Chat history deleted successfully",
  1068. deleteHistoryFailed: "Failed to delete chat history",
  1069. yesterday: "Yesterday",
  1070. daysAgo: "$1 days ago",
  1071. historyMessages: "$1 messages",
  1072. noHistory: "No chat history",
  1073. noHistoryDesc: "Start a conversation to create history",
  1074. loadMore: "Load More",
  1075. loadingHistoriesFailed: "Failed to load search history",
  1076. supportedFormatsInfo: "Supports documents, images and code formats",
  1077. },
  1078. ja: {
  1079. aiCommandsError: "エラーが発生しました",
  1080. appTitle: "Gemini ナレッジベース",
  1081. loginTitle: "ログイン",
  1082. loginDesc: "システムに入るためのキーを入力してください",
  1083. loginButton: "ログイン",
  1084. loginError: "キーは必須です",
  1085. unknownError: "未知のエラー",
  1086. usernamePlaceholder: "ユーザー名",
  1087. passwordPlaceholder: "パスワード",
  1088. registerButton: "登録",
  1089. langZh: "言語: 中国語",
  1090. langEn: "言語: 英語",
  1091. langJa: "言語: 日本語",
  1092. confirm: "確認",
  1093. cancel: "キャンセル",
  1094. confirmTitle: "操作の確認",
  1095. confirmDeleteGroup: "グループ \"$1\" を削除してもよろしいですか?",
  1096. sidebarTitle: "KB 設定",
  1097. sidebarDesc: "ドキュメントとモデル管理",
  1098. tabFiles: "ドキュメント",
  1099. files: "ファイル",
  1100. notes: "メモ",
  1101. tabSettings: "設定",
  1102. systemConfiguration: "システム構成",
  1103. noFiles: "ファイルなし",
  1104. noFilesDesc: "PDF、Office文書、テキスト、コード、画像などをサポート",
  1105. addFile: "ファイル追加",
  1106. clearAll: "全削除",
  1107. uploading: "処理中",
  1108. statusIndexing: "ベクトル化中...",
  1109. statusReady: "完了",
  1110. // RAG Settings
  1111. ragSettings: "RAG 設定",
  1112. enableRerank: "リランクを有効にする",
  1113. enableRerankDesc: "リランクモデルを使用して検索結果を再ランク付けし、精度を向上させます",
  1114. selectRerankModel: "リランクモデルの選択",
  1115. selectModelPlaceholder: "モデルを選択...",
  1116. headerModelSelection: "モデル選択",
  1117. headerHyperparams: "推論パラメータ",
  1118. headerIndexing: "インデックスと分割",
  1119. headerRetrieval: "検索とランク付け",
  1120. btnManageModels: "プロバイダー管理",
  1121. lblLLM: "推論モデル (LLM)",
  1122. lblEmbedding: "埋め込みモデル",
  1123. lblRerankRef: "リランクモデル",
  1124. lblTemperature: "温度 (Temperature)",
  1125. lblMaxTokens: "最大トークン数",
  1126. lblChunkSize: "チャンクサイズ",
  1127. lblChunkOverlap: "オーバーラップ",
  1128. lblTopK: "検索数 (Top K)",
  1129. lblRerank: "リランク有効化",
  1130. idxModalTitle: "インデックス設定",
  1131. idxDesc: "取り込みの前に分割ルールと埋め込みモデルを設定してください。",
  1132. idxFiles: "対象ファイル",
  1133. idxMethod: "分割設定",
  1134. idxEmbeddingModel: "埋め込みモデル",
  1135. idxStart: "インデックス開始",
  1136. idxCancel: "キャンセル",
  1137. idxAuto: "自動",
  1138. idxCustom: "カスタム",
  1139. mmTitle: "モデルプロバイダー管理",
  1140. mmAddBtn: "モデル追加",
  1141. mmEdit: "編集",
  1142. mmDelete: "削除",
  1143. mmEmpty: "設定されたモデルはありません",
  1144. mmFormName: "表示名",
  1145. mmFormProvider: "プロバイダー",
  1146. mmFormModelId: "モデルID (例: gpt-4o)",
  1147. mmFormBaseUrl: "API Base URL",
  1148. mmFormType: "機能タイプ",
  1149. mmFormVision: "画像認識対応",
  1150. mmFormDimensions: "ベクトル次元",
  1151. mmFormDimensionsHelp: "埋め込みベクトルの次元数、一般的な値:1536、3072",
  1152. mmSave: "保存",
  1153. mmCancel: "キャンセル",
  1154. mmErrorNotAuthenticated: "認証されていません、操作できません",
  1155. mmErrorTitle: "操作失敗",
  1156. modelEnabled: "モデル有効",
  1157. modelDisabled: "モデル無効",
  1158. confirmChangeEmbeddingModel: "警告:埋め込みモデルを変更すると、既存のインデックスが検索できなくなる可能性があります。\n変更してよろしいですか?",
  1159. embeddingModelWarning: "この設定を変更すると、ナレッジベースのクリアと再インポートが必要になる場合があります。",
  1160. sourcePreview: "引用元プレビュー",
  1161. matchScore: "一致度",
  1162. copyContent: "内容をコピー",
  1163. copySuccess: "コピーしました",
  1164. // ConfigPanel 缺失の翻訳
  1165. selectLLMModel: "LLMモデルを選択してください",
  1166. selectEmbeddingModel: "Embeddingモデルを選択してください",
  1167. defaultForUploads: "新しいアップロードとクエリのデフォルト",
  1168. noRerankModel: "リランクモデルなし",
  1169. vectorSimilarityThreshold: "ベクトル検索しきい値",
  1170. rerankSimilarityThreshold: "リランクしきい値",
  1171. filterLowResults: "この値を下回る結果はフィルタリングされます",
  1172. noteCreatedSuccess: "ノートを作成しました",
  1173. noteCreatedFailed: "ノートの作成に失敗しました",
  1174. fullTextSearch: "全文検索",
  1175. hybridVectorWeight: "ハイブリッド検索ベクトル重み",
  1176. hybridVectorWeightDesc: "ベクトル検索と全文検索の重み比率を設定します (0は全文のみ、1はベクトルのみ)",
  1177. apiKeyValidationFailed: "API Key検証に失敗しました",
  1178. keepOriginalKey: "空のままにすると元のAPI Keyを保持、新しい値を入力すると置換",
  1179. leaveEmptyNoChange: "空のままで変更なし",
  1180. mmFormApiKey: "API Key",
  1181. mmFormApiKeyPlaceholder: "API Key を入力してください",
  1182. // さらに缺失している翻訳
  1183. reconfigureFile: "ファイルの再設定",
  1184. modifySettings: "ファイルの分割とベクトル化設定を変更",
  1185. filesCount: "ファイル",
  1186. allFilesIndexed: "以下の設定ですべてのファイルがインデックス化されます。",
  1187. noEmbeddingModels: "埋め込みモデルが設定されていません",
  1188. reconfigure: "再設定",
  1189. refresh: "更新",
  1190. settings: "設定",
  1191. needLogin: "チャット機能を使用するにはログインが必要です",
  1192. citationSources: "引用元",
  1193. chunkNumber: "フラグメント",
  1194. getUserListFailed: "ユーザー一覧の取得に失敗しました",
  1195. usernamePasswordRequired: "ユーザー名とパスワードは必須です",
  1196. passwordMinLength: "パスワードは6文字以上で入力してください",
  1197. userCreatedSuccess: "ユーザーが作成されました",
  1198. createUserFailed: "ユーザー作成に失敗しました",
  1199. userPromotedToAdmin: "ユーザーを管理者に昇格しました",
  1200. userDemotedFromAdmin: "ユーザーを一般ユーザーに降格しました",
  1201. updateUserFailed: "ユーザー情報の更新に失敗しました",
  1202. confirmDeleteUser: "このユーザーを削除してもよろしいですか?",
  1203. deleteUser: "ユーザー削除",
  1204. deleteUserFailed: "ユーザーの削除に失敗しました",
  1205. userDeletedSuccessfully: "ユーザーを削除しました",
  1206. makeUserAdmin: "管理者にする",
  1207. makeUserRegular: "一般ユーザーにする",
  1208. loading: "読み込み中...",
  1209. noUsers: "ユーザーなし",
  1210. // AI Assistant
  1211. aiAssistant: "AI アシスタント",
  1212. polishContent: "内容を洗練",
  1213. expandContent: "展開",
  1214. summarizeContent: "要約",
  1215. translateToEnglish: "英語に翻訳",
  1216. fixGrammar: "文法修正",
  1217. aiCommandInstructPolish: "このテキストをよりプロフェッショナルで自然な表現に推敲してください。",
  1218. aiCommandInstructExpand: "このテキストに詳細を追加して内容を充実させ、詳しく書き広げてください。",
  1219. aiCommandInstructSummarize: "このテキストの要点を抽出し、簡潔な要約を作成してください。",
  1220. aiCommandInstructTranslateToEn: "このテキストを英語に翻訳してください。",
  1221. aiCommandInstructFixGrammar: "このテキストの文法やスペルの誤りをチェックし、修正してください。",
  1222. aiCommandsPreset: "よく使うコマンド",
  1223. aiCommandsCustom: "カスタムリクエスト",
  1224. aiCommandsCustomPlaceholder: "例:この文章をより正式なものに書き直してください...",
  1225. aiCommandsReferenceContext: "参照コンテキスト (最初の200文字):",
  1226. aiCommandsStartGeneration: "生成開始",
  1227. aiCommandsResult: "AIの提案",
  1228. aiCommandsGenerating: "生成中...",
  1229. aiCommandsApplyResult: "選択範囲を置換",
  1230. aiCommandsGoBack: "戻る",
  1231. aiCommandsReset: "リセット",
  1232. aiCommandsModalPreset: "プリセットコマンドを選択",
  1233. aiCommandsModalCustom: "またはカスタムコマンドを入力",
  1234. aiCommandsModalCustomPlaceholder: "AIに何をしたいか伝えてください...",
  1235. aiCommandsModalBasedOnSelection: "選択したテキストに基づいて:",
  1236. aiCommandsModalResult: "生成結果",
  1237. aiCommandsModalApply: "結果を適用",
  1238. // ChangePasswordModal と SearchResultsPanel の缺失翻訳
  1239. fillAllFields: "すべてのフィールドを入力してください",
  1240. passwordMismatch: "新しいパスワードと確認パスワードが一致しません",
  1241. newPasswordMinLength: "新しいパスワードは6文字以上で入力してください",
  1242. changePasswordFailed: "パスワードの変更に失敗しました",
  1243. changePasswordTitle: "パスワード変更",
  1244. changing: "変更中...",
  1245. searchResults: "関連コンテンツが見つかりました",
  1246. // VisionModelSelector の缺失翻訳
  1247. visionModelSettings: "ビジョンモデル設定",
  1248. defaultVisionModel: "デフォルトビジョンモデル",
  1249. loadVisionModelFailed: "ビジョンモデルの読み込みに失敗しました",
  1250. loadFailed: "読み込みに失敗しました、ネットワーク接続を確認してください",
  1251. saveVisionModelFailed: "ビジョンモデルの保存に失敗しました",
  1252. noVisionModels: "利用可能なビジョンモデルがありません",
  1253. selectVisionModel: "ビジョンモデルを選択してください",
  1254. visionModelHelp: "画像ファイルを処理するためのビジョンモデル。利用可能なモデルがない場合は、モデル管理で追加し、「ビジョン対応」オプションをチェックしてください。",
  1255. mmErrorNameRequired: "モデル名は必須要素です",
  1256. mmErrorModelIdRequired: "モデルIDは必須です。",
  1257. mmErrorBaseUrlRequired: "選択されたプロバイダーにはBase URLが必要です。",
  1258. mmRequiredAsterisk: "*",
  1259. typeLLM: "推論 (LLM)",
  1260. typeEmbedding: "ベクトル化 (Embedding)",
  1261. typeRerank: "リランク (Rerank)",
  1262. typeVision: "画像認識 (Vision)",
  1263. welcome: "こんにちは!設定でモデルを選択し、ドキュメントをアップロードして質問を開始してください。",
  1264. placeholderWithFiles: "ナレッジベースについて質問...",
  1265. placeholderEmpty: "開始するにはファイルをアップロード...",
  1266. analyzing: "検索して生成中...",
  1267. errorGeneric: "エラーが発生しました。",
  1268. errorLabel: "エラー",
  1269. errorNoModel: "モデルが選択されていないか、設定が無効です。",
  1270. aiDisclaimer: "AIは間違いを犯す可能性があります。",
  1271. confirmClear: "すべてのファイルを削除しますか?",
  1272. removeFile: "ファイルを削除",
  1273. apiError: "設定が不足しているか、APIキーが有効ではありません。",
  1274. geminiError: "APIリクエストに失敗しました。",
  1275. processedButNoText: "応答を生成できませんでした。",
  1276. unitByte: "バイト",
  1277. readingFailed: "読み込み失敗",
  1278. copy: "コピー",
  1279. copied: "コピーしました",
  1280. // User Management
  1281. logout: "ログアウト",
  1282. changePassword: "パスワード変更",
  1283. userManagement: "ユーザー管理",
  1284. userList: "ユーザー一覧",
  1285. addUser: "ユーザー追加",
  1286. username: "ユーザー名",
  1287. password: "パスワード",
  1288. confirmPassword: "パスワード確認",
  1289. currentPassword: "現在のパスワード",
  1290. newPassword: "新しいパスワード",
  1291. createUser: "ユーザー作成",
  1292. admin: "管理者",
  1293. user: "ユーザー",
  1294. adminUser: "管理者として設定",
  1295. confirmChange: "変更を確定",
  1296. changeUserPassword: "ユーザーのパスワードを変更",
  1297. enterNewPassword: "新しいパスワードを入力してください",
  1298. createdAt: "作成日時",
  1299. newChat: "新しい会話",
  1300. // Knowledge Base View
  1301. kbManagement: "ナレッジベース管理",
  1302. kbManagementDesc: "ドキュメントとナレッジグループの管理",
  1303. searchPlaceholder: "ファイル名を検索...",
  1304. allGroups: "すべてのグループ",
  1305. allStatus: "すべてのステータス",
  1306. statusReadyFragment: "完了",
  1307. statusFailedFragment: "失敗",
  1308. statusIndexingFragment: "インデックス中",
  1309. uploadFile: "ファイルをアップロード",
  1310. fileName: "ファイル名",
  1311. size: "サイズ",
  1312. status: "ステータス",
  1313. groups: "グループ",
  1314. actions: "アクション",
  1315. groupsActions: "グループ / アクション",
  1316. noFilesFound: "ファイルが見つかりません",
  1317. showingRange: "$3 件中 $1 - $2 を表示",
  1318. confirmDeleteFile: "このファイルを削除してもよろしいですか?",
  1319. fileDeleted: "ファイルを削除しました",
  1320. deleteFailed: "削除に失敗しました",
  1321. fileAddedToGroup: "ファイルがグループに追加されました",
  1322. failedToAddToGroup: "グループへの追加に失敗しました",
  1323. fileRemovedFromGroup: "ファイルがグループから削除されました",
  1324. failedToRemoveFromGroup: "グループからの削除に失敗しました",
  1325. confirmClearKB: "警告:これによりすべてのファイルとインデックスが完全に削除されます。\n\n本当にナレッジベースをクリアしますか?",
  1326. kbCleared: "ナレッジベースをクリアしました",
  1327. clearFailed: "クリアに失敗しました",
  1328. loginRequired: "先にログインしてください",
  1329. uploadErrors: "以下のファイルはアップロードできませんでした",
  1330. uploadWarning: "$1 つのファイルがアップロード準備完了、$2 つがフィルタリングされました",
  1331. uploadFailed: "アップロードに失敗しました",
  1332. preview: "プレビュー",
  1333. addGroup: "グループ追加",
  1334. delete: "削除",
  1335. retry: "再試行",
  1336. retrying: "再試行中...",
  1337. retrySuccess: "再試行成功",
  1338. retryFailed: "再試行失敗",
  1339. chunkInfo: "チャンク情報",
  1340. totalChunks: "総チャンク数",
  1341. chunkIndex: "チャンク",
  1342. contentLength: "文字",
  1343. position: "位置",
  1344. // Indexing Modal
  1345. reconfigureTitle: "ファイルの再設定",
  1346. reconfigureDesc: "ファイル処理設定を変更",
  1347. indexingConfigTitle: "ドキュメントインデックス設定",
  1348. indexingConfigDesc: "ドキュメント処理オプションとモードを設定",
  1349. pendingFiles: "待機中のファイル",
  1350. processingMode: "処理モード",
  1351. analyzingFile: "分析中...",
  1352. recommendationReason: "理由",
  1353. fastMode: "高速モード",
  1354. fastModeDesc: "単純なテキスト抽出、高速、追加コストなし、純粋なテキストに適しています",
  1355. preciseMode: "精密モード",
  1356. preciseModeDesc: "精密なレイアウト分析、表/画像を保持、APIコストがかかります",
  1357. fastModeFeatures: "高速モードの特徴:",
  1358. fastFeature1: "単純なテキスト抽出",
  1359. fastFeature2: "高速な処理速度",
  1360. fastFeature3: "追加コストなし",
  1361. fastFeature4: "テキストのみ処理",
  1362. fastFeature5: "プレーンテキストに適しています",
  1363. preciseModeFeatures: "精密モードの特徴:",
  1364. preciseFeature1: "精密な構造認識",
  1365. preciseFeature2: "画像/表/チャートを認識",
  1366. preciseFeature3: "混合コンテンツを保持",
  1367. preciseFeature4: "レイアウト情報を保持",
  1368. preciseFeature5: "APIコストが必要",
  1369. preciseFeature6: "処理時間が長くなります",
  1370. embeddingModel: "埋め込みモデル",
  1371. pleaseSelect: "選択してください...",
  1372. pleaseSelectKnowledgeGroupFirst: "保存する前に知識グループを選択してください",
  1373. selectUnassignGroupWarning: "ナレッジグループの割り当てを解除する場合は、この操作を確認してください",
  1374. chunkConfig: "チャンク設定",
  1375. chunkSize: "チャンクサイズ (トークン)",
  1376. min: "最小",
  1377. max: "最大",
  1378. chunkOverlap: "オーバーラップ (トークン)",
  1379. modelLimitsInfo: "モデル制限情報",
  1380. model: "モデル",
  1381. maxChunkSize: "最大チャンク",
  1382. maxOverlapSize: "最大オーバーラップ",
  1383. maxBatchSize: "最大バッチ",
  1384. envLimitWeaker: "環境制限の方が厳しいです",
  1385. optimizationTips: "最適化のヒント",
  1386. tipChunkTooLarge: "チャンクサイズが大きいと検索精度に影響する可能性があります",
  1387. tipOverlapSmall: "オーバーラップは少なくとも $1 トークンを推奨します",
  1388. tipMaxValues: "最大値を使用すると処理が遅くなる可能性があります",
  1389. tipPreciseCost: "精密モードはAPIコストが発生します。予算を確認してください",
  1390. selectEmbeddingFirst: "先に埋め込みモデルを選択してください",
  1391. confirmPreciseCost: "精密モードはAPIコストが発生します。続けますか?",
  1392. startProcessing: "処理開始",
  1393. // Notebooks View
  1394. notebooks: "ナレッジグループ",
  1395. notebooksDesc: "研究プロジェクトやナレッジコレクションを管理",
  1396. createNotebook: "新しいナレッジグループ",
  1397. chatWithNotebook: "このグループとチャット",
  1398. editNotebook: "グループを編集",
  1399. deleteNotebook: "グループを削除 (ファイルを含む)",
  1400. noDescription: "説明なし",
  1401. hasIntro: "紹介あり",
  1402. noIntro: "紹介なし",
  1403. noNotebooks: "ナレッジグループはまだありません。右上の作成ボタンをクリックしてください",
  1404. createFailed: "作成に失敗しました",
  1405. confirmDeleteNotebook: "ナレッジグループ \"$1\" を削除してもよろしいですか?\n\n注意:このグループ内のすべてのファイルとインデックスデータが完全に削除されます!",
  1406. // Create/Edit Notebook Drawer
  1407. createNotebookTitle: "新しいナレッジグループ",
  1408. editNotebookTitle: "ナレッジグループを編集",
  1409. createFailedRetry: "作成に失敗しました。再試行してください",
  1410. updateFailedRetry: "更新に失敗しました。再試行してください",
  1411. name: "名前",
  1412. nameHelp: "明確な名前を付けると見つけやすくなります。",
  1413. namePlaceholder: "例: 量子物理学研究...",
  1414. shortDescription: "短い説明",
  1415. descPlaceholder: "このグループの目的を一文で説明",
  1416. detailedIntro: "詳細な紹介",
  1417. introPlaceholder: "ここの段落は、Q&Aのコンテキストに含まれる可能性があります。このグループの主要なトピック、背景知識、または目標をできるだけ詳しく説明してください。",
  1418. introHelp: "この紹介は、会話の追加コンテキストとして使用されます。",
  1419. creating: "作成中...",
  1420. createNow: "今すぐ作成",
  1421. saving: "保存中...",
  1422. save: "保存",
  1423. // Chat
  1424. chatTitle: "ナレッジベースチャット",
  1425. chatDesc: "ナレッジベースとのスマートな会話",
  1426. viewHistory: "チャット履歴を表示",
  1427. saveSettingsFailed: "設定の保存に失敗しました",
  1428. loginToUpload: "アップロードするにはログインしてください",
  1429. fileSizeLimitExceeded: "$1 ($2 - $3MB の制限を超えています)",
  1430. unsupportedFileType: "$1 - サポートされていないファイルタイプ ($2)",
  1431. readFailed: "$1 - 読み込みに失敗しました",
  1432. loadHistoryFailed: "履歴の読み込みに失敗しました",
  1433. loadingUserData: "ユーザーデータを読み込み中...",
  1434. errorMessage: "エラー: $1",
  1435. welcomeMessage: "こんにちは!私はあなたのAIナレッジベースアシスタントです。チャットを開始するにはナレッジグループを選択してください。",
  1436. selectKnowledgeGroup: "ナレッジグループを選択",
  1437. allKnowledgeGroups: "すべてのナレッジグループ",
  1438. unknownGroup: "不明なグループ",
  1439. selectedGroupsCount: "$1 グループ選択済み",
  1440. // Settings
  1441. generalSettings: "一般設定",
  1442. modelManagement: "モデル管理",
  1443. languageSettings: "言語設定",
  1444. passwordChangeSuccess: "パスワードを変更しました",
  1445. passwordChangeFailed: "パスワードの変更に失敗しました",
  1446. create: "作成",
  1447. validationFailedMsg:
  1448. "検証失敗: $1。CORSまたはURLが間違っている可能性があります。「検証をスキップ」をチェックして強制保存してください。",
  1449. // Sidebar
  1450. navChat: "チャット",
  1451. navCoach: "コーチ",
  1452. navKnowledge: "ナレッジベース",
  1453. navKnowledgeGroups: "ナレッジグループ",
  1454. navCrawler: "リソース取得",
  1455. expandMenu: "メニューを展開",
  1456. switchLanguage: "言語を切り替える",
  1457. // Group Selection Drawer
  1458. selectKnowledgeGroups: "ナレッジグループを選択",
  1459. searchGroupsPlaceholder: "グループを検索...",
  1460. done: "完了",
  1461. all: "すべて",
  1462. noGroupsFound: "関連するグループが見つかりません",
  1463. noGroups: "グループなし",
  1464. // Auto-refresh functionality
  1465. autoRefresh: "自動更新",
  1466. refreshInterval: "更新間隔",
  1467. // NotebookDetailView
  1468. errorRenderFlowchart: "フローチャートを生成できません",
  1469. errorLoadData: "データの読み込みに失敗しました",
  1470. confirmUnsupportedFile: "拡張子 .$1 はサポートされていない可能性があります。続行しますか?",
  1471. errorReadFile: "ファイルの読み込みに失敗しました: $1",
  1472. successUploadFile: "ファイルのアップロードと関連付けに成功しました",
  1473. errorUploadFile: "アップロードに失敗しました: $1",
  1474. errorProcessFile: "ファイルの処理に失敗しました",
  1475. errorTitleContentRequired: "タイトルと内容は必須です",
  1476. successNoteUpdated: "メモを更新しました",
  1477. successNoteCreated: "メモを作成しました",
  1478. errorSaveFailed: "保存に失敗しました: $1",
  1479. confirmDeleteNote: "このメモを削除してもよろしいですか?",
  1480. successNoteDeleted: "メモを削除しました",
  1481. confirmRemoveFileFromGroup: "ファイル「$1」をこのグループから削除しますか?(ナレッジベースには残ります)",
  1482. editNote: "メモを編集",
  1483. newNote: "新規メモ",
  1484. togglePreviewOpen: "プレビューを表示",
  1485. togglePreviewClose: "プレビューを閉じる",
  1486. noteTitlePlaceholder: "メモのタイトル",
  1487. noteContentPlaceholder: "書き始める (Markdown 対応)...",
  1488. markdownPreviewArea: "Markdown プレビューエリア",
  1489. back: "戻る",
  1490. chatWithGroup: "このグループとチャット",
  1491. chatWithFile: "このファイルとチャット",
  1492. filesCountLabel: "ファイル ($1)",
  1493. notesCountLabel: "メモ ($1)",
  1494. indexIntoKB: "インデックスに登録",
  1495. noFilesOrNotes: "$1がありません",
  1496. importFolder: "フォルダをインポート",
  1497. // CreateNoteFromPDFDialog keys
  1498. createPDFNote: "PDFノートを作成",
  1499. screenshotPreview: "スクリーンショットプレビュー",
  1500. associateKnowledgeGroup: "ナレッジグループに関連付ける",
  1501. globalNoSpecificGroup: "全体 (特定のグループなし)",
  1502. title: "タイトル",
  1503. enterNoteTitle: "ノートのタイトルを入力",
  1504. contentOCR: "内容 (OCR抽出されたテキスト)",
  1505. extractingText: "テキストを抽出中...",
  1506. analyzingImage: "画像を分析してテキストを抽出中...",
  1507. noTextExtracted: "テキストが抽出されませんでした",
  1508. saveNote: "ノートを保存",
  1509. // Additional keys used in CreateNoteFromPDFDialog
  1510. page: "ページ",
  1511. placeholderText: "OCR抽出されたテキストがここに表示されます。編集できます...",
  1512. // CreateNotebookDialog keys
  1513. createNewNotebook: "新しいナレッジグループ",
  1514. nameField: "名前",
  1515. required: "*",
  1516. exampleResearch: "例: 量子物理学研究...",
  1517. shortDescriptionField: "簡単な説明",
  1518. describePurpose: "このグループの目的を一文で説明してください",
  1519. detailedIntroField: "詳細な紹介",
  1520. provideBackgroundInfo: "詳細な背景、目標、またはコンテキスト情報を提供してください...",
  1521. creationFailed: "作成に失敗しました。もう一度お試しください",
  1522. // PDFPreview keys
  1523. preparingPDFConversion: "PDF変換を準備中...",
  1524. pleaseWait: "しばらくお待ちください。これには数分かかる場合があります",
  1525. convertingPDF: "PDFを変換中...",
  1526. pdfConversionFailed: "PDF変換に失敗しました",
  1527. pdfConversionError: "このファイルをPDF形式に変換できません。ファイルが破損していないか、サポートされていない形式でないか確認してください",
  1528. pdfLoadFailed: "PDF読み込みに失敗しました",
  1529. pdfLoadError: "ブラウザでPDFを表示できません。ダウンロードするか、新しいウィンドウで開いてみてください",
  1530. downloadingPDF: "PDFをダウンロード中...",
  1531. loadingPDF: "PDFを読み込み中...",
  1532. zoomOut: "ズームアウト",
  1533. zoomIn: "ズームイン",
  1534. resetZoom: "ズームをリセット",
  1535. selectPageNumber: "ページ番号を選択:",
  1536. enterPageNumber: "選択したいページ番号を入力してください",
  1537. exitSelectionMode: "選択モードを終了",
  1538. clickToSelectAndNote: "クリックして領域を選択し、メモを取る",
  1539. regeneratePDF: "PDFを再生成",
  1540. downloadPDF: "PDFをダウンロード",
  1541. openInNewWindow: "新しいウィンドウで開く",
  1542. exitFullscreen: "全画面表示を終了",
  1543. fullscreenDisplay: "全画面表示",
  1544. pdfPreview: "PDFプレビュー",
  1545. converting: "変換中...",
  1546. generatePDFPreview: "PDFプレビューを生成",
  1547. previewNotSupported: "この形式はプレビューをサポートしていません",
  1548. // Confirmation message
  1549. confirmRegeneratePDF: "PDFを再生成してもよろしいですか?これにより現在のプレビューファイルが上書きされます。",
  1550. // PDFPreviewButton keys
  1551. pdfPreviewReady: "PDFプレビュー",
  1552. convertingInProgress: "変換中...",
  1553. conversionFailed: "変換失敗",
  1554. generatePDFPreviewButton: "PDFプレビューを生成",
  1555. // Error messages
  1556. checkPDFStatusFailed: "PDFステータスの確認に失敗しました",
  1557. requestRegenerationFailed: "再生成要求に失敗しました",
  1558. downloadPDFFailed: "PDFのダウンロードに失敗しました",
  1559. openPDFInNewTabFailed: "新しいウィンドウでのPDFオープンに失敗しました",
  1560. // uploadService Recommendations
  1561. invalidFile: "無効なファイル",
  1562. incompleteFileInfo: "ファイル情報が不完全です。高速モードを使用します",
  1563. unsupportedFileFormat: "サポートされていない形式: .$1",
  1564. willUseFastMode: "高速モード(テキスト抽出のみ)を使用します",
  1565. formatNoPrecise: "形式 .$1 は精密モードをサポートしていません",
  1566. smallFileFastOk: "ファイルサイズが小さいため、高速モードで十分です",
  1567. mixedContentPreciseRecommended: "図表などが含まれるため、精密モードを推奨します",
  1568. willIncurApiCost: "APIコストが発生します",
  1569. largeFilePreciseRecommended: "大きなファイルです。構造保持のため精密モードを推奨します",
  1570. longProcessingTime: "処理に時間がかかる可能性があります",
  1571. highApiCost: "高いAPIコストが発生します",
  1572. considerFileSplitting: "ファイルの分割を検討してください",
  1573. // Drag and drop upload
  1574. dragDropUploadTitle: "アップロードするファイルをドラッグ&ドロップ",
  1575. dragDropUploadDesc: "または下のボタンをクリックしてファイルを選択",
  1576. supportedFormats: "対応フォーマット",
  1577. browseFiles: "ファイルを参照",
  1578. // IndexingModal
  1579. recommendationMsg: "$1モードを推奨します: $2",
  1580. autoAdjustChunk: "チャンクサイズを上限の $1 に調整しました",
  1581. autoAdjustOverlap: "重なりサイズを上限の $1 に調整しました",
  1582. autoAdjustOverlapMin: "重なりサイズを最小値の $1 に調整しました",
  1583. loadLimitsFailed: "モデル制限の読み込みに失敗しました。デフォルト設定を使用します",
  1584. maxValueMsg: "最大値は $1 です",
  1585. overlapRatioLimit: "切片サイズの50% ($1) を超えることはできません",
  1586. onlyAdminCanModify: "システム設定は管理者のみ変更可能です",
  1587. dragToSelect: "マウスをドラッグして範囲を選択 • ESCでキャンセル",
  1588. // ImportFolderDrawer
  1589. fillTargetName: "対象のナレッジグループ名を入力してください",
  1590. submitFailed: "送信に失敗しました: $1",
  1591. importFolderTitle: "ローカルフォルダをインポート",
  1592. importFolderTip: "ヒント: ローカルフォルダを選択してください。フォルダ内のすべてのサポートされているドキュメントが読み込まれ、アップロードされます。",
  1593. lblTargetGroup: "対象のナレッジグループ名",
  1594. placeholderNewGroup: "新規グループ名",
  1595. importToCurrentGroup: "現在のグループにインポートされます",
  1596. nextStep: "次へ",
  1597. lblImportSource: "インポート元",
  1598. serverPath: "サーバーのパス",
  1599. localFolder: "ローカルフォルダ",
  1600. selectedFilesCount: "$1 個のファイルが選択されました",
  1601. clickToSelectFolder: "クリックしてローカルフォルダを選択",
  1602. selectFolderTip: "フォルダ内のすべてのサポートされているファイルを読み込みます",
  1603. importComplete: "インポート完了",
  1604. importedFromLocalFolder: "ローカルフォルダからインポート: $1",
  1605. // History
  1606. historyTitle: "会話履歴",
  1607. confirmDeleteHistory: "この会話履歴を削除してもよろしいですか?",
  1608. deleteHistorySuccess: "会話履歴を削除しました",
  1609. deleteHistoryFailed: "会話履歴の削除に失敗しました",
  1610. yesterday: "昨日",
  1611. daysAgo: "$1日前",
  1612. historyMessages: "$1 件のメッセージ",
  1613. noHistory: "会話履歴はありません",
  1614. noHistoryDesc: "会話を開始して履歴を作成してください",
  1615. loadMore: "もっと読み込む",
  1616. loadingHistoriesFailed: "履歴の読み込みに失敗しました",
  1617. supportedFormatsInfo: "ドキュメント、画像、ソースコードをサポート",
  1618. }
  1619. }; // end of translations