1(function(){"use strict";var e={457:function(e,a,t){var o=t(94373);const n=o.A.create({baseURL:"/",withCredentials:!0});a.A=n},16915:function(e,a,t){var o=t(48512),n=t(51219),l=t(25507),i=t(457),r=t(46638);const s=(e,a,t)=>{i.A.get("/api/auth/sessionCheck",{withCredentials:!0}).then(a=>{const o=a.data||{};if(!o.adminRequired)return l.A.commit("setAdminLoggedIn",!0),t();if(o.valid&&"admin"===o.authType)return l.A.commit("setAdminLoggedIn",!0),t();const i=l.A.state.adminLoggedIn;l.A.commit("setAdminLoggedIn",!1),"adminLogin"!==e.name?(i&&n.nk.error(r.Ay.global.t("login.authRequired")),t({name:"adminLogin"})):t()}).catch(()=>{const a=l.A.state.adminLoggedIn;l.A.commit("setAdminLoggedIn",!1),"adminLogin"!==e.name?(a&&n.nk.error(r.Ay.global.t("login.authRequired")),t({name:"adminLogin"})):t()})},d=(e,a,t)=>{i.A.get("/api/auth/sessionCheck",{withCredentials:!0}).then(a=>{const o=a.data||{};if(!o.userRequired)return l.A.commit("setUserLoggedIn",!0),t();if(o.valid)return l.A.commit("setUserLoggedIn",!0),t();const i=l.A.state.userLoggedIn;l.A.commit("setUserLoggedIn",!1),"login"!==e.name?(i&&n.nk.error(r.Ay.global.t("login.authRequired")),t({name:"login"})):t()}).catch(()=>{const a=l.A.state.userLoggedIn;l.A.commit("setUserLoggedIn",!1),"login"!==e.name?(a&&n.nk.error(r.Ay.global.t("login.authRequired")),t({name:"login"})):t()})},c=[{path:"/",name:"home",component:()=>Promise.all([t.e(903),t.e(173),t.e(473),t.e(502)]).then(t.bind(t,67502)),beforeEnter:d}
1,{path:"/login",name:"login",component:()=>Promise.all([t.e(903),t.e(380),t.e(990)]).then(t.bind(t,61880))},{path:"/dashboard",name:"dashboard",component:()=>Promise.all([t.e(903),t.e(173),t.e(540),t.e(473),t.e(130)]).then(t.bind(t,14619)),beforeEnter:s},{path:"/customerConfig",name:"customerConfig",component:()=>Promise.all([t.e(903),t.e(173),t.e(540),t.e(581),t.e(223)]).then(t.bind(t,94223)),beforeEnter:s},{path:"/systemConfig",name:"systemConfig",component:()=>Promise.all([t.e(903),t.e(173),t.e(540),t.e(581),t.e(757)]).then(t.bind(t,55757)),beforeEnter:s},{path:"/adminLogin",name:"adminLogin",component:()=>Promise.all([t.e(903),t.e(380),t.e(730)]).then(t.bind(t,16556))},{path:"/blockimg",name:"blockimg",component:()=>Promise.all([t.e(903),t.e(711)]).then(t.bind(t,5215))},{path:"/whiteliston",name:"whiteliston",component:()=>Promise.all([t.e(903),t.e(773)]).then(t.bind(t,86569))},{path:"/browse/:dir*",name:"publicBrowse",component:()=>t.e(385).then(t.bind(t,57385))},{path:"/:pathMatch(.*)*",name:"notFound",component:()=>Promise.all([t.e(903),t.e(787)]).then(t.bind(t,75875))}],u=(0,o.aE)({history:(0,o.LA)("/"),routes:c});a.A=u},25507:function(e,a,t){t(18111),t(61701);var o=t(60782),n=t(457),l=t(55131);a.A=(0,o.y$)({state:{userConfig:null,bingWallPapers:[],adminLoggedIn:!1,userLoggedIn:!1,uploadMethod:"default",uploadCopyUrlForm:"",compressConfig:{customerCompress:void 0,compressQuality:void 0,compressBar:void 0,serverCompress:void 0,convertToWebp:void 0},storeUploadChannel:"",storeChannelName:null,storeAutoRetry:!0,storeUploadNameType:"",uploadFolder:"",customUrlSettings:{useCustomUrl:"false",customUrlPrefix:""},adminUrlSettings:{useCustomUrl:"false",customUrlPrefix:""},autoReUpload:!0,useDarkMode:null,cusDarkMode:!1},getters:{userConfig:e=>e.userConfig,bingWallPapers:e=>e.bingWallPapers,adminLoggedIn:e=>e.adminLoggedIn,userLoggedIn:e=>e.userLoggedIn,storeUploadMethod:e=>e.uploadMethod,uploadCopyUrlForm:e=>e.uploadCopyUrlForm,compressConfig:e=>e.compressConfig,storeUploadChannel:e=>e.storeUploadChannel,storeChannelName:e=>e.storeChannelName,storeUploadNameType:e=>e.storeUploadNameType,customUrlSettings:e=>e.customUrlSettings,storeAutoRetry:e=>e.storeAutoRetry,adminUrlSettings:e=>e.adminUrlSettings,storeUploadFolder:e=>e.uploadFolder||localStorage.getItem("uploadFolder")||"",useDarkMode:e=>e.useDarkMode,cusDarkMode:e=>e.cusDarkMode,storeAutoReUpload:e=>e.autoReUpload},mutations:{setUserConfig(e,a){e.userConfig=a},setBingWallPapers(e,a){e.bingWallPapers=a},setAdminLoggedIn(e,a){e.adminLoggedIn=a},setUserLoggedIn(e,a){e.userLoggedIn=a},setUploadMethod(e,a){e.uploadMethod=a},setUploadCopyUrlForm(e,a){e.uploadCopyUrlForm=a},setCompressConfig(e,{key:a,value:t}){e.compressConfig[a]=t},setStoreUploadChannel(e,a){e.storeUploadChannel=a},setStoreChannelName(e,a){e.storeChannelName=a},setStoreUploadNameType(e,a){e.storeUploadNameType=a},setCustomUrlSettings(e,{key:a,value:t}){e.customUrlSettings[a]=t},setStoreAutoRetry(e,a){e.storeAutoRetry=a},setAdminUrlSettings(e,{key:a,value:t}){e.adminUrlSettings[a]=t},setUseDarkMode(e,a){e.useDarkMode=a},setCusDarkMode(e,a){e.cusDarkMode=a},setStoreUploadFolder(e,a){e.uploadFolder=a,localStorage.setItem("uploadFolder",a)},setStoreAutoReUpload(e,a){e.autoReUpload=a}},actions:{async fetchUserConfig({commit:e}){try{const a=await n.A.get("/api/userConfig");e("setUserConfig",a.data)}catch(a){console.log(a)}},async fetchBingWallPapers({commit:e}){try{const a=await n.A.get("/api/bing/wallpaper"),t=a.data.data,o=t.map(e=>({url:"https://www.bing.com"+e.url}));await Promise.all(o.map(e=>new Promise((a,t)=>{const o=new Image;o.onload=a,o.onerror=t,o.src=e.url}))),e("setBingWallPapers",o)}catch(a){console.log(a)}}},modules:{},plugins:[(0,l.A)({paths:["userConfig","uploadMethod","uploadCopyUrlForm","compressConfig","storeUploadChannel","storeChannelName","storeAutoRetry","storeUploadNameType","uploadFolder","customUrlSettings","adminUrlSettings","autoReUpload","useDarkMode","cusDarkMode"]})]})},46638:function(e,a,t){t.d(a,{Ay:function(){return f},BY:function(){return h},xS:function(){return g}});t(17642),t(58004),t(33853),t(45876),t(32475),t(15024),t(31698);var o=t(85384),n=JSON.parse('{"login":{"title":"ç»å½å° {owner} å¾åº","adminTitle":"管ç端ç»å½","password":"å¯ç ","username":"ç¨æ·å","passwordPlaceholder":"请è¾å
¥è®¤è¯ç ","usernamePlaceholder":"请è¾å
¥ç¨æ·å","adminPasswordPlaceholder":"请è¾å
¥å¯ç ","submit":"ç»å½","success":"ç»å½æå","failed":"ç»å½å¤±è´¥ï¼è¯·æ£æ¥å¯ç æ¯å¦æ£ç¡®","adminFailed":"ç¨æ·åæå¯ç é误","serverError":"æå¡å¨é误","systemError":"ç³»ç»é误","authRequired":"请å
认è¯ï¼","authFailed":"认è¯å¤±è´¥ï¼"},"upload":{"folderPlaceholder":"ä¸ä¼ ç®å½","pasteUpload":"ç²è´´ä¸ä¼ ","fileUpload":"æä»¶ä¸ä¼ ","selectFolderUpload":"éæ©æä»¶å¤¹ä¸ä¼ ","dragUploadText":"<em>ææ½</em> <em>ç¹å»</em> æ <em>{pasteShortcut}</em> ç²è´´ä¸ä¼ ","pasteUrlPlaceholder":"ç²è´´å¤é¾ä¸ä¼ ï¼å¤ä¸ªå¤é¾ç¨æ¢è¡åé","pasteUploadBtn":"ä¸ ä¼ ","pasteSave":"转å","pasteExternal":"å¤é¾","history":"ä¸ä¼ è®°å½","announcement":"æ¥çå
¬å","noAnnouncement":"ææ å
¬å","announcementTitle":"å
¬å","announcementAck":"æå·²ç¥æï¼","settings":"ä¸ä¼ 设置","linkFormat":"龿¥æ ¼å¼","manage":"ç³»ç»ç®¡ç","logout":"éåºç»å½","logoutSuccess":"å·²éåºç»å½","viewDocs":"æ¥çææ¡£","switchUploadMethod":"忢ä¸ä¼ æ¹å¼","copyAll":"æ´ä½å¤å¶","retryFailed":"失败éè¯","clearList":"æ¸
空å表","clearAll":"æ¸
空å
¨é¨","clearUploaded":"æ¸
空已ä¸ä¼ "},"uploadForm":{"deleted":"{name}å·²å é¤","uploadSuccess":"{name}ä¸ä¼ æå","uploadFailed":"{name}ä¸ä¼ 失败","compressFailedCannotUpload":"{name}åç¼©å¤±è´¥ï¼æ æ³ä¸ä¼ !","fileTooLarge":"{name}æä»¶è¿å¤§ï¼æ æ³ä¸ä¼ !","compressedFileTooLarge":"{name}å缩åæä»¶è¿å¤§ï¼æ æ³ä¸ä¼ !","copySuccess":"å¤å¶æå","copyFailed":"å¤å¶å¤±è´¥","copyAllSuccess":"æ´ä½å¤å¶æå","fileNotUploaded":"æä»¶æªä¸ä¼ æåï¼æ æ³å¤å¶é¾æ¥","fileListCleared":"æä»¶å表已æ¸
空","fileListEmpty":"æä»¶å表为空","successFilesCleared":"æåä¸ä¼ æä»¶å·²æ¸
空","successFilesEmpty":"æåä¸ä¼ æä»¶ä¸ºç©º","noFailedFiles":"æ ä¸ä¼ 失败æä»¶","autoRetryOn":"èªå¨éè¯å·²å¼å¯","autoRetryOff":"èªå¨éè¯å·²å
³é","autoRetry":"èªå¨éè¯","maxRetryReached":"{name} å·²è¾¾å°æå¤§éè¯æ¬¡æ°({max})ï¼åæ¢éè¯","urlRequestFailed":"ç²è´´æ¿ä¸çURLå°å请æ±å¤±è´¥","chunkMerging":"ååä¸ä¼ å®æï¼æ£å¨åå¹¶æä»¶ï¼è¯·èå¿çå¾
...","fileSizeTooLarge":"æä»¶è¿å¤§","chunkInitFailed":"åå§åååä¸ä¼ 失败","uploadError":"ä¸ä¼ è¿ç¨ä¸åçé误","imageLoadFailed":"å¾çå 载失败"},"uploadSettings":{"title":"ä¸ä¼ 设置","uploadChannel":"ä¸ä¼ æ¸ é","channelType":"æ¸ éç±»å","allChannels":"å
¨é¨","configuredChannelsOnly":"å·²é
ç½®","noConfiguredChannels":"ææ å·²é
ç½®æ¸ é","channelName":"æ¸ éåç§°","channelNameTooltip":"éæ©å
·ä½çæ¸ éåç§°ï¼ä¸éæ©å使ç¨è´è½½åè¡¡æé»è®¤æ¸ é","autoSelect":"èªå¨éæ©","uploadDirectory":"ä¸ä¼ ç®å½","uploadDirectoryPlaceholder":"请è¾å
¥ä¸ä¼ ç®å½è·¯å¾","autoSwitch":"èªå¨åæ¢","autoSwitchTooltip":"对äºéååä¸ä¼ æä»¶ï¼ä¸ä¼ 失败èªå¨åæ¢å°å
¶ä»æ¸ éä¸ä¼ ","fileNaming":"æä»¶å½åæ¹å¼","namingDefault":"é»è®¤","namingIndex":"ä»
åç¼","namingOrigin":"ä»
åå","namingShort":"ç龿¥","filePreprocess":"æä»¶é¢å¤ç","filePreprocessTooltip":"ä¸ä¼ å卿¬å°è¿è¡æ ¼å¼è½¬æ¢åå缩ï¼ä»
对å¾çæä»¶çæ","convertToWebp":"转æ¢ä¸ºWebP","convertToWebpTooltip":"ä¸ä¼ åå°å¾ç转æ¢ä¸ºWebPæ ¼å¼ï¼å¯ææåå°æä»¶ä½ç§¯ã转æ¢å¤±è´¥æ¶ä¿æåæ ¼å¼ä¸ä¼ ","fileCompress":"æä»¶å缩","compressThreshold":"å缩éå¼","compressThresholdTooltip":"设置
1å¾ç大å°éå¼ï¼è¶
è¿æ¤å¼å°èªå¨å缩ï¼åä½MB","expectedSize":"ææå¤§å°","expectedSizeTooltip":"设置å缩åå¾ç大尿æå¼ï¼åä½MB","serverCompress":"æå¡ç«¯å缩","serverCompressTooltip":"1. å¨ Telegram 端è¿è¡å缩ï¼ä»
对ä¸ä¼ æ¸ é为 Telegram çå¾çæä»¶çæ <br> 2. è¥å¾ç大å°ï¼æ¬å°å缩å大å°ï¼å¤§äº10MBï¼æ¬è®¾ç½®èªå¨å¤±æ <br> 3. è¥ä¸ä¼ å辨çè¿å¤§ãéæèæ¯çå¾çï¼å»ºè®®å
³éæå¡ç«¯å缩ï¼å¦åå¯è½åºç°æªç¥é®é¢","enableCompress":"å¼å¯å缩","confirm":"ç¡®å®"},"uploadHistory":{"title":"åå²è®°å½","totalRecords":"å
± {count} æ¡","switchView":"忢è§å¾","clearRecords":"æ¸
空记å½","loading":"å è½½ä¸...","pullToLoadMore":"䏿å è½½æ´å¤","noMoreRecords":"æ²¡ææ´å¤è®°å½äº","emptyHistory":"ææ ä¸ä¼ è®°å½","linkCopied":"龿¥å·²å¤å¶","copyFailed":"å¤å¶å¤±è´¥","clearConfirmTitle":"æç¤º","clearConfirmMessage":"ç¡®å®è¦æ¸
空ææä¸ä¼ è®°å½åï¼","clearConfirmOk":"ç¡®å®","clearConfirmCancel":"åæ¶","recordsCleared":"è®°å½å·²æ¸
空","deleteConfirmMessage":"ç¡®å®è¦å é¤è¿æ¡è®°å½åï¼","recordDeleted":"è®°å½å·²å é¤"},"settings":{"linkFormatTitle":"龿¥æ ¼å¼è®¾ç½®","defaultCopyLink":"é»è®¤å¤å¶é¾æ¥","rawLink":"åå§é¾æ¥","customLink":"èªå®ä¹é¾æ¥","customLinkTooltip":"é»è®¤é¾æ¥ä¸ºhttps://your.domain/file/xxx.jpg <br> 妿å¯ç¨èªå®ä¹é¾æ¥æ ¼å¼ï¼åªä¿çxxx.jpgé¨åï¼å
¶ä»é¨å请èªè¡è¾å
¥","enableCustom":"å¯ç¨èªå®ä¹","customPrefix":"èªå®ä¹åç¼","customPrefixPlaceholder":"请è¾å
¥èªå®ä¹é¾æ¥åç¼","confirm":"ç¡®å®","s3Link":"S3龿¥"},"dashboard":{"searchPlaceholder":"æç´¢ï¼#æ ç¾ -#æé¤æ ç¾","sortAsc":"ååº","sortDesc":"éåº","sortByTime":"æ¶é´","sortBySize":"大å°","sortByRawName":"æä»¶ ID","sortByFileName":"æä»¶å","selectedItems":"项已é","clearSelection":"æ¸
é¤éæ©","copy":"å¤å¶","delete":"å é¤","download":"ä¸è½½","move":"ç§»å¨","tagManagement":"æ ç¾ç®¡ç","addToBlacklist":"å å
¥é»åå","addToWhitelist":"å å
¥ç½åå","linkFormat":"龿¥æ ¼å¼","listView":"å表è§å¾","cardView":"å¡çè§å¾","logout":"éåºç»å½","rootDirectory":"æ ¹ç®å½","totalFiles":"å
± {count} 个æä»¶","noMatchingFiles":"æªæ¾å°å¹é
çæä»¶ææä»¶å¤¹","currentDirEmpty":"å½åç®å½ä¸ºç©º","adjustSearchHint":"å°è¯è°æ´æç´¢æ¡ä»¶æçéå¨","uploadHint":"ä¸ä¼ æä»¶åå°æ¾ç¤ºå¨è¿é","loadMore":"å è½½æ´å¤","totalPages":"å
± {count} 页","jumpTo":"è·³è³","preview":"é¢è§","fileName":"æä»¶å","tags":"æ ç¾","channelType":"æ¸ éç±»å","channelNameCol":"æ¸ éåç§°","uploadAddress":"ä¸ä¼ å°å","fileSize":"大å°","uploadTime":"ä¸ä¼ æ¶é´","actions":"æä½","externalTag":"å¤é¾","unknownTag":"æªç¥","detail":"详æ
","copyLink":"å¤å¶é¾æ¥","moveFile":"ç§»å¨","downloadFile":"ä¸è½½","loadFailed":"å 载失败","copySuccess":"å¤å¶æå","copyFailed":"å¤å¶å¤±è´¥","deleteConfirm":"æ¤æä½å°æ°¸ä¹
å é¤è¯¥æä»¶, æ¯å¦ç»§ç»?","deleteConfirmTitle":"æç¤º","deleteConfirmOk":"ç¡®å®","deleteConfirmCancel":"åæ¶","deleteSuccess":"å 餿å","deleteFailed":"å é¤å¤±è´¥","blockConfirm":"æ¤æä½å°æè¯¥æä»¶å å
¥é»åå, æ¯å¦ç»§ç»?","blockSuccess":"å å
¥é»ååæå","blockFailed":"å å
¥é»åå失败","whiteConfirm":"æ¤æä½å°æè¯¥æä»¶å å
¥ç½åå, æ¯å¦ç»§ç»?","whiteSuccess":"å å
¥ç½ååæå","whiteFailed":"å å
¥ç½åå失败","deleteFolderConfirm":"æ¤æä½å°æ°¸ä¹
å 餿件夹, æ¯å¦ç»§ç»?","deleteFileConfirm":"æ¤æä½å°æ°¸ä¹
å é¤è¯¥æä»¶, æ¯å¦ç»§ç»?","batchDeleteConfirm":"æ¤æä½å°æ°¸ä¹
å é¤éä¸çæä»¶åæä»¶å¤¹, æ¯å¦ç»§ç»?","batchDeleteSuccess":"æ¹éå 餿å","batchDeleteFailed":"æ¹éå é¤å¤±è´¥","batchBlockConfirm":"æ¤æä½å°æéä¸çæä»¶å å
¥é»åå, æ¯å¦ç»§ç»?","batchBlockSuccess":"æ¹éå å
¥é»ååæå","batchBlockFailed":"æ¹éå å
¥é»åå失败","batchWhiteConfirm":"æ¤æä½å°æéä¸çæä»¶å å
¥ç½åå, æ¯å¦ç»§ç»?","batchWhiteSuccess":"æ¹éå å
¥ç½ååæå","batchWhiteFailed":"æ¹éå å
¥ç½åå失败","noLinksAvailable":"没æå¯å¤å¶ç龿¥","batchCopySuccess":"æ¹éå¤å¶ {count} ä¸ªé¾æ¥æå","batchCopyFailed":"æ¹éå¤å¶é¾æ¥å¤±è´¥ï¼è¯·éè¯","batchCopyLinksSuccess":"æ¹éå¤å¶é¾æ¥æå","copyFileLinkSuccess":"å¤å¶æä»¶é¾æ¥æå","fileListMemoryCacheWarning":"æä»¶å表è¾å¤§ï¼å·²åæ¢ä¸ºå
åç¼åï¼å·æ°é¡µé¢åéè¦éæ°å è½½å表ã","indexingWarning":"ç´¢å¼æå»ºä¸ï¼å½åæç´¢åæåºç»æå¯è½ä¸åç¡®ï¼è¯·ç¨ååè¯ã","loadMoreFailed":"å è½½æ´å¤æä»¶å¤±è´¥ï¼è¯·æ£æ¥ç½ç»è¿æ¥","moveSuccess":"ç§»å¨æå","moveFailed":"ç§»å¨å¤±è´¥","moveTargetSameAsCurrent":"ç®æ æä»¶å¤¹ä¸è½æ¯å½åæä»¶å¤¹","invali
1dPageNumber":"请è¾å
¥ææç页ç ","pageExceedsMax":"页ç ä¸è½è¶
è¿ {max}","loadingData":"æ£å¨å è½½æ°æ®ï¼è¯·ç¨å...","loadDataFailed":"å è½½æ°æ®å¤±è´¥ï¼è¯·æ£æ¥ç½ç»è¿æ¥","fetchFileListFailed":"è·åæä»¶å表失败","refreshFailed":"å·æ°å¤±è´¥ï¼è¯·éè¯","selectFilesFirst":"请å
éæ©æä»¶","syncDataError":"åæ¥æ°æ®æ¶åºéï¼è¯·æ£æ¥ç½ç»è¿æ¥","fetchingFileList":"æ£å¨è·åæä»¶å表...","folderEmptyNoLinks":"æä»¶å¤¹ä¸ºç©ºï¼æ²¡æå¯å¤å¶ç龿¥","copiedFileLinks":"å·²å¤å¶ {count} 个æä»¶é¾æ¥","copyFolderLinksFailed":"å¤å¶æä»¶å¤¹é¾æ¥å¤±è´¥ï¼è¯·éè¯"},"dashboardTabs":{"fileManagement":"æä»¶ç®¡ç","userManagement":"ç¨æ·ç®¡ç","systemSettings":"ç³»ç»è®¾ç½®","fileUpload":"æä»¶ä¸ä¼ "},"fileDetail":{"title":"æä»¶è¯¦æ
","download":"ä¸è½½","tags":"æ ç¾","blacklist":"é»åå","whitelist":"ç½åå","deleteBtn":"å é¤","edit":"ç¼è¾","rename":"éå½å","save":"ä¿å","cancel":"åæ¶","originUrl":"åå§é¾æ¥","fileNameLabel":"æä»¶å","fileNamePlaceholder":"请è¾å
¥æä»¶å","fileType":"æä»¶ç±»å","fileTypePlaceholder":"å¦ image/jpeg","fileSizeLabel":"æä»¶å¤§å°","imageDimensions":"å¾ç尺寸","noDimensions":"æ ","uploadTimeLabel":"ä¸ä¼ æ¶é´","channelTypeAndName":"æ¸ éç±»å/åç§°","accessStatusAndReview":"访é®ç¶æ/审æ¥","uploadIP":"ä¸ä¼ IP","uploadAddressLabel":"ä¸ä¼ å°å","fileTags":"æä»¶æ ç¾","noTags":"ææ æ ç¾","unknown":"æªç¥","accessNormal":"æ£å¸¸","accessNormalWhitelist":"æ£å¸¸ï¼ç½ååï¼","accessBlockedBlacklist":"å·²å±è½ï¼é»ååï¼","accessBlockedReview":"å·²å±è½ï¼å®¡æ¥ä¸éè¿ï¼","orientationLandscape":"横","orientationPortrait":"ç«","orientationSquare":"æ¹","linkCopied":"龿¥å·²å¤å¶","metadataSaved":"å
æ°æ®ä¿åæå","metadataSaveFailed":"ä¿åå
æ°æ®å¤±è´¥","renameTitle":"éå½å File ID","renameLabel":"æ° File ID","renamePlaceholder":"请è¾å
¥æ°ç File ID","renameCancel":"åæ¶","renameConfirm":"确认éå½å","renameSuccess":"æä»¶éå½åæå","renameConflict":"ç®æ æä»¶åå·²åå¨","renameFailed":"éå½å失败"},"filter":{"accessStatus":"访é®ç¶æ","normal":"æ£å¸¸","blocked":"å·²å±è½","blackWhiteList":"é»ç½åå","whiteList":"ç½åå","blackList":"é»åå","notSet":"æªè®¾ç½®","reviewResult":"审æ¥ç»æ","teenContent":"12+å
容","adultContent":"æäººå
容","fileType":"æä»¶ç±»å","image":"å¾ç","video":"è
1§é¢","audio":"é³é¢","other":"å
¶ä»","channelType":"æ¸ éç±»å","externalLink":"å¤é¾","channelName":"æ¸ éåç§°","clearFilters":"æ¸
é¤çé"},"moveFile":{"title":"ç§»å¨æä»¶","batchTitle":"æ¹éç§»å¨æä»¶","targetDirectory":"ç®æ ç®å½","targetPlaceholder":"请è¾å
¥ç®æ ç®å½è·¯å¾","hint":"æç¤ºï¼è·¯å¾ä»¥ / å¼å¤´è¡¨ç¤ºæ ¹ç®å½ï¼å¦ /photos/2024/","hintMobile":"æç¤ºï¼è·¯å¾ä»¥ / å¼å¤´è¡¨ç¤ºæ ¹ç®å½","selectDirectory":"éæ©ç®å½","cancel":"åæ¶","confirm":"ç¡®å®","retry":"éè¯","authFailed":"认è¯å¤±è´¥ï¼è¯·éæ°ç»å½","serverError":"æå¡å¨é误ï¼è¯·ç¨åéè¯","loadTreeFailed":"å è½½ç®å½æ 失败ï¼è¯·æ£æ¥ç½ç»è¿æ¥"},"batchTag":{"title":"æ¹éæ ç¾ç®¡ç","addTab":"æ·»å ","removeTab":"ç§»é¤","clearTab":"æ¸
空","addDescription":"为éä¸ç {count} 个æä»¶æ·»å æ ç¾","inputPlaceholder":"è¾å
¥æ ç¾åç§°","pendingTags":"å¾
æ·»å çæ ç¾","noPendingTags":"ææ å¾
æ·»å æ ç¾","addToAllFiles":"æ·»å å°æææä»¶","removeDescription":"ç§»é¤é䏿件çå
±ææ ç¾","commonTags":"å
±ææ ç¾","noCommonTags":"éä¸çæä»¶æ²¡æå
±ææ ç¾","clearDescription":"æ¸
空éä¸ç {count} 个æä»¶çæææ ç¾","clearWarningTitle":"â ï¸è¦å","clearWarningDesc":"æ¤æä½å°æ¸
空ææéä¸æä»¶çæ ç¾ï¼ä¸ä¸å¯æ¢å¤","confirmClearAll":"确认æ¸
ç©ºæææ ç¾","tagAlreadyInList":"æ ç¾å·²å¨å表ä¸","pleaseAddTags":"请å
æ·»å è¦æ¹éæ·»å çæ ç¾","addSuccess":"æå为 {count} 个æä»¶æ·»å æ ç¾","addFailed":"æ¹éæ·»å æ ç¾å¤±è´¥","removeSuccess":"æåä» {count} 个æä»¶ä¸ç§»é¤æ ç¾","removeFailed":"ç§»é¤æ ç¾å¤±è´¥","clearConfirmMessage":"ç¡®å®è¦æ¸
空éä¸ç {count} 个æä»¶çæææ ç¾åï¼æ¤æä½ä¸å¯æ¢å¤ã","clearConfirmTitle":"确认æ¸
空","clearConfirmOk":"ç¡®å®","clearConfirmCancel":"åæ¶","clearCancelled":"已忶æ¸
空æä½","clearSuccess":"æåæ¸
空 {count} 个æä»¶çæ ç¾","clearFailed":"æ¸
空æ ç¾å¤±è´¥","loadCommonTagsFailed":"å è½½å
±ææ ç¾å¤±è´¥"},"tagManagement":{"title":"æ ç¾ç®¡ç","inputPlaceholder":"è¾å
¥æ ç¾åç§°","currentTags":"å½åæ ç¾","noTags":"ææ æ ç¾","popularTags":"å¸¸ç¨æ ç¾","loading":"å è½½ä¸...","noPopularTags":"ææ å¸¸ç¨æ ç¾","close":"å
³é","tagExists":"æ ç¾å·²åå¨","addSuccess":"æ ç¾æ·»å æå","addFailed":"æ·»å æ ç¾å¤±è´¥","removeSuccess":"æ ç¾å 餿å","removeFailed":"å 餿 ç¾å¤±è´¥","loadFailed":"å è½½æ ç¾å¤±è´¥"},"mobileAction":{"viewDetail":"æ¥ç详æ
","copyLink":"å¤å¶é¾æ¥","downloadFile":"ä¸è½½æä»¶","moveFile":"ç§»å¨æä»¶","tagManagement":"æ ç¾ç®¡ç","moveFolder":"ç§»å¨æä»¶å¤¹","deleteFile":"å 餿件","deleteFolder":"å 餿件夹"},"mobileDirectory":{"title":"ç®å½å¯¼èª","rootDirectory":"æ ¹ç®å½","goBack":"è¿åä¸ä¸çº§"},"sysConfig":{"logout":"éåºç»å½"},"sysConfigTabs":{"systemStatus":"ç³»ç»ç¶æ","uploadSettings":"ä¸ä¼ 设置","securitySettings":"å®å
¨è®¾ç½®","pageSettings":"ç½é¡µè®¾ç½®","otherSettings":"å
¶ä»è®¾ç½®"},"dateRangeCalendar":{"previousMonth":"ä¸ä¸ªæ","nextMonth":"ä¸ä¸ªæ","startDate":"èµ·å§æ¥æ","endDate":"ç»ææ¥æ","rangeSeparator":"è³","monthTitle":"{year}-{month}","weekdaySun":"æ¥","weekdayMon":"ä¸","weekdayTue":"äº","weekdayWed":"ä¸","weekdayThu":"å","weekdayFri":"äº","weekdaySat":"å
"},"sysStatus":{"systemOverview":"ç³»ç»è¿è¡æ¦è§","healthHealthy":"è¿è¡æ£å¸¸","healthChecking":"æ£å¨æ£æ¥","healthAttention":"ç¶æè¯»åå¼å¸¸","greetingMorning":"æ©ä¸å¥½ï¼æ¬¢è¿åæ¥","greetingNoon":"ä¸å好ï¼ä¿æå¥½ç¶æ","greetingAfternoon":"ä¸å好ï¼å·¥ä½é¡ºå©","greetingEvening":"æä¸å¥½ï¼è¾è¦äº","greetingLateNight":"夿·±äºï¼æ³¨æä¼æ¯","summaryChecking":"æ£å¨è¿æ¥ç³»ç»æå¡å¹¶è¯»åææ°çç´¢å¼ä¿¡æ¯â¦","summaryUnavailable":"ææ¶æ æ³è¯»åç³»ç»ç¶æï¼è¯·æ£æ¥ç½ç»è¿æ¥æç¨åå·æ°é¡µé¢ã","summaryEmpty":"ç³»ç»ååºæ£å¸¸ï¼ç´¢å¼æå¡å·²å°±ç»ªï¼æ£å¨çå¾
é¦ä¸ªæä»¶ä¸ä¼ ã","summaryIndexed":"ç³»ç»ååºæ£å¸¸ï¼å½åå·²ç´¢å¼ {files} 个æä»¶ã","summaryHealthy":"ç³»ç»ååºæ£å¸¸ï¼å½åå·²ç´¢å¼ {files} 个æä»¶ï¼è¦ç {channels} 个ä¸ä¼ æ¸ éã","localTime":"æ¬å°æ¶é´","localTimezone":"æ¬å°æ¶åº","totalFiles":"æä»¶æ»æ°","clickToRefresh":"ç¹å»å·æ°","indexUpdateTime":"ç´¢å¼æ´æ°æ¶é´","systemVersion":"ç³»ç»çæ¬","clickToViewChangelog":"ç¹å»æ¥çæ´æ°æ¥å¿","channelDistribution":"ä¸ä¼ æ¸ éåå¸","fileStatusDistribution":"æä»¶ç¶æåå¸","uploadTrend":"ä¸ä¼ è¶å¿","uploadTrendGroupBy":"ä¸ä¼ è¶å¿åç»æ¹å¼","totalUploads":"ä¸ä¼ æ»æ°","byChannelType":"æ¸ éç±»å","byChannelName":"æ¸ éåç§°","selectDateRange":"éæ©æ¥æèå´","otherChannels":"å
¶ä»","uploadsUnit":"次","noData":"ææ æ°æ®","totalFilesLabel":"æä»¶æ»æ°","statusTypes":"ç¶æç±»å","systemMaintenance":"ç³»ç»ç»´æ¤","rebuildIndex":"é建索å¼","rebuilding":"é建ä¸...","rebuildTooltip":"éæ°æ«ææææä»¶å¹¶æ´æ°ç´¢å¼æ°æ®ï¼éç¨äºæ°æ®ä¸ä¸è´æ¶çä¿®å¤","backupData":"å¤ä»½æ°æ®","backingUp":"å¤ä»½ä¸...","backupTooltip":"å¤ä»½æææä»¶å
æ°æ®åç³»ç»è®¾ç½®å°JSONæä»¶","restoreData":"æ¢å¤æ°æ®","restoring":"æ¢å¤ä¸...","restoreTooltip":"ä»å¤ä»½æä»¶æ¢å¤æ°æ®ï¼å°è¦çç°æçæä»¶å
æ°æ®åç³»ç»è®¾ç½®","cancelOperation":"åæ¶æä½","retry":"éè¯","close"
1:"å
³é","records":"æ¡è®°å½","aboutToComplete":"å³å°å®æ","seconds":"约 {count} ç§","minutes":"约 {count} åé","hoursMinutes":"约 {hours} å°æ¶ {minutes} åé","phaseFetching":"æ£å¨è·åæ°æ®","phaseSorting":"æ£å¨æåº","phaseUploading":"æ£å¨ä¸ä¼ ","phaseFinalizing":"æ£å¨å®æ","phaseBuilding":"æ£å¨æå»ºå¤ä»½","phaseDownloading":"æ£å¨çæä¸è½½","phaseRestoringFiles":"æ£å¨æ¢å¤æä»¶","phaseRestoringSettings":"æ£å¨æ¢å¤è®¾ç½®","phaseCompleted":"已宿","phaseRetrying":"æ£å¨éè¯","rebuildSuccess":"ç´¢å¼éå»ºå®æï¼å
±å¤ç {count} 个æä»¶","backupSuccess":"å¤ä»½å®æï¼å
±å¤ä»½ {count} 个æä»¶","backupSuccessWithSettings":"å¤ä»½å®æï¼å
±å¤ä»½ {fileCount} 个æä»¶ï¼{settingsCount} 个设置项","operationInProgress":"å·²ææä½æ£å¨è¿è¡ä¸","selectJsonFile":"è¯·éæ©JSONæ ¼å¼çå¤ä»½æä»¶","restoreConfirmMessage":"æ¢å¤æä½å°è¦çç°æçæä»¶å
æ°æ®åç³»ç»è®¾ç½®ï¼æ¤æä½ä¸å¯éãç¡®å®è¦ç»§ç»åï¼","restoreConfirmTitle":"确认æ¢å¤","restoreConfirmOk":"ç¡®å®æ¢å¤","restoreConfirmCancel":"åæ¶","invalidBackupFile":"å¤ä»½æä»¶æ ¼å¼æ æï¼è¯·éæ©ææç JSON æä»¶","restoreSuccess":"æ¢å¤å®æï¼å·²æ¢å¤ {files} 个æä»¶å {settings} ä¸ªè®¾ç½®é¡¹ï¼æ£å¨é建索å¼...","restoreFailed":"æ¢å¤æ°æ®å¤±è´¥","fetchIndexFailed":"è·åç´¢å¼ä¿¡æ¯å¤±è´¥","unknown":"æªç¥","blocked":"å·²å±è½","normalStatus":"æ£å¸¸","latestUpload":"æè¿ä¸ä¼ ","earliestUpload":"ææ©ä¸ä¼ ","daysAgo":"{count}天å","hoursAgo":"{count}å°æ¶å","minutesAgo":"{count}åéå","justNow":"åå","cancellingRebuild":"æ£å¨åæ¶ç´¢å¼é建..."},"sysUpload":{"title":"ä¸ä¼ æ¸ é管ç","titleTooltip":"ç®¡çææä¸ä¼ æ¸ éçé
ç½®ï¼ç¹å»å¡çæ¥ç详æ
æç¼è¾","filterPlaceholder":"ç鿏 éç±»å","addChannel":"æ·»å æ¸ é","loadBalance":"è´è½½åè¡¡","unnamedChannel":"æªå½åæ¸ é","envVariable":"ç¯å¢åé","noChannels":"ææ {type} æ¸ é","detail":"详æ
","editBtn":"ç¼è¾","deleteBtn":"å é¤","addDialogTitle":"æ·»å æ°æ¸ é","channelTypeLabel":"æ¸ éç±»å","channelTypePlaceholder":"è¯·éæ©æ¸ éç±»å","channelNameLabel":"æ¸ éåç§°","channelNamePlaceholder":"请è¾å
¥æ¸ éåç§°","channelNameImmutableTip":"æ·»å åå°ä½ä¸ºæä»¶å
³èæ¸ éçå¯ä¸æ è¯ï¼ä¸æ¯æä¿®æ¹","channelNameEditDisabledTip":"æ¸ éåç§°ç¨äºå
³èå·²ä¸ä¼ æä»¶ï¼ä¸æ¯æä¿®æ¹","botTokenLabel":"Bot Token","botTokenPlaceholder":"请è¾å
¥ Bot Token","chatIdLabel":"Chat ID","chatIdPlaceholder":"请è¾å
¥ Chat ID","proxyDomain":"代çåå","proxyDomainPlaceholder":"å¯éï¼ä¾å¦: your-proxy.example.com","endpointLabel":"Endpoint","endpointPlaceholder":"ä¾å¦: https://s3.us-east-005.backblazeb2.com","cdnDomain":"CDN åå","cdnDomainPlaceholder":"å¯éï¼è¯·å¡«å宿´ CDN 访é®å°ååç¼ï¼ä¾å¦ï¼https://cdn.example.com","cdnDomainTip":"å¯éé
ç½®ãå¯ç¨äºçæåå±ç¤ºæä»¶è®¿é®é¾æ¥ï¼æå¡ç«¯è¯»åæä»¶å
容æ¶ä¹ä¼ä¼å
å°è¯éè¿ CDN 读åã","bucketName":"å卿¡¶åç§°","bucketNamePlaceholder":"请è¾å
¥å卿¡¶åç§°","bucketRegion":"å卿¡¶åºå","bucketRegionPlaceholder":"é»è®¤å¡«å auto","accessKeyId":"访é®å¯é¥ ID","accessKeyIdPlaceholder":"请è¾å
¥è®¿é®å¯é¥ ID","secretAccessKey":"æºå¯è®¿é®å¯é¥","secretAccessKeyPlaceholder":"请è¾å
¥æºå¯è®¿é®å¯é¥","pathStyle":"è·¯å¾é£æ ¼","pathStyleTip":"ä½¿ç¨ OpenList çä¸å
¼å®¹ä¸»æºé£æ ¼æå¡æ¶éå¼å¯","quotaLimit":"容ééå¶","quotaLimitGB":"容éä¸é (GB)","quotaThreshold":"åç¨éå¼ (%)","channelIdLabel":"Channel ID","channelIdPlaceholder":"请è¾å
¥ Channel ID","nitroMember":"Nitro ä¼å","nitroTip":"ä¼ååæä»¶éå¶ 25MBï¼å¦å为 10MB","discordWarning":"Discord ææ¥å£é¢çéå¶ï¼ä¸å»ºè®®å°å
¶ç¨ä½å¤§è§æ¨¡å¹¶ååºæ¯","repoName":"ä»åºå","repoNamePlaceholder":"æ ¼å¼: username/repo-name","accessToken":"Access Token","accessTokenPlaceholder":"请è¾å
¥ Access Token","privateRepo":"ç§æä»åº","privateRepoTip":"ç§æä»åºéå¶ 100GB","webdavBaseUrl":"WebDAV åºç¡å°å","webdavBaseUrlPlaceholder":"ä¾å¦: https://dav.example.com/remote.php/dav/files/user/imgbed/","webdavUsername":"ç¨æ·å","webdavUsernamePlaceholder":"å¯éç¨æ·å","webdavPassword":"å¯ç ","webdavPasswordPlaceholder":"å¯éå¯ç ","webdavPublicUrlPlaceholder":"å¯éï¼è¯·å¡«å宿´å
¬å¼è®¿é®å°ååç¼ï¼ä¾å¦ï¼https://cdn.example.com/imgbed","webdavPublicUrlTip":"å¯éé
ç½®ãæå¡ç«¯è¯»åæä»¶å
容æ¶ä¼ä¼å
å°è¯éè¿è¯¥å
¬å¼å°å读åï¼å¤±è´¥ååé WebDAV APIã","webdavHeaders":"èªå®ä¹è¯·æ±å¤´","webdavHeadersPlaceholder":"å¯é JSON 对象ï¼ä¾å¦: {\'{\\"X-Api-Key\\":\\"value\\"}\'}","webdavHeadersInvalid":"èªå®ä¹è¯·æ±å¤´å¿
é¡»æ¯ææç JSON 对象","webdavCreateDirectory":"èªå¨å建ç®å½","webdavCreateDirectoryTip":"ä¸ä¼ æä»¶åèªå¨å建ç¶çº§ç®å½","cancel":"åæ¶","confirmAdd":"确认添å ","detailDialogTitle":"æ¸ é详æ
- {name}","channelNameDetail":"æ¸ éåç§°","channelTypeDetail":"æ¸ éç±»å","statusLabel":"ç¶æ","enabled":"å·²å¯ç¨","disabled":"å·²ç¦ç¨","configSource":"é
ç½®æ¥æº","publicUrl":"å
¬å¼è®¿é®é¾æ¥","notSet":"æªè®¾ç½®","isPathStyle":"æ¯","isNotPathStyle":"å¦","currentUsage":"å½åç¨é","closeBtn":"å
³é","editDialogTitle":"ç¼è¾æ¸ é - {name}","enableChannel":"å¯ç¨æ¸ é","saveChanges":"ä¿åä¿®æ¹","r2ConfigNote":"请æç
§ <a href=\\"https://cfbed.sanyue.de/deployment/configuration.html#é
ç½®-r2-æ¸ é\\" target=\\"_blank\\" style=\\"color: var(--el-color-primary);\\">é
ç½® R2 æ¸ é</a> ææ¡£è¯´ææ·»å R2 æ¸ é","reservedName":"该å称为系ç»ä¿çåç§°ï¼è¯·ä½¿ç¨å
¶ä»åç§°","duplicateName":"该类åä¸å·²åå¨å忏 éï¼è¯·ä½¿ç¨å
¶ä»åç§°","fixedChannelCannotDelete":"ç¯å¢åéé
ç½®çæ¸ éæ æ³å é¤","deleteChannelConfirm":"ç¡®å®è¦å é¤è¯¥æ¸ éåï¼å é¤åï¼ä»å
³èè¯¥æ¸ éçæä»¶å¯è½æ æ³è®¿é®ã","quotaInitConfirm":"馿¬¡å¯ç¨å®¹ééå¶éè¦ç»è®¡ç°ææä»¶å®¹éï¼è¿å¯è½éè¦ä¸äºæ¶é´ãæ¯å¦ç«å³ç»è®¡ï¼","quotaInitTitle":"åå§å容éç»è®¡","quotaInitConfirmBtn":"ç«å³ç»è®¡","quotaInitCancelBtn":"ç¨åæå¨ç»è®¡","quotaInitLater"
1:"æ¨å¯ä»¥ç¨åç¹å»å·æ°æé®æå¨ç»è®¡","quotaCalculating":"æ£å¨ç»è®¡å®¹éï¼è¯·ç¨å...","quotaCalculateSuccess":"容éç»è®¡å®æ","quotaCalculateFailed":"ç»è®¡å¤±è´¥","quotaCalculateError":"ç»è®¡å¤±è´¥: "},"sysSecurity":{"authManagement":"认è¯ç®¡ç","userAuth":"ç¨æ·ç«¯è®¤è¯","adminAuth":"管ç端认è¯","uploadPassword":"ä¸ä¼ å¯ç ","confirmPassword":"确认å¯ç ","adminUsername":"ç¨æ·å","adminPassword":"å¯ç ","apiTokenManagement":"API Token 管ç","imageReview":"å¾å审æ¥","imageReviewTooltip":"ä»
对éååä¸ä¼ æä»¶çæï¼æ¯æ nsfwjs å moderatecontent.com æ¸ é","enableReview":"å¼å¯å®¡æ¥","reviewChannel":"å®¡æ¥æ¸ é","reviewChannelPlaceholder":"è¯·éæ©å®¡æ¥æ¸ é","apiKey":"API Key","apiPath":"API è·¯å¾","ipQuery":"IP å½å±å°æ¥è¯¢","ipQueryTooltip":"ä¸ä¼ æ¶æé
ç½®è°ç¨èªå®ä¹ API æ¥è¯¢ä¸ä¼ IP å½å±å°ï¼åæ°å¼æ¯æ {\'{ip}\'} å ä½ç¬¦","enableIpQuery":"å¼å¯æ¥è¯¢","ipQueryChannel":"æ¥è¯¢æ¸ é","ipQueryChannelPlaceholder":"è¯·éæ©æ¥è¯¢æ¸ é","customApi":"èªå®ä¹ API","queryParams":"æ¥è¯¢åæ°","paramNamePlaceholder":"åæ°å","paramValuePlaceholder":"åæ°å¼ï¼å¦ {\'{ip}\'}","addQueryParam":"æ·»å åæ°","responseFields":"ååºå段","responseFieldsTip":"æç»æ¾ç¤ºå
容伿ç
§åæ®µé¡ºåºæ¼æ¥","responseFieldPathPlaceholder":"JSON è·¯å¾ï¼å¦ country.name","addResponseField":"æ·»å åæ®µ","uploadManagement":"ä¸ä¼ 管ç","accessManagement":"访é®ç®¡ç","domainFilter":"ååè¿æ»¤","allowedDomains":"æ¾è¡åå","allowedDomainsTooltip":"1.é对访é®åå设置æé <br/> 2.ç空é»è®¤å
¨é¨æ¾è¡ï¼å¤ä¸ªåå请ç¨è±æéå·åé","whiteListMode":"ç½å忍¡å¼","enableWhiteList":"æ¯å¦å¼å¯","enableWhiteListTooltip":"1.é对æä»¶è®¾ç½®æé <br> 2.å¼å¯åï¼ä»
被å å
¥ç½ååçæä»¶å¯è¢«è®¿é®","imageTransform":"å¾ç尺寸å¤ç","enableImageTransform":"æ¯å¦å¼å¯","enableImageTransformTooltip":"å¼å¯åï¼è¯»åæä»¶æ¥å£å¯éè¿ widthãheight å fit åæ°å¤çå¾ç尺寸","imageTransformAllowedSizes":"å
许尺寸","imageTransformAllowedSizesPlaceholder":"ä¾å¦ 320xauto,640xauto,1280x720","imageTransformAllowedSizesHint":"ç空å
许任æåæ³å°ºå¯¸<br>å¤ä¸ªå°ºå¯¸ç¨è±æéå·åéï¼åè¾¹æªéå¶æ¶å¡«å auto","imageTransformAllowedSizesInvali
1d":"å°ºå¯¸æ ¼å¼æ æï¼è¯·ä½¿ç¨ 320xautoãautox480 æ 1280x720ï¼åè¾¹æå¤§ 4096","settingsSaved":"设置已ä¿å","tokenName":"åç§°","tokenValue":"Token","permissions":"æé","createdAt":"å建æ¶é´","status":"ç¶æ","expiresAt":"è¿ææ¶é´","operation":"æä½","editBtn":"ç¼è¾","deleteBtn":"å é¤","permUpload":"ä¸ä¼ ","permDelete":"å é¤","permList":"ååº","permManage":"管ç","createTokenTitle":"åå»ºæ° API Token","tokenNameLabel":"Token åç§°","tokenNamePlaceholder":"请è¾å
¥Tokenåç§°","permissionsLabel":"æé","neverExpire":"æ°¸ä¸è¿æ","validPeriod":"æææ","autoDeleteOnExpire":"è¿æèªå¨å é¤","createBtn":"å建","editTokenTitle":"ç¼è¾ API Token","updateBtn":"æ´æ°","tokenCreatedTitle":"Token å建æå","tokenCreatedWarning":"请妥åä¿å以ä¸Tokenï¼å
³éæ¤çªå£åå°æ æ³å次æ¥ç宿´Tokenï¼","fullToken":"宿´Token","copyBtn":"å¤å¶","savedBtn":"æå·²ä¿å","tokenCopied":"Tokenå·²å¤å¶å°åªè´´æ¿","copyFailed":"å¤å¶å¤±è´¥ï¼è¯·æå¨å¤å¶","tokenCreateSuccess":"Tokenå建æå","tokenCreateFailed":"Tokenå建失败","tokenUpdateSuccess":"Tokenæ´æ°æå","tokenUpdateFailed":"Tokenæ´æ°å¤±è´¥","tokenDeleteConfirm":"æ¤æä½å°æ°¸ä¹
å é¤è¯¥Tokenï¼æ¯å¦ç»§ç»ï¼","tokenDeleteConfirmTitle":"æç¤º","tokenDeleteConfirmOk":"ç¡®å®","tokenDeleteConfirmCancel":"åæ¶","tokenDeleteSuccess":"Tokenå 餿å","tokenDeleteFailed":"Tokenå é¤å¤±è´¥","tokenListFailed":"è·åTokenå表失败","passwordUrlReserved":"å¯ç ä¸è½å
å«é¨åURLä¿çå符: % & ? # /","confirmUploadPassword":"è¯·åæ¬¡è¾å
¥ä¸ä¼ å¯ç ","confirmAdminPassword":"è¯·åæ¬¡è¾å
¥ç®¡çå¯ç ","passwordMismatch":"两次è¾å
¥å¯ç ä¸ä¸è´","passwordUnchanged":"æªä¿®æ¹ï¼çç©ºä¿æåå¯ç ï¼","adminPasswordChangedRelogin":"管ç端å¯ç 已修æ¹ï¼å³å°è·³è½¬å°ç»å½é¡µ","clearPassword":"æ¸
é¤è®¤è¯ä¿¡æ¯","tokenNameRequired":"请è¾å
¥Tokenåç§°","permissionsRequired":"è¯·éæ©æé","validPeriodRequired":"ææææ°å¼å¿
é¡»å¤§äº 0","timeUnitSeconds":"ç§","timeUnitMinutes":"åé","timeUnitHours":"å°æ¶","timeUnitDays":"天","timeUnitMonths":"æ","timeUnitYears":"å¹´","sessionSecurityPolicy":"ä¼è¯å®å
¨çç¥","secureMode":"Secure 模å¼","secureModeTooltip":"å¼å¯åï¼Cookie ä»
éè¿ HTTPS è¿æ¥ä¼ è¾ï¼è¯·ç¡®ä¿æ¨çç«ç¹å·²å¯ç¨ HTTPS","userSessionMaxAge":"ç¨æ·ç«¯ä¼è¯æææ","adminSessionMaxAge":"管ç端ä¼è¯æææ","sessionMaxAgeUnit":"天","sessionMaxAgeInvalid":"ä¼è¯æææå¿
须为 1-3650 çæ£æ´æ°"},"sysPage":{"settingsSaved":"设置已ä¿å","refreshAnnouncement":"å·æ°å
¬åå·²è¯»ç¶æ","otherSettings":"å
¶ä»è®¾ç½®","channelSelectPlaceholder":"请å
éæ©ä¸ä¼ æ¸ é"},"sysOthers":{"remoteTelemetry":"è¿ç«¯é¥æµ","remoteTelemetryTooltip":"便äºé®é¢æ¥æ¾åå®ä½ï¼å»ºè®®å¼å¯","enable":"å¯ç¨","cloudflareApiToken":"CloudFlare API Token","cloudflareApiTokenTooltip":"设置åå¯ä»¥ä½¿å端æé»ãå é¤çæä½ä¸åCDNç¼åéå¶ <br/> 建议设置,设置æ¹å¼è¯·æ¥é
ææ¡£","zoneId":"åºåID","accountEmail":"è´¦æ·é®ç®±","randomImageApi":"éæºå¾åAPI","randomImageApiTooltip":"APIå
·ä½ç¨æ³è¯·æ¥é
ææ¡£","directory":"ç®å½","directoryTooltip":"1. 弿¾éæºå¾æéçç®å½ï¼é»è®¤ä¸ºæ ¹ç®å½ï¼å¤ä¸ªç®å½ç¨éå·åé <br/> 2. ç®å½åéç¨ç»å¯¹è·¯å¾ï¼ä¾å¦/img/coverï¼è¡¨ç¤ºè¯¥ç®å½åå
¶ææåç®å½çæä»¶å¯è¢«éæºå¾API访é®","publicBrowse":"访客å¾åº","publicBrowseTooltip":"å¯ç¨åï¼è®¿å®¢å¯éè¿ /browse è·¯å¾æµè§æå®ç®å½çå¾çï¼åªè¯»ï¼æ æ³å é¤/ç§»å¨ï¼","openDirectory":"弿¾ç®å½","openDirectoryTooltip":"<p style=\'margin: 0 0 8px 0;\'><b>å
许å
¬å¼æµè§çç®å½ï¼å¤ä¸ªç®å½ç¨éå·åé</b></p><p style=\'margin: 0 0 8px 0;\'>示ä¾ï¼wallpaper,photos,album</p><p style=\'margin: 0 0 8px 0; color: #909399;\'>æ¯æåç®å½ï¼2026/lucky,2026/rich</p><p style=\'margin: 0; color: #67c23a;\'>访é®é¾æ¥ï¼https://ä½ çåå/browse/2026/lucky</p>","webdav":"WebDAV","webdavTooltip":"å¯ç¨åï¼å¯ä»¥éè¿WebDAVå议访é®å管çå¾ç","webdavUsername":"ç¨æ·å","webdavPassword":"å¯ç ","webdavUploadChannel":"ä¸ä¼ æ¸ é","webdavDefaultChannel":"é»è®¤æ¸ é","webdavChannelName":"æå®æ¸ éå","settingsSaved":"设置
1å·²ä¿å"},"customerConfig":{"uploadFileList":"ä¸ä¼ æä»¶å表","fileNameCol":"æä»¶å","filePreview":"æä»¶é¢è§","uploadTimeCol":"ä¸ä¼ æ¶é´","ipAddress":"IPå°å","address":"å°å","uploadCount":"ä¸ä¼ 次æ°","allowUpload":"å
许ä¸ä¼ ","allow":"å
许","deny":"ç¦æ¢","loadMore":"å è½½æ´å¤","loadError":"å è½½æ´å¤æ°æ®æ¶åºéï¼è¯·æ£æ¥ç½ç»è¿æ¥","syncError":"åæ¥æ°æ®æ¶åºéï¼è¯·æ£æ¥ç½ç»è¿æ¥"},"publicBrowse":{"searchPlaceholder":"æç´¢æä»¶å æ #页ç ","fileCount":"{count} 个æä»¶","loading":"å è½½ä¸...","retry":"éè¯","creditText":"该å¾åºç±æé
±è´¡ç®ä»£ç ","loadingMore":"å è½½ä¸...","allLoaded":"å·²å è½½å
¨é¨","creditLink":"æé
±è´¡ç®","browseDisabled":"å
¬å¼æµè§åè½æªå¯ç¨","directoryNotAllowed":"该ç®å½ä¸å
许å
¬å¼è®¿é®","accessDenied":"访é®è¢«æç»","loadFailed":"å 载失败ï¼è¯·éè¯","rootDirectory":"æ ¹ç®å½","copyLink":"å¤å¶é¾æ¥","copied":"å·²å¤å¶","downloadBtn":"ä¸è½½","swipeHint":"â æ»å¨åæ¢ â","rotate90":"æè½¬90°"},"transformMedia":{"download":"ä¸è½½","playbackSpeed":"ææ¾é度","normalSpeed":"æ£å¸¸","playMode":"ææ¾æ¨¡å¼","stopAfterPlay":"æå®åæ¢","sequentialPlay":"é¡ºåºææ¾","loopSingle":"åæ²å¾ªç¯","more":"æ´å¤"},"directoryTree":{"selectDirectory":"éæ©ç®å½","retry":"éè¯","authFailed":"认è¯å¤±è´¥ï¼è¯·éæ°ç»å½","serverError":"æå¡å¨é误ï¼è¯·ç¨åéè¯","loadFailed":"å è½½ç®å½æ 失败ï¼è¯·æ£æ¥ç½ç»è¿æ¥"},"floatingSave":{"saving":"ä¿åä¸","save":"ä¿å"},"theme":{"lightMode":"æµ
è²æ¨¡å¼","darkMode":"æ·±è²æ¨¡å¼","autoMode":"èªå¨æ¨¡å¼"},"common":{"confirm":"ç¡®å®","cancel":"åæ¶","close":"å
³é","save":"ä¿å","delete":"å é¤","edit":"ç¼è¾","copy":"å¤å¶","download":"ä¸è½½","retry":"éè¯","loading":"å è½½ä¸...","success":"æå","failed":"失败","warning":"è¦å","info":"æç¤º","yes":"æ¯","no":"å¦","all":"å
¨é¨ç±»å","select":"è¯·éæ©"},"validation":{"pathMustStartWithSlash":"ç®æ ç®å½å¿
须以 \\"/\\" å¼å¤´","pathTraversalNotAllowed":"ç®æ ç®å½ä¸è½å
å«è·¯å¾ç©¿è¶å符 \\"..\\"","singleDotNotAllowed":"ç®æ ç®å½ä¸è½å
å«åç¬ç \\".\\" è·¯å¾æ®µ","consecutiveSlashNotAllowed":"ç®æ ç®å½ä¸è½å
å«è¿ç»çææ ","invalidCharacters":"ç®æ ç®å½å
å«éæ³å符ï¼è¯·ä½¿ç¨åæ³çè·¯å¾æ ¼å¼","uploadDirReplace":"ä¸ä¼ ç®å½"},"language":{"switchTo":"ä¸/En","switchLanguage":"忢è¯è¨"},"whitelist":{"title":"ç½å忍¡å¼å·²å¯ç¨","description":"æ±æï¼å½åå·²å¼å¯ç½å忍¡å¼ï¼ä¸ä¼ çå¾çéè¦å®¡æ ¸éè¿åæè½å±ç¤ºï¼è¯·çå¾
å®¡æ ¸éè¿ååè¿è¡è®¿é®ã","goHome":"è¿åé¦é¡µ","goBack":"è¿åä¸é¡µ","helpText":"æ¨å¯ä»¥å°è¯ï¼","uploadImage":"å¾çä¸ä¼ ","refreshPage":"å·æ°é¡µé¢"}}'),l=JSON.parse('{"login":{"title":"Login to {owner} ImgHub","adminTitle":"Admin Login","password":"Password","username":"Username","passwordPlaceholder":"Enter auth code","usernamePlaceholder":"Enter username","adminPasswordPlaceholder":"Enter password","submit":"Login","success":"Login successful","failed":"Login failed, please check your password","adminFailed":"Invalid username or password","serverError":"Server error","systemError":"System error","authRequired":"Please authenticate first!","authFailed":"Authentication failed!"},"upload":{"folderPlaceholder":"Upload directory","pasteUpload":"Paste Upload","fileUpload":"File Upload","selectFolderUpload":"Choose a folder to upload","dragUploadText":"<em>Drag</em> <em>Click</em> or <em>{pasteShortcut}</em> to paste upload","pasteUrlPlaceholder":"Paste external links, separate multiple links with line breaks","pasteUploadBtn":"Upload","pasteSave":"Save","pasteExternal":"External","history":"Upload History","announcement":"Announcements","noAnnouncement":"No announcements","announcementTitle":"Announcement","announcementAck":"Got it!","settings":"Upload Settings","linkFormat":"Link Format","manage":"Management","logout":"Logout","logoutSuccess":"Logged out","viewDocs":"Documentation","switchUploadMethod":"Switch Upload Method","copyAll":"C
1opy All","retryFailed":"Retry Failed","clearList":"Clear List","clearAll":"Clear All","clearUploaded":"Clear Uploaded"},"uploadForm":{"deleted":"{name} deleted","uploadSuccess":"{name} uploaded successfully","uploadFailed":"{name} upload failed","compressFailedCannotUpload":"{name} compression failed, cannot upload!","fileTooLarge":"{name} file too large, cannot upload!","compressedFileTooLarge":"{name} still too large after compression, cannot upload!","copySuccess":"Copied successfully","copyFailed":"Copy failed","copyAllSuccess":"All copied successfully","fileNotUploaded":"File not uploaded, cannot copy link","fileListCleared":"File list cleared","fileListEmpty":"File list is empty","successFilesCleared":"Uploaded files cleared","successFilesEmpty":"No uploaded files","noFailedFiles":"No failed files","autoRetryOn":"Auto retry enabled","autoRetryOff":"Auto retry disabled","autoRetry":"Auto Retry","maxRetryReached":"{name} reached max retry limit ({max}), stopping","urlRequestFailed":"URL request from clipboard failed","chunkMerging":"Chunk upload complete, merging file, please wait...","fileSizeTooLarge":"File too large","chunkInitFailed":"Failed to init chunked upload","uploadError":"Upload error occurred","imageLoadFailed":"Image load failed"},"uploadSettings":{"title":"Upload Settings","uploadChannel":"Upload Channel","channelType":"Channel Type","allChannels":"All Channels","configuredChannelsOnly":"Configured Only","noConfiguredChannels":"No configured channels","channelName":"Channel Name","channelNameTooltip":"Select a specific channel name. If not selected, load balancing or default channel will be used","autoSelect":"Auto Select","uploadDirectory":"Upload Directory","uploadDirectoryPlaceholder":"Enter upload directory path","autoSwitch":"Auto Switch","autoSwitchTooltip":"For non-chunked uploads, automatically switch to another channel on failure","fileNaming":"File Naming","namingDefault":"Default","namingIndex":"Prefix Only","namingOrigin":"Original Name","namingShort":"Short Link","filePreprocess":"File Preprocessing","filePreprocessTooltip":"Convert format and compress locally before upload, only applies to image files","convertToWebp":"Convert to WebP","convertToWebpTooltip":"Convert images to WebP format before upload to reduce file size. Falls back to original format on failure","fileCompress":"File Compression","compressThreshold":"Compression Threshold","compressThresholdTooltip":"Set image size threshold, files exceeding this will be auto-compressed (MB
1)","expectedSize":"Expected Size","expectedSizeTooltip":"Set expected image size after compression (MB)","serverCompress":"Server-side Compression","serverCompressTooltip":"1. Compress on Telegram side, only applies to image files uploaded via Telegram channel <br> 2. If image size (after local compression) exceeds 10MB, this setting is ignored <br> 3. For high-resolution, transparent background images, it\'s recommended to disable server compression to avoid issues","enableCompress":"Enable Compression","confirm":"OK"},"uploadHistory":{"title":"History","totalRecords":"{count} records","switchView":"Switch View","clearRecords":"Clear Records","loading":"Loading...","pullToLoadMore":"Pull to load more","noMoreRecords":"No more records","emptyHistory":"No upload history","linkCopied":"Link copied","copyFailed":"Copy failed","clearConfirmTitle":"Notice","clearConfirmMessage":"Are you sure you want to clear all upload records?","clearConfirmOk":"OK","clearConfirmCancel":"Cancel","recordsCleared":"Records cleared","deleteConfirmMessage":"Are you sure you want to delete this record?","recordDeleted":"Record deleted"},"settings":{"linkFormatTitle":"Link Format Settings","defaultCopyLink":"Default Copy Format","rawLink":"Raw Link","customLink":"Custom Link","customLinkTooltip":"Default link is https://your.domain/file/xxx.jpg <br> If custom link format is enabled, only the xxx.jpg part is kept, please enter the rest manually","enableCustom":"Enable Custom","customPrefix":"Custom Prefix","customPrefixPlaceholder":"Enter custom link prefix","confirm":"OK","s3Link":"S3 Link"},"dashboard":{"searchPlaceholder":"Search: #tag -#exclude","sortAsc":"Ascending","sortDesc":"Descending","sortByTime":"Time","sortBySize":"Size","sortByRawName":"File ID","sortByFileName":"File Name","selectedItems":"selected","clearSelection":"Clear selection","copy":"Copy","delete":"Delete","download":"Download","move":"Move","tagManagement":"Tag Management","addToBlacklist":"Add to Blacklist","addToWhitelist":"Add to Whitelist","linkFormat":"Link Format","listView":"List View","cardView":"Card View","logout":"Logout","rootDirectory":"Root","totalFiles":"{count} files","noMatchingFiles":"No matching files or folders found","currentDirEmpty":"Current directory is empty","adjustSearchHint":"Try adjusting search criteria or filters","uploadHint":"Uploaded files will appear here","loadMore":"Load More","totalPages":"{count} pages","jumpTo":"Go to","preview":"Preview","fileName":"File Name","tags":"Tags","channelType":"Channel Type","channelNameCol":"Channel Name","uploadAddress":"Upload Address","fileSize":"Size","uploadTime":"Upload Time","actions":"Actions","externalTag":"External","unknownTag":"Unknown","detail":"Detail","copyLink":"Copy Link","moveFile":"Move","downloadFile":"Download","loadFailed":"Load failed","copySuccess":"Copied successfully","copyFailed":"Copy failed","deleteConfirm":"This will permanently delete this file. Continue?","deleteConfirmTitle":"Notice","deleteConfirmOk":"OK","deleteConfirmCancel":"Cancel","deleteSuccess":"Deleted successfully","deleteFailed":"Delete failed","blockConfirm":"This will add the file to blacklist. Continue?","blockSuccess":"Added to blacklist successfully","blockFailed":"Failed to add to blacklist","whiteConfirm":"This will add the file to whitelist. Continue?","whiteSuccess":"Added to whitelist successfully","whiteFailed":"Failed to add to whitelist","deleteFolderConfirm":"This will permanently delete this folder. Continue?","deleteFileConfirm":"This will permanently delete this file. Continue?","batchDeleteConfirm":"This will permanently delete selected files and folders. Continue?","batchDeleteSuccess":"Batch delete successful","batchDeleteFailed":"Batch delete failed","batchBlockConfirm":"This will add selected files to blacklist. Continue?","batchBlockSuccess":"Batch blacklist successful","batchBlockFailed":"Batch blacklist failed","batchWhiteConfirm":"This will add selected files to whitelist. Continue?","batchWhiteSuccess":"Batch whitelist successful","batchWhiteFailed":"Batch whitelist failed","noLinksAvailable":"No links to copy","batchCopySuccess":"Copied {count} links successfully","batchCopyFailed":"Batch copy failed, please retry","batchCopyLinksSuccess":"Batch copy successful","copyFileLinkSuccess":"File link copied","fileListMemoryCacheWarning":"The file list is large, so it is being kept in memory. Refreshing the page will require loading it again.","indexingWarning":"The index is still building, so current search and s
1ort results may be inaccurate. Please try again later.","loadMoreFailed":"Failed to load more files, please check network","moveSuccess":"Moved successfully","moveFailed":"Move failed","moveTargetSameAsCurrent":"Target folder cannot be the current folder","invalidPageNumber":"Please enter a valid page number","pageExceedsMax":"Page number cannot exceed {max}","loadingData":"Loading data, please wait...","loadDataFailed":"Failed to load data, please check network","fetchFileListFailed":"Failed to fetch file list","refreshFailed":"Refresh failed, please retry","selectFilesFirst":"Please select files first","syncDataError":"Error syncing data, please check network","fetchingFileList":"Fetching file list...","folderEmptyNoLinks":"Folder is empty, no links to copy","copiedFileLinks":"Copied {count} file links","copyFolderLinksFailed":"Failed to copy folder links, please retry"},"dashboardTabs":{"fileManagement":"File Management","userManagement":"User Management","systemSettings":"System Settings","fileUpload":"File Upload"},"fileDetail":{"title":"File Details","download":"Download","tags":"Tags","blacklist":"Blacklist","whitelist":"Whitelist","deleteBtn":"Delete","edit":"Edit","rename":"Rename","save":"Save","cancel":"Cancel","originUrl":"Original Link","fileNameLabel":"File Name","fileNamePlaceholder":"Enter file name","fileType":"File Type","fileTypePlaceholder":"e.g. image/jpeg","fileSizeLabel":"File Size","imageDimensions":"Dimensions","noDimensions":"N/A","uploadTimeLabel":"Upload Time","channelTypeAndName":"Channel Type/Name","accessStatusAndReview":"Access Status/Review","uploadIP":"Upload IP","uploadAddressLabel":"Upload Address","fileTags":"File Tags","noTags":"No tags","unknown":"Unknown","accessNormal":"Normal","accessNormalWhitelist":"Normal (Whitelisted)","accessBlockedBlacklist":"Blocked (Blacklisted)","accessBlockedReview":"Blocked (Review rejected)","orientationLandscape":"Landscape","orientationPortrait":"Portrait","orientationSquare":"Square","linkCopied":"Link copied","metadataSaved":"Metadata saved successfully","metadataSaveFailed":"Failed to save metadata","renameTitle":"Rename File ID","renameLabel":"New File ID","renamePlaceholder":"Enter new File ID","renameCancel":"Cancel","renameConfirm":"Confirm Rename","renameSuccess":"File renamed successfully","renameConflict":"Target file name already exists","renameFailed":"Rename failed"}
1,"filter":{"accessStatus":"Access Status","normal":"Normal","blocked":"Blocked","blackWhiteList":"Black/White List","whiteList":"Whitelist","blackList":"Blacklist","notSet":"Not Set","reviewResult":"Review Result","teenContent":"12+ Content","adultContent":"Adult Content","fileType":"File Type","image":"Image","video":"Video","audio":"Audio","other":"Other","channelType":"Channel Type","externalLink":"External Link","channelName":"Channel Name","clearFilters":"Clear Filters"},"moveFile":{"title":"Move File","batchTitle":"Batch Move Files","targetDirectory":"Target Directory","targetPlaceholder":"Enter target directory path","hint":"Tip: Paths starting with / indicate root directory, e.g. /photos/2024/","hintMobile":"Tip: Paths starting with / indicate root directory","selectDirectory":"Select Directory","cancel":"Cancel","confirm":"OK","retry":"Retry","authFailed":"Authentication failed, please log in again","serverError":"Server error, please try again later","loadTreeFailed":"Failed to load directory tree, please check network connection"},"batchTag":{"title":"Batch Tag Management","addTab":"Add","removeTab":"Remove","clearTab":"Clear","addDescription":"Add tags to {count} selected files","inputPlaceholder":"Enter tag name","pendingTags":"Tags to add","noPendingTags":"No tags to add","addToAllFiles":"Add to all files","removeDescription":"Remove common tags from selected files","commonTags":"Common Tags","noCommonTags":"Selected files have no common tags","clearDescription":"Clear all tags from {count} selected files","clearWarningTitle":"â ï¸Warning","clearWarningDesc":"This will clear all tags from selected files and cannot be undone","confirmClearAll":"Confirm clear all tags","tagAlreadyInList":"Tag already in list","pleaseAddTags":"Please add tags first","addSuccess":"Tags added to {count} files successfully","addFailed":"Batch tag addition failed","removeSuccess":"Tags removed from {count} files successfully","removeFailed":"Tag removal failed","clearConfirmMessage":"Are you sure you want to clear all tags from {count} selected files? This cannot be undone.","clearConfirmTitle":"Confirm Clear","clearConfirmOk":"OK","clearConfirmCancel":"Cancel","clearCancelled":"Clear operation cancelled","clearSuccess":"Tags cleared from {count} files successfully","clearFailed":"Failed to clear tags","loadCommonTagsFailed":"Failed to load common tags"},"tagManagement":{"title":"Tag Management","inputPlaceholder":"Enter tag name","currentTags":"Current Tags","noTags":"No tags","popularTags":"Popular Tags","loading":"Loading...","noPopularTags":"No popular tags","close":"Close","tagExists":"Tag already exists","addSuccess":"Tag added successfully","addFailed":"Failed to add tag","removeSuccess":"Tag removed successfully","removeFailed":"Failed to remove tag","loadFailed":"Failed to load tags"},"mobileAction":{"viewDetail":"View Details","copyLink":"Copy Link","downloadFile":"Download File","moveFile":"Move File","tagManagement":"Tag Management","moveFolder":"Move Folder","deleteFile":"Delete File","deleteFolder":"Delete Folder"},"mobileDirectory":{"title":"Directory Navigation","rootDirectory":"Root","goBack":"Go Back"},"sysConfig":{"logout":"Logout"},"sysConfigTabs":{"systemStatus":"System Status","uploadSettings":"Upload Settings","securitySettings":"Security Settings","pageSettings":"Page Settings","otherSettings":"Other Settings"},"dateRangeCalendar":{"previousMonth":"Previous month","nextMonth":"Next month","startDate":"Start date","endDate":"End date","rangeSeparator":"to","monthTitle":"{year}-{month}","weekdaySun":"Sun","weekdayMon":"Mon","weekdayTue":"Tue","weekdayWed":"Wed","weekdayThu":"Thu","weekdayFri":"Fri","weekdaySat":"Sat"},"sysStatus":{"systemOverview":"System runtime overview","healthHealthy":"Running normally","healthChecking":"Checking status","healthAttention":"Status unavailable","greetingMorning":"Good morning, welcome back","greetingNoon":"Good afternoon, stay in the flow","greetingAfternoon":"Good afternoon, hope work goes smoothly","greetingEvening":"Good evening, thanks for your work today","greetingLateNight":"It\'s late, remember to take a break","summaryChecking":"Connecting to system services and reading the latest index informationâ¦","summaryUnavailable":"System status is temporarily unavailable. Check the connection or refresh again later.","summaryEmpty":"The system is responding normally and the index service is ready for the first upload.","summaryIndexed":"The system is responding normally with {files} indexed files.","summaryHealthy":"The system is responding normally with {files} indexed files across {channels} upload channels.","localTime":"Local Time","localTimezone":"Local timezone","totalFiles":"Total Files","clickToRefresh":"Click to refresh","indexUpdateTime":"Index Update Time","systemVersion":"System Version","clickToViewChangelog":"Click to view changelog","channelDistribution":"Upload Channel Distribution","fileStatusDistribution":"File Status Distribution","uploadTrend":"Upload Trend","uploadTrendGroupBy":"Upload trend group by","totalUploads":"Total Uploads","byChannelType":"Channel Type","byChannelName":"Channel Name","selectDateRange":"Select date range","otherChannels":"Other","uploadsUnit":"uploads","noData":"No data","totalFilesLabel":"Total Files","statusTypes":"Status Types","systemMaintenance":"System Maintenance","rebuildIndex":"Rebuild Index","rebuilding":"Rebuilding...","rebuildTooltip":"Rescan all files and update index data, useful for fixing data inconsistencies","backupData":"Backup Data","backingUp":"Backing up...","backupTooltip":"Backup all file metadata and system settings to a JSON file","restoreData":"Restore Data","restoring":"Restoring...","restoreTooltip":"Restore data from a backup file, this will over
1write existing file metadata and system settings","cancelOperation":"Cancel Operation","retry":"Retry","close":"Close","records":"records","aboutToComplete":"Almost done","seconds":"~{count} seconds","minutes":"~{count} minutes","hoursMinutes":"~{hours} hours {minutes} minutes","phaseFetching":"Fetching data","phaseSorting":"Sorting","phaseUploading":"Uploading","phaseFinalizing":"Finalizing","phaseBuilding":"Building backup","phaseDownloading":"Generating download","phaseRestoringFiles":"Restoring files","phaseRestoringSettings":"Restoring settings","phaseCompleted":"Completed","phaseRetrying":"Retrying","rebuildSuccess":"Index rebuild complete! Processed {count} files","backupSuccess":"Backup complete! Backed up {count} files","backupSuccessWithSettings":"Backup complete! Backed up {fileCount} files and {settingsCount} settings","operationInProgress":"An operation is already in progress","selectJsonFile":"Please select a JSON backup file","restoreConfirmMessage":"Restoring will overwrite existing file metadata and system settings. This cannot be undone. Continue?","restoreConfirmTitle":"Confirm Restore","restoreConfirmOk":"Confirm Restore","restoreConfirmCancel":"Cancel","invalidBackupFile":"Invalid backup file format, please select a valid JSON file","restoreSuccess":"Restore complete! Restored {files} files and {settings} settings, rebuilding index...","restoreFailed":"Failed to restore data","fetchIndexFailed":"Failed to fetch index information","unknown":"Unknown","blocked":"Blocked","normalStatus":"Normal","latestUpload":"Latest Upload","earliestUpload":"Earliest Upload","daysAgo":"{count} days ago","hoursAgo":"{count} hours ago","minutesAgo":"{count} minutes ago","justNow":"Just now","cancellingRebuild":"Cancelling index rebuild..."},"sysUpload":{"title":"Upload Channel Management","titleTooltip":"Manage all upload channel configurations. Click a card to view details or edit","filterPlaceholder":"Filter channel type","addChannel":"Add Channel","loadBalance":"Load Balance","unnamedChannel":"Unnamed Channel","envVariable":"Environment Variable","noChannels":"No {type} channels","detail":"Detail","editBtn":"Edit","deleteBtn":"Delete","addDialogTitle":"Add New Channel","channelTypeLabel":"Channel Type","channelTypePlaceholder":"Select channel type","channelNameLabel":"Channel Name","channelNamePlaceholder":"Enter channel name","channelNameImmutableTip":"After creation, this becomes the unique identifier for files associated with the channel and cannot be changed","channelNameEditDisabledTip":"The channel name links uploaded files to this channel and cannot be changed","botTokenLabel":"Bot Token","botTokenPlaceholder":"Enter Bot Token","chatIdLabel":"Chat ID","chatIdPlaceholder":"Enter Chat ID","proxyDomain":"Proxy Domain","proxyDomainPlaceholder":"Optional, e.g.: your-proxy.example.com","endpointLabel":"Endpoint","endpointPlaceholder":"e.g.: https://s3.us-east-005.backblazeb2.com","cdnDomain":"CDN Domain","cdnDomainPlaceholder":"Optional. Enter the full CDN URL prefix, e.g. https://cdn.example.com","cdnDomainTip":"Optional. Can be used to generate and display file access links. Server-side file reads also try the CDN first.","bucketName":"Bucket Name","bucketNamePlaceholder":"Enter bucket name","bucketRegion":"Bucket Region","bucketRegionPlaceholder":"Default: auto","accessKeyId":"Access Key ID","accessKeyIdPlaceholder":"Enter Access Key ID","secretAccessKey":"Secret Access Key","secretAccessKeyPlaceholder":"Enter Secret Access Key","pathStyle":"Path Style","pathStyleTip":"Enable when using services incompatible with host-style like OpenList","quotaLimit":"Quota Limit","quotaLimitGB":"Quota Limit (GB)","quotaThreshold":"Disable Threshold (%)","channelIdLabel":"Channel ID","channelIdPlaceholder":"Enter Channel ID","nitroMember":"Nitro Member","nitroTip":"Nitro members: 25MB per file, otherwise 10MB","discordWarning":"Discord has API rate limits, not recommended for high-concurrency scenarios","repoName":"Repository Name","repoNamePlaceholder":"Format: username/repo-name","accessToken":"Access Token","accessTokenPlaceholder":"Enter Access Token","privateRepo":"Private Repository","privateRepoTip":"Private repository limit: 100GB","webdavBaseUrl":"WebDAV Base URL","webdavBaseUrlPlaceholder":"e.g.: https://dav.example.com/remote.php/dav/files/user/imgbed/","webdavUsername":"Username","webdavUsernamePlaceholder":"Optional username","webdavPassword":"Password","webdavPasswordPlaceholder":"Optional password","webdavPublicUrlPlaceholder":"Optional. Enter the full public URL prefix, e.g. https://cdn.example.com/imgbed","webdavPublicUrlTip":"Optional. Server-side file reads try this public URL first and fall back to the WebDAV API on failure.","webdavHeaders":"Custom Headers","webdavHeadersPlaceholder":"Optional JSON object, e.g.: {\'{\\"X-Api-Key\\":\\"value\\"}\'}","webdavHeadersInvalid":"Custom headers must be a valid JSON object","webdavCreateDirectory":"Auto Create Directories","webdavCreateDirectoryTip":"Create parent directories before uploading files","cancel":"Cancel","confirmAdd":"Confirm Add","detailDialogTitle":"Channel Details - {name}","channelNameDetail":"Channel Name","channelTypeDetail":"Channel Type","statusLabel":"Status","enabled":"Enabled","disabled":"Disabled","configSource":"Config Source","publicUrl":"Public Access URL","notSet":"Not Set","isPathStyle":"Yes","isNotPathStyle":"No","currentUsage":"Current Usage","closeBtn":"Close","editDialogTitle":"Edit Channel - {name}","enableChannel":"Enable Channel","saveChanges":"Save Changes","r2ConfigNote":"Please follow the <a href=\\"https://cfbed.sanyue.de/deployment/configuration.html#é
ç½®-r2-æ¸ é\\" target=\\"_blank\\" style=\\"color: var(--el-color-primary);\\">R2 Channel Configuration</a> documentation to add R2 channels","reservedName":"This name is reserved by the system, please use another name","duplicateName":"A channel with this name already exists, please use another name","fixedChannelCannotDelete":"Channels configured via environment variables cannot be deleted","deleteChannelConfirm":"Are you sure you want to delete this channel? Files still associated with it may become inaccessible.","quotaInitConfirm":"First time enabling quota requires calculating existing file sizes, this may take some time. Calculate now?","quotaInitTitle":"Initialize Quota Statistics","quotaInitConfirmBtn":"Calculate Now","quotaInitCancelBtn":"Calculate Later","quotaInitLater"
1:"You can click the refresh button to calculate later","quotaCalculating":"Calculating quota, please wait...","quotaCalculateSuccess":"Quota calculation complete","quotaCalculateFailed":"Calculation failed","quotaCalculateError":"Calculation failed: "},"sysSecurity":{"authManagement":"Authentication Management","userAuth":"User Authentication","adminAuth":"Admin Authentication","uploadPassword":"Upload Password","confirmPassword":"Confirm Password","adminUsername":"Username","adminPassword":"Password","apiTokenManagement":"API Token Management","imageReview":"Image Review","imageReviewTooltip":"Only applies to non-chunked uploads, supports nsfwjs and moderatecontent.com channels","enableReview":"Enable Review","reviewChannel":"Review Channel","reviewChannelPlaceholder":"Select review channel","apiKey":"API Key","apiPath":"API Path","ipQuery":"IP Geolocation Query","ipQueryTooltip":"Calls a custom API during upload to query the upload IP location. Parameter values support the {\'{ip}\'} placeholder","enableIpQuery":"Enable Query","ipQueryChannel":"Query Channel","ipQueryChannelPlaceholder":"Select query channel","customApi":"Custom API","queryParams":"Query Parameters","paramNamePlaceholder":"Parameter name","paramValuePlaceholder":"Parameter value, e.g. {\'{ip}\'}","addQueryParam":"Add Parameter","responseFields":"Response Fields","responseFieldsTip":"The final display text is joined in field order","responseFieldPathPlaceholder":"JSON path, e.g. country.name","addResponseField":"Add Field","uploadManagement":"Upload Management","accessManagement":"Access Management","domainFilter":"Domain Filter","allowedDomains":"Allowed Domains","allowedDomainsTooltip":"1. Set permissions based on access domain <br/> 2. Leave empty to allow all, separate multiple domains with commas","whiteListMode":"Whitelist Mode","enableWhiteList":"Enable","enableWhiteListTooltip":"1. Set permissions based on files <br> 2. When enabled, only whitelisted files can be accessed","imageTransform":"Image Resizing","enableImageTransform":"Enable","enableImageTransformTooltip":"Allows the file endpoint to process images using width, height, and fit parameters","imageTransformAllowedSizes":"Allowed Sizes","imageTransformAllowedSizesPlaceholder":"For example: 320xauto,640xauto,1280x720","imageTransformAllowedSizesHint":"Leave empty to allow any valid size<br>Separate entries with commas and use auto for an unrestricted dimension","imageTransformAllowedSizesInvali
1d":"Invalid size format. Use 320xauto, autox480, or 1280x720; each dimension is limited to 4096","settingsSaved":"Settings saved","tokenName":"Name","tokenValue":"Token","permissions":"Permissions","createdAt":"Created At","status":"Status","expiresAt":"Expires At","operation":"Actions","editBtn":"Edit","deleteBtn":"Delete","permUpload":"Upload","permDelete":"Delete","permList":"List","permManage":"Manage","createTokenTitle":"Create New API Token","tokenNameLabel":"Token Name","tokenNamePlaceholder":"Enter token name","permissionsLabel":"Permissions","neverExpire":"Never Expire","validPeriod":"Valid Period","autoDeleteOnExpire":"Auto-delete on expiry","createBtn":"Create","editTokenTitle":"Edit API Token","updateBtn":"Update","tokenCreatedTitle":"Token Created Successfully","tokenCreatedWarning":"Please save the following token. You won\'t be able to view the full token after closing this dialog!","fullToken":"Full Token","copyBtn":"Copy","savedBtn":"I\'ve Saved It","tokenCopied":"Token copied to clipboard","copyFailed":"Copy failed, please copy manually","tokenCreateSuccess":"Token created successfully","tokenCreateFailed":"Failed to create token","tokenUpdateSuccess":"Token updated successfully","tokenUpdateFailed":"Failed to update token","tokenDeleteConfirm":"This will permanently delete this token. Continue?","tokenDeleteConfirmTitle":"Notice","tokenDeleteConfirmOk":"OK","tokenDeleteConfirmCancel":"Cancel","tokenDeleteSuccess":"Token deleted successfully","tokenDeleteFailed":"Failed to delete token","tokenListFailed":"Failed to fetch token list","passwordUrlReserved":"Password cannot contain URL reserved characters: % & ? # /","confirmUploadPassword":"Please re-enter upload password","confirmAdminPassword":"Please re-enter admin password","passwordMismatch":"Passwords do not match","passwordUnchanged":"Unchanged (leave empty to keep current password)","adminPasswordChangedRelogin":"Admin password changed, redirecting to login page","clearPassword":"Clear authentication info","tokenNameRequired":"Please enter token name","permissionsRequired":"Please select permissions","validPeriodRequired":"Valid period must be greater than 0","timeUnitSeconds":"seconds","timeUnitMinutes":"minutes","timeUnitHours":"hours","timeUnitDays":"days","timeUnitMonths":"months","timeUnitYears":"years","sessionSecurityPolicy":"Session Security Policy","secureMode":"Secure Mode","secureModeTooltip":"When enabled, cookies are only transmitted over HTTPS. Make sure your site has HTTPS enabled","userSessionMaxAge":"User Session Max Age","adminSessionMaxAge":"Admin Session Max Age","sessionMaxAgeUnit":"days","sessionMaxAgeInvalid":"Session max age must be an integer from 1 to 3650"},"sysPage":{"settingsSaved":"Settings saved","refreshAnnouncement":"Reset announcement read status","otherSettings":"Other Settings","channelSelectPlaceholder":"Please select upload channel first"},"sysOthers":{"remoteTelemetry":"Remote Telemetry","remoteTelemetryTooltip":"Helps with issue tracking and debugging, recommended to enable","enable":"Enable","cloudflareApiToken":"CloudFlare API Token","cloudflareApiTokenTooltip":"When set, backend operations like blocking and deleting won\'t be affected by CDN cache <br/> Recommended, see documentation for setup","zoneId":"Zone ID","accountEmail":"Account Email","randomImageApi":"Random Image API","randomImageApiTooltip":"See documentation for API usage details","directory":"Directory","directoryTooltip":"1. Directories with random image access, defaults to root. Separate multiple directories with commas <br/> 2. All directories use absolute paths, e.g. /img/cover, meaning files in this directory and all subdirectories can be accessed by the random image API","publicBrowse":"Public Gallery","publicBrowseTooltip":"When enabled, visitors can browse images in specified directories via /browse path (read-only, no delete/move)","openDirectory":"Open Directory","openDirectoryTooltip":"<p style=\'margin: 0 0 8px 0;\'><b>Directories open for public browsing, separate multiple with commas</b></p><p style=\'margin: 0 0 8px 0;\'>Example: wallpaper,photos,album</p><p style=\'margin: 0 0 8px 0; color: #909399;\'>Supports subdirectories: 2026/lucky,2026/rich</p><p style=\'margin: 0; color: #67c23a;\'>Access URL: https://your.domain/browse/2026/lucky</p>","webdav":"WebDAV","webdavTooltip":"When enabled, images can be accessed and managed via WebDAV protocol","webdavUsername":"Username","webdavPassword":"Password","webdavUploadChannel":"Upload Channel","webdavDefaultChannel":"Default Channel","webdavChannelName":"Specified Channel","settingsSaved":"Settings saved"},"customerConfig":{"uploadFileList":"Upload File List","fileNameCol":"File Name","filePreview":"File Preview","uploadTimeCol":"Upload Time","ipAddress":"IP Address","address":"Address","uploadCount":"Upload Count","allowUpload":"Allow Upload","allow":"Allow","deny":"Deny","loadMore":"Load More","loadError":"Error loading more data, please check network connection","syncError":"Error syncing data, please check network connection"}
1,"publicBrowse":{"searchPlaceholder":"Search file name or #page","fileCount":"{count} files","loading":"Loading...","retry":"Retry","creditText":"Gallery code contributed by LinJiang","loadingMore":"Loading...","allLoaded":"All loaded","creditLink":"LinJiang","browseDisabled":"Public browsing is not enabled","directoryNotAllowed":"This directory is not open for public access","accessDenied":"Access denied","loadFailed":"Load failed, please retry","rootDirectory":"Root","copyLink":"Copy Link","copied":"Copied","downloadBtn":"Download","swipeHint":"â Swipe to navigate â","rotate90":"Rotate 90°"},"transformMedia":{"download":"Download","playbackSpeed":"Playback Speed","normalSpeed":"Normal","playMode":"Play Mode","stopAfterPlay":"Stop After Play","sequentialPlay":"Sequential Play","loopSingle":"Loop Single","more":"More"},"directoryTree":{"selectDirectory":"Select Directory","retry":"Retry","authFailed":"Authentication failed, please log in again","serverError":"Server error, please try again later","loadFailed":"Failed to load directory tree, please check network connection"},"floatingSave":{"saving":"Saving","save":"Save"},"theme":{"lightMode":"Light Mode","darkMode":"Dark Mode","autoMode":"Auto Mode"},"common":{"confirm":"OK","cancel":"Cancel","close":"Close","save":"Save","delete":"Delete","edit":"Edit","copy":"Copy","download":"Download","retry":"Retry","loading":"Loading...","success":"Success","failed":"Failed","warning":"Warning","info":"Notice","yes":"Yes","no":"No","all":"All Types","select":"Select"},"validation":{"pathMustStartWithSlash":"Path must start with \\"/\\"","pathTraversalNotAllowed":"Path cannot contain \\"..\\"","singleDotNotAllowed":"Path cannot contain standalone \\".\\"","consecutiveSlashNotAllowed":"Path cannot contain consecutive slashes","invalidCharacters":"Path contains invalid characters, please use a valid path format","uploadDirReplace":"Upload directory"},"language":{"switchTo":"ä¸/En","switchLanguage":"Switch Language"},"whitelist":{"title":"Whitelist Mode Enabled","description":"Sorry, the whitelist mode is currently enabled. Uploaded images need to be approved before they can be displayed. Please wait for approval.","goHome":"Go Home","goBack":"Go Back","helpText":"You can try:","uploadImage":"Upload Image","refreshPage":"Refresh Page"}}');const i="app-locale",r="zh-CN",s=new Set(["zh-CN","en"]);function d(e){return s.has(e)?e:null}function c(){return d(localStorage.getItem(i))}function u(e){return c()||d(e)||r}const m=(0,o.hU)({legacy:!0,locale:c()||r,fallbackLocale:r,messages:{"zh-CN":n,en:l}});function p(e){m.global.locale=e,document.documentElement.lang="zh-CN"===e?"zh-CN":"en"}function h(e){const a=u(e);return p(a),a}function g(e){const a=d(e)||r;p(a),localStorage.setItem(i,a)}var f=m},81525:function(e,a,t){t(18111),t(7588);var o=t(45130),n=t(73888),l=t(21588),i=t(16571),r=(t(15412),t(30372),t(98950)),s=t(30292),d=t(47984),c=t(79262),u=t(70193),m=t(55363),p=t(31050),h=t(22909),g=t(10220),f=t(74036),y=t(90389),b=t(81828),C=t(27483),k=t(66806),T=t(61536),w=t(3263),v=t(57038),S=t(63416),F=t(63027),P=t(19223),A=t(93422),D=t(16249),L=t(34335),U=t(14722),N=t(16829),M=t(53916),I=t(48749),x=t(2511),R=t(12375),B=t(97619),E=t(84310),O=t(14552),W=t(79919),q=t(10767),z=t(20491),H=t(18422),V=t(17214),j=t(44845),K=t(55319),Q=t(71669),G=t(38557),J=t(15925),_=t(10798),Y=t(39329),X=t(59708),$=t(41165),Z=t(50230),ee=t(99288),ae=t(67992),te=t(37538),oe=t(13118),ne=t(36050),le=t(69721),ie=t(75192),re=t(50672),se=t(3149),de=t(11221),ce=t(73585),ue=t(63236),me=t(1860),pe=t(13110),he=t(6246),ge=t(42302),fe=t(75504),ye=t(40587),be=t(5299),Ce=t(81775),ke=t(13127),Te=t(18742),we=t(97579),ve=t(56746),Se=t(58422),Fe=t(20444),Pe=t(88502),Ae=t(21872),De=t(64795),Le=t(82262),Ue=t(88921),Ne=t(39916),Me=t(18579),Ie=t(80500),xe=t(58428),Re=t(87849),Be=t(78034),Ee=t(59413),Oe=t(58869),We=t(79102),qe=t(78337),ze=t(38870),He=t(70577),Ve=t(93212),je=t(40275),Ke=t(52995),Qe=t(38410),Ge=t(167),Je=t(53223),_e=t(97447),Ye=t(67830),Xe=[m.rC,p.UH,h.B0,g.Ce,f.IN,d.xK,y.Df,b.ck,C.LB,k.e4,T.ok,w.$F,v.gK,S.e6,F.rQ,P.Jt,A.Wz,D.
1Xk,L.B2,U.a$,N.jB,c.ZD,M.wF,I.rO,x.jT,R.Xb,B.dB,E.Ub,O.q9,W.rM,q.jP,z.he,u._2,H.cb,V.MT,j.vH,K.v,Q.bx,G.tU,J.zp,_.A,Y.pS,X.A4,$.h8,Z.o1,ee.UD,ae.mR,te.ao,oe.Uj,ne.gD,le.Bw,ie.CY,re.In,se.v0,de.lS,ce.jb,ue.yv,me.Up,pe.iW,he.CQ,ge.IT,fe.EZ,ye.xb,be.PJ,Ce.X,ke.ji,Te.is,we.R9,ve.QL,Se.wR,Fe.oE,Pe.ye,Ae.UB,De.hS,Le.Mj,Ue.D6,Ne.QO,Me.V2,Ie.im,xe.Gx,Re.H9,Be.Yp,Ee.z1,Oe.Nf,We.oM,qe.VN,ze.Ot,He.xi,Ve._2,je.DX,Ke.l9,Qe.GR,Ge.ns,Je.Be,_e.Jm,Ye.Mc],$e=t(97722),Ze=(t(85331),t(10961),t(56768));function ea(e,a,t,o,n,l){const i=(0,Ze.g2)("router-view"),r=$e.H6;return(0,Ze.uX)(),(0,Ze.Wv)(r,{locale:l.elementLocale},{default:(0,Ze.k6)(()=>[(0,Ze.bF)(i)]),_:1},8,["locale"])}var aa=t(60782),ta=t(6166),oa=t(55186),na=t(54791),la={data(){return{osInstance:null,imageViewerObserver:null}},computed:{...(0,aa.L8)(["userConfig","useDarkMode"]),elementLocale(){return"zh-CN"===this.$i18n.locale?oa.A:na.A}},mounted(){this.$nextTick(()=>{this.initOverlayScrollbars(),this.setupImageViewerObserver()})},beforeUnmount(){this.imageViewerObserver&&this.imageViewerObserver.disconnect()},watch:{},methods:{initOverlayScrollbars(){try{if(ta.ae.valid(document.body))return void(this.osInstance=(0,ta.ae)(document.body));this.osInstance=(0,ta.ae)(document.body,{scrollbars:{theme:"os-theme-dark",visibility:"auto",autoHide:"scroll",autoHideDelay:600,dragScroll:!0,clickScroll:!0},overflow:{x:"hidden",y:"scroll"}}),console.log("OverlayScrollbars initialized successfully")}catch(e){console.error("Failed to initialize OverlayScrollbars:",e)}},setupImageViewerObserver(){this.imageViewerObserver=new MutationObserver(e=>{const a=document.querySelector(".el-image-viewer__wrapper");a?this.osInstance&&this.osInstance.options({overflow:{x:"hidden",y:"hidden"}}):this.osInstance&&this.osInstance.options({overflow:{x:"hidden",y:"scroll"}})}),this.imageViewerObserver.observe(document.body,{childList:!0,subtree:!0})}}},ia=t(71241);const ra=(0,ia.A)(la,[["render",ea]]);var sa=ra,da=t(16915),ca=t(25507),ua=t(46638),ma=t(57477);t(21862),t(50635);r.Yv.add(...Xe),l.k.offset=30;const pa=(0,o.Ef)(sa),ha=(0,n.Zf)();pa.component("font-awesome-icon",s.gc);for(const[Ca,ka]of Object.entries(ma))pa.component(Ca,ka);const ga=()=>{const e=document.documentElement;let a;if(ca.A.state.cusDarkMode&&null!==ca.A.state.useDarkMode)a=ca.A.state.useDarkMode;else{if(a=window.matchMedia("(prefers-color-scheme: dark)").matches,!a){const e=new Date,t=e.getHours();a=t>=22||t<6}ca.A.commit("setUseDarkMode",a)}a?e.classList.add("dark"):e.classList.remove("dark")},fa=e=>{const a=document.documentElement;e?a.classList.add("dark"):a.classList.remove("dark")},ya=e=>{document.title=e?.siteTitle||"Sanyue ImgHub"},ba=(e,a)=>{const t=document.querySelectorAll('link[rel="icon"], link[rel="apple-touch-icon"], link[rel="mask-icon"]');t.forEach(e=>e.remove());const o=document.createElement("link"),n=document.createElement("link"),l=document.createElement("link");o.rel="icon",n.rel="apple-touch-icon",l.rel="mask-icon",e?(o.href=a?.siteIcon||"/static/media/logo-dark.png",n.href=a?.siteIcon||"/static/media/logo-dark.png",l.href=a?.siteIcon||"/static/media/logo-dark.png"):(o.href=a?.siteIcon||"/static/media/logo.png",n.href=a?.siteIcon||"/static/media/logo.png",l.href=a?.siteIcon||"/static/media/logo.png"),document.head.appendChild(o),document.head.appendChild(n),document.head.appendChild(l)};ca.A.dispatch("fetchUserConfig").then(()=>{(0,ua.BY)(ca.A.getters.userConfig?.defaultLanguage),ga(),ya(ca.A.getters.userConfig),ba(ca.A.state.useDarkMode,ca.A.getters.userConfig),ca.A.subscribe((e,a)=>{"setUseDarkMode"===e.type&&ca.A.state.cusDarkMode&&(fa(a.useDarkMode),ba(a.useDarkMode,ca.A.getters.userConfig)),"setCusDarkMode"!==e.type||e.payload||(ga(),ba(ca.A.state.useDarkMode,ca.A.getters.userConfig))}),pa.use(ca.A).use(da.A).use(i.A).use(ua.Ay).mount("#app")}).catch(e=>{console.error("Failed to load user configuration:",e),(0,ua.BY)(),pa.use(ca.A).use(da.A).use(i.A).use(ua.Ay).use(ha).mount("#app")})}},a={};function t(o){var n=a[o];if(void 0!==n)return n.exports;var l=a[o]={exports:{}};return e[o].call(l.exports,l,l.exports,t),l.exports}t.m=e,function(){var e=[];t.O=function(a,o,n,l){if(!o){var i=1/0;for(c=0;c<e.length;c++){o=e[c][0],n=e[c][1],l=e[c][2];for(var r=!0,s=0;s<o.length;s++)(!1&l||i>=l)&&Object.keys(t.O).every(function(e){return t.O[e](o[s])})?o.splice(s--,1):(r=!1,l<i&&(i=l));if(r){e.splice(c--,1);var d=n();void 0!==d&&(a=d)}}return a}l=l||0;for(var c=e.length;c>0&&e[c-1][2]>l;c--)e[c]=e[c-1];e[c]=[o,n,l]}}
1(),function(){t.n=function(e){var a=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(a,{a:a}),a}}(),function(){t.d=function(e,a){for(var o in a)t.o(a,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:a[o]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce(function(a,o){return t.f[o](e,a),a},[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{130:"b657e68d",223:"73628f82",380:"94df9ff7",385:"4d3f7ac7",502:"58060353",540:"8854b4d5",711:"936a7109",730:"1feabc6e",757:"47b4e4b0",773:"f0780366",787:"d0dbc2dd",903:"1e4b549d",990:"e04c4ad6"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{130:"8ca5a76a",173:"36158ceb",223:"6b74609d",385:"4f25fc20",473:"f3f669e8",502:"ae48a06e",581:"01652a63",711:"1a30de22",730:"a3834df3",757:"60c15823",773:"147d098d",787:"448a9124",990:"a3834df3"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)}}(),function(){var e={},a="sanyue_imghub:";t.l=function(o,n,l,i){if(e[o])e[o].push(n);else{var r,s;if(void 0!==l)for(var d=document.getElementsByTagName("script"),c=0;c<d.length;c++){var u=d[c];if(u.getAttribute("src")==o||u.getAttribute("data-webpack")==a+l){r=u;break}}r||(s=!0,r=document.createElement("script"),r.charset="utf-8",t.nc&&r.setAttribute("nonce",t.nc),r.setAttribute("data-webpack",a+l),r.src=o),e[o]=[n];var m=function(a,t){r.onerror=r.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],r.parentNode&&r.parentNode.removeChild(r),n&&n.forEach(function(e){return e(t)}),a)return a(t)},p=setTimeout(m.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=m.bind(null,r.onerror),r.onload=m.bind(null,r.onload),s&&document.head.appendChild(r)}}}(),function(){t.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){t.p="/"}(),function(){if("undefined"!==typeof document){var e=function(e,a,o,n,l){var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",t.nc&&(i.nonce=t.nc);var r=function(t){if(i.onerror=i.onload=null,"load"===t.type)n();else{var o=t&&t.type,r=t&&t.target&&t.target.href||a,s=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+r+")");s.name="ChunkLoadError",s.code="CSS_CHUNK_LOAD_FAILED",s.type=o,s.request=r,i.parentNode&&i.parentNode.removeChild(i),l(s)}};return i.onerror=i.onload=r,i.href=a,o?o.parentNode.insertBefore(i,o.nextSibling):document.head.appendChild(i),i},a=function(e,a){for(var t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var n=t[o],l=n.getAttribute("data-href")||n.getAttribute("href");if("stylesheet"===n.rel&&(l===e||l===a))return n}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){n=i[o],l=n.getAttribute("data-href");if(l===e||l===a)return n}},o=function(o){return new Promise(function(n,l){var i=t.miniCssF(o),r=t.p+i;if(a(i,r))return n();e(o,r,null,n,l)})},n={524:0};t.f.miniCss=function(e,a){var t={130:1,173:1,223:1,385:1,473:1,502:1,581:1,711:1,730:1,757:1,773:1,787:1,990:1};n[e]?a.push(n[e]):0!==n[e]&&t[e]&&a.push(n[e]=o(e).then(function(){n[e]=0},function(a){throw delete n[e],a}))}}}(),function(){var e={524:0};t.f.j=function(a,o){var n=t.o(e,a)?e[a]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^([14]73|581)$/.test(a))e[a]=0;else{var l=new Promise(function(t,o){n=e[a]=[t,o]});o.push(n[2]=l);var i=t.p+t.u(a),r=new Error,s=function(o){if(t.o(e,a)&&(n=e[a],0!==n&&(e[a]=void 0),n)){var l=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;r.message="Loading chunk "+a+" failed.\n("+l+": "+i+")",r.name="ChunkLoadError",r.type=l,r.request=i,n[1](r)}};t.l(i,s,"chunk-"+a,a)}},t.O.j=function(a){return 0===e[a]};var a=function(a,o){var n,l,i=o[0],r=o[1],s=o[2],d=0;if(i.some(function(a){return 0!==e[a]})){for(n in r)t.o(r,n)&&(t.m[n]=r[n]);if(s)var c=s(t)}for(a&&a(o);d<i.length;d++)l=i[d],t.o(e,l)&&e[l]&&e[l][0](),e[l]=0;return t.O(c)},o=self["webpackChunksanyue_imghub"]=self["webpackChunksanyue_imghub"]||[];o.forEach(a.bind(null,0)),o.push=a.bind(null,o.push.bind(o))}();var o=t.O(void 0,[504],function(){return t(81525)});o=t.O(o)})(); 2//# sourceMappingURL=app.34dadb84.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.