UNPKG

p3x-redis-ui-material

Version:

💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity

1 lines • 57.8 kB
import {I}from'./main-HNF44SV3.js';var i=I((c,t)=>{var e={error:{server_error:"L\u1ED7i m\xE1y ch\u1EE7, vui l\xF2ng th\u1EED l\u1EA1i",aiPromptTooLong:"L\u1EDDi nh\u1EAFc AI qu\xE1 d\xE0i (t\u1ED1i \u0111a 4096 k\xFD t\u1EF1)"},title:{donate:"\u0110\xF3ng g\xF3p",donateTitle:"H\u1ED7 tr\u1EE3 P3X Redis UI",donateDescription:"P3X Redis UI l\xE0 m\u1ED9t d\u1EF1 \xE1n mi\u1EC5n ph\xED, m\xE3 ngu\u1ED3n m\u1EDF. Chi ph\xED b\u1EA3o tr\xEC \u1EE9ng d\u1EE5ng, t\xEDnh n\u0103ng AI, Docker image, m\xE1y ch\u1EE7 v\xE0 c\u01A1 s\u1EDF h\u1EA1 t\u1EA7ng \u0111\u1EC1u t\u1EEB t\xFAi ti\u1EC1n ri\xEAng c\u1EE7a nh\xE0 ph\xE1t tri\u1EC3n. N\u1EBFu b\u1EA1n th\u1EA5y c\xF4ng c\u1EE5 n\xE0y h\u1EEFu \xEDch, vui l\xF2ng c\xE2n nh\u1EAFc h\u1ED7 tr\u1EE3 s\u1EF1 ph\xE1t tri\u1EC3n li\xEAn t\u1EE5c c\u1EE7a n\xF3 b\u1EB1ng m\u1ED9t kho\u1EA3n quy\xEAn g\xF3p. M\u1ECDi \u0111\xF3ng g\xF3p \u0111\u1EC1u gi\xFAp d\u1EF1 \xE1n s\u1ED1ng v\xE0 ph\xE1t tri\u1EC3n. C\u1EA3m \u01A1n b\u1EA1n!",jsonRecursive:"M\u1EDF r\u1ED9ng t\u1EA5t c\u1EA3 c\xE1c l\xE1",name:"P3X Redis UI",nameDonated:"P3X Redis UI+",main:"B\u1EA1n c\xF3 th\u1EC3 ch\u1ECDn k\u1EBFt n\u1ED1i Redis \u0111\u1EC3 k\u1EBFt n\u1ED1i t\u1EEB menu ph\xEDa d\u01B0\u1EDBi b\xEAn tr\xE1i.",statistics:"Th\u1ED1ng k\xEA",error:"L\u1ED7i",connectingRedis:"\u0110ang k\u1EBFt n\u1ED1i v\u1EDBi Redis ...",socketioConnectError:"L\u1ED7i Socket.IO",db:"DB",server:"M\xE1y ch\u1EE7",clients:"Kh\xE1ch h\xE0ng",memory:"B\u1ED9 nh\u1EDB",persistence:"Ki\xEAn tr\xEC",stats:"Th\u1ED1ng k\xEA",replication:"Sao ch\xE9p",cpu:"CPU",cluster:"Cluster",modules:"M\xF4-\u0111un",errorstats:"Th\u1ED1ng k\xEA l\u1ED7i",commandstats:"Th\u1ED1ng k\xEA l\u1EC7nh",latencystats:"Th\u1ED1ng k\xEA \u0111\u1ED9 tr\u1EC5",keysizes:"K\xEDch th\u01B0\u1EDBc kh\xF3a",threads:"Lu\u1ED3ng"},confirm:{dropIndex:"B\u1EA1n c\xF3 ch\u1EAFc mu\u1ED1n x\xF3a ch\u1EC9 m\u1EE5c n\xE0y?",uploadBuffer:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn t\u1EA3i l\xEAn d\u1EEF li\u1EC7u nh\u1ECB ph\xE2n n\xE0y kh\xF4ng?",uploadBufferDone:"D\u1EEF li\u1EC7u nh\u1ECB ph\xE2n \u0111\u01B0\u1EE3c t\u1EA3i l\xEAn",uploadBufferDoneAndSave:"D\u1EEF li\u1EC7u nh\u1ECB ph\xE2n \u0111\u01B0\u1EE3c t\u1EA3i l\xEAn v\xE0 l\u01B0u tr\xEAn m\xE1y ch\u1EE7",title:"X\xE1c nh\u1EADn",alert:"C\u1EA3nh b\xE1o",info:"Th\xF4ng tin",deleteListItem:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a m\u1EE5c danh s\xE1ch n\xE0y kh\xF4ng?",deleteHashKey:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a m\u1EE5c kh\xF3a b\u0103m n\xE0y kh\xF4ng?",deleteArrayIndex:"B\u1EA1n c\xF3 ch\u1EAFc mu\u1ED1n x\xF3a ph\u1EA7n t\u1EED m\u1EA3ng n\xE0y kh\xF4ng?",deleteStreamTimestamp:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a d\u1EA5u th\u1EDDi gian c\u1EE7a lu\u1ED3ng n\xE0y kh\xF4ng?",deleteSetMember:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a th\xE0nh vi\xEAn \u0111\xE3 \u0111\u1EB7t n\xE0y kh\xF4ng?",deleteZSetMember:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a th\xE0nh vi\xEAn t\u1EADp h\u1EE3p \u0111\xE3 s\u1EAFp x\u1EBFp n\xE0y kh\xF4ng?",deleteConnection:"X\xE1c nh\u1EADn",deleteConnectionText:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a k\u1EBFt n\u1ED1i Redis n\xE0y kh\xF4ng?",deleteNode:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a n\xFAt Redis n\xE0y kh\xF4ng?",deleteAllKeys:n=>`X\xF3a c\xE2y n\xE0y v\xE0 t\u1EA5t c\u1EA3 c\xE1c kh\xF3a c\u1EE7a n\xF3 (${n.key})?`,deleteSearchKeys:n=>`B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a t\u1EA5t c\u1EA3 c\xE1c kh\xF3a kh\u1EDBp v\u1EDBi "${n.pattern}" kh\xF4ng? T\xECm th\u1EA5y ${n.count} kh\xF3a.`,socketioConnectError:"Socket.IO kh\xF4ng k\u1EBFt n\u1ED1i \u0111\u01B0\u1EE3c v\u1EDBi m\xE1y ch\u1EE7, b\u1EA1n c\xF3 th\u1EC3 t\u1EA3i l\u1EA1i v\xE0 th\u1EED t\u1EF1 kh\u1EAFc ph\u1EE5c l\u1ED7i k\u1EBFt n\u1ED1i, m\xE1y kh\xE1ch kh\xF4ng bi\u1EBFt t\u1EF1 gi\u1EA3i quy\u1EBFt.",socketioAuthRequired:"C\u1EA7n c\xF3 \u1EE7y quy\u1EC1n Socket.IO. Vui l\xF2ng x\xE1c th\u1EF1c b\u1EB1ng HTTP Basic Auth (t\xEAn ng\u01B0\u1EDDi d\xF9ng/m\u1EADt kh\u1EA9u) v\xE0 t\u1EA3i l\u1EA1i.",invalidCredentials:"T\xEAn ng\u01B0\u1EDDi d\xF9ng ho\u1EB7c m\u1EADt kh\u1EA9u kh\xF4ng h\u1EE3p l\u1EC7.",delete:"X\xF3a?",deleteKey:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn x\xF3a kh\xF3a n\xE0y kh\xF4ng?",rename:{title:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn \u0111\u1ED5i t\xEAn kh\xF3a n\xE0y kh\xF4ng?",textContent:"H\xE0nh \u0111\u1ED9ng n\xE0y \u0111\u1ED5i t\xEAn kh\xF3a v\u0129nh vi\u1EC5n.",placeholder:"Kh\xF3a Redis (b\u1EAFt bu\u1ED9c)"},ttl:{title:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n thay \u0111\u1ED5i TTL c\u1EE7a kh\xF3a n\xE0y kh\xF4ng?",textContent:"Vi\u1EC7c thay \u0111\u1ED5i TTL s\u1EBD c\u1EADp nh\u1EADt th\u1EDDi gian t\u1ED3n t\u1EA1i c\u1EE7a kh\xF3a n\xE0y. \u0110\u1EC3 tr\u1ED1ng \u0111\u1EC3 gi\u1EEF ch\xECa kh\xF3a n\xE0y m\xE3i m\xE3i.",placeholder:"TTL c\u1EE7a kh\xF3a Redis (s\u1ED1 nguy\xEAn ho\u1EB7c tr\u1ED1ng)",placeholderPlaceholder:"Tr\u1ED1ng r\u1ED7ng c\xF3 ngh\u0129a l\xE0 n\xF3 t\u1ED3n t\u1EA1i m\xE3i m\xE3i; n\u1EBFu kh\xF4ng th\xEC nh\u1EADp m\u1ED9t s\u1ED1 nguy\xEAn.",convertTextToTime:"Chuy\u1EC3n \u0111\u1ED5i v\u0103n b\u1EA3n th\xE0nh th\u1EDDi gian",convertTextToTimePlaceholder:"V\xED d\u1EE5: 1d s\u1EBD l\xE0 86400"}},language:{ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629 / Arabic",az:"Az\u0259rbaycanca / Azerbaijani",be:"\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0430\u044F / Belarusian",bg:"\u0411\u044A\u043B\u0433\u0430\u0440\u0441\u043A\u0438 / Bulgarian",bn:"\u09AC\u09BE\u0982\u09B2\u09BE / Bengali",cs:"\u010Ce\u0161tina / Czech",da:"Dansk / Danish",de:"Deutsch / German",el:"\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC / Greek",en:"English",es:"Espa\xF1ol / Spanish",et:"Eesti / Estonian",fi:"Suomi / Finnish",fil:"Filipino / Filipino",fr:"Fran\xE7ais / French",he:"\u05E2\u05D1\u05E8\u05D9\u05EA / Hebrew",hr:"Hrvatski / Croatian",hu:"Magyar / Hungarian",hy:"\u0540\u0561\u0575\u0565\u0580\u0565\u0576 / Armenian",id:"Bahasa Indonesia / Indonesian",it:"Italiano / Italian",ja:"\u65E5\u672C\u8A9E / Japanese",ka:"\u10E5\u10D0\u10E0\u10D7\u10E3\u10DA\u10D8 / Georgian",kk:"\u049A\u0430\u0437\u0430\u049B\u0448\u0430 / Kazakh",km:"\u1781\u17D2\u1798\u17C2\u179A / Khmer",ko:"\uD55C\uAD6D\uC5B4 / Korean",ky:"\u041A\u044B\u0440\u0433\u044B\u0437\u0447\u0430 / Kyrgyz",lt:"Lietuvi\u0173 / Lithuanian",mk:"\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438 / Macedonian",ms:"Bahasa Melayu / Malay",ne:"\u0928\u0947\u092A\u093E\u0932\u0940 / Nepali",nl:"Nederlands / Dutch",no:"Norsk / Norwegian",pl:"Polski / Polish","pt-BR":"Portugu\xEAs (Brasil) / Portuguese (Brazil)","pt-PT":"Portugu\xEAs / Portuguese",ro:"Rom\xE2n\u0103 / Romanian",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439 / Russian",sk:"Sloven\u010Dina / Slovak",sl:"Sloven\u0161\u010Dina / Slovenian",sr:"\u0421\u0440\u043F\u0441\u043A\u0438 / Serbian",sv:"Svenska / Swedish",tg:"\u0422\u043E\u04B7\u0438\u043A\u04E3 / Tajik",th:"\u0E44\u0E17\u0E22 / Thai",tr:"T\xFCrk\xE7e / Turkish",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430 / Ukrainian",vi:"Ti\u1EBFng Vi\u1EC7t / Vietnamese","zh-HK":"\u4E2D\u6587\uFF08\u9999\u6E2F\uFF09 / Chinese (Hong Kong)","zh-TW":"\u4E2D\u6587\uFF08\u53F0\u7063\uFF09 / Chinese (Taiwan)",zn:"\u4E2D\u6587 / Chinese",bs:"Bosanski / Bosnian",si:"\u0DC3\u0DD2\u0D82\u0DC4\u0DBD / Sinhala",sw:"Kiswahili / Swahili",ta:"\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD / Tamil"},intention:{copy:"Sao ch\xE9p",downloadBuffer:"T\u1EA3i xu\u1ED1ng nh\u1ECB ph\xE2n",setBuffer:"T\u1EA3i l\xEAn nh\u1ECB ph\xE2n",exportKeys:"Xu\u1EA5t kh\xF3a",exportAllKeys:n=>`Xu\u1EA5t t\u1EA5t c\u1EA3 ${n.count} kh\xF3a`,exportSearchResults:n=>`Xu\u1EA5t ${n.count} k\u1EBFt qu\u1EA3`,deleteAllKeysMenu:n=>`X\xF3a t\u1EA5t c\u1EA3 ${n.count}`,importKeys:"Nh\u1EADp kh\xF3a",deleteSearchKeys:n=>`X\xF3a ${n.count} kh\xF3a kh\u1EDBp`,saveWithFormatJson:"L\u01B0u v\u1EDBi \u0111\u1ECBnh d\u1EA1ng",formatJson:"\u0110\u1ECBnh d\u1EA1ng Json",wrap:"B\u1ECDc",unwrap:"M\u1EDF g\xF3i",downloadJson:"T\u1EA3i xu\u1ED1ng JSON",pubsubMonitor:"PubSub",pulse:"Pulse",profiler:"Profiler",memoryAnalysis:"Analysis",language:"Ng\xF4n ng\u1EEF",ok:"\u0111\u01B0\u1EE3c r\u1ED3i",addKey:"Th\xEAm v\xE0o kh\xF3a n\xE0y",addKeyRoot:"Th\xEAm kh\xF3a g\u1ED1c",reloadKey:"Ph\xEDm t\u1EA3i l\u1EA1i",reload:"T\u1EA3i l\u1EA1i",close:"\u0110\xF3ng",commands:"L\u1EC7nh",view:"Xem",statistics:"Th\u1ED1ng k\xEA",refresh:"L\xE0m m\u1EDBi",pause:"T\u1EA1m d\u1EEBng",resume:"Ti\u1EBFp t\u1EE5c",clear:"X\xF3a",rename:"\u0110\u1ED5i t\xEAn",main:"C\u01A1 s\u1EDF d\u1EEF li\u1EC7u",cancel:"H\u1EE7y b\u1ECF",theme:"ch\u1EE7 \u0111\u1EC1",github:"GitHub",githubRepo:"Kho l\u01B0u tr\u1EEF",githubRelease:"ph\xE1t h\xE0nh",githubChangelog:"Nh\u1EADt k\xFD thay \u0111\u1ED5i",info:"Info",settings:"C\xE0i \u0111\u1EB7t",connect:"K\u1EBFt n\u1ED1i",disconnect:"Ng\u1EAFt k\u1EBFt n\u1ED1i",logout:"\u0110\u0103ng xu\u1EA5t",overview:"T\u1ED5ng quan",console:"B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n",noConnections:"Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i, th\xEAm k\u1EBFt n\u1ED1i trong menu c\xE0i \u0111\u1EB7t.",noConnectionsInSettings:"Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i, b\u1EA1n c\xF3 th\u1EC3 th\xEAm K\u1EBET N\u1ED0I M\u1EDAI \u1EDF tr\xEAn.",connectionAdd:"K\u1EBFt n\u1ED1i m\u1EDBi",addGroup:"Th\xEAm nh\xF3m",extend:"Gia h\u1EA1n",collapse:"Thu g\u1ECDn",add:"Th\xEAm",edit:"Ch\u1EC9nh s\u1EEDa",save:"L\u01B0u",ttl:"\u0110\u1EB7t TTL",fieldTtl:"TTL tr\u01B0\u1EDDng",digest:"T\xF3m t\u1EAFt",delete:"X\xF3a",remove:"X\xF3a",areYouSure:"B\u1EA1n c\xF3 ch\u1EAFc kh\xF4ng?",sure:"Ch\u1EAFc ch\u1EAFn r\u1ED3i",testConnection:"Ki\u1EC3m tra k\u1EBFt n\u1ED1i",getKey:"\u0110ang t\u1EA3i kh\xF3a Redis v\xE0 d\u1EEF li\u1EC7u li\xEAn quan ...",jsonViewShow:"Hi\u1EC3n th\u1ECB JSON",jsonViewEditor:"Ch\u1EC9nh s\u1EEDa JSON",quickConsole:"B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n nhanh",moveUp:"Di chuy\u1EC3n l\xEAn",moveDown:"Di chuy\u1EC3n xu\u1ED1ng"},diff:{reviewChanges:"Xem l\u1EA1i thay \u0111\u1ED5i",inline:"Trong d\xF2ng",sideBySide:"C\u1EA1nh nhau",additions:"ph\u1EA7n th\xEAm",deletions:"ph\u1EA7n x\xF3a",unchangedLines:"d\xF2ng kh\xF4ng thay \u0111\u1ED5i",noChanges:"Kh\xF4ng ph\xE1t hi\u1EC7n thay \u0111\u1ED5i",before:"Tr\u01B0\u1EDBc",after:"Sau"},label:{id:{nodeId:"ID n\xFAt",id:"ID k\u1EBFt n\u1ED1i",info:"N\u1EBFu b\u1EA1n kh\xF4ng mu\u1ED1n thay \u0111\u1ED5i c\xE1c thu\u1ED9c t\xEDnh c\u1EE7a: sshPassword, sshPrivateKey, m\u1EADt kh\u1EA9u, tlsCrt, tlsKey, tlsCa, vui l\xF2ng nh\u1EADp ID c\u1EE7a k\u1EBFt n\u1ED1i v\xE0o c\xE1c thu\u1ED9c t\xEDnh \u0111\xF3 \u0111\u1EC3 gi\u1EEF nguy\xEAn c\xE1c gi\xE1 tr\u1ECB thu\u1ED9c t\xEDnh. N\u1EBFu b\u1EA1n mu\u1ED1n logic t\u01B0\u01A1ng t\u1EF1 trong m\u1EADt kh\u1EA9u n\xFAt, h\xE3y nh\u1EADp ID n\xFAt v\xE0o m\u1EADt kh\u1EA9u n\xFAt."},secureFeature:"N\u1EBFu b\u1EA1n th\u1EA5y m\u1ED9t gi\xE1 tr\u1ECB b\u1EAFt \u0111\u1EA7u b\u1EB1ng P3X v\xE0 tr\xF4ng gi\u1ED1ng nh\u01B0 v\u1EADy th\xEC \u0111\xF3 l\xE0 m\u1ED9t t\xEDnh n\u0103ng b\u1EA3o m\u1EADt. \u0110\u1EC3 thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t, ch\u1EC9 c\u1EA7n thay th\u1EBF c\xE1c c\xE0i \u0111\u1EB7t n\xE0y b\u1EB1ng tr\u1ED1ng ho\u1EB7c c\xE0i \u0111\u1EB7t kh\xE1c v\xE0 ch\xFAng s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u. N\u1EBFu b\u1EA1n kh\xF4ng thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t, c\xE0i \u0111\u1EB7t s\u1EBD \u0111\u01B0\u1EE3c gi\u1EEF nguy\xEAn tr\xEAn m\xE1y ch\u1EE7.",aiTranslating:"\u0110ang d\u1ECBch...",aiSettings:"C\xE0i \u0111\u1EB7t AI",aiGroqApiKey:"Kh\xF3a API Groq",aiGroqApiKeyInfo:"T\xF9y ch\u1ECDn. Kh\xF3a API Groq ri\xEAng \u0111\u1EC3 c\xF3 hi\u1EC7u su\u1EA5t t\u1ED1t h\u01A1n. Nh\u1EADn kh\xF3a mi\u1EC5n ph\xED t\u1EEB",aiGroqApiKeyPlaceholder:"gsk_...",aiGroqApiKeySaved:"\u0110\xE3 l\u01B0u kh\xF3a API AI",aiGroqApiKeyInvalid:"Kh\xF3a Groq API kh\xF4ng h\u1EE3p l\u1EC7",aiGroqApiKeyNotSet:"Ch\u01B0a \u0111\u1EB7t (m\u1EB7c \u0111\u1ECBnh m\xE1y ch\u1EE7)",aiEnabled:"AI \u0111\xE3 b\u1EADt",aiEnabledYes:"C\xF3",aiEnabledNo:"Kh\xF4ng",aiRouteViaNetwork:"\u0110\u1ECBnh tuy\u1EBFn qua network.corifeus.com",aiRoutingDirect:"Truy v\u1EA5n \u0111\u01B0\u1EE3c g\u1EEDi tr\u1EF1c ti\u1EBFp t\u1EDBi Groq b\u1EB1ng kh\xF3a API ri\xEAng c\u1EE7a b\u1EA1n, b\u1ECF qua network.corifeus.com.",aiRoutingNetwork:"C\xE1c truy v\u1EA5n AI \u0111\u01B0\u1EE3c \u0111\u1ECBnh tuy\u1EBFn qua network.corifeus.com. N\u1EBFu b\u1EA1n c\xF3 kh\xF3a Groq API mi\u1EC5n ph\xED c\u1EE7a ri\xEAng m\xECnh, b\u1EA1n c\xF3 th\u1EC3 t\u1EAFt c\xF4ng t\u1EAFc n\xE0y \u0111\u1EC3 \u0111\u1ECBnh tuy\u1EBFn tr\u1EF1c ti\u1EBFp t\u1EDBi Groq m\xE0 kh\xF4ng c\u1EA7n network.corifeus.com.",aiMaxTokens:"S\u1ED1 token AI t\u1ED1i \u0111a",aiMaxTokensInfo:"S\u1ED1 l\u01B0\u1EE3ng token t\u1ED1i \u0111a cho ph\u1EA3n h\u1ED3i AI. Gi\xE1 tr\u1ECB cao h\u01A1n cho ph\xE9p ph\u1EA3n h\u1ED3i d\xE0i h\u01A1n nh\u01B0ng c\xF3 th\u1EC3 d\xF9ng nhi\u1EC1u t\xEDn d\u1EE5ng API h\u01A1n.",consoleDrawer:{toggleTooltip:"B\u1EADt/t\u1EAFt b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n",clearTooltip:"X\xF3a l\u1ECBch s\u1EED cu\u1ED9n",closeTooltip:"\u0110\xF3ng b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n",aiSettingsTooltip:"C\xE0i \u0111\u1EB7t AI",modeRedis:"REDIS",modeAi:"AI",connectionChipNoDb:n=>`${n.name}`,connectionChipWithDb:n=>`${n.name} \xB7 db ${n.db}`,pageChip:n=>`trang: ${n.page}`,connectingTo:n=>`\u0110ang k\u1EBFt n\u1ED1i t\u1EDBi ${n.name}\u2026`,connectedTo:n=>`\u0110\xE3 k\u1EBFt n\u1ED1i t\u1EDBi ${n.name} (Redis ${n.version} ${n.mode}, \u0111\xE3 t\u1EA3i ${n.modules} m\xF4-\u0111un)`,connectedToNoInfo:n=>`\u0110\xE3 k\u1EBFt n\u1ED1i t\u1EDBi ${n.name}`,disconnectedFrom:n=>`\u0110\xE3 ng\u1EAFt k\u1EBFt n\u1ED1i kh\u1ECFi ${n.name}`,readyIndicator:"S\u1EB5n s\xE0ng."},cheatsheet:{title:"C\u1EA9m nang AI \u2014 T\xF4i c\xF3 th\u1EC3 h\u1ECFi g\xEC?",subtitle:"Nh\u1EA5p v\xE0o b\u1EA5t k\u1EF3 g\u1EE3i \xFD n\xE0o \u0111\u1EC3 d\xE1n v\xE0o b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n. Sau \u0111\xF3 nh\u1EA5n Enter.",searchPlaceholder:"L\u1ECDc g\u1EE3i \xFD\u2026",openOfficialDocs:"Redis Commands \u2197",openOfficialDocsTooltip:"M\u1EDF t\xE0i li\u1EC7u l\u1EC7nh Redis ch\xEDnh th\u1EE9c t\u1EA1i redis.io",closeTooltip:"\u0110\xF3ng (Esc)",empty:"Kh\xF4ng c\xF3 g\u1EE3i \xFD n\xE0o kh\u1EDBp v\u1EDBi b\u1ED9 l\u1ECDc.",footerHint:'M\u1EB9o: g\xF5 "ai:" r\u1ED3i vi\u1EBFt b\u1EA5t c\u1EE9 \u0111i\u1EC1u g\xEC b\u1EB1ng b\u1EA5t k\u1EF3 ng\xF4n ng\u1EEF n\xE0o \u2014 AI hi\u1EC3u 54 ng\xF4n ng\u1EEF v\xE0 s\u1EED d\u1EE5ng tr\u1EA1ng th\xE1i Redis tr\u1EF1c ti\u1EBFp khi c\u1EA7n.',groups:{diagnostics:{name:"Ch\u1EA9n \u0111o\xE1n tr\u1EF1c ti\u1EBFp",description:"Y\xEAu c\u1EA7u AI ki\u1EC3m tra tr\u1EA1ng th\xE1i m\xE1y ch\u1EE7 tr\u1EF1c ti\u1EBFp qua c\xE1c c\xF4ng c\u1EE5 ch\u1EC9 \u0111\u1ECDc an to\xE0n.",prompts:["t\u1EA1i sao b\u1ED9 nh\u1EDB cao?","cho t\xF4i xem 10 truy v\u1EA5n ch\u1EADm nh\u1EA5t","nh\u1EEFng client n\xE0o \u0111ang k\u1EBFt n\u1ED1i?","ch\xEDnh s\xE1ch maxmemory l\xE0 g\xEC?","c\xF3 l\u1EA7n tr\u1EE5c xu\u1EA5t n\xE0o g\u1EA7n \u0111\xE2y kh\xF4ng?","c\xF3 s\u1EF1 ki\u1EC7n \u0111\u1ED9 tr\u1EC5 n\xE0o kh\xF4ng?","m\xE1y ch\u1EE7 \u0111\xE3 ch\u1EA1y bao l\xE2u r\u1ED3i?","t\u1EF7 l\u1EC7 hit l\xE0 bao nhi\xEAu?","hi\u1EC3n th\u1ECB m\u1EE9c s\u1EED d\u1EE5ng cpu","t\xF3m t\u1EAFt keyspace","m\u1ED7i lo\u1EA1i d\u1EEF li\u1EC7u d\xF9ng bao nhi\xEAu b\u1ED9 nh\u1EDB?","c\xF3 g\xEC \u0111ang ch\u1EB7n m\xE1y ch\u1EE7 ngay b\xE2y gi\u1EDD kh\xF4ng?"]},keys:{name:"Kh\xF3a",description:"Ki\u1EC3m tra, t\xECm v\xE0 ph\xE2n t\xEDch c\xE1c kh\xF3a m\xE0 kh\xF4ng c\u1EA7n nh\u1EA5p qua c\xE2y.",prompts:["t\xECm t\u1EA5t c\u1EA3 c\xE1c kh\xF3a kh\u1EDBp user:*","m\u1ED7i c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\xF3 bao nhi\xEAu kh\xF3a?","hi\u1EC3n th\u1ECB hash l\u1EDBn nh\u1EA5t trong db n\xE0y","t\xECm c\xE1c kh\xF3a c\xF3 TTL d\u01B0\u1EDBi 60 gi\xE2y","kh\xF3a n\xE0o kh\xF4ng c\xF3 TTL?","kh\xF3a session:abc thu\u1ED9c ki\u1EC3u g\xEC?",'\u01B0\u1EDBc l\u01B0\u1EE3ng b\u1ED9 nh\u1EDB d\xF9ng b\u1EDFi ti\u1EC1n t\u1ED1 "session:"',"hi\u1EC3n th\u1ECB m\xE3 h\xF3a \u0111\u1ED1i t\u01B0\u1EE3ng c\u1EE7a kh\xF3a user:42","c\xF3 kh\xF3a n\xE0o s\u1EAFp h\u1EBFt h\u1EA1n kh\xF4ng?","namespace n\xE0o d\xF9ng nhi\u1EC1u b\u1ED9 nh\u1EDB nh\u1EA5t?"]},dataTypes:{name:"Ki\u1EC3u d\u1EEF li\u1EC7u",description:"Di\u1EC5n \u0111\u1EA1t b\u1EB1ng ng\xF4n ng\u1EEF t\u1EF1 nhi\xEAn cho thao t\xE1c t\u1EA1o/\u0111\u1ECDc/c\u1EADp nh\u1EADt tr\xEAn m\u1ECDi ki\u1EC3u Redis.",prompts:["t\u1EA1o m\u1ED9t hash c\xF3 t\xEAn user:1 v\u1EDBi c\xE1c tr\u01B0\u1EDDng name=Alice age=30","th\xEAm ba m\u1EE5c v\xE0o list tasks","th\xEAm th\xE0nh vi\xEAn v\xE0o set favourites","th\xEAm th\xE0nh vi\xEAn c\xF3 \u0111i\u1EC3m v\xE0o sorted set leaderboard","th\xEAm m\u1ED9t s\u1EF1 ki\u1EC7n v\xE0o stream events","l\u1EA5y 10 b\u1EA3n ghi cu\u1ED1i c\xF9ng t\u1EEB stream events","l\u1EA5y t\u1EA5t c\u1EA3 c\xE1c tr\u01B0\u1EDDng c\u1EE7a hash user:1","l\u1EA5y c\xE1c th\xE0nh vi\xEAn c\u1EE7a set favourites","l\u1EA5y top 10 theo \u0111i\u1EC3m t\u1EEB leaderboard","x\u1EBFp h\u1EA1ng c\xE1c m\u1EE5c theo s\u1ED1 set m\xE0 ch\xFAng xu\u1EA5t hi\u1EC7n (ZUNION AGGREGATE COUNT)"]},modules:{name:"Module",description:"Truy v\u1EA5n cho c\xE1c module Redis \u0111\xE3 t\u1EA3i (c\xE1c danh m\u1EE5c b\xEAn d\u01B0\u1EDBi ch\u1EC9 hi\u1EC3n th\u1ECB khi module c\xF3 m\u1EB7t).",prompts:[]},json:{name:"RedisJSON",description:"C\xF3 s\u1EB5n khi module ReJSON \u0111\u01B0\u1EE3c t\u1EA3i.",prompts:['t\u1EA1o m\u1ED9t t\xE0i li\u1EC7u JSON t\u1EA1i user:42 v\u1EDBi { name: "Alice", age: 30 }',"\u0111\u1ECDc tr\u01B0\u1EDDng name c\u1EE7a user:42","c\u1EADp nh\u1EADt age c\u1EE7a user:42 th\xE0nh 31","li\u1EC7t k\xEA t\u1EA5t c\u1EA3 c\xE1c kh\xF3a JSON","x\xF3a m\u1ED9t tr\u01B0\u1EDDng kh\u1ECFi t\xE0i li\u1EC7u JSON","l\u1EA5y m\u1ED9t tr\u01B0\u1EDDng l\u1ED3ng nhau d\xF9ng JSONPath","l\u01B0u m\u1ED9t m\u1EA3ng JSON g\u1ED3m c\xE1c float v\u1EDBi \u0111\u1ED9 ch\xEDnh x\xE1c gi\u1EA3m (FPHA BF16)"]},search:{name:"RediSearch",description:"C\xF3 s\u1EB5n khi module search \u0111\u01B0\u1EE3c t\u1EA3i.",prompts:["li\u1EC7t k\xEA t\u1EA5t c\u1EA3 c\xE1c ch\u1EC9 m\u1EE5c to\xE0n v\u0103n",'ch\u1EA1y t\xECm ki\u1EBFm to\xE0n v\u0103n cho "redis" tr\xEAn ch\u1EC9 m\u1EE5c idx:products',"t\u1EA1o m\u1ED9t ch\u1EC9 m\u1EE5c d\u1EF1a tr\xEAn hash v\u1EDBi c\xE1c tr\u01B0\u1EDDng title (TEXT) v\xE0 price (NUMERIC)","l\u1EA5y th\xF4ng tin v\u1EC1 ch\u1EC9 m\u1EE5c idx:products","x\xF3a ch\u1EC9 m\u1EE5c idx:products","t\xECm t\xE0i li\u1EC7u c\xF3 price n\u1EB1m gi\u1EEFa 10 v\xE0 50","vi\u1EBFt m\u1ED9t t\xECm ki\u1EBFm lai k\u1EBFt h\u1EE3p v\u0103n b\u1EA3n v\xE0 \u0111\u1ED9 t\u01B0\u01A1ng \u0111\u1ED3ng vector"]},timeseries:{name:"RedisTimeSeries",description:"C\xF3 s\u1EB5n khi module timeseries \u0111\u01B0\u1EE3c t\u1EA3i.",prompts:["li\u1EC7t k\xEA t\u1EA5t c\u1EA3 c\xE1c kh\xF3a timeseries","th\xEAm m\u1ED9t \u0111i\u1EC3m d\u1EEF li\u1EC7u v\xE0o temp:room1","l\u1EA5y d\u1EA3i temp:room1 t\u1EEB h\xF4m qua \u0111\u1EBFn b\xE2y gi\u1EDD","l\u1EA5y multi-range theo nh\xE3n sensor=temp","t\u1EA1o 100 \u0111i\u1EC3m d\u1EEF li\u1EC7u d\u1EA1ng s\xF3ng sin cho temp:room1","hi\u1EC3n th\u1ECB retention v\xE0 nh\xE3n cho temp:room1","l\u1EA5y min, max, first v\xE0 last cho m\u1ED7i bucket b\u1EB1ng m\u1ED9t TS.RANGE (candlestick)"]},bloom:{name:"RedisBloom (Bloom / Cuckoo / Top-K / CMS / T-Digest)",description:"C\xF3 s\u1EB5n khi module bf \u0111\u01B0\u1EE3c t\u1EA3i.",prompts:["ki\u1EC3m tra xem m\u1EE5c foo c\xF3 trong bloom filter spam:ips kh\xF4ng","th\xEAm c\xE1c m\u1EE5c v\xE0o bloom filter spam:ips","t\u1EA1o m\u1ED9t top-K t\xEAn popular v\u1EDBi K=10","truy v\u1EA5n count-min sketch traffic cho kh\xF3a /home","th\xEAm gi\xE1 tr\u1ECB v\xE0o t-digest v\xE0 l\u1EA5y ph\xE2n v\u1ECB th\u1EE9 95","hi\u1EC3n th\u1ECB th\xF4ng tin cho bloom filter spam:ips"]},vectorSet:{name:"VectorSet (Redis 8+)",description:"C\xF3 s\u1EB5n khi ph\xE1t hi\u1EC7n Redis 8+ (ki\u1EC3u VECTORSET g\u1ED1c).",prompts:["th\xEAm m\u1ED9t vector v\xE0o embeddings","t\xECm 10 vector t\u01B0\u01A1ng t\u1EF1 nh\u1EA5t v\u1EDBi m\u1ED9t vector truy v\u1EA5n","hi\u1EC3n th\u1ECB s\u1ED1 chi\u1EC1u v\xE0 s\u1ED1 l\u01B0\u1EE3ng c\u1EE7a vectorset embeddings","x\xF3a m\u1ED9t ph\u1EA7n t\u1EED kh\u1ECFi vectorset embeddings","t\xECm ki\u1EBFm theo t\xEAn ph\u1EA7n t\u1EED v\u1EDBi VSIM"]},array:{name:"M\u1EA3ng (Redis 8.8+)",description:"C\xF3 s\u1EB5n khi ph\xE1t hi\u1EC7n Redis 8.8+ (ki\u1EC3u ARRAY g\u1ED1c).",prompts:["t\u1EA1o m\u1ED9t m\u1EA3ng v\u1EDBi v\xE0i gi\xE1 tr\u1ECB","\u0111\u1EB7t gi\xE1 tr\u1ECB t\u1EA1i ch\u1EC9 m\u1EE5c 5 c\u1EE7a m\u1EA3ng c\u1EE7a t\xF4i","l\u1EA5y gi\xE1 tr\u1ECB t\u1EA1i m\u1ED9t ch\u1EC9 m\u1EE5c c\u1EE5 th\u1EC3","li\u1EC7t k\xEA t\u1EA5t c\u1EA3 ph\u1EA7n t\u1EED c\u1EE7a m\u1EA3ng b\u1EB1ng ARSCAN","x\xF3a ph\u1EA7n t\u1EED t\u1EA1i m\u1ED9t ch\u1EC9 m\u1EE5c","m\u1EA3ng c\u1EE7a t\xF4i c\xF3 bao nhi\xEAu ph\u1EA7n t\u1EED?"]},redis8:{name:"T\xEDnh n\u0103ng Redis 8+",description:"Hi\u1EC3n th\u1ECB khi ph\xE1t hi\u1EC7n Redis 8+.",prompts:["\u0111\u1EB7t TTL cho tr\u01B0\u1EDDng hash v\u1EDBi HEXPIRE","l\u1EA5y digest c\u1EE7a m\u1ED9t gi\xE1 tr\u1ECB chu\u1ED7i","ch\u1EA1y t\xECm ki\u1EBFm lai to\xE0n v\u0103n + vector (FT.HYBRID)","\u0111\u1EB7t nhi\u1EC1u kh\xF3a v\u1EDBi th\u1EDDi h\u1EA1n d\xF9ng chung b\u1EB1ng MSETEX","x\xF3a m\u1ED9t b\u1EA3n ghi stream v\u1EDBi consumer group (XDELEX)","hi\u1EC3n th\u1ECB slot-stats cluster cho 10 slot h\xE0ng \u0111\u1EA7u","gi\u1EDBi h\u1EA1n t\u1ED1c \u0111\u1ED9 m\u1ED9t key b\u1EB1ng b\u1ED9 \u0111\u1EBFm c\u1EEDa s\u1ED5 (INCREX)","negative-ack m\u1ED9t th\xF4ng \u0111i\u1EC7p stream \u0111ang pending v\xE0o dead-letter (XNACK)"]},scripting:{name:"Vi\u1EBFt script",description:"T\u1EA1o script Lua / EVAL t\u1EEB m\xF4 t\u1EA3 b\u1EB1ng ng\xF4n ng\u1EEF t\u1EF1 nhi\xEAn.",prompts:["vi\u1EBFt m\u1ED9t script nguy\xEAn t\u1EED t\u0103ng counter X ch\u1EC9 khi Y > 5","t\u1EA1o 100 kh\xF3a ng\u1EABu nhi\xEAn b\u1EB1ng Lua","chuy\u1EC3n pipeline shell n\xE0y th\xE0nh m\u1ED9t EVAL duy nh\u1EA5t: keys user:* | GET | grep inactive | DEL","chuy\u1EC3n m\u1ED9t thao t\xE1c h\xE0ng lo\u1EA1t sang Lua \u0111\u1EC3 an to\xE0n cho cluster","c\u1EADp nh\u1EADt ki\u1EC3u check-and-set trong m\u1ED9t l\u1EC7nh Lua duy nh\u1EA5t","duy\u1EC7t qua m\u1ED9t hash v\xE0 x\xF3a c\xE1c tr\u01B0\u1EDDng kh\u1EDBp m\u1EABu"]},cluster:{name:"Cluster",description:"Ch\u1EC9 hi\u1EC3n th\u1ECB trong ch\u1EBF \u0111\u1ED9 cluster.",prompts:["hi\u1EC3n th\u1ECB th\xF4ng tin cluster","li\u1EC7t k\xEA c\xE1c node c\u1EE7a cluster","hi\u1EC3n th\u1ECB 10 slot h\xE0ng \u0111\u1EA7u theo s\u1ED1 l\u01B0\u1EE3ng kh\xF3a","hi\u1EC3n th\u1ECB 10 slot h\xE0ng \u0111\u1EA7u theo b\u1ED9 nh\u1EDB","master n\xE0o s\u1EDF h\u1EEFu slot 5000?"]},acl:{name:"ACL (Redis 6+)",description:"Ki\u1EC3m tra ng\u01B0\u1EDDi d\xF9ng ki\u1EC3m so\xE1t truy c\u1EADp v\xE0 k\u1EBFt n\u1ED1i hi\u1EC7n t\u1EA1i.",prompts:["t\xF4i \u0111ang k\u1EBFt n\u1ED1i v\u1EDBi t\u01B0 c\xE1ch ai?","li\u1EC7t k\xEA t\u1EA5t c\u1EA3 ng\u01B0\u1EDDi d\xF9ng ACL","t\xF4i c\xF3 nh\u1EEFng quy\u1EC1n g\xEC?","hi\u1EC3n th\u1ECB c\xE1c quy t\u1EAFc c\u1EE7a ng\u01B0\u1EDDi d\xF9ng m\u1EB7c \u0111\u1ECBnh"]},qna:{name:"H\u1ECFi & \u0110\xE1p chung",description:"\u0110\u1EB7t c\xE2u h\u1ECFi v\u1EC1 ki\u1EBFn th\u1EE9c Redis \u2014 kh\xF4ng c\u1EA7n c\xF4ng c\u1EE5, ch\u1EC9 c\u1EA7n tr\u1EA3 l\u1EDDi.",prompts:["ZADD l\xE0 g\xEC?","cluster failover ho\u1EA1t \u0111\u1ED9ng nh\u01B0 th\u1EBF n\xE0o?","gi\u1EA3i th\xEDch SCAN so v\u1EDBi KEYS","khi n\xE0o n\xEAn d\xF9ng EVAL thay v\xEC nhi\u1EC1u l\u1EC7nh?","c\xE1c t\xF9y ch\u1ECDn l\u01B0u tr\u1EEF b\u1EC1n v\u1EEFng c\u1EE7a Redis l\xE0 g\xEC?","s\u1EF1 kh\xE1c bi\u1EC7t gi\u1EEFa RDB v\xE0 AOF l\xE0 g\xEC?","Redis Sentinel quy\u1EBFt \u0111\u1ECBnh master m\u1EDBi nh\u01B0 th\u1EBF n\xE0o?","gi\u1EA3i th\xEDch hash tag trong ch\u1EBF \u0111\u1ED9 cluster"]},translate:{name:"Ng\xF4n ng\u1EEF t\u1EF1 nhi\xEAn \u2192 L\u1EC7nh Redis",description:"M\xF4 t\u1EA3 \u0111i\u1EC1u b\u1EA1n mu\u1ED1n b\u1EB1ng ti\u1EBFng Vi\u1EC7t \u0111\u01A1n gi\u1EA3n (ho\u1EB7c b\u1EA5t k\u1EF3 ng\xF4n ng\u1EEF n\xE0o trong 54 ng\xF4n ng\u1EEF); AI s\u1EBD vi\u1EBFt l\u1EC7nh Redis.",prompts:["x\xF3a kh\xF3a user:42","\u0111\u1ED5i t\xEAn kh\xF3a foo th\xE0nh bar","cho kh\xF3a session:abc h\u1EBFt h\u1EA1n sau 10 gi\xE2y","sao ch\xE9p kh\xF3a source sang destination","t\u0103ng counter visits th\xEAm 5",'\u0111\u1EB7t kh\xF3a greeting th\xE0nh "hello" trong 1 gi\u1EDD',"cho t\xF4i xem 10 kh\xF3a \u0111\u01B0\u1EE3c truy c\u1EADp th\u01B0\u1EDDng xuy\xEAn nh\u1EA5t","x\xF3a t\u1EA5t c\u1EA3 kh\xF3a kh\u1EDBp temp:*"]}}},ssh:{on:"SSH \u0111ang b\u1EADt",off:"T\u1EAFt SSH",sshHost:"M\xE1y ch\u1EE7 SSH",sshPort:"C\u1ED5ng SSH",sshUsername:"T\xEAn ng\u01B0\u1EDDi d\xF9ng SSH",sshPassword:"M\u1EADt kh\u1EA9u SSH",sshPrivateKey:"Kh\xF3a ri\xEAng SSH"},isBuffer:n=>`[\u0111\u1ED1i t\u01B0\u1EE3ng ArrayBuffer] c\xF3 ngh\u0129a l\xE0 gi\xE1 tr\u1ECB l\xE0 d\u1EEF li\u1EC7u nh\u1ECB ph\xE2n ho\u1EB7c gi\xE1 tr\u1ECB l\u1EDBn h\u01A1n ${n.maxValueAsBuffer}`,streamValue:'Tr\u01B0\u1EDDng lu\u1ED3ng v\xE0 gi\xE1 tr\u1ECB l\xE0 m\u1ED9t oneliner. V\xED d\u1EE5: field1 value1 "field 2" "value 2"',streamTimestampId:"'*' c\xF3 ngh\u0129a l\xE0 \u0111\u01B0\u1EE3c t\u1EA1o t\u1EF1 \u0111\u1ED9ng ho\u1EB7c th\xF4ng s\u1ED1 k\u1EF9 thu\u1EADt l\xE0 <millisecondsTime>-<sequenceNumber>",unableToLoadKey:({key:n})=>`Kh\xF4ng th\u1EC3 t\u1EA3i kh\xF3a n\xE0y: ${n}. C\xF3 th\u1EC3, ch\xECa kh\xF3a \u0111\xE3 b\u1ECB x\xF3a. L\u1ED7i ch\xEDnh x\xE1c l\xE0 trong b\u1EA3ng \u0111i\u1EC1u khi\u1EC3n.`,bigJson:"\u0110\u1ED1i t\u01B0\u1EE3ng JSON n\xE0y c\xF3 dung l\u01B0\u1EE3ng tr\xEAn 10 kb, v\xEC v\u1EADy h\xE3y \u0111\u1EA3m b\u1EA3o b\u1EA1n bi\u1EBFt m\xECnh \u0111ang l\xE0m g\xEC v\xEC m\u1ED9t s\u1ED1 ch\u1EE9c n\u0103ng c\xF3 th\u1EC3 hi\u1EC3n th\u1ECB ch\u1EADm.",addNode:"Th\xEAm n\xFAt",validateJson:"X\xE1c th\u1EF1c JSON",reducedFunction:"Gi\u1EA3m ch\u1EE9c n\u0103ng",tooManyKeys:n=>`\u0110\u1ED1i v\u1EDBi c\xE1c ch\u1EE9c n\u0103ng t\u1ED1i \u0111a \u0111\u1EA7y \u0111\u1EE7, t\u1ED5ng s\u1ED1 ph\xEDm \u0111\u01B0\u1EE3c ph\xE9p l\xE0 ${n.maxLightKeysCount} \u0111\u1EBFm. C\u01A1 s\u1EDF d\u1EEF li\u1EC7u n\xE0y c\xF3 t\u1ED5ng s\u1ED1 kh\xF3a \u0111\u01B0\u1EE3c ph\xE9p ${n.count}. Vi\u1EC7c s\u1EAFp x\u1EBFp kh\xF3a v\xE0 th\xF4ng tin c\xE2y \u01B0a th\xEDch b\u1ED5 sung b\u1ECB v\xF4 hi\u1EC7u h\xF3a. Vi\u1EC7c t\xECm ki\u1EBFm ch\u1EC9 di\u1EC5n ra tr\xEAn m\xE1y ch\u1EE7 thay v\xEC t\xECm ki\u1EBFm tr\xEAn m\xE1y kh\xE1ch.`,redisCommandNotFound:"Kh\xF4ng t\xECm th\u1EA5y l\u1EC7nh Redis n\xE0o kh\u1EDBp ...",treeKeyStore:"Vi\u1EC7c s\u1EAFp x\u1EBFp (so s\xE1nh t\u1EF1 nhi\xEAn) \u0111\u01B0\u1EE3c th\u1EF1c thi tr\xEAn m\xE1y kh\xE1ch hay c\xF2n g\u1ECDi l\xE0 tr\xECnh duy\u1EC7t, c\xF3 ngh\u0129a l\xE0 n\xF3 c\xF3 m\u1ED9t h\xECnh ph\u1EA1t \u0111\u1ED1i v\u1EDBi c\xE1c t\u1EADp h\u1EE3p l\u1EDBn, ch\u1EB3ng h\u1EA1n nh\u01B0 h\u01A1n 10 ngh\xECn kh\xF3a, n\xF3 c\xF3 th\u1EC3 t\u1ED1n th\xEAm m\u1ED9t ch\xFAt th\u1EDDi gian \u0111\u1EC3 hi\u1EC3n th\u1ECB trang. Kh\xF4ng c\xF3 c\xE1ch s\u1EAFp x\u1EBFp kh\xF3a n\xE0o trong Redis, ch\u1EC9 nh\u01B0 th\u1EBF n\xE0y.",socketIoTimeout:n=>`Socket.IO \u0111\xE3 h\u1EBFt th\u1EDDi gian ch\u1EDD cho y\xEAu c\u1EA7u n\xE0y (t\u1ED1i \u0111a ${n.timeout/1e3} gi\xE2y)...`,resizerInfo:n=>`Chi\u1EC1u r\u1ED9ng t\u1ED1i thi\u1EC3u c\u1EE7a b\u1EA3ng b\xEAn tr\xE1i ho\u1EB7c b\xEAn ph\u1EA3i l\xE0 ${n.width}px`,jsonViewNotParsable:"Gi\xE1 tr\u1ECB n\xE0y kh\xF4ng th\u1EC3 ph\xE2n t\xEDch \u0111\u01B0\u1EE3c JSON ",ttlTitle:"\u0110\u1EB7t TTL trong v\xE0i gi\xE2y",passwordSecure:"M\u1EADt kh\u1EA9u c\xF3 th\u1EC3 tr\u1ED1ng nh\u01B0ng v\u1EABn hi\u1EC3n th\u1ECB c\xE1c k\xFD t\u1EF1, \u0111\xE2y l\xE0 m\u1ED9t t\xEDnh n\u0103ng b\u1EA3o m\u1EADt.",aclAuthHint:"S\u1EED d\u1EE5ng t\xEAn ng\u01B0\u1EDDi d\xF9ng v\xE0 m\u1EADt kh\u1EA9u Redis ACL \u0111\u1EC3 x\xE1c th\u1EF1c. \u0110\u1EC3 tr\u1ED1ng cho ng\u01B0\u1EDDi d\xF9ng m\u1EB7c \u0111\u1ECBnh kh\xF4ng c\xF3 m\u1EADt kh\u1EA9u.",tlsWithoutCert:"K\xEDch ho\u1EA1t TLS m\xE0 kh\xF4ng c\u1EA7n ch\u1EE9ng ch\u1EC9 b\u1ED5 sung",tlsRejectUnauthorized:"T\u1EEB ch\u1ED1i ch\u1EE9ng ch\u1EC9 tr\xE1i ph\xE9p",tlsSecure:"N\u1EBFu b\u1EA1n th\u1EA5y c\u1EA5u h\xECnh TLS b\u1EAFt \u0111\u1EA7u b\u1EB1ng P3X ho\u1EB7c t\u1EA5t c\u1EA3 c\xE0i \u0111\u1EB7t TLS tr\xF4ng gi\u1ED1ng nhau th\xEC \u0111\xF3 l\xE0 m\u1ED9t t\xEDnh n\u0103ng b\u1EA3o m\u1EADt. \u0110\u1EC3 thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t, ch\u1EC9 c\u1EA7n thay th\u1EBF c\xE1c c\xE0i \u0111\u1EB7t n\xE0y b\u1EB1ng tr\u1ED1ng ho\u1EB7c c\xE0i \u0111\u1EB7t kh\xE1c v\xE0 ch\xFAng s\u1EBD \u0111\u01B0\u1EE3c l\u01B0u. N\u1EBFu b\u1EA1n kh\xF4ng thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t TLS, c\xE0i \u0111\u1EB7t s\u1EBD \u0111\u01B0\u1EE3c gi\u1EEF nguy\xEAn tr\xEAn m\xE1y ch\u1EE7.",treeSeparatorEmpty:"N\u1EBFu d\u1EA5u t\xE1ch c\xE2y tr\u1ED1ng, c\xE2y s\u1EBD kh\xF4ng c\xF3 n\xFAt l\u1ED3ng nhau, ch\u1EC9 c\xF3 m\u1ED9t danh s\xE1ch thu\u1EA7n t\xFAy",treeSeparatorEmptyNote:"Kh\xF4ng c\xF3 n\xFAt l\u1ED3ng nhau, ch\u1EC9 c\xF3 m\u1ED9t danh s\xE1ch thu\u1EA7n t\xFAy",welcomeConsole:"Ch\xE0o m\u1EEBng b\u1EA1n \u0111\u1EBFn v\u1EDBi B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n Redis",welcomeConsoleInfo:"SHIFT + L\u1ECBch s\u1EED con tr\u1ECF L\xCAN ho\u1EB7c XU\u1ED0NG \u0111\u01B0\u1EE3c b\u1EADt",redisListIndexInfo:"Tr\u1ED1ng \u0111\u1EC3 n\u1ED1i th\xEAm, -1 \u0111\u1EC3 th\xEAm v\xE0o tr\u01B0\u1EDBc ho\u1EB7c l\u01B0u n\xF3 v\xE0o v\u1ECB tr\xED hi\u1EC3n th\u1ECB.",redisArrayIndexInfo:"\u0110\u1EC3 tr\u1ED1ng \u0111\u1EC3 th\xEAm v\xE0o ch\u1EC9 m\u1EE5c ti\u1EBFp theo, ho\u1EB7c nh\u1EADp m\u1ED9t ch\u1EC9 m\u1EE5c c\u1EE5 th\u1EC3 (cho ph\xE9p kho\u1EA3ng tr\u1ED1ng \u2014 m\u1EA3ng c\xF3 th\u1EC3 th\u01B0a).",console:"B\u1EA3ng \u0111i\u1EC1u khi\u1EC3n",connectiondAdd:"Th\xEAm k\u1EBFt n\u1ED1i",connectiondEdit:"Ch\u1EC9nh s\u1EEDa k\u1EBFt n\u1ED1i",connectiondView:"Xem k\u1EBFt n\u1ED1i",connections:"K\u1EBFt n\u1ED1i",keysSort:{on:"S\u1EAFp x\u1EBFp kh\xF3a \u0111ang b\u1EADt",off:"S\u1EAFp x\u1EBFp ch\xECa kh\xF3a"},cluster:{on:"Cluster \u0111ang b\u1EADt",off:"T\u1EAFt Cluster"},sentinel:{on:"Sentinel \u0111ang b\u1EADt",off:"T\u1EAFt Sentinel",name:"T\xEAn Sentinel"},readonly:{on:"B\u1EADt ch\u1EBF \u0111\u1ED9 ch\u1EC9 \u0111\u1ECDc",off:"T\u1EAFt ch\u1EBF \u0111\u1ED9 ch\u1EC9 \u0111\u1ECDc"},theme:{light:"\xC1nh s\xE1ng",dark:"Doanh nghi\u1EC7p \u0111en t\u1ED1i",darkNeu:"T\u1ED1i",darkoBluo:"m\xE0u xanh \u0111\u1EADm",enterprise:"Doanh nghi\u1EC7p",redis:"Redis",matrix:"Ma tr\u1EADn"},connected:n=>`\u0110\xE3 k\u1EBFt n\u1ED1i: ${n.name}`,tree:"C\xE2y",askAuth:"Y\xEAu c\u1EA7u \u1EE7y quy\u1EC1n",keyboardShortcuts:"Keyboard Shortcuts",about:"About",supportedLanguages:"Supported Languages",version:"Version",redisVersion:"Redis Version",modules:"M\xF4-\u0111un",shortcutRefresh:"Refresh",shortcutSearch:"Focus Search",shortcutNewKey:"New Key",shortcutDisconnect:"Ng\u1EAFt k\u1EBFt n\u1ED1i",themeAuto:"Auto (system)",languageAuto:"Auto (system)",shortcutCommandPalette:"B\u1EA3ng l\u1EC7nh",commandPalette:"B\u1EA3ng l\u1EC7nh",noResults:"Kh\xF4ng c\xF3 k\u1EBFt qu\u1EA3",redisCommandsReference:"L\u1EC7nh Redis",ungrouped:"Kh\xF4ng nh\xF3m",grouped:"Grouped",connectFirst:"K\u1EBFt n\u1ED1i v\u1EDBi m\xE1y ch\u1EE7 Redis tr\u01B0\u1EDBc",searchLanguage:"T\xECm ki\u1EBFm ng\xF4n ng\u1EEF...",exportProgress:"\u0110ang xu\u1EA5t kh\xF3a...",importProgress:"\u0110ang nh\u1EADp kh\xF3a...",importPreview:"Xem tr\u01B0\u1EDBc",importOverwrite:"Ghi \u0111\xE8",importSkip:"B\u1ECF qua",importConflict:"N\u1EBFu kh\xF3a \u0111\xE3 t\u1ED3n t\u1EA1i:",noKeysToExport:"Kh\xF4ng c\xF3 kh\xF3a \u0111\u1EC3 xu\u1EA5t",time:"Th\u1EDDi gian",type:"Lo\u1EA1i",format:"\u0110\u1ECBnh d\u1EA1ng",loading:"\u0110ang t\u1EA3i...",autoRefresh:"T\u1EF1 \u0111\u1ED9ng",exportSearchHint:"Ch\u1EC9 xu\u1EA5t c\xE1c kh\xF3a kh\u1EDBp v\u1EDBi t\xECm ki\u1EBFm hi\u1EC7n t\u1EA1i",importSearchHint:"Nh\u1EADp \xE1p d\u1EE5ng cho to\xE0n b\u1ED9 c\u01A1 s\u1EDF d\u1EEF li\u1EC7u, kh\xF4ng ch\u1EC9 k\u1EBFt qu\u1EA3 t\xECm ki\u1EBFm",deleteSearchHint:"X\xF3a t\u1EA5t c\u1EA3 c\xE1c kh\xF3a kh\u1EDBp v\u1EDBi t\xECm ki\u1EBFm hi\u1EC7n t\u1EA1i tr\xEAn m\xE1y ch\u1EE7",deletingSearchKeys:"\u0110ang x\xF3a c\xE1c kh\xF3a kh\u1EDBp...",importNoKeys:"Kh\xF4ng t\xECm th\u1EA5y kh\xF3a trong t\u1EC7p",desktopNotifications:"Th\xF4ng b\xE1o tr\xEAn m\xE1y t\xEDnh",desktopNotificationsEnabled:"B\u1EADt th\xF4ng b\xE1o tr\xEAn m\xE1y t\xEDnh",desktopNotificationsInfo:"Nh\u1EADn th\xF4ng b\xE1o h\u1EC7 \u0111i\u1EC1u h\xE0nh cho c\xE1c ng\u1EAFt k\u1EBFt n\u1ED1i v\xE0 k\u1EBFt n\u1ED1i l\u1EA1i Redis khi \u1EE9ng d\u1EE5ng kh\xF4ng \u0111\u01B0\u1EE3c focus."},status:{dataCopied:"D\u1EEF li\u1EC7u n\u1EB1m trong clipboard",exportDone:"Xu\u1EA5t ho\xE0n t\u1EA5t",deletedSearchKeys:n=>`\u0110\xE3 x\xF3a ${n.count} kh\xF3a`,indexCreated:"\u0110\xE3 t\u1EA1o ch\u1EC9 m\u1EE5c",indexDropped:"\u0110\xE3 x\xF3a ch\u1EC9 m\u1EE5c",importDone:n=>`Nh\u1EADp ho\xE0n t\u1EA5t: ${n.created} \u0111\xE3 t\u1EA1o, ${n.skipped} \u0111\xE3 b\u1ECF qua, ${n.errors} l\u1ED7i`,nodeRemoved:"\u0110\xE3 x\xF3a n\xFAt",keyIsNotExisting:"Kh\xF3a n\xE0y c\xF3 th\u1EC3 \u0111\xE3 b\u1ECB x\xF3a ho\u1EB7c h\u1EBFt h\u1EA1n.",keyCount:n=>n.keyCount===0?"Kh\xF4ng c\xF3 ch\xECa kh\xF3a":n.keyCount===1?"1 ch\xECa kh\xF3a":`${n.keyCount} ph\xEDm`,treeExpandAll:"M\u1EDF r\u1ED9ng t\u1EA5t c\u1EA3 c\xE1c l\xE1 c\xE2y. Ho\u1EA1t \u0111\u1ED9ng n\xE0y c\xF3 th\u1EC3 t\u1ED1n k\xE9m v\xE0 c\xF3 th\u1EC3 m\u1EA5t th\u1EDDi gian...",noRedisKeys:"Kh\xF4ng c\xF3 ch\xECa kh\xF3a trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u n\xE0y.",redisConnected:"Redis \u0111\xE3 k\u1EBFt n\u1ED1i th\xE0nh c\xF4ng",reverted:"\u0110\xE3 ho\xE0n t\xE1c",reloadingDataInfo:"\u0110ang t\u1EA3i l\u1EA1i th\xF4ng tin d\u1EEF li\u1EC7u Redis",added:"\u0110\xE3 th\xEAm",saved:"\u0110\xE3 c\u1EADp nh\u1EADt",cancelled:"\u0110\xE3 h\u1EE7y",deleted:"\u0110\xE3 x\xF3a",savedRedis:"D\u1EEF li\u1EC7u Redis \u0111\u01B0\u1EE3c l\u01B0u",redisDisconnected:n=>`K\u1EBFt n\u1ED1i hi\u1EC7n t\u1EA1i c\xF3 l\u1ED7i: ${n.error.message}`,dbChanged:n=>`Ch\u1EC9 m\u1EE5c db \u0111\u01B0\u1EE3c \u0111\u1EB7t th\xE0nh ${n.db}. `,treeDeleted:n=>`Kh\xF3a c\xE2y \u0111\xE3 b\u1ECB x\xF3a (${n.key}).`,deletedKey:n=>`Ch\xECa kh\xF3a \u0111\xE3 b\u1ECB x\xF3a (${n.key}).`,renamedKey:"Ch\xECa kh\xF3a n\xE0y \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u1ED5i t\xEAn",ttlChanged:"TTL c\u1EE7a kh\xF3a n\xE0y \u0111\xE3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i",notInteger:"D\u1EEF li\u1EC7u \u0111\u1EA7u v\xE0o n\xE0y kh\xF4ng ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn",persisted:"Ch\xECa kh\xF3a n\xE0y \u0111\u01B0\u1EE3c t\u1ED3n t\u1EA1i m\xE3i m\xE3i",set:"Kh\xF3a \u0111\u01B0\u1EE3c \u0111\u1EB7t/th\xEAm",connectionRestored:"K\u1EBFt n\u1ED1i \u0111\xE3 \u0111\u01B0\u1EE3c kh\xF4i ph\u1EE5c",socketDisconnected:"\u0110\xE3 ng\u1EAFt k\u1EBFt n\u1ED1i",socketError:"L\u1ED7i k\u1EBFt n\u1ED1i",deletedHashKey:"Kh\xF3a hash \u0111\xE3 x\xF3a",deletedArrayIndex:"\u0110\xE3 x\xF3a ph\u1EA7n t\u1EED m\u1EA3ng",deletedSetMember:"Th\xE0nh vi\xEAn set \u0111\xE3 x\xF3a",deletedListElement:"Ph\u1EA7n t\u1EED danh s\xE1ch \u0111\xE3 x\xF3a",deletedZSetMember:"Th\xE0nh vi\xEAn sorted set \u0111\xE3 x\xF3a",deletedStreamTimestamp:"M\u1EE5c stream \u0111\xE3 x\xF3a"},code:{"delete-connection":"K\u1EBFt n\u1ED1i n\xE0y \u0111\xE3 b\u1ECB x\xF3a n\xEAn b\u1EA1n b\u1ECB ng\u1EAFt k\u1EBFt n\u1ED1i v\u1EDBi phi\xEAn b\u1EA3n Redis n\xE0y.","save-connection":"K\u1EBFt n\u1ED1i n\xE0y \u0111\xE3 thay \u0111\u1ED5i n\xEAn b\u1EA1n b\u1ECB ng\u1EAFt k\u1EBFt n\u1ED1i v\u1EDBi phi\xEAn b\u1EA3n Redis n\xE0y. B\u1EA1n c\xF3 th\u1EC3 k\u1EBFt n\u1ED1i l\u1EA1i.","readonly-connections":"C\xE1c k\u1EBFt n\u1ED1i th\xEAm/l\u01B0u/x\xF3a ch\u1EC9 \u1EDF ch\u1EBF \u0111\u1ED9 \u0111\u1ECDc!","readonly-connection-mode":"K\u1EBFt n\u1ED1i n\xE0y l\xE0 ch\u1EBF \u0111\u1ED9 ch\u1EC9 \u0111\u1ECDc!","list-out-of-bounds":"Ch\u1EC9 m\u1EE5c danh s\xE1ch n\xE0y n\u1EB1m ngo\xE0i gi\u1EDBi h\u1EA1n","invalid-json-value":"Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 JSON.",http_auth_required:"Y\xEAu c\u1EA7u \u1EE7y quy\u1EC1n: vui l\xF2ng x\xE1c th\u1EF1c b\u1EB1ng HTTP Basic Auth v\xE0 t\u1EA3i l\u1EA1i.","auto-connection-failed":"C\xF3 th\u1EC3 k\u1EBFt n\u1ED1i \u0111\xE3 b\u1ECB x\xF3a v\xE0 k\u1EBFt n\u1ED1i t\u1EF1 \u0111\u1ED9ng kh\xF4ng th\xE0nh c\xF4ng v\xEC \u0111i\u1EC1u n\xE0y.",invalid_console_command:"L\u1EC7nh n\xE0y kh\xF4ng ho\u1EA1t \u0111\u1ED9ng th\xF4ng qua GUI.",AI_DISABLED:"AI \u0111\xE3 b\u1ECB t\u1EAFt. B\u1EADt n\xF3 trong C\xE0i \u0111\u1EB7t AI.",AI_PROMPT_REQUIRED:"Y\xEAu c\u1EA7u AI l\xE0 b\u1EAFt bu\u1ED9c.",GROQ_API_KEY_READONLY:"Kh\xF3a Groq API ch\u1EC9 \u0111\u1ECDc v\xE0 kh\xF4ng th\u1EC3 s\u1EEDa \u0111\u1ED5i.",blocked_api_access:"G\xF3i Groq API c\u1EE7a b\u1EA1n kh\xF4ng cho ph\xE9p truy c\u1EADp v\xE0o m\xF4 h\xECnh n\xE0y. Vui l\xF2ng n\xE2ng c\u1EA5p g\xF3i Groq ho\u1EB7c s\u1EED d\u1EE5ng proxy network.corifeus.com.",rate_limit:"\u0110\xE3 \u0111\u1EA1t gi\u1EDBi h\u1EA1n t\u1ED1c \u0111\u1ED9 AI. Th\u1EED l\u1EA1i sau ho\u1EB7c s\u1EED d\u1EE5ng kh\xF3a Groq API c\u1EE7a ri\xEAng b\u1EA1n trong C\xE0i \u0111\u1EB7t."},form:{error:{required:"B\u1EAFt bu\u1ED9c",port:"C\u1ED5ng n\u1EB1m trong kho\u1EA3ng 1-65535",invalid:"Bi\u1EC3u m\u1EABu kh\xF4ng h\u1EE3p l\u1EC7"},connection:{label:{name:"T\xEAn",group:"Group",host:"T\xEAn m\xE1y ch\u1EE7",port:"C\u1EA3ng",password:"M\u1EADt kh\u1EA9u",username:"T\xEAn ng\u01B0\u1EDDi d\xF9ng"}},treeSettings:{maxValueDisplay:"\u0110\u1ED9 d\xE0i chu\u1ED7i hi\u1EC3n th\u1ECB gi\xE1 tr\u1ECB t\u1ED1i \u0111a",maxValueDisplayInfo:"N\u1EBFu \u0111\u01B0\u1EE3c \u0111\u1EB7t th\xE0nh 0, hi\u1EC3n th\u1ECB gi\xE1 tr\u1ECB \u0111\u1EA7y \u0111\u1EE7. N\u1EBFu l\u1EDBn h\u01A1n 0, h\xE3y c\u1EAFt b\u1EDBt \u0111\u1ED9 d\xE0i n\xE0y. N\u1EBFu -1: \u0111\u1ED1i v\u1EDBi chu\u1ED7i, \u1EA9n gi\xE1 tr\u1ECB cho \u0111\u1EBFn khi ch\u1EC9nh s\u1EEDa; \u0111\u1ED1i v\u1EDBi c\xE1c lo\u1EA1i kh\xE1c, hi\u1EC3n th\u1ECB n\u1ED9i dung \u0111\u1EA7y \u0111\u1EE7.",maxKeys:"S\u1ED1 l\u01B0\u1EE3ng ph\xEDm t\u1ED1i \u0111a",maxKeysInfo:"\u0110\u1EC3 GUI kh\xF4ng g\u1EB7p s\u1EF1 c\u1ED1, ch\xFAng t\xF4i gi\u1EDBi h\u1EA1n s\u1ED1 l\u01B0\u1EE3ng kh\xF3a t\u1ED1i \u0111a.",keyCount:n=>`S\u1ED1 l\u01B0\u1EE3ng ph\xEDm: ${n?.keyCount??0}`,label:{animation:"S\u1EED d\u1EE5ng ho\u1EA1t \u1EA3nh",noAnimation:"Kh\xF4ng c\xF3 h\xECnh \u1EA3nh \u0111\u1ED9ng",undoEnabled:"Ho\xE0n t\xE1c \u0111\xE3 b\u1EADt",undoDisabled:"Ho\xE0n t\xE1c \u0111\xE3 t\u1EAFt",diffEnabled:"Hi\u1EC3n th\u1ECB diff tr\u01B0\u1EDBc khi l\u01B0u",diffDisabled:"Diff tr\u01B0\u1EDBc khi l\u01B0u \u0111\xE3 t\u1EAFt",jsonFormatTwoSpace:"\u0110\u1ECBnh d\u1EA1ng JSON c\xF3 2 d\u1EA5u c\xE1ch",jsonFormatFourSpace:"\u0110\u1ECBnh d\u1EA1ng JSON c\xF3 4 d\u1EA5u c\xE1ch",formName:"C\xE0i \u0111\u1EB7t Redis",searchModeClient:"Ch\u1EBF \u0111\u1ED9 t\xECm ki\u1EBFm kh\xE1ch h\xE0ng",searchModeServer:"Ch\u1EBF \u0111\u1ED9 t\xECm ki\u1EBFm m\xE1y ch\u1EE7",searchModeStartsWith:"T\xECm ki\u1EBFm b\u1EB1ng ch\u1EBF \u0111\u1ED9 b\u1EAFt \u0111\u1EA7u",searchModeIncludes:"T\xECm ki\u1EBFm bao g\u1ED3m ch\u1EBF \u0111\u1ED9"},undoHint:"Ho\xE0n t\xE1c ch\u1EC9 kh\u1EA3 d\u1EE5ng cho lo\u1EA1i kh\xF3a string v\xE0 JSON",field:{treeSeparator:"T\xE1ch c\xE2y",treeSeparatorSelector:"B\u1ED9 ch\u1ECDn t\xE1ch c\xE2y",page:"S\u1ED1 l\u1EA7n ph\xE2n trang c\xE2y",keyPageCount:"S\u1ED1 l\u1EA7n ph\xE2n trang ch\xEDnh",keysSort:"S\u1EAFp x\u1EBFp c\xE1c ph\xEDm",searchMode:"Ch\u1EBF \u0111\u1ED9 t\xECm ki\u1EBFm",searchModeStartsWith:"T\xECm ki\u1EBFm b\u1EAFt \u0111\u1EA7u b\u1EB1ng / bao g\u1ED3m"},error:{keyPageCount:"S\u1ED1 trang ch\xEDnh ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn trong kho\u1EA3ng t\u1EEB 5 - 100",page:"S\u1ED1 trang ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn trong kho\u1EA3ng 10 - 5000",maxValueDisplay:"Gi\xE1 tr\u1ECB hi\u1EC3n th\u1ECB t\u1ED1i \u0111a ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn trong kho\u1EA3ng t\u1EEB -1 \u0111\u1EBFn 32768",maxKeys:"Gi\xE1 tr\u1ECB s\u1ED1 l\u01B0\u1EE3ng kh\xF3a t\u1ED1i \u0111a ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn trong kho\u1EA3ng t\u1EEB 100 \u0111\u1EBFn 100000"}},key:{label:{formName:{add:"Th\xEAm kh\xF3a Redis m\u1EDBi",edit:"Ch\u1EC9nh s\u1EEDa kh\xF3a Redis",append:"Th\xEAm v\xE0o kh\xF3a Redis hi\u1EC7n c\xF3"}},field:{streamTimestamp:"D\u1EA5u th\u1EDDi gian",key:"Ch\xECa kh\xF3a",type:"Lo\u1EA1i",index:"ch\u1EC9 m\u1EE5c",hashKey:"Kh\xF3a b\u0103m",score:"\u0110i\u1EC3m",value:"Gi\xE1 tr\u1ECB",errorRate:"T\u1EF7 l\u1EC7 l\u1ED7i",capacity:"Dung l\u01B0\u1EE3ng",topk:"Top K",width:"Chi\u1EC1u r\u1ED9ng",depth:"Chi\u1EC1u s\xE2u",decay:"Suy gi\u1EA3m",compression:"N\xE9n",increment:"Gia t\u0103ng",item:"M\u1EE5c",vectorValues:"Gi\xE1 tr\u1ECB vector (ph\xE2n t\xE1ch b\u1EB1ng d\u1EA5u ph\u1EA9y)",element:"T\xEAn ph\u1EA7n t\u1EED"},error:{streamTimestamp:"D\u1EA5u th\u1EDDi gian l\xE0 b\u1EAFt bu\u1ED9c, \u1EDF \u0111\u1ECBnh d\u1EA1ng Redis ho\u1EB7c \u1EDF d\u1EA1ng *",key:"Ch\xECa kh\xF3a \xEDt nh\u1EA5t l\xE0 m\u1ED9t k\xFD t\u1EF1",hashKey:"Kh\xF3a b\u1EA3ng b\u0103m c\xF3 \xEDt nh\u1EA5t m\u1ED9t k\xFD t\u1EF1",score:"\u0110i\u1EC3m s\u1ED1 \u0111\xE3 s\u1EAFp x\u1EBFp l\xE0 b\u1EAFt bu\u1ED9c",value:"Gi\xE1 tr\u1ECB l\xE0 b\u1EAFt bu\u1ED9c",errorRate:"T\u1EF7 l\u1EC7 l\u1ED7i ph\u1EA3i n\u1EB1m trong kho\u1EA3ng t\u1EEB 0 \u0111\u1EBFn 1 (vd. 0.01)",capacity:"Dung l\u01B0\u1EE3ng ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn d\u01B0\u01A1ng",topk:"Top K ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn d\u01B0\u01A1ng",width:"Chi\u1EC1u r\u1ED9ng ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn d\u01B0\u01A1ng",depth:"Chi\u1EC1u s\xE2u ph\u1EA3i l\xE0 s\u1ED1 nguy\xEAn d\u01B0\u01A1ng",item:"M\u1EE5c l\xE0 b\u1EAFt bu\u1ED9c"}},main:{label:{database:"DB"}}},page:{search:{title:"T\xECm ki\u1EBFm",index:"Ch\u1EC9 m\u1EE5c",query:"Truy v\u1EA5n",results:"K\u1EBFt qu\u1EA3",noIndex:"Kh\xF4ng t\xECm th\u1EA5y ch\u1EC9 m\u1EE5c",createIndex:"T\u1EA1o ch\u1EC9 m\u1EE5c",dropIndex:"X\xF3a ch\u1EC9 m\u1EE5c",indexInfo:"Th\xF4ng tin ch\u1EC9 m\u1EE5c",indexName:"T\xEAn ch\u1EC9 m\u1EE5c",prefix:"Ti\u1EC1n t\u1ED1 kh\xF3a (t\xF9y ch\u1ECDn)",fieldName:"T\xEAn tr\u01B0\u1EDDng",hybridMode:"T\xECm ki\u1EBFm k\u1EBFt h\u1EE3p (FT.HYBRID)",vectorField:"Tr\u01B0\u1EDDng vector",vectorValues:"Gi\xE1 tr\u1ECB vector"},monitor:{title:"Gi\xE1m s\xE1t",memory:"B\u1ED9 nh\u1EDB",opsPerSec:"Thao t\xE1c/gi\xE2y",clients:"K\u1EBFt n\u1ED1i",blocked:"B\u1ECB ch\u1EB7n",hitsMisses:"T\u1EF7 l\u1EC7 tr\xFAng",networkIo:"M\u1EA1ng I/O",slowLog:"Nh\u1EADt k\xFD ch\u1EADm",noSlowQueries:"Kh\xF4ng c\xF3 truy v\u1EA5n ch\u1EADm n\xE0o \u0111\u01B0\u1EE3c ghi l\u1EA1i.",confirmSlowLogReset:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n \u0111\u1EB7t l\u1EA1i nh\u1EADt k\xFD ch\u1EADm kh\xF4ng?",slowLogResetDone:"Nh\u1EADt k\xFD ch\u1EADm \u0111\xE3 \u0111\u01B0\u1EE3c \u0111\u1EB7t l\u1EA1i.",totalCommands:"T\u1ED5ng",expired:"H\u1EBFt h\u1EA1n",evicted:"B\u1ECB lo\u1EA1i",clientList:"Danh s\xE1ch k\u1EBFt n\u1ED1i",topKeys:"Kh\xF3a l\u1EDBn nh\u1EA5t theo b\u1ED9 nh\u1EDB",killClient:"Ng\u1EAFt k\u1EBFt n\u1ED1i",clientKilled:"K\u1EBFt n\u1ED1i \u0111\xE3 b\u1ECB ng\u1EAFt",confirmKillClient:"B\u1EA1n c\xF3 ch\u1EAFc mu\u1ED1n ng\u1EAFt k\u1EBFt n\u1ED1i n\xE0y?",noKeys:"Kh\xF4ng c\xF3 kh\xF3a",rss:"RSS",peak:"\u0110\u1EC9nh",fragmentation:"Ph\xE2n M\u1EA3nh",hitsAndMisses:"Tr\xFAng / Tr\u01B0\u1EE3t",noClients:"Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i",slotStats:"Th\u1ED1ng k\xEA slot c\u1EE5m",serverInfo:"Th\xF4ng tin m\xE1y ch\u1EE7",os:"H\u1EC7 \u0111i\u1EC1u h\xE0nh",port:"C\u1ED5ng m\u1EA1ng",pid:"ID ti\u1EBFn tr\xECnh",configFile:"T\u1EC7p c\u1EA5u h\xECnh",uptime:"Th\u1EDDi gian ho\u1EA1t \u0111\u1ED9ng",keyspace:"Kh\xF4ng gian kh\xF3a Redis",keys:"Ph\xEDm Redis",expires:"H\u1EBFt h\u1EA1n",noKeyspace:"Kh\xF4ng c\xF3 kh\xF3a",persistence:"T\xEDnh ki\xEAn tr\xEC c\u1EE7a d\u1EEF li\u1EC7u",rdbLastSave:"L\u01B0u l\u1EA7n cu\u1ED1i RDB",rdbStatus:"Tr\u1EA1ng th\xE1i RDB",rdbChanges:"Nh\u1EEFng thay \u0111\u1ED5i k\u1EC3 t\u1EEB l\u1EA7n l\u01B0u cu\u1ED1i c\xF9ng",aofEnabled:"\u0110\xE3 b\u1EADt AOF",aofSize:"K\xEDch th\u01B0\u1EDBc AOF",replication:"B\u1EA3n sao Redis",role:"Vai tr\xF2 sao ch\xE9p",replicas:"B\u1EA3n sao \u0111\u01B0\u1EE3c k\u1EBFt n\u1ED1i",masterHost:"M\xE1y ch\u1EE7 ch\xEDnh",linkStatus:"Tr\u1EA1ng th\xE1i li\xEAn k\u1EBFt sao ch\xE9p",cpu:"S\u1EED d\u1EE5ng CPU",cpuSys:"H\u1EC7 th\u1ED1ng",cpuUser:"ng\u01B0\u1EDDi d\xF9ng",modules:"\u0110\xE3 t\u1EA3i m\xF4-\u0111un Redis",noModules:"Kh\xF4ng c\xF3 m\xF4-\u0111un Redis n\xE0o \u0111\u01B0\u1EE3c t\u1EA3i",clusterSlotMap:"B\u1EA3n \u0111\u1ED3 v\u1ECB tr\xED c\u1EE5m Redis",slotRange:"Ph\u1EA1m vi khe c\u1EAFm c\u1EE5m",totalSlots:"T\u1ED5ng s\u1ED1 v\u1ECB tr\xED c\u1EE5m",noClusterData:"Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u c\u1EE5m Redis."},analysis:{title:"Ph\xE2n T\xEDch B\u1ED9 Nh\u1EDB",runAnalysis:"Ch\u1EA1y Ph\xE2n T\xEDch",running:"\u0110ang ph\xE2n t\xEDch...",typeDistribution:"Ph\xE2n B\u1ED1 Lo\u1EA1i",prefixMemory:"B\u1ED9 Nh\u1EDB theo Ti\u1EC1n T\u1ED1",topKeysByMemory:"Kh\xF3a L\u1EDBn Nh\u1EA5t theo B\u1ED9 Nh\u1EDB",expirationOverview:"H\u1EBFt H\u1EA1n Kh\xF3a",memoryBreakdown:"Chi Ti\u1EBFt B\u1ED9 Nh\u1EDB",keysScanned:"Kh\xF3a \u0110\xE3 Qu\xE9t",totalMemory:"T\u1ED5ng B\u1ED9 Nh\u1EDB",rssMemory:"B\u1ED9 Nh\u1EDB RSS",peakMemory:"B\u1ED9 Nh\u1EDB \u0110\u1EC9nh",luaMemory:"B\u1ED9 Nh\u1EDB Lua",overheadMemory:"Chi Ph\xED Ph\u1EE5",datasetMemory:"T\u1EADp D\u1EEF Li\u1EC7u",fragmentation:"Ph\xE2n M\u1EA3nh",allocator:"B\u1ED9 C\u1EA5p Ph\xE1t",withTTL:"C\xF3 TTL",persistent:"V\u0129nh Vi\u1EC5n",avgTTL:"TTL Trung B\xECnh",prefix:"Ti\u1EC1n T\u1ED1",keyCount:"S\u1ED1 L\u01B0\u1EE3ng Kh\xF3a",memoryUsage:"S\u1EED D\u1EE5ng B\u1ED9 Nh\u1EDB",noPrefix:"(kh\xF4ng c\xF3 ti\u1EC1n t\u1ED1)",topN:"Top N",maxScanKeys:"T\u1ED1i \u0110a Kh\xF3a Qu\xE9t",type:"Lo\u1EA1i",noData:"Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u. Nh\u1EA5p Ch\u1EA1y Ph\xE2n T\xEDch \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u.",exportAll:"Xu\u1EA5t T\u1EA5t C\u1EA3",memoryDoctor:"Memory Doctor",doctorNoData:"Nh\u1EA5p v\xE0o L\xE0m m\u1EDBi \u0111\u1EC3 ch\u1EA1y ch\u1EA9n \u0111o\xE1n Memory Doctor."},acl:{title:"Ng\u01B0\u1EDDi d\xF9ng ACL",loadUsers:"T\u1EA3i ng\u01B0\u1EDDi d\xF9ng",loading:"\u0110ang t\u1EA3i...",username:"T\xEAn ng\u01B0\u1EDDi d\xF9ng",status:"Tr\u1EA1ng th\xE1i",enabled:"\u0110\xE3 b\u1EADt",disabled:"\u0110\xE3 t\u1EAFt",commands:"L\u1EC7nh",commandsHint:"v\xED d\u1EE5: +@all or +@read -@dangerous",keys:"M\u1EABu kh\xF3a Redis",keysHint:"v\xED d\u1EE5: ~* or ~user:*",channels:"K\xEAnh Pub/Sub",channelsHint:"v\xED d\u1EE5: &* or &notifications:*",password:"M\u1EADt kh\u1EA9u",noPassword:"Kh\xF4ng c\xF3 m\u1EADt kh\u1EA9u (nopass)",passwordHint:"\u0110\u1EC3 tr\u1ED1ng \u0111\u1EC3 gi\u1EEF m\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i",currentUser:"hi\u1EC7n t\u1EA1i",createUser:"T\u1EA1o ng\u01B0\u1EDDi d\xF9ng",editUser:"Ch\u1EC9nh s\u1EEDa ng\u01B0\u1EDDi d\xF9ng",deleteUser:"X\xF3a",confirmDelete:"B\u1EA1n c\xF3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\xF3a ng\u01B0\u1EDDi d\xF9ng ACL kh\xF4ng?",userDeleted:"Ng\u01B0\u1EDDi d\xF9ng ACL \u0111\xE3 b\u1ECB x\xF3a.",userSaved:"Ng\u01B0\u1EDDi d\xF9ng ACL \u0111\xE3 \u0111\u01B0\u1EE3c l\u01B0u.",cannotDeleteDefault:"Kh\xF4ng th\u1EC3 x\xF3a ng\u01B0\u1EDDi d\xF9ng m\u1EB7c \u0111\u1ECBnh.",cannotDeleteSelf:"Kh\xF4ng th\u1EC3 x\xF3a ng\u01B0\u1EDDi d\xF9ng hi\u1EC7n \u0111ang k\u1EBFt n\u1ED1i.",noUsers:"ACL y\xEAu c\u1EA7u Redis 6.0+.",groupCommon:"Chung",groupDataTypes:"Ki\u1EC3u d\u1EEF li\u1EC7u",groupOperations:"Ho\u1EA1t \u0111\u1ED9ng",rules:"Quy t\u1EAFc",rulesHint:"M\xE3 th\xF4ng b\xE1o \u0111\u01B0\u1EE3c ph\xE2n t\xE1ch b\u1EB1ng d\u1EA5u c\xE1ch (v\xED d\u1EE5 on >password +@all ~* &*)",defaultUserWarning:"Th\u1EADn tr\u1ECDng: Vi\u1EC7c s\u1EEDa \u0111\u1ED5i ng\u01B0\u1EDDi d\xF9ng m\u1EB7c \u0111\u1ECBnh c\xF3 th\u1EC3 kh\xF3a t\u1EA5t c\u1EA3 c\xE1c k\u1EBFt n\u1ED1i. N\u1EBFu \u0111i\u1EC1u n\xE0y x\u1EA3y ra, b\u1EA1n s\u1EBD c\u1EA7n ph\u1EA3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Redis ho\u1EB7c s\u1EED d\u1EE5ng redis-cli \u0111\u1EC3 kh\xF4i ph\u1EE5c quy\u1EC1n truy c\u1EADp."},overview:{noConnected:"Kh\xF4ng c\xF3 k\u1EBFt n\u1ED1i v\u1EDBi Redis.",overviewClients:"Li\u1EC7t k\xEA c\xE1c k\u1EBFt n\u1ED1i theo s\u1ED1 l\u01B0\u1EE3ng kh\xE1ch h\xE0ng",connectedCount:n=>n.length===1?"1 kh\xE1ch h\xE0ng":`${n.length} kh\xE1ch h\xE0ng`},key:{label:{key:"Ch\xECa kh\xF3a",encoding:"M\xE3 h\xF3a",compression:"N\xE9n",aiRateLimited:"\u0110\xE3 \u0111\u1EA1t gi\u1EDBi h\u1EA1n y\xEAu c\u1EA7u AI. Th\u1EED l\u1EA1i sau ho\u1EB7c s\u1EED d\u1EE5ng kh\xF3a API Groq c\u1EE7a ri\xEAng b\u1EA1n trong C\xE0i \u0111\u1EB7t.",aiError:"Truy v\u1EA5n AI th\u1EA5t b\u1EA1i",length:"K\xEDch th\u01B0\u1EDBc",ttl:"TTL",ttlTitle:"Th\u1EDDi gian \u0111\u1EC3 s\u1ED1ng",type:"Lo\u1EA1i",ttlNotExpire:"kh\xF4ng h\u1EBFt h\u1EA1n",lengthString:"byte",lengthItem:"\u0111\u1ED3 v\u1EADt",actions:"h\xE0nh \u0111\u1ED9ng"},list:{table:{index:"ch\u1EC9 m\u1EE5c",value:"Gi\xE1 tr\u1ECB"}},array:{table:{index:"ch\u1EC9 m\u1EE5c",value:"Gi\xE1 tr\u1ECB"}},hash:{table:{hashkey:"M\xE3 b\u0103m",value:"Gi\xE1 tr\u1ECB"}},set:{table:{value:"Th\xE0nh vi\xEAn"}},zset:{table:{value:"Th\xE0nh vi\xEAn",score:"\u0110i\u1EC3m"}},stream:{table:{timestamp:"ID d\u1EA5u th\u1EDDi gian",field:"tr\u01B0\u1EDDng",value:"Gi\xE1 tr\u1ECB"}},timeseries:{chart:"Bi\u1EC3u \u0111\u1ED3",info:"Th\xF4ng tin",addPoint:"Th\xEAm \u0111i\u1EC3m d\u1EEF li\u1EC7u",from:"T\u1EEB (ms ho\u1EB7c -)",to:"\u0110\u1EBFn (ms ho\u1EB7c +)",aggregation:"T\u1ED5ng h\u1EE3p",timeBucket:"Nh\xF3m (ms)",none:"Kh\xF4ng c\xF3",dataPoints:"\u0111i\u1E