RSS Git Download  Clone
Raw Blame History 80kB 1082 lines
const strings = {
  error: {
    server_error: "სერვერის შეცდომა, გთხოვთ სცადოთ ხელახლა",
    aiPromptTooLong: "AI მოთხოვნა ზედმეტად გრძელია (მაქსიმუმ 4096 სიმბოლო)",
  },
  title: {
    donate: "შემოწირულობა",
    donateTitle: "მხარი დაუჭირეთ P3X Redis UI-ს",
    donateDescription: "P3X Redis UI არის უფასო, ღია კოდის პროექტი. აპლიკაციის, AI ფუნქციების, Docker სურათების, სერვერების და ინფრასტრუქტურის მოვლის ხარჯები დეველოპერის საკუთარი ჯიბიდან მოდის. თუ ეს ინსტრუმენტი სასარგებლო გეჩვენებათ, გთხოვთ, განიხილოთ მისი მუდმივი განვითარების მხარდაჭერა შემოწირულობით. ყოველი წვლილი ეხმარება პროექტს სიცოცხლესა და ზრდაში. გმადლობთ!",
    jsonRecursive: "ყველა ფოთლის გაფართოება",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "თქვენ შეგიძლიათ აირჩიოთ Redis კავშირი ქვედა მარცხენა მენიუდან დასაკავშირებლად.",
    statistics: "სტატისტიკა",
    error: "შეცდომა",
    connectingRedis: "დაკავშირება Redis-თან ...",
    socketioConnectError: "Socket.IO შეცდომა",
    db: "DB",
    server: "სერვერი",
    clients: "კლიენტები",
    memory: "მეხსიერება",
    persistence: "გამძლეობა",
    stats: "სტატისტიკა",
    replication: "რეპლიკაცია",
    cpu: "CPU",
    cluster: "Cluster",
    modules: "მოდულები",
    errorstats: "errorstats",
    commandstats: "commandstats",
    latencystats: "latencystats",
    keysizes: "keysizes",
    threads: "threads"
  },
  confirm: {
    dropIndex: "დარწმუნebuli ხართ?",
    uploadBuffer: "დარწმუნებული ხართ, რომ ატვირთავთ ამ ორობით მონაცემს?",
    uploadBufferDone: "ორობითი მონაცემები ატვირთულია",
    uploadBufferDoneAndSave: "ბინარული მონაცემები აიტვირთება და ინახება სერვერზე",
    title: "დაადასტურეთ",
    alert: "გაფრთხილება",
    info: "ინფორმაცია",
    deleteListItem: "დარწმუნებული ხართ, რომ წაშლით ამ სიის ერთეულს?",
    deleteHashKey: "დარწმუნებული ხართ, რომ წაშლით ამ ჰეშის გასაღების ერთეულს?",
    deleteStreamTimestamp: "დარწმუნებული ხართ, რომ წაშლით ამ ნაკადის დროის ნიშანს?",
    deleteSetMember: "დარწმუნებული ხართ, რომ წაშლით ამ ნაკრების წევრს?",
    deleteZSetMember: "დარწმუნებული ხართ, რომ წაშლით ამ დალაგებული ნაკრების წევრს?",
    deleteConnection: "დაადასტურეთ",
    deleteConnectionText: "დარწმუნებული ხართ, რომ წაშალეთ ეს Redis კავშირი?",
    delete: "\u10ec\u10d0\u10e8\u10da\u10d0?",
    deleteNode: "დარწმუნებული ხართ, რომ წაშლით ამ Redis კვანძს?",
    deleteAllKeys: opts => {
      return `წაშალე ეს ხე და მისი ყველა გასაღები (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `დარწმუნებული ხართ, რომ წაშლით ყველა გასაღებს, რომლებიც ემთხვევა "${opts.pattern}"-ს? ნაპოვნია ${opts.count} გასაღები.`;
    },
    socketioConnectError: "Socket.IO ვერ დაუკავშირდება სერვერს, შეგიძლიათ გადატვირთოთ და თავად სცადოთ კავშირის შეცდომის მოგვარება, კლიენტმა არ იცის როგორ მოაგვაროს იგი.",
    socketioAuthRequired: "საჭიროა Socket.IO ავტორიზაცია. გთხოვთ, გადაამოწმოთ ავტორიზაცია HTTP Basic Auth (მომხმარებლის სახელი/პაროლი) და გადატვირთეთ.",
    invalidCredentials: "არასწორი მომხმარებლის სახელი ან პაროლი.",
    deleteKey: "დარწმუნებული ხართ, რომ წაშალეთ ეს გასაღები?",
    rename: {
      title: "დარწმუნებული ხართ, რომ გადაარქმევთ ამ გასაღებს?",
      textContent: "ეს მოქმედება კლავს სამუდამოდ გადარქმევს.",
      placeholder: "Redis გასაღები (აუცილებელია)"
    },
    ttl: {
      title: "დარწმუნებული ხართ, რომ გსურთ შეცვალოთ ამ გასაღების TTL?",
      textContent: "TTL-ის შეცვლა განაახლებს ამ გასაღების სიცოცხლის ხანგრძლივობას. დატოვეთ ცარიელი, რომ ეს გასაღები სამუდამოდ შეინახოთ.",
      placeholder: "Redis გასაღების TTL (მთელი ან ცარიელი)",
      placeholderPlaceholder: "ცარიელი ნიშნავს, რომ ის სამუდამოდ გრძელდება; წინააღმდეგ შემთხვევაში შეიყვანეთ მთელი რიცხვი.",
      convertTextToTime: "ტექსტის დროში გადაყვანა",
      convertTextToTimePlaceholder: "მაგ. 1d იქნება 86400"
    }
  },
  language: {
    ar: "العربية / Arabic",
    az: "Azərbaycanca / Azerbaijani",
    be: "Беларуская / Belarusian",
    bg: "Български / Bulgarian",
    bn: "বাংলা / Bengali",
    cs: "Čeština / Czech",
    da: "Dansk / Danish",
    de: "Deutsch / German",
    el: "Ελληνικά / Greek",
    en: "English",
    es: "Español / Spanish",
    et: "Eesti / Estonian",
    fi: "Suomi / Finnish",
    fil: "Filipino / Filipino",
    fr: "Français / French",
    he: "עברית / Hebrew",
    hr: "Hrvatski / Croatian",
    hu: "Magyar / Hungarian",
    hy: "Հայերեն / Armenian",
    id: "Bahasa Indonesia / Indonesian",
    it: "Italiano / Italian",
    ja: "日本語 / Japanese",
    ka: "ქართული / Georgian",
    kk: "Қазақша / Kazakh",
    km: "ខ្មែរ / Khmer",
    ko: "한국어 / Korean",
    ky: "Кыргызча / Kyrgyz",
    lt: "Lietuvių / Lithuanian",
    mk: "Македонски / Macedonian",
    ms: "Bahasa Melayu / Malay",
    ne: "नेपाली / Nepali",
    nl: "Nederlands / Dutch",
    no: "Norsk / Norwegian",
    pl: "Polski / Polish",
    "pt-BR": "Português (Brasil) / Portuguese (Brazil)",
    "pt-PT": "Português / Portuguese",
    ro: "Română / Romanian",
    ru: "Русский / Russian",
    sk: "Slovenčina / Slovak",
    sl: "Slovenščina / Slovenian",
    sr: "Српски / Serbian",
    sv: "Svenska / Swedish",
    tg: "Тоҷикӣ / Tajik",
    th: "ไทย / Thai",
    tr: "Türkçe / Turkish",
    uk: "Українська / Ukrainian",
    vi: "Tiếng Việt / Vietnamese",
    "zh-HK": "中文(香港) / Chinese (Hong Kong)",
    "zh-TW": "中文(台灣) / Chinese (Taiwan)",
    zn: "中文 / Chinese",
    bs: 'Bosanski / Bosnian',
    si: 'සිංහල / Sinhala',
    sw: 'Kiswahili / Swahili',
    ta: 'தமிழ் / Tamil'
  },
  intention: {
    copy: "კოპირება",
    downloadBuffer: "ჩამოტვირთეთ ორობითი",
    setBuffer: "ატვირთეთ ორობითი",
    exportKeys: "გასაღებების ექსპორტი",
    exportAllKeys: (opts) => `ყველა ${opts.count} გასაღების ექსპორტი`,
    exportSearchResults: (opts) => `${opts.count} შედეგის ექსპორტი`,
    deleteAllKeysMenu: (opts) => `ყველას წაშლა ${opts.count}`,
    importKeys: "გასაღებების იმპორტი",
    deleteSearchKeys: (opts) => `${opts.count} შესაბამისი გასაღების წაშლა`,
    saveWithFormatJson: "შეინახეთ ფორმატით",
    formatJson: "ფორმატი Json",
    wrap: "შეფუთვა",
    unwrap: "გაშალეთ",
    downloadJson: "ჩამოტვირთეთ JSON",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "ანალიზი",
    // When you translate the language, keep the Language in English
    // eg. Idioma / Language
    language: "ენა",
    ok: "OK",
    addKey: "დაამატეთ ამ გასაღებს",
    addKeyRoot: "დაამატეთ root გასაღები",
    reloadKey: "გადატვირთეთ გასაღები",
    reload: "გადატვირთვა",
    close: "დახურვა",
    commands: "ბრძანებები",
    view: "ხედი",
    statistics: "სტატისტიკა",
    refresh: "განაახლეთ",
    pause: "პაუზა",
    resume: "გაგრძელება",
    clear: "წმინდა",
    rename: "გადარქმევა",
    main: "მონაცემთა ბაზა",
    cancel: "გაუქმება",
    theme: "თემა",
    github: "GitHub",
    githubRepo: "საცავი",
    githubRelease: "რელიზები",
    githubChangelog: "ცვლილებების ჟურნალი",
    info: "ინფორმაცია",
    settings: "პარამეტრები",
    connect: "დაკავშირება",
    disconnect: "გათიშვა",
    logout: "გასვლა",
    overview: "მიმოხილვა",
    console: "კონსოლი",
    noConnections: "კავშირები არ არის, დაამატეთ კავშირი პარამეტრების მენიუში.",
    noConnectionsInSettings: "კავშირები არ არის, ზემოთ შეგიძლიათ დაამატოთ ახალი კავშირი.",
    connectionAdd: "ახალი კავშირი",
    addGroup: "ჯგუფის დამატება",
    extend: "გააგრძელე",
    collapse: "კოლაფსი",
    add: "დამატება",
    edit: "რედაქტირება",
    save: "შენახვა",
    ttl: "დააყენეთ TTL",
    fieldTtl: "ველის TTL",
    digest: "დაიჯესტი",
    delete: "წაშლა",
    remove: "ამოღება",
    areYouSure: "დარწმუნებული ხართ?",
    sure: "რა თქმა უნდა",
    testConnection: "ტესტი კავშირი",
    getKey: "იტვირთება Redis გასაღები და მასთან დაკავშირებული მონაცემები...",
    jsonViewShow: "ეკრანი JSON",
    jsonViewEditor: "JSON რედაქტირება",
    quickConsole: "სწრაფი კონსოლი",
    moveUp: "ზემოთ აწევა",
    moveDown: "ქვემოთ ჩამოწევა",
  },
  diff: {
    reviewChanges: "\u10ea\u10d5\u10da\u10d8\u10da\u10d4\u10d1\u10d4\u10d1\u10d8\u10e1 \u10d2\u10d0\u10d3\u10d0\u10ee\u10d4\u10d3\u10d5\u10d0",
    inline: "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10e8\u10d8",
    sideBySide: "\u10d2\u10d5\u10d4\u10e0\u10d3\u10d8\u10d2\u10d5\u10d4\u10e0\u10d3",
    additions: "\u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d4\u10d1\u10d8",
    deletions: "\u10ec\u10d0\u10e8\u10da\u10d4\u10d1\u10d8",
    unchangedLines: "\u10e3\u10ea\u10d5\u10da\u10d4\u10da\u10d8 \u10ee\u10d0\u10d6\u10d4\u10d1\u10d8",
    noChanges: "\u10ea\u10d5\u10da\u10d8\u10da\u10d4\u10d1\u10d4\u10d1\u10d8 \u10d5\u10d4\u10e0 \u10db\u10dd\u10d8\u10eb\u10d4\u10d1\u10dc\u10d0",
    before: "\u10db\u10d0\u10dc\u10d0\u10db\u10d3\u10d4",
    after: "\u10e8\u10d4\u10db\u10d3\u10d4\u10d2",
  },
  label: {
    id: {
      nodeId: "კვანძის ID",
      id: "კავშირის ID",
      info: "თუ არ გსურთ შეცვალოთ თვისებები: sshPassword, sshPrivateKey, პაროლი, tlsCrt, tlsKey, tlsCa, გთხოვთ, შეიყვანოთ კავშირის ID ამ თვისებებში, რათა შეინარჩუნოთ ქონების მნიშვნელობები ხელუხლებელი. თუ გსურთ იგივე ლოგიკა კვანძის პაროლში, მაშინ შეიყვანეთ კვანძის ID კვანძის პაროლში."
    },
    secureFeature: "თუ ხედავთ მნიშვნელობას, რომელიც იწყება P3X-ით და ერთნაირად გამოიყურება, ეს უსაფრთხოების ფუნქციაა. პარამეტრების შესაცვლელად, უბრალოდ შეცვალეთ ეს პარამეტრები ცარიელი მნიშვნელობით ან სხვა რამით და ისინი შეინახება. თუ პარამეტრებს არ შეცვლით, ისინი სერვერზე არსებულ მდგომარეობაში დარჩება.",
    aiTranslating: "ითარგმნება...",
    aiSettings: "AI პარამეტრები",
    aiGroqApiKey: "Groq API გასაღები",
    aiGroqApiKeyInfo: "არასავალდებულო. თქვენი Groq API გასაღები უკეთესი წარმადობისთვის. მიიღეთ უფასო გასაღები",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "AI API გასაღები შენახულია",
    aiGroqApiKeyInvalid: "Groq API გასაღები არასწორია",
    aiGroqApiKeyNotSet: "არ არის დაყენებული (სერვერის ნაგულისხმევი)",
    aiEnabled: "AI ჩართულია",
    aiEnabledYes: "დიახ",
    aiEnabledNo: "არა",
    aiRouteViaNetwork: "გაგზავნა network.corifeus.com-ით",
    aiRoutingDirect: "მოთხოვნები პირდაპირ იგზავნება Groq-ზე თქვენი საკუთარი API გასაღების გამოყენებით, network.corifeus.com-ის გვერდის ავლით.",
    aiRoutingNetwork: "AI მოთხოვნები გადის network.corifeus.com-ით. თუ გაქვთ საკუთარი უფასო Groq API გასაღები, შეგიძლიათ გამორთოთ ეს გადამრთველი და მოთხოვნები პირდაპირ Groq-ზე გააგზავნოთ network.corifeus.com-ის გარეშე.",
    aiMaxTokens: "AI მაქსიმალური ტოკენები",
    aiMaxTokensInfo: "AI პასუხებისთვის მაქსიმალური ტოკენების რაოდენობა. უფრო მაღალი მნიშვნელობა უფრო გრძელ პასუხებს იძლევა, მაგრამ შეიძლება მეტი API კრედიტი გამოიყენოს.",
    consoleDrawer: {
      toggleTooltip: "Კონსოლის გადართვა",
      clearTooltip: "საუბრის გაწმენდა",
      closeTooltip: "Კონსოლის დახურვა",
      aiSettingsTooltip: "AI პარამეტრები",
      modeRedis: "REDIS",
      modeAi: "AI",
      connectionChipNoDb: opts => `${opts.name}`,
      connectionChipWithDb: opts => `${opts.name} · db ${opts.db}`,
      pageChip: opts => `page: ${opts.page}`,
      connectingTo: opts => `Დაკავშირება ${opts.name} -თან…`,
      connectedTo: opts => `Დაკავშირებულია ${opts.name} (Redis ${opts.version} ${opts.mode}, ${opts.modules} მოდული ჩაიტვირთა)`,
      connectedToNoInfo: opts => `Დაკავშირებულია ${opts.name}`,
      disconnectedFrom: opts => `Გათიშულია ${opts.name} -დან`,
      readyIndicator: "მზადაა."
    },
    cheatsheet: {
      title: "AI სწრაფი ცნობარი — რა შემიძლია ვკითხო?",
      subtitle: "დააჭირეთ ნებისმიერ მოთხოვნას კონსოლში ჩასასმელად. შემდეგ დააჭირეთ Enter-ს.",
      searchPlaceholder: "მოთხოვნების გაფილტვრა…",
      openOfficialDocs: "Redis ბრძანებები ↗",
      openOfficialDocsTooltip: "გახსენით ოფიციალური Redis ბრძანებების ცნობარი redis.io-ზე",
      closeTooltip: "დახურვა (Esc)",
      empty: "თქვენს ფილტრს არცერთი მოთხოვნა არ ემთხვევა.",
      footerHint: "რჩევა: აკრიფეთ \"ai:\" და მის შემდეგ ნებისმიერ ენაზე ნებისმიერი რამ — AI ფლობს 54 ენას და საჭიროების შემთხვევაში იყენებს Redis-ის ცოცხალ მდგომარეობას.",
      groups: {
        diagnostics: {
          name: "ცოცხალი დიაგნოსტიკა",
          description: "სთხოვეთ AI-ს, გამოიკვლიოს სერვერის მიმდინარე მდგომარეობა უსაფრთხო წაკითხვის ხელსაწყოებით.",
          prompts: [
            "რატომ არის მეხსიერება მაღალი?",
            "მაჩვენე 10 ყველაზე ნელი შეკითხვა",
            "რომელი კლიენტები არიან დაკავშირებული?",
            "რა არის maxmemory პოლიტიკა?",
            "იყო თუ არა ბოლო დროს რაიმე eviction?",
            "არის რაიმე latency მოვლენა?",
            "რამდენი ხანია სერვერი მუშაობს?",
            "რა არის hit rate?",
            "მაჩვენე CPU-ს გამოყენება",
            "შეაჯამე keyspace",
            "თითო მონაცემთა ტიპი რამდენ მეხსიერებას იყენებს?",
            "ამჟამად რამე ბლოკავს სერვერს?"
          ]
        },
        keys: {
          name: "გასაღებები",
          description: "შეამოწმეთ, მოძებნეთ და გააანალიზეთ გასაღებები ხის გავლის გარეშე.",
          prompts: [
            "იპოვე ყველა გასაღები user:* -ის შესაბამისი",
            "რამდენი გასაღებია თითოეულ მონაცემთა ბაზაში?",
            "მაჩვენე ყველაზე დიდი hash ამ db-ში",
            "იპოვე გასაღებები, რომლებსაც TTL 60 წამზე ნაკლები აქვთ",
            "რომელ გასაღებებს არ აქვთ TTL?",
            "რა ტიპისაა გასაღები session:abc?",
            "შეაფასე \"session:\" პრეფიქსის მიერ გამოყენებული მეხსიერება",
            "მაჩვენე გასაღების user:42 ობიექტის კოდირება",
            "არის თუ არა გასაღებები, რომლებიც მალე ამოიწურება?",
            "რომელი namespace იყენებს ყველაზე მეტ მეხსიერებას?"
          ]
        },
        dataTypes: {
          name: "მონაცემთა ტიპები",
          description: "ყოველი Redis ტიპის შექმნის/წაკითხვის/განახლების ბუნებრივენოვანი ფრაზები.",
          prompts: [
            "შექმენი hash სახელად user:1 ველებით name=Alice age=30",
            "დაამატე სამი ელემენტი list tasks-ში",
            "დაამატე წევრები set favourites-ში",
            "დაამატე ქულიანი წევრები sorted set leaderboard-ში",
            "დაურთე მოვლენა stream events-ს",
            "მიიღე ბოლო 10 ჩანაწერი stream events-იდან",
            "მიიღე hash user:1 -ის ყველა ველი",
            "მიიღე set favourites-ის წევრები",
            "მიიღე საუკეთესო 10 ქულის მიხედვით leaderboard-იდან"
          ]
        },
        modules: {
          name: "მოდულები",
          description: "ჩატვირთული Redis მოდულების შეკითხვები (ქვემოთ მოცემული კატეგორიები ჩნდება მხოლოდ მაშინ, როცა მოდული არის).",
          prompts: []
        },
        json: {
          name: "RedisJSON",
          description: "ხელმისაწვდომია, როცა ReJSON მოდული ჩატვირთულია.",
          prompts: [
            "შექმენი JSON დოკუმენტი user:42 -ზე შინაარსით { name: \"Alice\", age: 30 }",
            "წაიკითხე user:42 -ის name ველი",
            "განაახლე user:42 -ის age 31-ზე",
            "ჩამოთვალე ყველა JSON გასაღები",
            "წაშალე ველი JSON დოკუმენტიდან",
            "მიიღე ჩადგმული ველი JSONPath-ით"
          ]
        },
        search: {
          name: "RediSearch",
          description: "ხელმისაწვდომია, როცა search მოდული ჩატვირთულია.",
          prompts: [
            "ჩამოთვალე ყველა სრული ტექსტის ინდექსი",
            "გაუშვი სრული ტექსტის ძიება \"redis\" -ზე ინდექსში idx:products",
            "შექმენი hash-ზე დაფუძნებული ინდექსი ველებით title (TEXT) და price (NUMERIC)",
            "მიიღე ინფორმაცია ინდექსზე idx:products",
            "წაშალე ინდექსი idx:products",
            "იპოვე დოკუმენტები, სადაც ფასი 10-დან 50-მდეა",
            "დაწერე ჰიბრიდული ძიება, რომელიც აერთიანებს ტექსტსა და ვექტორის მსგავსებას"
          ]
        },
        timeseries: {
          name: "RedisTimeSeries",
          description: "ხელმისაწვდომია, როცა timeseries მოდული ჩატვირთულია.",
          prompts: [
            "ჩამოთვალე ყველა timeseries გასაღები",
            "დაამატე მონაცემის წერტილი temp:room1 -ში",
            "მიიღე temp:room1 -ის დიაპაზონი გუშინდლიდან დღემდე",
            "მიიღე მრავალდიაპაზონიანი label sensor=temp -ით",
            "წარმოქმენი 100 სინუსოიდური მონაცემის წერტილი temp:room1 -ისთვის",
            "მაჩვენე temp:room1 -ის retention და ლეიბლები"
          ]
        },
        bloom: {
          name: "RedisBloom (Bloom / Cuckoo / Top-K / CMS / T-Digest)",
          description: "ხელმისაწვდომია, როცა bf მოდული ჩატვირთულია.",
          prompts: [
            "შეამოწმე, არსებობს თუ არა ელემენტი foo bloom filter spam:ips -ში",
            "დაამატე ელემენტები bloom filter spam:ips -ში",
            "შექმენი top-K სახელად popular K=10 -ით",
            "მოითხოვე count-min sketch traffic გასაღებისთვის /home",
            "დაამატე მნიშვნელობები t-digest -ში და მიიღე 95-ე პროცენტილი",
            "მაჩვენე bloom filter spam:ips -ის ინფორმაცია"
          ]
        },
        vectorSet: {
          name: "VectorSet (Redis 8+)",
          description: "ხელმისაწვდომია, როცა აღმოჩენილია Redis 8+ (მშობლიური VECTORSET ტიპი).",
          prompts: [
            "დაამატე ვექტორი embeddings -ში",
            "იპოვე 10 ვექტორი, რომლებიც ყველაზე მსგავსია საძიებო ვექტორისა",
            "მაჩვენე vectorset embeddings -ის განზომილებები და რაოდენობა",
            "წაშალე ელემენტი vectorset embeddings -იდან",
            "მოძებნე ელემენტის სახელით VSIM-ით"
          ]
        },
        redis8: {
          name: "Redis 8+ ფუნქციები",
          description: "ნაჩვენებია, როცა აღმოჩენილია Redis 8+.",
          prompts: [
            "დააყენე hash ველის ttl HEXPIRE-ით",
            "მიიღე სტრიქონის მნიშვნელობის დაიჯესტი",
            "გაუშვი ჰიბრიდული სრული ტექსტის + ვექტორული ძიება (FT.HYBRID)",
            "დააყენე რამდენიმე გასაღები საერთო ვადის გასვლით MSETEX-ით",
            "წაშალე stream ჩანაწერი consumer group-ით (XDELEX)",
            "მაჩვენე cluster slot-stats საუკეთესო 10 slot-ისთვის"
          ]
        },
        scripting: {
          name: "სკრიპტინგი",
          description: "წარმოქმენი Lua / EVAL სკრიპტები ბუნებრივენოვანი აღწერებიდან.",
          prompts: [
            "დაწერე ატომური სკრიპტი, რომელიც ზრდის მრიცხველ X-ს მხოლოდ იმ შემთხვევაში, თუ Y > 5",
            "წარმოქმენი 100 შემთხვევითი გასაღები Lua-თი",
            "გადააქციე ეს shell pipeline ერთ EVAL-ად: keys user:* | GET | grep inactive | DEL",
            "პორტირება გაუკეთე batch ოპერაციას Lua-ზე cluster-ის უსაფრთხოებისთვის",
            "check-and-set სტილის განახლება ერთ Lua გამოძახებაში",
            "ჩაიარე hash-ზე და წაშალე ველები, რომლებიც შეესაბამება შაბლონს"
          ]
        },
        cluster: {
          name: "კლასტერი",
          description: "ნაჩვენებია მხოლოდ cluster რეჟიმში.",
          prompts: [
            "მაჩვენე cluster ინფორმაცია",
            "ჩამოთვალე cluster ნოდები",
            "მაჩვენე საუკეთესო 10 slot გასაღებების რაოდენობის მიხედვით",
            "მაჩვენე საუკეთესო 10 slot მეხსიერების მიხედვით",
            "რომელი master ფლობს slot 5000-ს?"
          ]
        },
        acl: {
          name: "ACL (Redis 6+)",
          description: "შეამოწმეთ წვდომის კონტროლის მომხმარებლები და მიმდინარე კავშირი.",
          prompts: [
            "რა მომხმარებლად ვარ დაკავშირებული?",
            "ჩამოთვალე ყველა ACL მომხმარებელი",
            "რა უფლებები მაქვს?",
            "მაჩვენე default მომხმარებლის წესები"
          ]
        },
        qna: {
          name: "ზოგადი კითხვა-პასუხი",
          description: "დასვი Redis-ის ცოდნის კითხვები — ხელსაწყოების გარეშე, მხოლოდ პასუხები.",
          prompts: [
            "რა არის ZADD?",
            "როგორ მუშაობს cluster failover?",
            "ახსენი SCAN vs KEYS",
            "როდის უნდა გამოვიყენო EVAL რამდენიმე ბრძანების ნაცვლად?",
            "რა არის Redis-ის persistence ვარიანტები?",
            "რა განსხვავებაა RDB-სა და AOF-ს შორის?",
            "როგორ წყვეტს Redis Sentinel ახალ master-ს?",
            "ახსენი hash tags cluster რეჟიმში"
          ]
        },
        translate: {
          name: "ბუნებრივი ენა → Redis ბრძანება",
          description: "აღწერე, რა გსურთ ქართულად (ან 54 ენიდან ერთ-ერთზე); AI დაწერს Redis ბრძანებას.",
          prompts: [
            "წაშალე გასაღები user:42",
            "გადაარქვი გასაღები foo სახელად bar",
            "გააქრე გასაღები session:abc 10 წამში",
            "დააკოპირე გასაღები source მიზნად destination -ში",
            "გაზარდე მრიცხველი visits 5-ით",
            "დააყენე გასაღები greeting მნიშვნელობაზე \"hello\" 1 საათის განმავლობაში",
            "მაჩვენე 10 ყველაზე ხშირად ნახმარი გასაღები",
            "წაშალე ყველა გასაღები, რომელიც ემთხვევა temp:* -ს"
          ]
        }
      }
    },
    ssh: {
      on: "SSH ჩართულია",
      off: "SSH გამორთულია",
      sshHost: "SSH ჰოსტი",
      sshPort: "SSH პორტი",
      sshUsername: "SSH მომხმარებლის სახელი",
      sshPassword: "SSH პაროლი",
      sshPrivateKey: "SSH პირადი გასაღები"
    },
    isBuffer: opts => `[object ArrayBuffer] ნიშნავს, რომ მნიშვნელობა არის ორობითი მონაცემები ან მნიშვნელობა უფრო დიდია ${opts.maxValueAsBuffer}`,
    streamValue: `ნაკადის ველი და მნიშვნელობა არის ერთი ხაზი. მაგ.: field1 value1 "ველი 2" "მნიშვნელობა 2"`,
    streamTimestampId: `'*' ნიშნავს ავტომატურად გენერირებულს ან სპეციფიკაციას, როგორც <millisecondsTime>-<sequenceNumber>`,
    unableToLoadKey: ({
      key
    }) => {
      return `ამ გასაღების ჩატვირთვა შეუძლებელია: ${key}. შესაძლებელია, გასაღები წაიშალა. ზუსტი შეცდომა კონსოლშია.`;
    },
    bigJson: "ეს JSON ობიექტი 10 კბ-ზე მეტია, ამიტომ დარწმუნდით, რომ იცით რას აკეთებთ, რადგან ზოგიერთი ფუნქცია შეიძლება იყოს ნელი რენდერით.",
    addNode: "კვანძის დამატება",
    validateJson: "დაადასტურეთ JSON",
    reducedFunction: `შემცირებული ფუნქციონირება`,
    tooManyKeys: opts => {
      return `სრული მაქსიმალური ფუნქციებისთვის ნებადართული კლავიშები არის ${opts.maxLightKeysCount} ითვლიან. ამ მონაცემთა ბაზას აქვს ნებადართული გასაღებები მთლიანობაში ${opts.count}. გასაღების დახარისხება და დამატებითი ლამაზი ხის ინფორმაცია გამორთულია. ძებნა ხდება მხოლოდ სერვერზე, კლიენტის ძიების ნაცვლად.`;
    },
    redisCommandNotFound: "Redis ბრძანების შესატყვისი ვერ მოიძებნა ...",
    treeKeyStore: `დახარისხება (ბუნებრივი შედარება) შესრულებულია კლიენტზე, ანუ ბრაუზერზე, რაც ნიშნავს, რომ მას აქვს ჯარიმა დიდი დიდი ნაკრებისთვის, როგორიცაა 10 ათასზე მეტი კლავიატურა, შესაძლოა ცოტა დრო დაამატოს გვერდის რენდერს. Redis-ში არ არის გასაღების დახარისხება, მხოლოდ ასე.`,
    socketIoTimeout: options => {
      return `Socket.IO ამ მოთხოვნის დრო ამოიწურა (მაქს ${options.timeout / 1000} წამი)...`;
    },
    resizerInfo: options => {
      return `მარცხენა ან მარჯვენა პანელის მინიმალური სიგანეა ${options.width}px`;
    },
    jsonViewNotParsable: "ეს მნიშვნელობა არ არის JSON გასაანალიზებელი  ",
    ttlTitle: "დააყენეთ TTL წამებში",
    passwordSecure: "პაროლი შეიძლება ცარიელი იყოს, მაგრამ მაინც აჩვენებს სიმბოლოებს, ეს უსაფრთხოების ფუნქციაა.",
    aclAuthHint: "ავთენტიფიკაციისთვის გამოიყენეთ Redis ACL მომხმარებლის სახელი და პაროლი. პაროლის გარეშე ნაგულისხმევი მომხმარებლისთვის დატოვეთ ცარიელი.",
    tlsWithoutCert: "ჩართეთ TLS დამატებითი სერტიფიკატის გარეშე",
    tlsRejectUnauthorized: "უარი თქვით არასანქცირებულ სერტიფიკატზე",
    tlsSecure: "თუ ხედავთ TLS კონფიგურაციას, რომელიც იწყება P3X-ით ან ყველა TLS პარამეტრი ერთნაირად გამოიყურება, ეს უსაფრთხო ფუნქციაა. პარამეტრების შესაცვლელად, უბრალოდ შეცვალეთ ეს პარამეტრები ცარიელი ან სხვა რამით და ისინი შეინახება. თუ არ შეცვლით TLS პარამეტრებს, პარამეტრები შენარჩუნდება როგორც სერვერზეა.",
    treeSeparatorEmpty: "თუ ხეების გამყოფი ცარიელია, ხეს არ ექნება ჩადგმული კვანძები, მხოლოდ სუფთა სია",
    treeSeparatorEmptyNote: "არ არის ჩადგმული კვანძები, მხოლოდ სუფთა სია",
    welcomeConsole: "კეთილი იყოს თქვენი მობრძანება Redis კონსოლში",
    welcomeConsoleInfo: "SHIFT + კურსორის UP ან DOWN ისტორია ჩართულია",
    redisListIndexInfo: "ცარიელი დასამატებლად, -1 დასამაგრებლად ან შესანახად ნაჩვენები პოზიციაზე.",
    console: "კონსოლი",
    connectiondAdd: "კავშირის დამატება",
    connectiondEdit: "კავშირის რედაქტირება",
    connectiondView: "კავშირის ნახვა",
    connections: "კავშირები",
    keysSort: {
      on: "გასაღების დახარისხება ჩართულია",
      off: "გასაღების დახარისხება"
    },
    cluster: {
      on: "Cluster ჩართულია",
      off: "Cluster გამორთულია"
    },
    sentinel: {
      on: "Sentinel ჩართულია",
      off: "Sentinel გამორთულია",
      name: "Sentinel სახელი"
    },
    readonly: {
      on: "მხოლოდ წაკითხვაზე",
      off: "მხოლოდ წასაკითხად გამორთულია"
    },
    theme: {
      light: "სინათლე",
      dark: "ბნელი საწარმო",
      darkNeu: "ბნელი",
      darkoBluo: "დარკო ბლუო",
      enterprise: "საწარმო",
      redis: "Redis",
      matrix: "მატრიცა"
    },
    connected: opts => {
      return `დაკავშირებულია: ${opts.name}`;
    },
    tree: "ხე",
    askAuth: "მოითხოვეთ ავტორიზაცია",
    keyboardShortcuts: "Keyboard Shortcuts",
    about: "About",
    supportedLanguages: "Supported Languages",
    version: "Version",
    redisVersion: "Redis Version",
    modules: "მოდულები",
    shortcutRefresh: "Refresh",
    shortcutSearch: "Focus Search",
    shortcutNewKey: "New Key",
    shortcutDisconnect: "გათიშვა",
    themeAuto: "Auto (system)",
    languageAuto: "Auto (system)",
    shortcutCommandPalette: "ბრძანებების პალიტრა",
    commandPalette: "ბრძანებების პალიტრა",
    noResults: "შედეგები არ არის",
    redisCommandsReference: "Redis ბრძანებები",
    ungrouped: "ჯგუფის გარეშე",
    grouped: "დაჯგუფებული",
    connectFirst: "ჯერ დაუკავშირდით",
    searchLanguage: "ენის ძიება...",
    exportProgress: "გასაღებების ექსპორტი...",
    importProgress: "გასაღებების იმპორტი...",
    importPreview: "წინასწარი ნახვა",
    importOverwrite: "გადაწერა",
    importSkip: "გამოტოვება",
    importConflict: "თუ გასაღები უკვე არსებობს:",
    noKeysToExport: "ექსპორტისთვის გასაღებები არ არის",
    time: "დრო",
    type: "ტიპი",
    format: "ფორმატი",
    loading: "იტვირთება...",
    autoRefresh: "ავტო",
    exportSearchHint: "ექსპორტი მხოლოდ მიმდინარე ძიებას შესაბამისი გასაღებების",
    importSearchHint: "იმპორტი ვრცელდება მთელ მონაცემთა ბაზაზე",
    deleteSearchHint: "სერვერზე მიმდინარე ძიების შესაბამისი ყველა გასაღების წაშლა",
    deletingSearchKeys: "შესაბამისი გასაღებების წაშლა...",
    importNoKeys: "ფაილში გასაღებები ვერ მოიძებნა",
    desktopNotifications: "დესკტოპის შეტყობინებები",
    desktopNotificationsEnabled: "დესკტოპის შეტყობინებების ჩართვა",
    desktopNotificationsInfo: "მიიღეთ OS-ის შეტყობინებები Redis-ის გათიშვისა და ხელახლა დაკავშირების შესახებ, როცა აპს ფოკუსი არ აქვს."
  },
  status: {
    dataCopied: "მონაცემები ბუფერშია",
    exportDone: "ექსპორტი დასრულda",
    deletedSearchKeys: (opts) => `წაშლილია ${opts.count} გასაღები`,
    indexCreated: "ინდექსი შეიქმნა",
    indexDropped: "ინდექსი წაიშალა",
    importDone: (opts) => `იმპორტი დასრულda: ${opts.created} შეიქმნა, ${opts.skipped} გამოტოვda, ${opts.errors} შეცdomna`,
    nodeRemoved: "კვანძი ამოღებულია",
    keyIsNotExisting: "ეს გასაღები შეიძლება წაშლილი ან ვადაგასული ყოფილიყო.",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "გასაღები არ არის";
      } else if (opts.keyCount === 1) {
        return "1 გასაღები";
      } else {
        return `${opts.keyCount} გასაღებები`;
      }
    },
    treeExpandAll: "გააფართოვეთ ყველა ხის ფოთოლი. ეს ოპერაცია შეიძლება იყოს ძვირი და შეიძლება დრო დასჭირდეს ...",
    noRedisKeys: "ამ მონაცემთა ბაზაში გასაღებები არ არის.",
    redisConnected: "Redis დაკავშირებულია წარმატებით",
    reverted: "\u10d3\u10d0\u10d1\u10e0\u10e3\u10dc\u10d4\u10d1\u10e3\u10da\u10d8\u10d0",
    reloadingDataInfo: "მიმდინარეობს Redis მონაცემთა ინფორმაციის გადატვირთვა",
    added: "დამატებულია",
    saved: "განახლებულია",
    cancelled: "გაუქმდა",
    deleted: "წაშლილია",
    savedRedis: "Redis მონაცემები შენახულია",
    redisDisconnected: opts => {
      return `მიმდინარე კავშირს ჰქონდა შეცდომა: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `db ინდექსი დაყენებულია ${opts.db}. `;
    },
    treeDeleted: opts => {
      return `ხის გასაღები წაიშალა (${opts.key}).`;
    },
    deletedKey: opts => {
      return `გასაღები წაიშალა (${opts.key}).`;
    },
    renamedKey: "ამ გასაღებს დაარქვეს სახელი",
    ttlChanged: "ამ გასაღების TTL შეიცვალა",
    notInteger: "ეს შეყვანა არ არის მთელი რიცხვი",
    persisted: "ეს გასაღები სამუდამოდ რჩება",
    set: "გასაღები დაყენებულია/დამატებულია",
    connectionRestored: "კავშირი აღდგენილია",
    socketDisconnected: "გათიშულია",
    socketError: "კავშირის შეცდომა",
    deletedHashKey: "ჰეშის გასაღები წაიშალა",
    deletedSetMember: "სეტის წევრი წაიშალა",
    deletedListElement: "სიის ელემენტი წაიშალა",
    deletedZSetMember: "დახარისხებული სეტის წევრი წაიშალა",
    deletedStreamTimestamp: "ნაკადის ჩანაწერი წაიშალა",
  },
  code: {
    "delete-connection": "ეს კავშირი წაიშალა, ასე რომ თქვენ გათიშული ხართ ამ Redis ეგზემპლართან.",
    "save-connection": "ეს კავშირი შეიცვალა, ასე რომ თქვენ გათიშული ხართ ამ Redis ეგზემპლართან. შეგიძლიათ ხელახლა დაუკავშირდეთ.",
    "readonly-connections": "კავშირების დამატება/შენახვა/წაშლა მხოლოდ წასაკითხია!",
    "readonly-connection-mode": "ეს კავშირი მხოლოდ წაკითხვის რეჟიმშია!",
    "list-out-of-bounds": "ეს სიის ინდექსი საზღვრებს გარეთაა",
    "invalid-json-value": "მნიშვნელობა არ არის სწორი JSON.",
    "http_auth_required": "საჭიროა ავტორიზაცია: გთხოვთ, გადაამოწმოთ ავთენტიფიკაცია HTTP Basic Auth-ით და გადატვირთეთ.",
    "auto-connection-failed": "შესაძლებელია, კავშირი წაიშალა და ავტომატური კავშირი ვერ მოხერხდა ამის გამო.",
    invalid_console_command: "ეს ბრძანება არ მუშაობს GUI-ით.",
    "AI_DISABLED": "AI გამორთულია. ჩართეთ AI პარამეტრებში.",
    "AI_PROMPT_REQUIRED": "AI მოთხოვნა სავალდებულოა.",
    "GROQ_API_KEY_READONLY": "Groq API გასაღები მხოლოდ წასაკითხია და ვერ შეიცვლება.",
    "blocked_api_access": "თქვენი Groq API გეგმა არ იძლევა ამ მოდელზე წვდომის საშუალებას. გააუმჯობესეთ Groq გეგმა ან გამოიყენეთ network.corifeus.com პროქსი.",
    "rate_limit": "AI სიჩქარის ლიმიტი მიღწეულია. სცადეთ მოგვიანებით ან გამოიყენეთ თქვენი Groq API გასაღები პარამეტრებში."
  },
  form: {
    error: {
      required: "საჭირო",
      port: "პორტი არის 1-65535 შორის",
      invalid: "ფორმა არასწორია"
    },
    connection: {
      label: {
        name: "სახელი",
        group: "ჯგუფი",
        host: "მასპინძლის სახელი",
        port: "პორტი",
        password: "პაროლი",
        username: "მომხმარებლის სახელი"
      }
    },
    treeSettings: {
      maxValueDisplay: "მაქსიმალური მნიშვნელობის ჩვენების სტრიქონის სიგრძე",
      maxValueDisplayInfo: "თუ დაყენებულია 0-ზე, აჩვენეთ სრული მნიშვნელობები. თუ 0-ზე მეტია, შეკვეცეთ ამ სიგრძეზე. თუ -1: სტრიქონებისთვის დამალეთ მნიშვნელობა რედაქტირებამდე; სხვა ტიპებისთვის, სრული შინაარსის ჩვენება.",
      maxKeys: "გასაღების მაქსიმალური რაოდენობა",
      maxKeysInfo: "იმისათვის, რომ GUI არ დაირღვეს, ჩვენ ვზღუდავთ გასაღების მაქსიმალურ რაოდენობას.",
      keyCount: (opts) => {
        return `გასაღებების რაოდენობა: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "გამოიყენეთ ანიმაცია",
        noAnimation: "არავითარი ანიმაცია",
        undoEnabled: "\u10d2\u10d0\u10e3\u10e5\u10db\u10d4\u10d1\u10d0 \u10e9\u10d0\u10e0\u10d7\u10e3\u10da\u10d8\u10d0",
        undoDisabled: "\u10d2\u10d0\u10e3\u10e5\u10db\u10d4\u10d1\u10d0 \u10d2\u10d0\u10db\u10dd\u10e0\u10d7\u10e3\u10da\u10d8\u10d0",
        diffEnabled: "\u10e8\u10d4\u10dc\u10d0\u10ee\u10d5\u10d0\u10db\u10d3\u10d4 diff-\u10d8\u10e1 \u10e9\u10d5\u10d4\u10dc\u10d4\u10d1\u10d0",
        diffDisabled: "\u10e8\u10d4\u10dc\u10d0\u10ee\u10d5\u10d0\u10db\u10d3\u10d4 diff \u10d2\u10d0\u10db\u10dd\u10e0\u10d7\u10e3\u10da\u10d8\u10d0",
        jsonFormatTwoSpace: "ფორმატირება JSON 2 ინტერვალით",
        jsonFormatFourSpace: "ფორმატირება JSON 4 ინტერვალით",
        formName: "Redis პარამეტრები",
        searchModeClient: "კლიენტის ძიების რეჟიმი",
        searchModeServer: "სერვერის ძიების რეჟიმი",
        searchModeStartsWith: "ძებნა იწყება რეჟიმით",
        searchModeIncludes: "ძებნა მოიცავს რეჟიმს"
      },
      undoHint: "\u10d2\u10d0\u10e3\u10e5\u10db\u10d4\u10d1\u10d0 \u10ee\u10d4\u10da\u10db\u10d8\u10e1\u10d0\u10ec\u10d5\u10d3\u10dd\u10db\u10d8\u10d0 \u10db\u10ee\u10dd\u10da\u10dd\u10d3 string \u10d3\u10d0 JSON \u10d2\u10d0\u10e1\u10d0\u10e6\u10d4\u10d1\u10d8\u10e1 \u10e2\u10d8\u10de\u10d4\u10d1\u10d8\u10e1\u10d7\u10d5\u10d8\u10e1",
      field: {
        treeSeparator: "ხეების გამყოფი",
        treeSeparatorSelector: "ხეების გამყოფის სელექტორი",
        page: "ხეების პეიჯინგის რაოდენობა",
        keyPageCount: "საკვანძო პეიჯინგის რაოდენობა",
        keysSort: "დაალაგეთ გასაღებები",
        searchMode: "ძიების რეჟიმი",
        searchModeStartsWith: "ძებნა იწყება / მოიცავს"
      },
      error: {
        keyPageCount: "საკვანძო გვერდების რაოდენობა უნდა იყოს მთელი რიცხვი 5-დან 100-მდე",
        page: "გვერდების რაოდენობა უნდა იყოს მთელი რიცხვი 10-დან 5000-მდე",
        maxValueDisplay: "მაქსიმალური ჩვენების მნიშვნელობა უნდა იყოს მთელი რიცხვი -1-დან 32768-მდე",
        maxKeys: "გასაღების დათვლის მაქსიმალური მნიშვნელობა უნდა იყოს მთელი რიცხვი 100-დან 100000-მდე"
      }
    },
    key: {
      label: {
        formName: {
          add: "დაამატეთ ახალი Redis გასაღები",
          edit: "Redis კლავიშის რედაქტირება",
          append: "დაამატეთ არსებულ Redis გასაღებს"
        }
      },
      field: {
        streamTimestamp: "დროის შტამპი",
        key: "გასაღები",
        type: "ტიპი",
        index: "ინდექსი",
        hashKey: "ჰეშის გასაღები",
        score: "ქულა",
        value: "მნიშვნელობა",
        errorRate: "Error rate",
        capacity: "Capacity",
        topk: "Top K",
        width: "Width",
        depth: "Depth",
        decay: "Decay",
        compression: "Compression",
        increment: "Increment",
        item: "Item",
        vectorValues: "Vector values (comma-separated)",
        element: "Element name",
      },
      error: {
        streamTimestamp: "დროის ანაბეჭდი საჭიროა, ან Redis ფორმატში ან როგორც *",
        key: "მთავარი მაინც ერთი პერსონაჟია",
        hashKey: "ჰეშის ცხრილის გასაღები არის მინიმუმ ერთი სიმბოლო",
        score: "საჭიროა დალაგებული ნაკრების ქულა",
        value: "ღირებულება აუცილებელია",
        errorRate: "Error rate must be between 0 and 1 (e.g. 0.01)",
        capacity: "Capacity must be a positive integer",
        topk: "Top K must be a positive integer",
        width: "Width must be a positive integer",
        depth: "Depth must be a positive integer",
        item: "The item is required",
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "ძიება",
      index: "ინდექსი",
      query: "მოთხოვნა",
      results: "შედეგები",
      noIndex: "ინდექსი არ არის",
      createIndex: "ინდექსის შექმნა",
      dropIndex: "ინდექსის წაშლა",
      indexInfo: "ინდექსის ინფორმაცია",
      indexName: "ინდექსის სახელი",
      prefix: "პრეფიქსი",
      fieldName: "ველის სახელი",
      hybridMode: "ჰიბრიდული ძიება (FT.HYBRID)",
      vectorField: "ვექტორის ველი",
      vectorValues: "ვექტორის მნიშვნელობები",
    },
    monitor: {
      title: "მონიტორინგი",
      memory: "მეხსიერება",
      opsPerSec: "ოპერაცია/წმ",
      clients: "კლიენტები",
      blocked: "დაბლოკილი",
      hitsMisses: "მოხვედრის სიხშირე",
      networkIo: "ქსელი I/O",
      slowLog: "ნელი ჟურნალი",
      noSlowQueries: "ნელი მოთხოვნები არ დაფიქსირებულა.",
      confirmSlowLogReset: "დარწმუნებული ხართ, რომ გსურთ ნელი ჟურნალის გადატვირთვა?",
      slowLogResetDone: "ნელი ჟურნალი გადაყენებულია.",
      totalCommands: "სულ",
      expired: "ვადაგასული",
      evicted: "გამოძevebuli",
      clientList: "კლიენტების სია",
      topKeys: "უდიდესი გასაღებები",
      killClient: "კლიენტის გაchერeba",
      clientKilled: "კლიენტი გაchერda",
      confirmKillClient: "დარწმუნebuli ხართ კლიენტის შეჩerebashi?",
      noKeys: "გასაღებები არ არის",
      rss: "RSS",
      peak: "პიკი",
      fragmentation: "ფრაგმენტაცია",
      hitsAndMisses: "მოხვედრები / გაცდენები",
      noClients: "კლიენტebi არ არის",
      slotStats: "კლასტერის სლოტის სტატისტიკა",
      serverInfo: "სერვერის ინფორმაცია",
      os: "ოპერაციული სისტემა",
      port: "ქსელის პორტი",
      pid: "პროცესის ID",
      configFile: "კონფიგურაციის ფაილი",
      uptime: "Uptime",
      keyspace: "Redis გასაღების ადგილი",
      keys: "Redis გასაღებები",
      expires: "იწურება",
      noKeyspace: "გასაღებები არ არის",
      persistence: "მონაცემთა მდგრადობა",
      rdbLastSave: "RDB ბოლო შენახვა",
      rdbStatus: "RDB სტატუსი",
      rdbChanges: "ცვლილებები ბოლო შენახვის შემდეგ",
      aofEnabled: "AOF ჩართულია",
      aofSize: "AOF ზომა",
      replication: "Redis რეპლიკაცია",
      role: "რეპლიკაციის როლი",
      replicas: "დაკავშირებული რეპლიკა",
      masterHost: "ძირითადი მასპინძელი",
      linkStatus: "რეპლიკაციის ბმულის სტატუსი",
      cpu: "CPU გამოყენება",
      cpuSys: "სისტემა",
      cpuUser: "მომხმარებელი",
      modules: "ჩატვირთული Redis მოდულები",
      noModules: "Redis მოდულები არ არის ჩატვირთული",
      clusterSlotMap: "Redis კასეტური სლოტის რუკა",
      slotRange: "კლასტერული სლოტის დიაპაზონი",
      totalSlots: "კლასტერული სლოტები",
      noClusterData: "Redis კლასტერის მონა��ემები არ არის ხელმისაწვდომი.",
    },
    analysis: {
      title: "მეხსიერების ანალიზი",
      runAnalysis: "ანალიზის გაშვება",
      running: "ანალიზდება...",
      typeDistribution: "ტიპების განაწილება",
      prefixMemory: "მეხსიერება პრეფიქსით",
      topKeysByMemory: "უდიდესი გასაღებები მეხსიერებით",
      expirationOverview: "გასაღებების ვადა",
      memoryBreakdown: "მეხსიერების დეტალები",
      keysScanned: "სკანირებული გასაღებები",
      totalMemory: "სრული მეხსიერება",
      rssMemory: "RSS მეხსიერება",
      peakMemory: "პიკური მეხსიერება",
      luaMemory: "Lua მეხსიერება",
      overheadMemory: "ზედნადები",
      datasetMemory: "მონაცემთა ნაკრები",
      fragmentation: "ფრაგმენტაცია",
      allocator: "ალოკატორი",
      withTTL: "TTL-ით",
      persistent: "მუდმივი",
      avgTTL: "საშუალო TTL",
      prefix: "პრეფიქსი",
      keyCount: "გასაღებების რაოდენობა",
      memoryUsage: "მეხსიერების მოხმარება",
      noPrefix: "(პრეფიქსის გარეშე)",
      topN: "Top N",
      maxScanKeys: "მაქს. სკანირებული გასაღებები",
      type: "ტიპი",
      noData: "მონაცემები არ არის. დააწკაპუნეთ ანალიზის გაშვება დასაწყებად.",
      exportAll: "ყველას ექსპორტი",
      memoryDoctor: "Memory Doctor",
      doctorNoData: "დააწკაპუნეთ განაახლეთ Memory Doctor დიაგნოსტიკის გასაშვებად.",
    },
    acl: {
      title: "ACL მომხმარებლები",
      loadUsers: "მომხმარებლების ჩატვირთვა",
      loading: "იტვირთება...",
      username: "მომხმარებლის სახელი",
      status: "სტატუსი",
      enabled: "ჩართულია",
      disabled: "გამორთულია",
      commands: "ბრძანებები",
      commandsHint: "მაგ., +@all or +@read -@dangerous",
      keys: "Redis გასაღები ნიმუშები",
      keysHint: "მაგ., ~* or ~user:*",
      channels: "Pub/Sub არხები",
      channelsHint: "მაგ., &* or &notifications:*",
      password: "პაროლი",
      noPassword: "პაროლის გარეშე (nopass)",
      passwordHint: "დატოვეთ ცარიელი, რომ შეინახოთ მიმდინარე პაროლი",
      currentUser: "მიმდინარე",
      createUser: "მომხმარებლის შექმნა",
      editUser: "მომხმარებლის რედაქტირება",
      deleteUser: "წაშლა",
      confirmDelete: "დარწმუნებული ხართ, რომ გსურთ ACL მომხმარებლის წაშლა?",
      userDeleted: "ACL მომხმარებელი წაიშალა.",
      userSaved: "ACL მომხმარებე���ი შენახულია.",
      cannotDeleteDefault: "ნაგულისხმევი მომხმარებლის წაშლა შეუძლებელია.",
      cannotDeleteSelf: "ამჟამად დაკავშირებული მომხმარებლის წაშლა შეუძლებელია.",
      noUsers: "ACL მოითხოვს Redis 6.0+.",
      groupCommon: "საერთო",
      groupDataTypes: "მონაცემთა ტიპები",
      groupOperations: "ოპერაციები",
      rules: "წესები",
      rulesHint: "სივრცეში გამოყოფილი ჟეტონები (მაგალითად on >password +@all ~* &*)",
      defaultUserWarning: "სიფრთხილე: ნაგულისხმევი მომხმარებლის შეცვლამ შეიძლება დაბლოკოს ყველა კავშირი. თუ ეს მოხდება, თქვენ უნდა გადატვირთოთ Redis ან გამოიყენოთ redis-cli წვდომის აღსადგენად.",
    },
    overview: {
      noConnected: "არ არის კავშირი Redis-თან.",
      overviewClients: "ჩამოთვალეთ დაკავშირებული კლიენტები რაოდენობის მიხედვით",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "1 კლიენტი";
        }
        return `${opt.length} კლიენტებს`;
      }
    },
    key: {
      label: {
        key: "გასაღები",
        encoding: "კოდირება",
        compression: "შეკუმშვა",
        aiRateLimited: "AI მოთხოვნების ლიმიტი ამოიწურა. სცადეთ მოგვიანებით ან გამოიყენეთ თქვენი Groq API გასაღები პარამეტრებში.",
        aiError: "AI მოთხოვნა ვერ შესრულდა",
        length: "ზომა",
        ttl: "TTL",
        ttlTitle: "დროა ვიცხოვროთ",
        type: "ტიპი",
        ttlNotExpire: "არ იწურება",
        lengthString: "ბაიტები",
        lengthItem: "ნივთები",
        actions: "მოქმედებები"
      },
      list: {
        table: {
          index: "ინდექსი",
          value: "მნიშვნელობა"
        }
      },
      hash: {
        table: {
          hashkey: "ჰეშკი",
          value: "მნიშვნელობა"
        }
      },
      set: {
        table: {
          value: "წევრი"
        }
      },
      zset: {
        table: {
          value: "წევრი",
          score: "ქულა"
        }
      },
      stream: {
        table: {
          timestamp: "დროის ანაბეჭდის ID",
          field: "ველი",
          value: "მნიშვნელობა"
        }
      },
      timeseries: {
        chart: "\u10d3\u10d8\u10d0\u10d2\u10e0\u10d0\u10db\u10d0",
        info: "\u10d8\u10dc\u10e4\u10dd\u10e0\u10db\u10d0\u10ea\u10d8\u10d0",
        addPoint: "\u10db\u10dd\u10dc\u10d0\u10ea\u10d4\u10db\u10d7\u10d0 \u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d8\u10e1 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0",
        from: "\u10e1\u10d0\u10d8\u10d3\u10d0\u10dc (ms \u10d0\u10dc -)",
        to: "\u10db\u10d3\u10d4 (ms \u10d0\u10dc +)",
        aggregation: "\u10d0\u10d2\u10e0\u10d4\u10d2\u10d0\u10ea\u10d8\u10d0",
        timeBucket: "\u10d7\u10d0\u10e1\u10d8 (ms)",
        none: "\u10d0\u10e0\u10ea\u10d4\u10e0\u10d7\u10d8",
        dataPoints: "\u10db\u10dd\u10dc\u10d0\u10ea\u10d4\u10db\u10d7\u10d0 \u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d4\u10d1\u10d8",
        labels: "\u10d8\u10d0\u10e0\u10da\u10d8\u10e7\u10d4\u10d1\u10d8",
        rules: "\u10ec\u10d4\u10e1\u10d4\u10d1\u10d8",
        retention: "\u10e8\u10d4\u10dc\u10d0\u10ee\u10d5\u10d0",
        timestamp: "\u10d3\u10e0\u10dd\u10d8\u10e1 \u10d0\u10dc\u10d0\u10d1\u10d4\u10ed\u10d3\u10d8",
        value: "\u10e6\u10d8\u10e0\u10d4\u10d1\u10e3\u10da\u10d4\u10d1\u10d0",
        retentionHint: "0 = \u10d5\u10d0\u10d3\u10d8\u10e1 \u10d2\u10d0\u10e0\u10d4\u10e8\u10d4, \u10d0\u10dc \u10db\u10d8\u10da\u10d8\u10ec\u10d0\u10db\u10d4\u10d1\u10d8",
        duplicatePolicy: "\u10d3\u10e3\u10d1\u10da\u10d8\u10e0\u10d4\u10d1\u10d8\u10e1 \u10de\u10dd\u10da\u10d8\u10e2\u10d8\u10d9\u10d0",
        labelsHint: "key1 value1 key2 value2",
        timestampHint: "'*' \u10dc\u10d8\u10e8\u10dc\u10d0\u10d5\u10e1 \u10d0\u10d5\u10e2\u10dd\u10db\u10d0\u10e2\u10e3\u10e0\u10d0\u10d3 \u10d2\u10d4\u10dc\u10d4\u10e0\u10d8\u10e0\u10d4\u10d1\u10e3\u10da\u10e1, \u10d0\u10dc \u10db\u10d8\u10da\u10d8\u10ec\u10d0\u10db\u10d4\u10d1\u10d8\u10e1 \u10d3\u10e0\u10dd\u10d8\u10e1 \u10d0\u10dc\u10d0\u10d1\u10d4\u10ed\u10d3\u10d8",
        editAllHint: "\u10d4\u10e0\u10d7\u10d8 \u10db\u10dd\u10dc\u10d0\u10ea\u10d4\u10db\u10d7\u10d0 \u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d8 \u10d7\u10d8\u10d7\u10dd \u10ee\u10d0\u10d6\u10d6\u10d4: \u10d3\u10e0\u10dd\u10d8\u10e1_\u10d0\u10dc\u10d0\u10d1\u10d4\u10ed\u10d3\u10d8 \u10e6\u10d8\u10e0\u10d4\u10d1\u10e3\u10da\u10d4\u10d1\u10d0 (\u10d3\u10e0\u10dd\u10d8\u10e1 \u10d0\u10dc\u10d0\u10d1\u10d4\u10ed\u10d3\u10d8 \u10e8\u10d4\u10d8\u10eb\u10da\u10d4\u10d1\u10d0 \u10d8\u10e7\u10dd\u10e1 * \u10d0\u10d5\u10e2\u10dd\u10db\u10d0\u10e2\u10e3\u10e0\u10d8\u10e1\u10d7\u10d5\u10d8\u10e1)",
        autoSpread: "\u10d0\u10d5\u10e2\u10dd\u10db\u10d0\u10e2\u10e3\u10e0\u10d8 * \u10d2\u10d0\u10dc\u10d0\u10ec\u10d8\u10da\u10d4\u10d1\u10d8\u10e1 \u10d8\u10dc\u10e2\u10d4\u10e0\u10d5\u10d0\u10da\u10d8",
        formula: "\u10e4\u10dd\u10e0\u10db\u10e3\u10da\u10d0",
        formulaLinear: "\u10ec\u10e0\u10e4\u10d8\u10d5\u10d8",
        formulaRandom: "\u10e8\u10d4\u10db\u10d7\u10ee\u10d5\u10d4\u10d5\u10d8\u10d7\u10d8",
        formulaSawtooth: "\u10ee\u10d4\u10e0\u10ee\u10d8\u10e1\u10db\u10d0\u10d2\u10d5\u10d0\u10e0\u10d8",
        formulaPoints: "\u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d4\u10d1\u10d8",
        formulaAmplitude: "\u10d0\u10db\u10de\u10da\u10d8\u10e2\u10e3\u10d3\u10d0",
        formulaOffset: "\u10ec\u10d0\u10dc\u10d0\u10ea\u10d5\u10da\u10d4\u10d1\u10d0",
        generate: "\u10d2\u10d4\u10dc\u10d4\u10e0\u10d8\u10e0\u10d4\u10d1\u10d0",
        exportChart: "PNG \u10d4\u10e5\u10e1\u10de\u10dd\u10e0\u10e2\u10d8",
        overlay: "\u10d2\u10d0\u10e1\u10d0\u10e6\u10d4\u10d1\u10d4\u10d1\u10d8\u10e1 \u10d2\u10d0\u10d3\u10d0\u10e4\u10d0\u10e0\u10d5\u10d0",
        overlayHint: "\u10db\u10eb\u10d8\u10db\u10d8\u10d7 \u10d2\u10d0\u10db\u10dd\u10e7\u10dd\u10e4\u10d8\u10da\u10d8 \u10d2\u10d0\u10e1\u10d0\u10e6\u10d4\u10d1\u10d4\u10d1\u10d8",
        mrangeFilter: "\u10d8\u10d0\u10e0\u10da\u10d8\u10e7\u10d4\u10d1\u10d8\u10e1 \u10e4\u10d8\u10da\u10e2\u10e0\u10d8",
        bulkMode: "მასიური გენერაცია",
        mrangeHint: "\u10db\u10d0\u10d2. sensor=temp"
      },
      probabilistic: {
        info: "ინფორმაცია",
        addItem: "ელემენტის დამატება",
        checkItem: "ელემენტის შემოწმება",
        item: "ელემენტი",
        exists: "არსებობს",
        doesNotExist: "არ არსებობს",
        topkList: "ზედა ელემენტები",
        topkCount: "რაოდენობა",
        queryCount: "მოთხოვნების რაოდენობა",
        queryResult: "მოთხოვნის შედეგი",
        addedSuccessfully: "ელემენტი წარმატებით დაემატა",
        deletedSuccessfully: "ელემენტი წარმატებით წაიშალა",
        quantile: "კვანტილი",
        quantileResult: "შედეგი",
        noItems: "საჩვენებელი ელემენტები არ არის",
        resetConfirm: "გავანულოთ ამ T-Digest-ის ყველა მონაცემი?",
      },
      vectorset: {
        info: "ინფორმაცია",
        elements: "ელემენტები",
        similarity: "მსგავსების ძიება",
        searchByElement: "ელემენტით ძიება",
        searchByVector: "ვექტორით ძიება",
        vectorValues: "ვექტორის მნიშვნელობები",
        element: "ელემენტი",
        score: "ქულა",
        count: "რაოდენობა",
        addElement: "ელემენტის დამატება",
        attributes: "ატრიბუტები",
        noAttributes: "ატრიბუტები არ არის",
        dimensions: "განზომილებები",
        removeConfirm: "წავშალოთ ეს ელემენტი VectorSet-იდან?",
        noElements: "ელემენტები არ არის",
        filter: "ფილტრი",
        searchComplete: "ძიება დასრულდა",
      }
    },
    treeControls: {
      settings: "ხის პარამეტრები",
      expandAll: "გააფართოვეთ ყველა",
      collapseAll: "ყველა ჩაშალე",
      level: "დონე",
      search: {
        search: "ძიება გასაღებებში",
        clear: "წაშალეთ მიმდინარე ძიება ცარიელის დასაყენებლად",
        placeholderClient: "მოძებნეთ კლიენტის მხარე",
        placeholderServer: "მოძებნეთ სერვერის მხარე",
        info: (opts) => "კლიენტის მხრიდან ძიება ნიშნავს, რომ იგი ემთხვევა საძიებო შეყვანის ტექსტს. სერვერის მხრიდან ძიება ნიშნავს, რომ ეს არის კლავიშების შაბლონებში ძიება, როგორც *{search-text}*. დიდი საძიებო ნაკრებისთვის, უმჯობესია გამოიყენოთ სერვერის მხრიდან ძებნა. მცირე საძიებო ნაკრებისთვის უმჯობესია გამოიყენოთ კლიენტის მხარის ძიების რეჟიმი." + ` თუ გასაღებების რაოდენობა დასრულდა ${opts?.maxLightKeysCount ?? 110000}, შეგიძლიათ მოძებნოთ მხოლოდ სერვერის მხარეს.`,
        largeSetInfo: "დიდ კომპლექტში კლიენტის მხრიდან ძებნა გამორთულია. ასე რომ, ახლა შესაძლებელია მხოლოდ სერვერის მხრიდან ძებნა.",
        infoDetails: "იმის გასარკვევად, თუ როგორ მუშაობს ძებნა, გთხოვთ, გადახედოთ პარამეტრებს"
      },
      pager: {
        next: "შემდეგი",
        prev: "წინა",
        first: "პირველი",
        last: "ბოლო"
      }
    }
  },
  time: {
    years: "წლები",
    months: "თვეების",
    days: "დღეები",
    year: "წელიწადი",
    month: "თვე",
    day: "დღე",
    second: "\u10ec\u10d0\u10db\u10d8",
    seconds: "\u10ec\u10d0\u10db\u10d4\u10d1\u10d8",
    minute: "\u10ec\u10e3\u10d7\u10d8",
    minutes: "\u10ec\u10e3\u10d7\u10d4\u10d1\u10d8",
    hour: "\u10e1\u10d0\u10d0\u10d7\u10d8",
    hours: "\u10e1\u10d0\u10d0\u10d7\u10d4\u10d1\u10d8"
  },
  redisTypes: {
    string: "String",
    list: "List",
    hash: "Hash table",
    set: "Set",
    zset: "Sorted set - zset",
    stream: "Stream",
    json: "JSON",
    timeseries: "Time Series",
    bloom: "Bloom filter",
    cuckoo: "Cuckoo filter",
    topk: "Top-K",
    cms: "Count-Min Sketch",
    tdigest: "T-Digest",
    vectorset: "VectorSet",
  },
  promo: {
    title: "AI ქსელის ასისტენტი",
    description: "Აღმოაჩინეთ ჩვენი უფასო AI ქსელის ასისტენტი network.corifeus.com — გაანალიზეთ დომენები, IP-ები, DNS ჩანაწერები, SSL სერტიფიკატები, ელფოსტის უსაფრთხოება და ქსელის ინფრასტრუქტურა. AI-ით აღჭურვილი მყისიერი, ყოვლისმომცველი შედეგებისთვის.",
    disclaimer: "Ეს პრომოაქცია ნაჩვენებია მხოლოდ დემო ვებსაიტზე და არ გამოჩნდება Docker, Electron ან ვებ-აპლიკაციების განლაგებაში.",
    toastMessage: "Სცადეთ ჩვენი უფასო AI ქსელის ასისტენტი network.corifeus.com — გაანალიზეთ დომენები, DNS, SSL და სხვა!",
    visit: "Ვიზიტი network.corifeus.com"
  }
};
module.exports = strings;