iLuJack
		
	commited on
		
		
					Commit 
							
							·
						
						42fe171
	
1
								Parent(s):
							
							50ed665
								
docs(locales): add traditional chinese support
Browse files
    	
        lightrag_webui/src/components/AppSettings.tsx
    CHANGED
    
    | 
         @@ -22,7 +22,7 @@ export default function AppSettings({ className }: AppSettingsProps) { 
     | 
|
| 22 | 
         
             
              const setTheme = useSettingsStore.use.setTheme()
         
     | 
| 23 | 
         | 
| 24 | 
         
             
              const handleLanguageChange = useCallback((value: string) => {
         
     | 
| 25 | 
         
            -
                setLanguage(value as 'en' | 'zh' | 'fr' | 'ar')
         
     | 
| 26 | 
         
             
              }, [setLanguage])
         
     | 
| 27 | 
         | 
| 28 | 
         
             
              const handleThemeChange = useCallback((value: string) => {
         
     | 
| 
         @@ -49,6 +49,7 @@ export default function AppSettings({ className }: AppSettingsProps) { 
     | 
|
| 49 | 
         
             
                            <SelectItem value="zh">中文</SelectItem>
         
     | 
| 50 | 
         
             
                            <SelectItem value="fr">Français</SelectItem>
         
     | 
| 51 | 
         
             
                            <SelectItem value="ar">العربية</SelectItem>
         
     | 
| 
         | 
|
| 52 | 
         
             
                          </SelectContent>
         
     | 
| 53 | 
         
             
                        </Select>
         
     | 
| 54 | 
         
             
                      </div>
         
     | 
| 
         | 
|
| 22 | 
         
             
              const setTheme = useSettingsStore.use.setTheme()
         
     | 
| 23 | 
         | 
| 24 | 
         
             
              const handleLanguageChange = useCallback((value: string) => {
         
     | 
| 25 | 
         
            +
                setLanguage(value as 'en' | 'zh' | 'fr' | 'ar' | 'zh_TW')
         
     | 
| 26 | 
         
             
              }, [setLanguage])
         
     | 
| 27 | 
         | 
| 28 | 
         
             
              const handleThemeChange = useCallback((value: string) => {
         
     | 
| 
         | 
|
| 49 | 
         
             
                            <SelectItem value="zh">中文</SelectItem>
         
     | 
| 50 | 
         
             
                            <SelectItem value="fr">Français</SelectItem>
         
     | 
| 51 | 
         
             
                            <SelectItem value="ar">العربية</SelectItem>
         
     | 
| 52 | 
         
            +
                            <SelectItem value="zh_TW">繁體中文</SelectItem>
         
     | 
| 53 | 
         
             
                          </SelectContent>
         
     | 
| 54 | 
         
             
                        </Select>
         
     | 
| 55 | 
         
             
                      </div>
         
     | 
    	
        lightrag_webui/src/i18n.ts
    CHANGED
    
    | 
         @@ -6,6 +6,7 @@ import en from './locales/en.json' 
     | 
|
| 6 | 
         
             
            import zh from './locales/zh.json'
         
     | 
| 7 | 
         
             
            import fr from './locales/fr.json'
         
     | 
| 8 | 
         
             
            import ar from './locales/ar.json'
         
     | 
| 
         | 
|
| 9 | 
         | 
| 10 | 
         
             
            const getStoredLanguage = () => {
         
     | 
| 11 | 
         
             
              try {
         
     | 
| 
         @@ -27,7 +28,8 @@ i18n 
     | 
|
| 27 | 
         
             
                  en: { translation: en },
         
     | 
| 28 | 
         
             
                  zh: { translation: zh },
         
     | 
| 29 | 
         
             
                  fr: { translation: fr },
         
     | 
| 30 | 
         
            -
                  ar: { translation: ar }
         
     | 
| 
         | 
|
| 31 | 
         
             
                },
         
     | 
| 32 | 
         
             
                lng: getStoredLanguage(), // Use stored language settings
         
     | 
| 33 | 
         
             
                fallbackLng: 'en',
         
     | 
| 
         | 
|
| 6 | 
         
             
            import zh from './locales/zh.json'
         
     | 
| 7 | 
         
             
            import fr from './locales/fr.json'
         
     | 
| 8 | 
         
             
            import ar from './locales/ar.json'
         
     | 
| 9 | 
         
            +
            import zh_TW from './locales/zh_TW.json'
         
     | 
| 10 | 
         | 
| 11 | 
         
             
            const getStoredLanguage = () => {
         
     | 
| 12 | 
         
             
              try {
         
     | 
| 
         | 
|
| 28 | 
         
             
                  en: { translation: en },
         
     | 
| 29 | 
         
             
                  zh: { translation: zh },
         
     | 
| 30 | 
         
             
                  fr: { translation: fr },
         
     | 
| 31 | 
         
            +
                  ar: { translation: ar },
         
     | 
| 32 | 
         
            +
                  zh_TW: { translation: zh_TW }
         
     | 
| 33 | 
         
             
                },
         
     | 
| 34 | 
         
             
                lng: getStoredLanguage(), // Use stored language settings
         
     | 
| 35 | 
         
             
                fallbackLng: 'en',
         
     | 
    	
        lightrag_webui/src/locales/zh_TW.json
    ADDED
    
    | 
         @@ -0,0 +1,348 @@ 
     | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
|
| 
         | 
| 
         | 
|
| 1 | 
         
            +
            {
         
     | 
| 2 | 
         
            +
                "settings": {
         
     | 
| 3 | 
         
            +
                  "language": "語言",
         
     | 
| 4 | 
         
            +
                  "theme": "主題",
         
     | 
| 5 | 
         
            +
                  "light": "淺色",
         
     | 
| 6 | 
         
            +
                  "dark": "深色",
         
     | 
| 7 | 
         
            +
                  "system": "系統"
         
     | 
| 8 | 
         
            +
                },
         
     | 
| 9 | 
         
            +
                "header": {
         
     | 
| 10 | 
         
            +
                  "documents": "文件",
         
     | 
| 11 | 
         
            +
                  "knowledgeGraph": "知識圖譜",
         
     | 
| 12 | 
         
            +
                  "retrieval": "檢索",
         
     | 
| 13 | 
         
            +
                  "api": "API",
         
     | 
| 14 | 
         
            +
                  "projectRepository": "專案庫",
         
     | 
| 15 | 
         
            +
                  "logout": "登出",
         
     | 
| 16 | 
         
            +
                  "themeToggle": {
         
     | 
| 17 | 
         
            +
                    "switchToLight": "切換至淺色主題",
         
     | 
| 18 | 
         
            +
                    "switchToDark": "切換至深色主題"
         
     | 
| 19 | 
         
            +
                  }
         
     | 
| 20 | 
         
            +
                },
         
     | 
| 21 | 
         
            +
                "login": {
         
     | 
| 22 | 
         
            +
                  "description": "請輸入您的帳號和密碼登入系統",
         
     | 
| 23 | 
         
            +
                  "username": "帳號",
         
     | 
| 24 | 
         
            +
                  "usernamePlaceholder": "請輸入帳號",
         
     | 
| 25 | 
         
            +
                  "password": "密碼",
         
     | 
| 26 | 
         
            +
                  "passwordPlaceholder": "請輸入密碼",
         
     | 
| 27 | 
         
            +
                  "loginButton": "登入",
         
     | 
| 28 | 
         
            +
                  "loggingIn": "登入中...",
         
     | 
| 29 | 
         
            +
                  "successMessage": "登入成功",
         
     | 
| 30 | 
         
            +
                  "errorEmptyFields": "請輸入您的帳號和密碼",
         
     | 
| 31 | 
         
            +
                  "errorInvalidCredentials": "登入失敗,請檢查帳號和密碼",
         
     | 
| 32 | 
         
            +
                  "authDisabled": "認證已停用,使用免登入模式",
         
     | 
| 33 | 
         
            +
                  "guestMode": "免登入"
         
     | 
| 34 | 
         
            +
                },
         
     | 
| 35 | 
         
            +
                "common": {
         
     | 
| 36 | 
         
            +
                  "cancel": "取消"
         
     | 
| 37 | 
         
            +
                },
         
     | 
| 38 | 
         
            +
                "documentPanel": {
         
     | 
| 39 | 
         
            +
                  "clearDocuments": {
         
     | 
| 40 | 
         
            +
                    "button": "清空",
         
     | 
| 41 | 
         
            +
                    "tooltip": "清空文件",
         
     | 
| 42 | 
         
            +
                    "title": "清空文件",
         
     | 
| 43 | 
         
            +
                    "description": "此操作將從系統中移除所有文件",
         
     | 
| 44 | 
         
            +
                    "warning": "警告:此操作將永久刪除所有文件,無法復原!",
         
     | 
| 45 | 
         
            +
                    "confirm": "確定要清空所有文件嗎?",
         
     | 
| 46 | 
         
            +
                    "confirmPrompt": "請輸入 yes 確認操作",
         
     | 
| 47 | 
         
            +
                    "confirmPlaceholder": "輸入 yes 以確認",
         
     | 
| 48 | 
         
            +
                    "clearCache": "清空 LLM 快取",
         
     | 
| 49 | 
         
            +
                    "confirmButton": "確定",
         
     | 
| 50 | 
         
            +
                    "success": "文件清空成功",
         
     | 
| 51 | 
         
            +
                    "cacheCleared": "快取清空成功",
         
     | 
| 52 | 
         
            +
                    "cacheClearFailed": "清空快取失敗:\n{{error}}",
         
     | 
| 53 | 
         
            +
                    "failed": "清空文件失敗:\n{{message}}",
         
     | 
| 54 | 
         
            +
                    "error": "清空文件失敗:\n{{error}}"
         
     | 
| 55 | 
         
            +
                  },
         
     | 
| 56 | 
         
            +
                  "uploadDocuments": {
         
     | 
| 57 | 
         
            +
                    "button": "上傳",
         
     | 
| 58 | 
         
            +
                    "tooltip": "上傳文件",
         
     | 
| 59 | 
         
            +
                    "title": "上傳文件",
         
     | 
| 60 | 
         
            +
                    "description": "拖曳檔案至此處或點擊瀏覽",
         
     | 
| 61 | 
         
            +
                    "single": {
         
     | 
| 62 | 
         
            +
                      "uploading": "正在上傳 {{name}}:{{percent}}%",
         
     | 
| 63 | 
         
            +
                      "success": "上傳成功:\n{{name}} 上傳完成",
         
     | 
| 64 | 
         
            +
                      "failed": "上傳失敗:\n{{name}}\n{{message}}",
         
     | 
| 65 | 
         
            +
                      "error": "上傳失敗:\n{{name}}\n{{error}}"
         
     | 
| 66 | 
         
            +
                    },
         
     | 
| 67 | 
         
            +
                    "batch": {
         
     | 
| 68 | 
         
            +
                      "uploading": "正在上傳檔案...",
         
     | 
| 69 | 
         
            +
                      "success": "檔案上傳完成",
         
     | 
| 70 | 
         
            +
                      "error": "部分檔案上傳失敗"
         
     | 
| 71 | 
         
            +
                    },
         
     | 
| 72 | 
         
            +
                    "generalError": "上傳失敗\n{{error}}",
         
     | 
| 73 | 
         
            +
                    "fileTypes": "支援的檔案類型:TXT, MD, DOCX, PDF, PPTX, RTF, ODT, EPUB, HTML, HTM, TEX, JSON, XML, YAML, YML, CSV, LOG, CONF, INI, PROPERTIES, SQL, BAT, SH, C, CPP, PY, JAVA, JS, TS, SWIFT, GO, RB, PHP, CSS, SCSS, LESS",
         
     | 
| 74 | 
         
            +
                    "fileUploader": {
         
     | 
| 75 | 
         
            +
                      "singleFileLimit": "一次只能上傳一個檔案",
         
     | 
| 76 | 
         
            +
                      "maxFilesLimit": "最多只能上傳 {{count}} 個檔案",
         
     | 
| 77 | 
         
            +
                      "fileRejected": "檔案 {{name}} 被拒絕",
         
     | 
| 78 | 
         
            +
                      "unsupportedType": "不支援的檔案類型",
         
     | 
| 79 | 
         
            +
                      "fileTooLarge": "檔案過大,最大允許 {{maxSize}}",
         
     | 
| 80 | 
         
            +
                      "dropHere": "將檔案拖放至此處",
         
     | 
| 81 | 
         
            +
                      "dragAndDrop": "拖放檔案至此處,或點擊選擇檔案",
         
     | 
| 82 | 
         
            +
                      "removeFile": "移除檔案",
         
     | 
| 83 | 
         
            +
                      "uploadDescription": "您可以上傳{{isMultiple ? '多個' : count}}個檔案(每個檔案最大{{maxSize}})",
         
     | 
| 84 | 
         
            +
                      "duplicateFile": "檔案名稱與伺服器上的快取重複"
         
     | 
| 85 | 
         
            +
                    }
         
     | 
| 86 | 
         
            +
                  },
         
     | 
| 87 | 
         
            +
                  "documentManager": {
         
     | 
| 88 | 
         
            +
                    "title": "文件管理",
         
     | 
| 89 | 
         
            +
                    "scanButton": "掃描",
         
     | 
| 90 | 
         
            +
                    "scanTooltip": "掃描輸入目錄中的文件",
         
     | 
| 91 | 
         
            +
                    "pipelineStatusButton": "pipeline 狀態",
         
     | 
| 92 | 
         
            +
                    "pipelineStatusTooltip": "查看pipeline 狀態",
         
     | 
| 93 | 
         
            +
                    "uploadedTitle": "已上傳文件",
         
     | 
| 94 | 
         
            +
                    "uploadedDescription": "已上傳文件清單及其狀態",
         
     | 
| 95 | 
         
            +
                    "emptyTitle": "無文件",
         
     | 
| 96 | 
         
            +
                    "emptyDescription": "尚未上傳任何文件",
         
     | 
| 97 | 
         
            +
                    "columns": {
         
     | 
| 98 | 
         
            +
                      "id": "ID",
         
     | 
| 99 | 
         
            +
                      "summary": "摘要",
         
     | 
| 100 | 
         
            +
                      "status": "狀態",
         
     | 
| 101 | 
         
            +
                      "length": "長度",
         
     | 
| 102 | 
         
            +
                      "chunks": "分塊",
         
     | 
| 103 | 
         
            +
                      "created": "建立時間",
         
     | 
| 104 | 
         
            +
                      "updated": "更新時間",
         
     | 
| 105 | 
         
            +
                      "metadata": "元資料"
         
     | 
| 106 | 
         
            +
                    },
         
     | 
| 107 | 
         
            +
                    "status": {
         
     | 
| 108 | 
         
            +
                      "all": "全部",
         
     | 
| 109 | 
         
            +
                      "completed": "已完成",
         
     | 
| 110 | 
         
            +
                      "processing": "處理中",
         
     | 
| 111 | 
         
            +
                      "pending": "等待中",
         
     | 
| 112 | 
         
            +
                      "failed": "失敗"
         
     | 
| 113 | 
         
            +
                    },
         
     | 
| 114 | 
         
            +
                    "errors": {
         
     | 
| 115 | 
         
            +
                      "loadFailed": "載入文件失敗\n{{error}}",
         
     | 
| 116 | 
         
            +
                      "scanFailed": "掃描文件失敗\n{{error}}",
         
     | 
| 117 | 
         
            +
                      "scanProgressFailed": "取得掃描進度失敗\n{{error}}"
         
     | 
| 118 | 
         
            +
                    },
         
     | 
| 119 | 
         
            +
                    "fileNameLabel": "檔案名稱",
         
     | 
| 120 | 
         
            +
                    "showButton": "顯示",
         
     | 
| 121 | 
         
            +
                    "hideButton": "隱藏",
         
     | 
| 122 | 
         
            +
                    "showFileNameTooltip": "顯示檔案名稱",
         
     | 
| 123 | 
         
            +
                    "hideFileNameTooltip": "隱藏檔案名稱"
         
     | 
| 124 | 
         
            +
                  },
         
     | 
| 125 | 
         
            +
                  "pipelineStatus": {
         
     | 
| 126 | 
         
            +
                    "title": "pipeline 狀態",
         
     | 
| 127 | 
         
            +
                    "busy": "pipeline 忙碌中",
         
     | 
| 128 | 
         
            +
                    "requestPending": "待處理請求",
         
     | 
| 129 | 
         
            +
                    "jobName": "工作名稱",
         
     | 
| 130 | 
         
            +
                    "startTime": "開始時間",
         
     | 
| 131 | 
         
            +
                    "progress": "進度",
         
     | 
| 132 | 
         
            +
                    "unit": "梯次",
         
     | 
| 133 | 
         
            +
                    "latestMessage": "最新訊息",
         
     | 
| 134 | 
         
            +
                    "historyMessages": "歷史訊息",
         
     | 
| 135 | 
         
            +
                    "errors": {
         
     | 
| 136 | 
         
            +
                      "fetchFailed": "取得pipeline 狀態失敗\n{{error}}"
         
     | 
| 137 | 
         
            +
                    }
         
     | 
| 138 | 
         
            +
                  }
         
     | 
| 139 | 
         
            +
                },
         
     | 
| 140 | 
         
            +
                "graphPanel": {
         
     | 
| 141 | 
         
            +
                  "dataIsTruncated": "圖資料已截斷至最大回傳節點數",
         
     | 
| 142 | 
         
            +
                  "statusDialog": {
         
     | 
| 143 | 
         
            +
                    "title": "LightRAG 伺服器設定",
         
     | 
| 144 | 
         
            +
                    "description": "查看目前系統狀態和連線資訊"
         
     | 
| 145 | 
         
            +
                  },
         
     | 
| 146 | 
         
            +
                  "legend": "圖例",
         
     | 
| 147 | 
         
            +
                  "nodeTypes": {
         
     | 
| 148 | 
         
            +
                    "person": "人物角色",
         
     | 
| 149 | 
         
            +
                    "category": "分類",
         
     | 
| 150 | 
         
            +
                    "geo": "地理名稱",
         
     | 
| 151 | 
         
            +
                    "location": "位置",
         
     | 
| 152 | 
         
            +
                    "organization": "組織機構",
         
     | 
| 153 | 
         
            +
                    "event": "事件",
         
     | 
| 154 | 
         
            +
                    "equipment": "設備",
         
     | 
| 155 | 
         
            +
                    "weapon": "武器",
         
     | 
| 156 | 
         
            +
                    "animal": "動物",
         
     | 
| 157 | 
         
            +
                    "unknown": "未知",
         
     | 
| 158 | 
         
            +
                    "object": "物品",
         
     | 
| 159 | 
         
            +
                    "group": "群組",
         
     | 
| 160 | 
         
            +
                    "technology": "技術"
         
     | 
| 161 | 
         
            +
                  },
         
     | 
| 162 | 
         
            +
                  "sideBar": {
         
     | 
| 163 | 
         
            +
                    "settings": {
         
     | 
| 164 | 
         
            +
                      "settings": "設定",
         
     | 
| 165 | 
         
            +
                      "healthCheck": "健康檢查",
         
     | 
| 166 | 
         
            +
                      "showPropertyPanel": "顯示屬性面板",
         
     | 
| 167 | 
         
            +
                      "showSearchBar": "顯示搜尋列",
         
     | 
| 168 | 
         
            +
                      "showNodeLabel": "顯示節點標籤",
         
     | 
| 169 | 
         
            +
                      "nodeDraggable": "節點可拖曳",
         
     | 
| 170 | 
         
            +
                      "showEdgeLabel": "顯示 Edge 標籤",
         
     | 
| 171 | 
         
            +
                      "hideUnselectedEdges": "隱藏未選取的 Edge",
         
     | 
| 172 | 
         
            +
                      "edgeEvents": "Edge 事件",
         
     | 
| 173 | 
         
            +
                      "maxQueryDepth": "最大查詢深度",
         
     | 
| 174 | 
         
            +
                      "maxNodes": "最大回傳節點數",
         
     | 
| 175 | 
         
            +
                      "maxLayoutIterations": "最大版面配置迭代次數",
         
     | 
| 176 | 
         
            +
                      "resetToDefault": "重設為預設值",
         
     | 
| 177 | 
         
            +
                      "edgeSizeRange": "Edge 粗細範圍",
         
     | 
| 178 | 
         
            +
                      "depth": "深度",
         
     | 
| 179 | 
         
            +
                      "max": "最大值",
         
     | 
| 180 | 
         
            +
                      "degree": "鄰邊",
         
     | 
| 181 | 
         
            +
                      "apiKey": "API key",
         
     | 
| 182 | 
         
            +
                      "enterYourAPIkey": "輸入您的 API key",
         
     | 
| 183 | 
         
            +
                      "save": "儲存",
         
     | 
| 184 | 
         
            +
                      "refreshLayout": "重新整理版面配置"
         
     | 
| 185 | 
         
            +
                    },
         
     | 
| 186 | 
         
            +
                    "zoomControl": {
         
     | 
| 187 | 
         
            +
                      "zoomIn": "放大",
         
     | 
| 188 | 
         
            +
                      "zoomOut": "縮小",
         
     | 
| 189 | 
         
            +
                      "resetZoom": "重設縮放",
         
     | 
| 190 | 
         
            +
                      "rotateCamera": "順時針旋轉圖形",
         
     | 
| 191 | 
         
            +
                      "rotateCameraCounterClockwise": "逆時針旋轉圖形"
         
     | 
| 192 | 
         
            +
                    },
         
     | 
| 193 | 
         
            +
                    "layoutsControl": {
         
     | 
| 194 | 
         
            +
                      "startAnimation": "繼續版面配置動畫",
         
     | 
| 195 | 
         
            +
                      "stopAnimation": "停止版面配置動畫",
         
     | 
| 196 | 
         
            +
                      "layoutGraph": "圖形版面配置",
         
     | 
| 197 | 
         
            +
                      "layouts": {
         
     | 
| 198 | 
         
            +
                        "Circular": "環形",
         
     | 
| 199 | 
         
            +
                        "Circlepack": "圓形打包",
         
     | 
| 200 | 
         
            +
                        "Random": "隨機",
         
     | 
| 201 | 
         
            +
                        "Noverlaps": "無重疊",
         
     | 
| 202 | 
         
            +
                        "Force Directed": "力導向",
         
     | 
| 203 | 
         
            +
                        "Force Atlas": "力圖"
         
     | 
| 204 | 
         
            +
                      }
         
     | 
| 205 | 
         
            +
                    },
         
     | 
| 206 | 
         
            +
                    "fullScreenControl": {
         
     | 
| 207 | 
         
            +
                      "fullScreen": "全螢幕",
         
     | 
| 208 | 
         
            +
                      "windowed": "視窗"
         
     | 
| 209 | 
         
            +
                    },
         
     | 
| 210 | 
         
            +
                    "legendControl": {
         
     | 
| 211 | 
         
            +
                      "toggleLegend": "切換圖例顯示"
         
     | 
| 212 | 
         
            +
                    }
         
     | 
| 213 | 
         
            +
                  },
         
     | 
| 214 | 
         
            +
                  "statusIndicator": {
         
     | 
| 215 | 
         
            +
                    "connected": "已連線",
         
     | 
| 216 | 
         
            +
                    "disconnected": "未連線"
         
     | 
| 217 | 
         
            +
                  },
         
     | 
| 218 | 
         
            +
                  "statusCard": {
         
     | 
| 219 | 
         
            +
                    "unavailable": "狀態資訊不可用",
         
     | 
| 220 | 
         
            +
                    "storageInfo": "儲存資訊",
         
     | 
| 221 | 
         
            +
                    "workingDirectory": "工作目錄",
         
     | 
| 222 | 
         
            +
                    "inputDirectory": "輸入目錄",
         
     | 
| 223 | 
         
            +
                    "llmConfig": "LLM 設定",
         
     | 
| 224 | 
         
            +
                    "llmBinding": "LLM 綁定",
         
     | 
| 225 | 
         
            +
                    "llmBindingHost": "LLM 綁定主機",
         
     | 
| 226 | 
         
            +
                    "llmModel": "LLM 模型",
         
     | 
| 227 | 
         
            +
                    "maxTokens": "最大權杖數",
         
     | 
| 228 | 
         
            +
                    "embeddingConfig": "嵌入設定",
         
     | 
| 229 | 
         
            +
                    "embeddingBinding": "嵌入綁定",
         
     | 
| 230 | 
         
            +
                    "embeddingBindingHost": "嵌入綁定主機",
         
     | 
| 231 | 
         
            +
                    "embeddingModel": "嵌入模型",
         
     | 
| 232 | 
         
            +
                    "storageConfig": "儲存設定",
         
     | 
| 233 | 
         
            +
                    "kvStorage": "KV 儲存",
         
     | 
| 234 | 
         
            +
                    "docStatusStorage": "文件狀態儲存",
         
     | 
| 235 | 
         
            +
                    "graphStorage": "圖形儲存",
         
     | 
| 236 | 
         
            +
                    "vectorStorage": "向量儲存"
         
     | 
| 237 | 
         
            +
                  },
         
     | 
| 238 | 
         
            +
                  "propertiesView": {
         
     | 
| 239 | 
         
            +
                    "node": {
         
     | 
| 240 | 
         
            +
                      "title": "節點",
         
     | 
| 241 | 
         
            +
                      "id": "ID",
         
     | 
| 242 | 
         
            +
                      "labels": "標籤",
         
     | 
| 243 | 
         
            +
                      "degree": "度數",
         
     | 
| 244 | 
         
            +
                      "properties": "屬性",
         
     | 
| 245 | 
         
            +
                      "relationships": "關係(子圖內)",
         
     | 
| 246 | 
         
            +
                      "expandNode": "展開節點",
         
     | 
| 247 | 
         
            +
                      "pruneNode": "修剪節點",
         
     | 
| 248 | 
         
            +
                      "deleteAllNodesError": "拒絕刪除圖中的所有節點",
         
     | 
| 249 | 
         
            +
                      "nodesRemoved": "已刪除 {{count}} 個節點,包括孤立節點",
         
     | 
| 250 | 
         
            +
                      "noNewNodes": "沒有發現可以展開的節點",
         
     | 
| 251 | 
         
            +
                      "propertyNames": {
         
     | 
| 252 | 
         
            +
                        "description": "描述",
         
     | 
| 253 | 
         
            +
                        "entity_id": "名稱",
         
     | 
| 254 | 
         
            +
                        "entity_type": "類型",
         
     | 
| 255 | 
         
            +
                        "source_id": "來源ID",
         
     | 
| 256 | 
         
            +
                        "Neighbour": "鄰接",
         
     | 
| 257 | 
         
            +
                        "file_path": "來源"
         
     | 
| 258 | 
         
            +
                      }
         
     | 
| 259 | 
         
            +
                    },
         
     | 
| 260 | 
         
            +
                    "edge": {
         
     | 
| 261 | 
         
            +
                      "title": "關係",
         
     | 
| 262 | 
         
            +
                      "id": "ID",
         
     | 
| 263 | 
         
            +
                      "type": "類型",
         
     | 
| 264 | 
         
            +
                      "source": "來源節點",
         
     | 
| 265 | 
         
            +
                      "target": "目標節點",
         
     | 
| 266 | 
         
            +
                      "properties": "屬性"
         
     | 
| 267 | 
         
            +
                    }
         
     | 
| 268 | 
         
            +
                  },
         
     | 
| 269 | 
         
            +
                  "search": {
         
     | 
| 270 | 
         
            +
                    "placeholder": "搜尋節點...",
         
     | 
| 271 | 
         
            +
                    "message": "還有 {count} 個"
         
     | 
| 272 | 
         
            +
                  },
         
     | 
| 273 | 
         
            +
                  "graphLabels": {
         
     | 
| 274 | 
         
            +
                    "selectTooltip": "選擇查詢標籤",
         
     | 
| 275 | 
         
            +
                    "noLabels": "未找到標籤",
         
     | 
| 276 | 
         
            +
                    "label": "標籤",
         
     | 
| 277 | 
         
            +
                    "placeholder": "搜尋標籤...",
         
     | 
| 278 | 
         
            +
                    "andOthers": "還有 {count} 個",
         
     | 
| 279 | 
         
            +
                    "refreshTooltip": "重新載入圖形資料"
         
     | 
| 280 | 
         
            +
                  },
         
     | 
| 281 | 
         
            +
                  "emptyGraph": "圖譜資料為空"
         
     | 
| 282 | 
         
            +
                },
         
     | 
| 283 | 
         
            +
                "retrievePanel": {
         
     | 
| 284 | 
         
            +
                  "chatMessage": {
         
     | 
| 285 | 
         
            +
                    "copyTooltip": "複製到剪貼簿",
         
     | 
| 286 | 
         
            +
                    "copyError": "複製文字到剪貼簿失敗"
         
     | 
| 287 | 
         
            +
                  },
         
     | 
| 288 | 
         
            +
                  "retrieval": {
         
     | 
| 289 | 
         
            +
                    "startPrompt": "輸入查詢開始檢索",
         
     | 
| 290 | 
         
            +
                    "clear": "清空",
         
     | 
| 291 | 
         
            +
                    "send": "送出",
         
     | 
| 292 | 
         
            +
                    "placeholder": "輸入查詢...",
         
     | 
| 293 | 
         
            +
                    "error": "錯誤:取得回應失敗"
         
     | 
| 294 | 
         
            +
                  },
         
     | 
| 295 | 
         
            +
                  "querySettings": {
         
     | 
| 296 | 
         
            +
                    "parametersTitle": "參數",
         
     | 
| 297 | 
         
            +
                    "parametersDescription": "設定查詢參數",
         
     | 
| 298 | 
         
            +
                    "queryMode": "查詢模式",
         
     | 
| 299 | 
         
            +
                    "queryModeTooltip": "選擇檢索策略:\n• Naive:基礎搜尋,無進階技術\n• Local:上下文相關資訊檢索\n• Global:利用全域知識庫\n• Hybrid:結合本地和全域檢索\n• Mix:整合知識圖譜和向量檢索",
         
     | 
| 300 | 
         
            +
                    "queryModeOptions": {
         
     | 
| 301 | 
         
            +
                      "naive": "Naive",
         
     | 
| 302 | 
         
            +
                      "local": "Local",
         
     | 
| 303 | 
         
            +
                      "global": "Global",
         
     | 
| 304 | 
         
            +
                      "hybrid": "Hybrid",
         
     | 
| 305 | 
         
            +
                      "mix": "Mix"
         
     | 
| 306 | 
         
            +
                    },
         
     | 
| 307 | 
         
            +
                    "responseFormat": "回應格式",
         
     | 
| 308 | 
         
            +
                    "responseFormatTooltip": "定義回應格式。例如:\n• 多段落\n• 單段落\n• 重點",
         
     | 
| 309 | 
         
            +
                    "responseFormatOptions": {
         
     | 
| 310 | 
         
            +
                      "multipleParagraphs": "多段落",
         
     | 
| 311 | 
         
            +
                      "singleParagraph": "單段落",
         
     | 
| 312 | 
         
            +
                      "bulletPoints": "重點"
         
     | 
| 313 | 
         
            +
                    },
         
     | 
| 314 | 
         
            +
                    "topK": "Top K結果",
         
     | 
| 315 | 
         
            +
                    "topKTooltip": "檢索的前幾項結果數。在'local'模式下表示實體,在'global'模式下表示關係",
         
     | 
| 316 | 
         
            +
                    "topKPlaceholder": "結果數量",
         
     | 
| 317 | 
         
            +
                    "maxTokensTextUnit": "文字單元最大權杖數",
         
     | 
| 318 | 
         
            +
                    "maxTokensTextUnitTooltip": "每個檢索文字區塊允許的最大權杖數",
         
     | 
| 319 | 
         
            +
                    "maxTokensGlobalContext": "全域上下文最大權杖數",
         
     | 
| 320 | 
         
            +
                    "maxTokensGlobalContextTooltip": "全域檢索中關係描述的最大權杖數",
         
     | 
| 321 | 
         
            +
                    "maxTokensLocalContext": "本地上下文最大權杖數",
         
     | 
| 322 | 
         
            +
                    "maxTokensLocalContextTooltip": "本地檢索中實體描述的最大權杖數",
         
     | 
| 323 | 
         
            +
                    "historyTurns": "歷史輪次",
         
     | 
| 324 | 
         
            +
                    "historyTurnsTooltip": "回應上下文中考慮的完整對話輪次(使用者-助手對)數量",
         
     | 
| 325 | 
         
            +
                    "historyTurnsPlaceholder": "歷史輪次數",
         
     | 
| 326 | 
         
            +
                    "hlKeywords": "進階關鍵字",
         
     | 
| 327 | 
         
            +
                    "hlKeywordsTooltip": "檢索中優先考慮的進階關鍵字清單。用逗號分隔",
         
     | 
| 328 | 
         
            +
                    "hlkeywordsPlaceHolder": "輸入關鍵字",
         
     | 
| 329 | 
         
            +
                    "llKeywords": "基礎關鍵字",
         
     | 
| 330 | 
         
            +
                    "llKeywordsTooltip": "用於細化檢索重點的基礎關鍵字清單。用逗號分隔",
         
     | 
| 331 | 
         
            +
                    "onlyNeedContext": "僅需上下文",
         
     | 
| 332 | 
         
            +
                    "onlyNeedContextTooltip": "如果為True,僅回傳檢索到的上下文而不產生回應",
         
     | 
| 333 | 
         
            +
                    "onlyNeedPrompt": "僅需提示",
         
     | 
| 334 | 
         
            +
                    "onlyNeedPromptTooltip": "如果為True,僅回傳產生的提示而不產生回應",
         
     | 
| 335 | 
         
            +
                    "streamResponse": "串流回應",
         
     | 
| 336 | 
         
            +
                    "streamResponseTooltip": "如果為True,啟用即時串流輸出回應"
         
     | 
| 337 | 
         
            +
                  }
         
     | 
| 338 | 
         
            +
                },
         
     | 
| 339 | 
         
            +
                "apiSite": {
         
     | 
| 340 | 
         
            +
                  "loading": "正在載入 API 文件..."
         
     | 
| 341 | 
         
            +
                },
         
     | 
| 342 | 
         
            +
                "apiKeyAlert": {
         
     | 
| 343 | 
         
            +
                  "title": "需要 API key",
         
     | 
| 344 | 
         
            +
                  "description": "請輸入您的 API key 以存取服務",
         
     | 
| 345 | 
         
            +
                  "placeholder": "請輸入 API key",
         
     | 
| 346 | 
         
            +
                  "save": "儲存"
         
     | 
| 347 | 
         
            +
                }
         
     | 
| 348 | 
         
            +
            }
         
     | 
    	
        lightrag_webui/src/stores/settings.ts
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ import { defaultQueryLabel } from '@/lib/constants' 
     | 
|
| 5 | 
         
             
            import { Message, QueryRequest } from '@/api/lightrag'
         
     | 
| 6 | 
         | 
| 7 | 
         
             
            type Theme = 'dark' | 'light' | 'system'
         
     | 
| 8 | 
         
            -
            type Language = 'en' | 'zh' | 'fr' | 'ar'
         
     | 
| 9 | 
         
             
            type Tab = 'documents' | 'knowledge-graph' | 'retrieval' | 'api'
         
     | 
| 10 | 
         | 
| 11 | 
         
             
            interface SettingsState {
         
     | 
| 
         | 
|
| 5 | 
         
             
            import { Message, QueryRequest } from '@/api/lightrag'
         
     | 
| 6 | 
         | 
| 7 | 
         
             
            type Theme = 'dark' | 'light' | 'system'
         
     | 
| 8 | 
         
            +
            type Language = 'en' | 'zh' | 'fr' | 'ar' | 'zh_TW'
         
     | 
| 9 | 
         
             
            type Tab = 'documents' | 'knowledge-graph' | 'retrieval' | 'api'
         
     | 
| 10 | 
         | 
| 11 | 
         
             
            interface SettingsState {
         
     |