RSS Git Download  Clone
Raw Blame History 46kB 1095 lines
const strings = {
  error: {
    server_error: "Hitilafu ya seva, tafadhali jaribu tena",
    aiPromptTooLong: "AI ombi ni refu mno sana (kiwango cha juu herufi 4096)",
  },
  title: {
    donate: "Changia",
    donateTitle: "Saidia P3X Redis UI",
    donateDescription: "P3X Redis UI ni mradi wa bure na wa chanzo huria. Gharama za kudumisha programu, vipengele vya AI, picha za Docker, seva na miundombinu zinatoka mfukoni mwa msanidi programu. Ikiwa unapata chombo hiki kuwa muhimu, tafadhali fikiria kusaidia maendeleo yake yanayoendelea kwa mchango. Kila mchango husaidia mradi kuendelea kuishi na kukua. Asante!",
    jsonRecursive: "Kupanua majani yote",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "Unaweza kuchagua muunganisho wa Redis kutoka kwenye menyu ya chini kushoto.",
    statistics: "Takwimu",
    error: "Hitilafu",
    connectingRedis: "Inaunganisha na Redis ...",
    socketioConnectError: "Hitilafu ya Socket.IO",
    db: "DB",
    server: "Seva",
    clients: "Wateja",
    memory: "Kumbukumbu",
    persistence: "Uhifadhi",
    stats: "Takwimu",
    replication: "Urudufishaji",
    cpu: "CPU",
    cluster: "Nguzo",
    modules: "Moduli",
    errorstats: "Takwimu za makosa",
    commandstats: "Takwimu za amri",
    latencystats: "Takwimu za ucheleweshaji",
    keysizes: "Ukubwa wa funguo",
    threads: "Nyuzi"
  },
  confirm: {
    dropIndex: "Una uhakika unataka kufuta faharasa hii?",
    uploadBuffer: "Una uhakika wa kupakia data hii ya binary?",
    uploadBufferDone: "Data ya binary imepakiwa",
    uploadBufferDoneAndSave: "Data ya binary imepakiwa na kuhifadhiwa kwenye seva",
    title: "Thibitisha",
    alert: "Tahadhari",
    info: "Taarifa",
    deleteListItem: "Una uhakika wa kufuta kipengee hiki cha orodha?",
    deleteHashKey: "Una uhakika wa kufuta kipengee hiki cha ufunguo wa hash?",
    deleteStreamTimestamp: "Una uhakika wa kufuta muhuri huu wa wakati wa mkondo?",
    deleteSetMember: "Una uhakika wa kufuta mwanachama huyu wa seti?",
    deleteZSetMember: "Una uhakika wa kufuta mwanachama huyu wa seti iliyopangwa?",
    deleteConnection: "Thibitisha",
    deleteConnectionText: "Una uhakika wa kufuta muunganisho huu wa Redis?",
    deleteNode: "Una uhakika wa kufuta nodi hii ya Redis?",
    deleteAllKeys: opts => {
      return `Futa mti huu na funguo zake zote (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `Una uhakika wa kufuta funguo zote zinazolingana na "${opts.pattern}"? Funguo ${opts.count} zimepatikana.`;
    },
    socketioConnectError: "Socket.IO haiwezi kuunganisha na seva, unaweza kupakia upya na kujaribu kutatua hitilafu ya muunganisho mwenyewe, mteja hajui jinsi ya kutatua peke yake.",
    socketioAuthRequired: "Idhini ya Socket.IO inahitajika. Tafadhali thibitisha na HTTP Basic Auth (jina la mtumiaji/nenosiri) na upakia upya.",
    invalidCredentials: "Jina la mtumiaji au nenosiri si sahihi.",
    delete: "Futa?",
    deleteKey: "Una uhakika wa kufuta ufunguo huu?",
    rename: {
      title: "Una uhakika wa kubadilisha jina la ufunguo huu?",
      textContent: "Hatua hii inabadilisha jina la ufunguo kwa kudumu.",
      placeholder: "Ufunguo wa Redis (lazima)"
    },
    ttl: {
      title: "Una uhakika unataka kubadilisha TTL ya ufunguo huu?",
      textContent: "Kubadilisha TTL kunasasisha muda wa kuishi wa ufunguo huu. Acha tupu ili kuhifadhi ufunguo huu milele.",
      placeholder: "TTL ya ufunguo wa Redis (nambari kamili au tupu)",
      placeholderPlaceholder: "Tupu inamaanisha unaendelea milele; vinginevyo ingiza nambari kamili.",
      convertTextToTime: "Badilisha maandishi kuwa wakati",
      convertTextToTimePlaceholder: "Mfano 1d itakuwa 86400"
    }
  },
  language: {
    // When you translate the english name, keep the Language in English
    // eg. Inglés / English
    bg: "Kibulgaria / Bulgarian",
    cs: "Kicheki / Czech",
    de: "Kijerumani / German",
    el: "Kigiriki / Greek",
    en: "Kiingereza / English",
    es: "Kihispania / Spanish",
    fr: "Kifaransa / French",
    hu: "Kihungari / Hungarian",
    it: "Kiitaliano / Italian",
    ja: "Kijapani / Japanese",
    nl: "Kiholanzi / Dutch",
    pl: "Kipolandi / Polish",
    "pt-PT": "Kireno / Portuguese",
    ro: "Kiromania / Romanian",
    ru: "Kirusi / Russian",
    sk: "Kislovaki / Slovak",
    sr: "Kiserbia / Serbian",
    sv: "Kiswidi / Swedish",
    tr: "Kituruki / Turkish",
    uk: "Kiukrania / Ukrainian",
    zn: "Kichina / Chinese",
    ar: "Kiarabu / Arabic",
    az: "Kiazabaijani / Azerbaijani",
    be: "Kibelarusi / Belarusian",
    bn: "Kibengali / Bengali",
    da: "Kidenmaki / Danish",
    et: "Kiestonia / Estonian",
    fi: "Kifini / Finnish",
    fil: "Kifilipino / Filipino",
    he: "Kiebrania / Hebrew",
    hr: "Kikroeshia / Croatian",
    hy: "Kiarmenia / Armenian",
    id: "Kiindonesia / Indonesian",
    ka: "Kijojia / Georgian",
    kk: "Kikazaki / Kazakh",
    km: "Kikambodia / Khmer",
    ko: "Kikorea / Korean",
    ky: "Kikirigizi / Kyrgyz",
    lt: "Kilithuania / Lithuanian",
    mk: "Kimasedonia / Macedonian",
    ms: "Kimalei / Malay",
    ne: "Kinepali / Nepali",
    no: "Kinorwe / Norwegian",
    "pt-BR": "Kireno (Brazili) / Portuguese (Brazil)",
    sl: "Kislovenia / Slovenian",
    tg: "Kitajiki / Tajik",
    th: "Kithai / Thai",
    vi: "Kivietinamu / Vietnamese",
    "zh-HK": "Kichina (Hong Kong) / Chinese (Hong Kong)",
    "zh-TW": "Kichina (Taiwan) / Chinese (Taiwan)",
    sw: "Kiswahili / Swahili",
    si: "Kisinhala / Sinhala",
    ta: "Kitamili / Tamil",
    bs: "Kibosnia / Bosnian"
  },
  intention: {
    copy: "Nakili",
    downloadBuffer: "Pakua binary",
    setBuffer: "Pakia binary",
    exportKeys: "Hamisha funguo",
    exportAllKeys: (opts) => `Hamisha funguo zote ${opts.count}`,
    exportSearchResults: (opts) => `Hamisha matokeo ${opts.count}`,
    deleteAllKeysMenu: (opts) => `Futa zote ${opts.count}`,
    importKeys: "Ingiza funguo",
    deleteSearchKeys: (opts) => `Futa funguo ${opts.count} zinazolingana`,
    saveWithFormatJson: "Hifadhi na muundo",
    formatJson: "Umbiza Json",
    wrap: "Funga",
    unwrap: "Fungua",
    downloadJson: "Pakua JSON",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "Analysis",
    // When you translate the language, keep the Language in English
    // eg. Idioma / Language
    language: "Lugha / Language",
    ok: "Sawa",
    addKey: "Ongeza kwa ufunguo huu",
    addKeyRoot: "Ongeza ufunguo wa msingi",
    reloadKey: "Pakia upya ufunguo",
    reload: "Pakia upya",
    close: "Funga",
    commands: "Amri",
    view: "Tazama",
    statistics: "Takwimu",
    refresh: "Onyesha upya",
    pause: "Simamisha",
    resume: "Endelea",
    clear: "Futa",
    rename: "Badilisha jina",
    main: "Hifadhidata",
    cancel: "Ghairi",
    theme: "Mandhari",
    github: "GitHub",
    githubRepo: "Hifadhi",
    githubRelease: "Matoleo",
    githubChangelog: "Kumbukumbu ya mabadiliko",
    info: "Info",
    settings: "Mipangilio",
    connect: "Unganisha",
    disconnect: "Tenganisha",
    logout: "Toka",
    overview: "Muhtasari",
    console: "Konsoli",
    noConnections: "Hakuna muunganisho, ongeza muunganisho kwenye menyu ya mipangilio.",
    noConnectionsInSettings: "Hakuna muunganisho, unaweza kuongeza MUUNGANISHO MPYA hapo juu.",
    connectionAdd: "Muunganisho mpya",
    addGroup: "Ongeza kundi",
    extend: "Panua",
    collapse: "Kunja",
    add: "Ongeza",
    edit: "Hariri",
    save: "Hifadhi",
    ttl: "Weka TTL",
    fieldTtl: "TTL ya sehemu",
    digest: "Muhtasari",
    delete: "Futa",
    remove: "Ondoa",
    areYouSure: "Je, una uhakika?",
    sure: "Hakika",
    testConnection: "Jaribu muunganisho",
    getKey: "Inapakia ufunguo wa Redis na data inayohusiana ...",
    jsonViewShow: "Onyesha JSON",
    jsonViewEditor: "Hariri JSON",
    quickConsole: "Konsoli ya Haraka",
    moveUp: "Hamisha juu",
    moveDown: "Hamisha chini",
  },
  diff: {
    reviewChanges: "Kagua mabadiliko",
    inline: "Ndani ya mstari",
    sideBySide: "Kando kwa kando",
    additions: "nyongeza",
    deletions: "ufutaji",
    unchangedLines: "mistari isiyobadilika",
    noChanges: "Hakuna mabadiliko yaliyotambuliwa",
    before: "Kabla",
    after: "Baada",
  },
  label: {
    id: {
      nodeId: 'Kitambulisho cha Nodi',
      id: "Kitambulisho cha Muunganisho",
      info: "Ikiwa hutaki kubadilisha mali za: sshPassword, sshPrivateKey, password, tlsCrt, tlsKey, tlsCa, tafadhali ingiza Kitambulisho cha muunganisho kwenye mali hizo ili kuhifadhi thamani za mali. Ikiwa unataka mantiki sawa katika nenosiri la nodi, basi ingiza Kitambulisho cha nodi kwenye nenosiri la nodi."
    },
    secureFeature: 'Ikiwa unaona thamani inayoanza na P3X na inaonekana sawa, ni kipengele cha usalama. Ili kubadilisha mipangilio, badilisha mipangilio hii na tupu au kitu kingine na itahifadhiwa. Ikiwa haubadilishi mipangilio, mipangilio itabaki kama ilivyo kwenye seva.',
    aiTranslating: "Inatafsiri...",
    aiSettings: "Mipangilio ya AI",
    aiGroqApiKey: "Ufunguo wa API Groq",
    aiGroqApiKeyInfo: "Hiari. Ufunguo wako wa API Groq kwa utendaji bora. Pata ufunguo bila malipo kutoka",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "Ufunguo wa API AI umehifadhiwa",
    aiGroqApiKeyInvalid: "Ufunguo wa API Groq si sahihi",
    aiGroqApiKeyNotSet: "Haijawekwa (chaguo-msingi la seva)",
    aiEnabled: "AI imewashwa",
    aiEnabledYes: "Ndiyo",
    aiEnabledNo: "Hapana",
    aiRouteViaNetwork: "Pitia kupitia network.corifeus.com",
    aiRoutingDirect: "Maswali yanaenda moja kwa moja kwa Groq kwa kutumia ufunguo wako wa API, bila kupitia network.corifeus.com.",
    aiRoutingNetwork: "Maswali ya AI yanapitishwa kupitia network.corifeus.com. Ikiwa una ufunguo wako wa bure wa Groq API, unaweza kuzima swichi hii na kuelekeza moja kwa moja kwa Groq bila network.corifeus.com.",
    aiMaxTokens: "Idadi ya juu ya tokeni za AI",
    aiMaxTokensInfo: "Idadi ya juu ya tokeni kwa majibu ya AI. Thamani kubwa huruhusu majibu marefu zaidi lakini inaweza kutumia mikopo zaidi ya API.",
    consoleDrawer: {
      toggleTooltip: "Onyesha/ficha konsoli",
      clearTooltip: "Futa historia ya konsoli",
      closeTooltip: "Funga konsoli",
      aiSettingsTooltip: "Mipangilio ya AI",
      modeRedis: "REDIS",
      modeAi: "AI",
      connectionChipNoDb: opts => `${opts.name}`,
      connectionChipWithDb: opts => `${opts.name} · db ${opts.db}`,
      pageChip: opts => `ukurasa: ${opts.page}`,
      connectingTo: opts => `Inaunganisha na ${opts.name}…`,
      connectedTo: opts => `Imeunganishwa na ${opts.name} (Redis ${opts.version} ${opts.mode}, moduli ${opts.modules} zimepakiwa)`,
      connectedToNoInfo: opts => `Imeunganishwa na ${opts.name}`,
      disconnectedFrom: opts => `Imetenganishwa na ${opts.name}`,
      notConnected: "Haijaunganishwa.",
      limitedAiOnly: "AI ya kiwango kidogo pekee — maswali ya jumla kuhusu Redis yanafanya kazi.",
      connectHint: "Kwa uchunguzi wa moja kwa moja, andika: connect <name>",
      cheatsheetHint: "Andika ai: help kuona unachoweza kuuliza.",
      needsConnection: "Hili linahitaji muunganisho unaotumika. Andika \"connect <name>\" kwanza.",
      aiNeedsConnectionReason: "AI ya hali ya moja kwa moja (matumizi ya zana) inapatikana tu ukiwa umeunganishwa na Redis.",
      verbNeedsConnection: opts => `"${opts.verb}" inahitaji muunganisho unaotumika — andika "connect <name>" kwanza.`,
      aiLimitedMode: "AI iko katika hali ya kiwango kidogo — ni maswali ya jumla kuhusu Redis pekee yatafanya kazi hadi uunganishe.",
      welcomeDisconnected: "Karibu. Bado hujaunganishwa na instansi yoyote ya Redis.",
      readyIndicator: "Tayari.",
    },
    cheatsheet: {
      title: "Karatasi ya AI — Ninaweza kuuliza nini?",
      subtitle: "Bonyeza kidokezo chochote ili kukibandika kwenye konsoli. Kisha bonyeza Enter.",
      searchPlaceholder: "Chuja vidokezo…",
      openOfficialDocs: "Redis Commands ↗",
      openOfficialDocsTooltip: "Fungua rejeleo rasmi la amri za Redis kwenye redis.io",
      closeTooltip: "Funga (Esc)",
      empty: "Hakuna kidokezo kinachokubaliana na kichujio chako.",
      footerHint: "Dokezo: andika \"ai:\" kisha chochote kwa lugha yoyote — AI inaelewa lugha 54 na hutumia hali ya moja kwa moja ya Redis inapohitajika.",

      // Each group has: name (category label), match (search-filter alias), prompts (array of example strings)
      groups: {
        diagnostics: {
          name: "Uchunguzi wa moja kwa moja",
          description: "Omba AI kuchunguza hali ya moja kwa moja ya seva kupitia zana salama za kusoma tu.",
          prompts: [
            "kwa nini kumbukumbu iko juu?",
            "nionyeshe hoja 10 za polepole zaidi",
            "ni wateja gani wameunganishwa?",
            "sera ya maxmemory ni ipi?",
            "kuna uondoaji wowote wa hivi karibuni?",
            "kuna tukio lolote la ucheleweshaji?",
            "seva imekuwa ikiendelea kwa muda gani?",
            "kiwango cha hit ni kipi?",
            "onyesha matumizi ya cpu",
            "fanya muhtasari wa keyspace",
            "kila aina ya data hutumia kumbukumbu kiasi gani?",
            "kuna kitu chochote kinachozuia seva sasa hivi?"
          ]
        },
        keys: {
          name: "Funguo",
          description: "Kagua, tafuta na fikiria kuhusu funguo bila kubonyeza kwenye mti.",
          prompts: [
            "pata funguo zote zinazolingana na user:*",
            "ni funguo ngapi katika kila hifadhidata?",
            "onyesha hash kubwa zaidi katika db hii",
            "pata funguo zenye TTL chini ya sekunde 60",
            "ni funguo gani hazina TTL?",
            "ufunguo session:abc ni wa aina gani?",
            "kadiria kumbukumbu iliyotumika na kiambishi \"session:\"",
            "onyesha usimbaji wa kitu wa ufunguo user:42",
            "kuna funguo zozote zinakaribia kumalizika muda?",
            "ni namespace ipi inatumia kumbukumbu nyingi zaidi?"
          ]
        },
        dataTypes: {
          name: "Aina za data",
          description: "Maneno ya lugha asilia kwa unda/soma/sasisha kwenye kila aina ya Redis.",
          prompts: [
            "unda hash yenye jina user:1 ikiwa na sehemu name=Alice age=30",
            "ongeza vitu vitatu kwenye list tasks",
            "ongeza wanachama kwenye set favourites",
            "ongeza wanachama wenye alama kwenye sorted set leaderboard",
            "ongeza tukio kwenye stream events",
            "pata maingizo 10 ya mwisho kutoka stream events",
            "pata sehemu zote za hash user:1",
            "pata wanachama wa set favourites",
            "pata 10 bora kwa alama kutoka leaderboard"
          ]
        },
        modules: {
          name: "Moduli",
          description: "Hoja za moduli za Redis zilizopakiwa (kategoria zilizo hapa chini huonekana tu wakati moduli ipo).",
          prompts: []
        },
        json: {
          name: "RedisJSON",
          description: "Inapatikana wakati moduli ya ReJSON imepakiwa.",
          prompts: [
            "unda hati ya JSON kwa user:42 yenye { name: \"Alice\", age: 30 }",
            "soma sehemu ya name ya user:42",
            "sasisha age ya user:42 hadi 31",
            "orodhesha funguo zote za JSON",
            "futa sehemu moja kutoka hati ya JSON",
            "pata sehemu iliyofungwa ndani kwa kutumia JSONPath"
          ]
        },
        search: {
          name: "RediSearch",
          description: "Inapatikana wakati moduli ya search imepakiwa.",
          prompts: [
            "orodhesha faharasa zote za maandishi kamili",
            "endesha utaftaji wa maandishi kamili wa \"redis\" kwenye faharasa idx:products",
            "unda faharasa inayotegemea hash yenye sehemu title (TEXT) na price (NUMERIC)",
            "pata taarifa kuhusu faharasa idx:products",
            "ondoa faharasa idx:products",
            "pata hati ambapo price iko kati ya 10 na 50",
            "andika utaftaji wa mchanganyiko unaojumuisha maandishi na ufanano wa vector"
          ]
        },
        timeseries: {
          name: "RedisTimeSeries",
          description: "Inapatikana wakati moduli ya timeseries imepakiwa.",
          prompts: [
            "orodhesha funguo zote za timeseries",
            "ongeza kituo cha data kwa temp:room1",
            "pata safu ya temp:room1 kutoka jana hadi sasa",
            "pata multi-range kwa lebo sensor=temp",
            "tengeneza vituo 100 vya data vya mawimbi ya sine kwa temp:room1",
            "onyesha uhifadhi na lebo za temp:room1"
          ]
        },
        bloom: {
          name: "RedisBloom (Bloom / Cuckoo / Top-K / CMS / T-Digest)",
          description: "Inapatikana wakati moduli ya bf imepakiwa.",
          prompts: [
            "angalia kama kipengee foo kipo kwenye bloom filter spam:ips",
            "ongeza vipengee kwenye bloom filter spam:ips",
            "unda top-K yenye jina popular na K=10",
            "uliza count-min sketch traffic kwa ufunguo /home",
            "ongeza thamani kwa t-digest na pata asilimia ya 95",
            "onyesha taarifa za bloom filter spam:ips"
          ]
        },
        vectorSet: {
          name: "VectorSet (Redis 8+)",
          description: "Inapatikana wakati Redis 8+ imegunduliwa (aina asili ya VECTORSET).",
          prompts: [
            "ongeza vector kwa embeddings",
            "pata vector 10 zinazofanana zaidi na vector ya hoja",
            "onyesha vipimo na idadi ya vectorset embeddings",
            "futa kipengee kutoka vectorset embeddings",
            "tafuta kwa jina la kipengee ukitumia VSIM"
          ]
        },
        redis8: {
          name: "Vipengele vya Redis 8+",
          description: "Huonyeshwa wakati Redis 8+ imegunduliwa.",
          prompts: [
            "weka ttl ya sehemu ya hash kwa HEXPIRE",
            "pata digest ya thamani ya mfuatano",
            "endesha utaftaji wa mchanganyiko wa maandishi kamili + vector (FT.HYBRID)",
            "weka funguo nyingi kwa muda wa kumalizika wa pamoja kwa kutumia MSETEX",
            "futa ingizo la stream lenye consumer group (XDELEX)",
            "onyesha slot-stats ya cluster kwa slot 10 za juu"
          ]
        },
        scripting: {
          name: "Kuandika skripti",
          description: "Tengeneza skripti za Lua / EVAL kutoka kwa maelezo ya lugha asilia.",
          prompts: [
            "andika skripti ya atomiki inayoongeza counter X endapo tu Y > 5",
            "tengeneza funguo 100 nasibu kwa Lua",
            "badilisha mkondo huu wa shell kuwa EVAL moja: keys user:* | GET | grep inactive | DEL",
            "hamisha operesheni ya kundi kwa Lua kwa usalama wa cluster",
            "sasisho la mtindo wa check-and-set katika simu moja ya Lua",
            "pitia hash na ufute sehemu zinazolingana na muundo"
          ]
        },
        cluster: {
          name: "Cluster",
          description: "Huonyeshwa tu katika hali ya cluster.",
          prompts: [
            "onyesha taarifa za cluster",
            "orodhesha nodi za cluster",
            "onyesha slot 10 za juu kwa idadi ya funguo",
            "onyesha slot 10 za juu kwa kumbukumbu",
            "ni master gani anayemiliki slot 5000?"
          ]
        },
        acl: {
          name: "ACL (Redis 6+)",
          description: "Kagua watumiaji wa udhibiti wa ufikiaji na muunganisho wa sasa.",
          prompts: [
            "nimejiunga kama nani?",
            "orodhesha watumiaji wote wa ACL",
            "nina ruhusa zipi?",
            "onyesha sheria za mtumiaji chaguo-msingi"
          ]
        },
        qna: {
          name: "Maswali na Majibu ya Jumla",
          description: "Uliza maswali ya maarifa ya Redis — bila zana, majibu tu.",
          prompts: [
            "ZADD ni nini?",
            "cluster failover hufanyaje kazi?",
            "eleza SCAN ikilinganishwa na KEYS",
            "lini ninatakiwa kutumia EVAL badala ya amri nyingi?",
            "chaguo za uhifadhi wa Redis ni zipi?",
            "kuna tofauti gani kati ya RDB na AOF?",
            "Redis Sentinel huamuaje master mpya?",
            "eleza hash tags katika hali ya cluster"
          ]
        },
        translate: {
          name: "Lugha asilia → Amri ya Redis",
          description: "Eleza unachotaka kwa Kiswahili rahisi (au lugha yoyote kati ya 54); AI itaandika amri ya Redis.",
          prompts: [
            "futa ufunguo user:42",
            "badilisha jina la ufunguo foo kuwa bar",
            "malizisha ufunguo session:abc baada ya sekunde 10",
            "nakili ufunguo source kwenda destination",
            "ongeza counter visits kwa 5",
            "weka ufunguo greeting kuwa \"hello\" kwa saa 1",
            "nionyeshe funguo 10 zinazofikiwa mara nyingi zaidi",
            "futa funguo zote zinazolingana na temp:*"
          ]
        }
      }
    },
    ssh: {
      on: 'SSH imewashwa',
      off: 'SSH imezimwa',
      sshHost: 'Mwenyeji wa SSH',
      sshPort: 'Bandari ya SSH',
      sshUsername: 'Jina la mtumiaji wa SSH',
      sshPassword: 'Nenosiri la SSH',
      sshPrivateKey: 'Ufunguo wa faragha wa SSH'
    },
    isBuffer: opts => `[object ArrayBuffer] inamaanisha kuwa thamani ni data ya binary au thamani ni kubwa kuliko ${opts.maxValueAsBuffer}`,
    streamValue: `Uga na thamani ya mkondo ni mstari mmoja. Mfano: field1 value1 "field 2" "value 2"`,
    streamTimestampId: `'*' inamaanisha kuzalishwa kiotomatiki au ainisho kama <millisecondsTime>-<sequenceNumber>`,
    unableToLoadKey: ({
      key
    }) => {
      return `Haiwezekani kupakia ufunguo huu: ${key}. Huenda ufunguo umefutwa. Hitilafu halisi iko kwenye konsoli.`;
    },
    bigJson: "Kitu hiki cha JSON kina zaidi ya 10 kb, kwa hivyo hakikisha unajua unachofanya, kwa sababu baadhi ya kazi zinaweza kuwa polepole katika uonyeshaji.",
    addNode: "Ongeza nodi",
    validateJson: "Thibitisha JSON",
    reducedFunction: `Utendaji uliopunguzwa`,
    tooManyKeys: opts => {
      return `Kwa kazi kamili za juu, funguo zinazoruhusiwa ni ${opts.maxLightKeysCount} jumla. Hifadhidata hii ina zaidi ya funguo zinazoruhusiwa jumla ${opts.count}. Upangaji wa funguo na taarifa za ziada za mti wa mapambo zimezimwa. Utafutaji unafanyika kwenye seva badala ya utafutaji wa mteja.`;
    },
    redisCommandNotFound: "Hakuna amri ya Redis inayolingana iliyopatikana ...",
    treeKeyStore: `Upangaji (ulinganisho wa asili) unatekelezwa kwenye mteja yaani kivinjari, ambayo inamaanisha ina adhabu kwa seti kubwa, kama zaidi ya funguo 10k, inaweza kuongeza muda kidogo kwa uonyeshaji wa ukurasa. Hakuna upangaji wa funguo katika Redis, ni kama hii tu.`,
    socketIoTimeout: options => {
      return `Socket.IO imekwisha muda kwa ombi hili (upeo ${options.timeout / 1000} sekunde) ...`;
    },
    resizerInfo: options => {
      return `Upana wa chini wa paneli ya kushoto au kulia ni ${options.width}px`;
    },
    jsonViewNotParsable: "Thamani hii haiwezi kuchambuliwa kama JSON  ",
    ttlTitle: "Weka TTL kwa sekunde",
    passwordSecure: "Nenosiri linaweza kuwa tupu, lakini bado litaonyesha herufi, hii ni kipengele cha usalama.",
    aclAuthHint: "Tumia jina la mtumiaji na nenosiri la Redis ACL ili kuthibitisha. Acha tupu kwa mtumiaji chaguo-msingi asiye na nenosiri.",
    tlsWithoutCert: "Wezesha TLS bila cheti cha ziada",
    tlsRejectUnauthorized: "Kataa cheti kisichoidhinishwa",
    tlsSecure: "Ikiwa unaona usanidi wa TLS unaoanza na P3X au mipangilio yote ya TLS inaonekana sawa, ni kipengele cha usalama. Ili kubadilisha mipangilio, badilisha mipangilio hii na tupu au kitu kingine na itahifadhiwa. Ikiwa haubadilishi mipangilio ya TLS, mipangilio itabaki kama ilivyo kwenye seva.",
    treeSeparatorEmpty: "Ikiwa kitenganishi cha mti ni tupu, mti hautakuwa na nodi zilizopachikwa, orodha safi tu",
    treeSeparatorEmptyNote: "Hakuna nodi zilizopachikwa, orodha safi tu",
    welcomeConsole: "Karibu kwenye Konsoli ya Redis",
    welcomeConsoleInfo: "SHIFT + Historia ya Mshale JUU au CHINI imewezeshwa",
    redisListIndexInfo: "Tupu kuongeza, -1 kuongeza mbele au hifadhi kwenye nafasi iliyoonyeshwa.",
    console: "Konsoli",
    connectiondAdd: "Ongeza muunganisho",
    connectiondEdit: "Hariri muunganisho",
    connectiondView: "Tazama muunganisho",
    connections: "Muunganisho",
    keysSort: {
      on: "Upangaji wa funguo umewashwa",
      off: "Upangaji wa funguo umezimwa"
    },
    cluster: {
      on: "Nguzo imewashwa",
      off: "Nguzo imezimwa"
    },
    sentinel: {
      on: "Mlinzi amewashwa",
      off: "Mlinzi amezimwa",
      name: "Jina la mlinzi"
    },
    readonly: {
      on: "Kusoma tu kumewashwa",
      off: "Kusoma tu kumezimwa"
    },
    theme: {
      light: "Mwanga",
      dark: "Giza enterprise",
      darkNeu: "Giza",
      darkoBluo: "Darko bluo",
      enterprise: "Enterprise",
      redis: "Redis",
      matrix: "Matrix"
    },
    connected: opts => {
      return `Imeunganishwa: ${opts.name}`;
    },
    tree: "Mti",
    askAuth: "Omba idhini",
    keyboardShortcuts: "Vifupisho vya kibodi",
    about: "Kuhusu",
    supportedLanguages: "Lugha zinazotumika",
    version: "Toleo",
    redisVersion: "Toleo la Redis",
    modules: "Moduli",
    shortcutRefresh: "Onyesha upya",
    shortcutSearch: "Lenga utafutaji",
    shortcutNewKey: "Ufunguo mpya",
    shortcutDisconnect: "Tenganisha",
    themeAuto: "Auto (system)",
    languageAuto: "Auto (system)",
    shortcutCommandPalette: "Jopo la amri",
    commandPalette: "Jopo la amri",
    noResults: "Hakuna matokeo",
    redisCommandsReference: "Amri za Redis",
    ungrouped: "Bila kikundi",
    grouped: "Zilizopangwa",
    connectFirst: "Unganisha kwanza kwa seva ya Redis",
    searchLanguage: "Tafuta lugha...",
    exportProgress: "Kuhamisha funguo...",
    importProgress: "Kuingiza funguo...",
    importPreview: "Hakiki",
    importOverwrite: "Andika juu",
    importSkip: "Ruka",
    importConflict: "Ikiwa ufunguo tayari upo:",
    noKeysToExport: "Hakuna funguo za kuhamisha",
    time: "Muda",
    type: "Aina",
    format: "Muundo",
    loading: "Inapakia...",
    autoRefresh: "Otomatiki",
    exportSearchHint: "Kuhamisha funguo zinazolingana na utafutaji wa sasa pekee",
    importSearchHint: "Uingizaji unatumika kwa hifadhidata nzima, si matokeo ya utafutaji pekee",
    deleteSearchHint: "Hufuta funguo zote zinazolingana na utafutaji wa sasa kwenye seva",
    deletingSearchKeys: "Inafuta funguo zinazolingana...",
    importNoKeys: "Hakuna funguo zilizopatikana kwenye faili",
    desktopNotifications: "Arifa za Eneo-kazi",
    desktopNotificationsEnabled: "Washa arifa za eneo-kazi",
    desktopNotificationsInfo: "Pokea arifa za OS kwa kukatika na kuunganisha tena kwa Redis wakati programu haipo katika lengo."
  },
  status: {
    dataCopied: "Data iko kwenye ubao wa kunakili",
    exportDone: "Uhamishaji umekamilika",
    deletedSearchKeys: (opts) => `Funguo ${opts.count} zimefutwa`,
    indexCreated: "Faharasa imeundwa",
    indexDropped: "Faharasa imefutwa",
    importDone: (opts) => `Uingizaji umekamilika: ${opts.created} vimeundwa, ${opts.skipped} vimerukwa, ${opts.errors} makosa`,
    nodeRemoved: "Nodi imeondolewa",
    keyIsNotExisting: "Ufunguo huu unaweza kuwa umefutwa au umekwisha muda.",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "Hakuna ufunguo";
      } else if (opts.keyCount === 1) {
        return "Ufunguo 1";
      } else {
        return `Funguo ${opts.keyCount}`;
      }
    },
    treeExpandAll: "Panua majani yote ya mti. Operesheni hii inaweza kuwa ghali na inaweza kuchukua muda ...",
    noRedisKeys: "Hakuna funguo katika hifadhidata hii.",
    redisConnected: "Redis imeunganishwa kwa mafanikio",
    reverted: "Imerejeshwa",
    reloadingDataInfo: "Inapakia upya taarifa za data za Redis",
    added: "Imeongezwa",
    saved: "Imesasishwa",
    cancelled: "Imeghairiwa",
    deleted: "Imefutwa",
    savedRedis: "Data ya Redis imehifadhiwa",
    redisDisconnected: opts => {
      return `Muunganisho wa sasa ulikuwa na hitilafu: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `Faharasa ya db imewekwa kuwa ${opts.db}. `;
    },
    treeDeleted: opts => {
      return `Ufunguo wa mti umefutwa (${opts.key}).`;
    },
    deletedKey: opts => {
      return `Ufunguo umefutwa (${opts.key}).`;
    },
    renamedKey: "Ufunguo huu umebadilishwa jina",
    ttlChanged: "TTL ya ufunguo huu imebadilishwa",
    notInteger: "Ingizo hili si nambari kamili",
    persisted: "Ufunguo huu umehifadhiwa milele",
    set: "Ufunguo umewekwa/imeongezwa",
    connectionRestored: "Muunganisho umerejeshwa",
    socketDisconnected: "Imekatwa",
    socketError: "Hitilafu ya muunganisho",
    deletedHashKey: "Ufunguo wa hash umefutwa",
    deletedSetMember: "Mwanachama wa seti amefutwa",
    deletedListElement: "Kipengele cha orodha kimefutwa",
    deletedZSetMember: "Mwanachama wa seti iliyopangwa amefutwa",
    deletedStreamTimestamp: "Ingizo la mkondo limefutwa",
  },
  code: {
    "delete-connection": "Muunganisho huu umefutwa, kwa hivyo umetenganishwa na mfano huu wa Redis.",
    "save-connection": "Muunganisho huu umebadilishwa, kwa hivyo umetenganishwa na mfano huu wa Redis. Unaweza kuunganisha tena.",
    "readonly-connections": "Muunganisho wa kuongeza/kuhifadhi/kufuta ni wa kusoma pekee!",
    "readonly-connection-mode": "Muunganisho huu ni wa hali ya kusoma pekee!",
    "list-out-of-bounds": "Faharasa hii ya orodha iko nje ya mipaka",
    "invalid-json-value": "Thamani si JSON halali.",
    "http_auth_required": "Idhini inahitajika: tafadhali thibitisha na HTTP Basic Auth na upakia upya.",
    "auto-connection-failed": "Huenda muunganisho uliondolewa na muunganisho wa kiotomatiki umeshindwa kwa sababu hiyo.",
    invalid_console_command: "Amri hii haifanyi kazi kupitia GUI.",
    "AI_DISABLED": "AI imezimwa. Iwashe katika Mipangilio ya AI.",
    "AI_PROMPT_REQUIRED": "Ombi la AI linahitajika.",
    "GROQ_API_KEY_READONLY": "Ufunguo wa Groq API ni wa kusoma tu na hauwezi kubadilishwa.",
    "blocked_api_access": "Mpango wako wa Groq API hauruhusu ufikiaji wa modeli hii. Boresha mpango wako wa Groq au tumia proksi ya network.corifeus.com.",
    "rate_limit": "Kikomo cha kiwango cha AI kimefikiwa. Jaribu tena baadaye au tumia ufunguo wako wa Groq API katika Mipangilio."
  },
  form: {
    error: {
      required: "Inahitajika",
      port: "Bandari ni kati ya 1-65535",
      invalid: "Fomu ni batili"
    },
    connection: {
      label: {
        name: "Jina",
        group: "Group",
        host: "Jina la mwenyeji",
        port: "Bandari",
        password: "Nenosiri",
        username: "Jina la mtumiaji"
      }
    },
    treeSettings: {
      maxValueDisplay: "Urefu wa juu wa kuonyesha thamani",
      maxValueDisplayInfo: "Ikiwa imewekwa 0, onyesha thamani kamili. Ikiwa kubwa kuliko 0, punguza hadi urefu huu. Ikiwa -1: kwa herufi, ficha thamani hadi kuhariri; kwa aina nyingine, onyesha maudhui kamili.",
      maxKeys: "Idadi ya juu ya funguo",
      maxKeysInfo: "Ili GUI isishindwe, tunapunguza idadi ya juu ya funguo.",
      keyCount: (opts) => {
        return `Idadi ya funguo: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "Tumia uhuishaji",
        noAnimation: "Hakuna uhuishaji",
        undoEnabled: "Tendua imewashwa",
        undoDisabled: "Tendua imezimwa",
        diffEnabled: "Onyesha diff kabla ya kuhifadhi",
        diffDisabled: "Diff kabla ya kuhifadhi imezimwa",
        jsonFormatTwoSpace: "Umbiza JSON na nafasi 2",
        jsonFormatFourSpace: "Umbiza JSON na nafasi 4",
        formName: "Mipangilio ya Redis",
        searchModeClient: "Hali ya utafutaji wa mteja",
        searchModeServer: "Hali ya utafutaji wa seva",
        searchModeStartsWith: "Tafuta na hali ya kuanza na",
        searchModeIncludes: "Tafuta inajumuisha hali"
      },
      undoHint: "Tendua inapatikana kwa aina za ufunguo za string na JSON pekee",
      field: {
        treeSeparator: "Kitenganishi cha mti",
        treeSeparatorSelector: "Kichaguzi cha kitenganishi cha mti",
        page: "Idadi ya kurasa za mti",
        keyPageCount: "Idadi ya kurasa za funguo",
        keysSort: "Panga funguo",
        searchMode: "Hali ya utafutaji",
        searchModeStartsWith: "Utafutaji huanza na / inajumuisha"
      },
      error: {
        keyPageCount: "Idadi ya kurasa za funguo lazima iwe nambari kamili kati ya 5 - 100",
        page: "Idadi ya kurasa lazima iwe nambari kamili kati ya 10 - 5000",
        maxValueDisplay: "Thamani ya juu ya kuonyesha lazima iwe nambari kamili kati ya -1 na 32768",
        maxKeys: "Thamani ya juu ya idadi ya funguo lazima iwe nambari kamili kati ya 100 na 100000"
      }
    },
    key: {
      label: {
        formName: {
          add: "Ongeza ufunguo mpya wa Redis",
          edit: "Hariri ufunguo wa Redis",
          append: "Ongeza kwa ufunguo uliopo wa Redis"
        }
      },
      field: {
        streamTimestamp: "Muhuri wa wakati",
        key: "Ufunguo",
        type: "Aina",
        index: "Faharasa",
        hashKey: "Ufunguo wa Hash",
        score: "Alama",
        value: "Thamani",
        errorRate: "Kiwango cha makosa",
        capacity: "Uwezo",
        topk: "Top K",
        width: "Upana",
        depth: "Kina",
        decay: "Kupungua",
        compression: "Ubanaji",
        increment: "Ongezeko",
        item: "Kipengee",
        vectorValues: "Thamani za vekta (zimetenganishwa kwa koma)",
        element: "Jina la kipengee",
      },
      error: {
        streamTimestamp: "Muhuri wa wakati unahitajika, ama muundo wa Redis au kama *",
        key: "Ufunguo ni, angalau, herufi moja",
        hashKey: "Ufunguo wa jedwali la hash ni angalau herufi moja",
        score: "Alama ya seti iliyopangwa inahitajika",
        value: "Thamani inahitajika",
        errorRate: "Kiwango cha makosa lazima kiwe kati ya 0 na 1 (mf. 0.01)",
        capacity: "Uwezo lazima uwe nambari kamili chanya",
        topk: "Top K lazima iwe nambari kamili chanya",
        width: "Upana lazima uwe nambari kamili chanya",
        depth: "Kina lazima kiwe nambari kamili chanya",
        item: "Kipengee kinahitajika"
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "Tafuta",
      index: "Faharasa",
      query: "Swali",
      results: "Matokeo",
      noIndex: "Hakuna faharasa",
      createIndex: "Unda faharasa",
      dropIndex: "Futa faharasa",
      indexInfo: "Maelezo ya faharasa",
      indexName: "Jina la faharasa",
      prefix: "Kiambishi awali cha ufunguo (hiari)",
      fieldName: "Jina la uga",
      hybridMode: "Utafutaji mseto (FT.HYBRID)",
      vectorField: "Sehemu ya vekta",
      vectorValues: "Thamani za vekta",
    },
    monitor: {
      title: "Ufuatiliaji",
      memory: "Kumbukumbu",
      opsPerSec: "Ops/sek",
      clients: "Wateja",
      blocked: "Imezuiwa",
      hitsMisses: "Kiwango cha hit",
      networkIo: "Mtandao I/O",
      slowLog: "Logi polepole",
      noSlowQueries: "Hakuna maswali ya polepole yaliyorekodiwa.",
      confirmSlowLogReset: "Je, una uhakika unataka kuweka upya kumbukumbu ya polepole?",
      slowLogResetDone: "Logi ya polepole iliwekwa upya.",
      totalCommands: "Jumla",
      expired: "Imeisha muda",
      evicted: "Imefukuzwa",
      clientList: "Orodha ya wateja",
      topKeys: "Funguo kubwa zaidi kwa kumbukumbu",
      killClient: "Ua mteja",
      clientKilled: "Mteja ameondolewa",
      confirmKillClient: "Una uhakika unataka kusimamisha mteja huyu?",
      noKeys: "Hakuna funguo",
      rss: "RSS",
      peak: "Kilele",
      fragmentation: "Mgawanyiko",
      hitsAndMisses: "Mapigo / Kukosa",
      noClients: "Hakuna wateja",
      slotStats: "Takwimu za nafasi za klasta",
      serverInfo: "Taarifa za Seva",
      os: "Mfumo wa Uendeshaji",
      port: "Port ya Mtandao",
      pid: "Kitambulisho cha Mchakato",
      configFile: "Faili ya Usanidi",
      uptime: "Uptime",
      keyspace: "Redis nafasi muhimu",
      keys: "Vifunguo vya Redis",
      expires: "Muda wake unaisha",
      noKeyspace: "Hakuna funguo",
      persistence: "Kudumu kwa Data",
      rdbLastSave: "Uhifadhi wa Mwisho wa RDB",
      rdbStatus: "Hali ya RDB",
      rdbChanges: "Mabadiliko Tangu Kuhifadhi Mara ya Mwisho",
      aofEnabled: "AOF Imewashwa",
      aofSize: "Ukubwa wa AOF",
      replication: "Marudio ya Redis",
      role: "Wajibu wa Kuiga",
      replicas: "Nakala zilizounganishwa",
      masterHost: "Mwenyeji Msingi",
      linkStatus: "Hali ya Kiungo cha Kuiga",
      cpu: "Matumizi ya CPU",
      cpuSys: "Mfumo",
      cpuUser: "Mtumiaji",
      modules: "Imepakia Moduli za Redis",
      noModules: "Hakuna moduli za Redis zilizopakiwa",
      clusterSlotMap: "Redis ramani ya nguzo yanayopangwa",
      slotRange: "Aina ya yanayopangwa ya nguzo",
      totalSlots: "Jumla ya nafasi za nguzo",
      noClusterData: "Hakuna data ya nguzo ya Redis inayopatikana.",
    },
    analysis: {
      title: "Uchambuzi wa Kumbukumbu",
      runAnalysis: "Endesha Uchambuzi",
      running: "Inachambuza...",
      typeDistribution: "Ugawaji wa Aina",
      prefixMemory: "Kumbukumbu kwa Kiambishi",
      topKeysByMemory: "Funguo Kubwa kwa Kumbukumbu",
      expirationOverview: "Muda wa Funguo",
      memoryBreakdown: "Mgawanyo wa Kumbukumbu",
      keysScanned: "Funguo Zilizoskanwa",
      totalMemory: "Kumbukumbu Jumla",
      rssMemory: "Kumbukumbu RSS",
      peakMemory: "Kumbukumbu ya Kilele",
      luaMemory: "Kumbukumbu Lua",
      overheadMemory: "Mzigo wa Ziada",
      datasetMemory: "Seti ya Data",
      fragmentation: "Mgawanyiko",
      allocator: "Mgawaji",
      withTTL: "Yenye TTL",
      persistent: "Ya Kudumu",
      avgTTL: "TTL ya Wastani",
      prefix: "Kiambishi",
      keyCount: "Idadi ya Funguo",
      memoryUsage: "Matumizi ya Kumbukumbu",
      noPrefix: "(hakuna kiambishi)",
      topN: "Top N",
      maxScanKeys: "Upeo wa Funguo Zilizoskanwa",
      type: "Aina",
      noData: "Hakuna data. Bofya Endesha Uchambuzi kuanza.",
      exportAll: "Hamisha Zote",
      memoryDoctor: "Memory Doctor",
      doctorNoData: "Bofya Onyesha upya ili kuendesha uchunguzi wa Memory Doctor.",
    },
    acl: {
      title: "Watumiaji wa ACL",
      loadUsers: "Pakia watumiaji",
      loading: "Inapakia...",
      username: "Jina la mtumiaji",
      status: "Hali",
      enabled: "Imewashwa",
      disabled: "Imezimwa",
      commands: "Amri",
      commandsHint: "k.m., +@all or +@read -@dangerous",
      keys: "Mifumo ya funguo za Redis",
      keysHint: "k.m., ~* or ~user:*",
      channels: "Vituo vya Pub/Sub",
      channelsHint: "k.m., &* or &notifications:*",
      password: "Nenosiri",
      noPassword: "Hakuna nenosiri (nopass)",
      passwordHint: "Acha tupu ili kuweka nenosiri la sasa",
      currentUser: "Ya sasa",
      createUser: "Unda mtumiaji",
      editUser: "Badilisha mtumiaji",
      deleteUser: "Futa",
      confirmDelete: "Je, una uhakika unataka kufuta mtumiaji wa ACL?",
      userDeleted: "Mtumiaji wa ACL alifutwa.",
      userSaved: "Mtumiaji wa ACL alihifadhiwa.",
      cannotDeleteDefault: "Haiwezi kufuta mtumiaji chaguo-msingi.",
      cannotDeleteSelf: "Haiwezi kufuta mtumiaji aliyeunganishwa kwa sasa.",
      noUsers: "ACL inahitaji Redis 6.0+.",
      groupCommon: "Kawaida",
      groupDataTypes: "Aina za Data",
      groupOperations: "Uendeshaji",
      rules: "Sheria",
      rulesHint: "Tokeni zilizotenganishwa na nafasi (kwa mfano on >password +@all ~* &*)",
      defaultUserWarning: "Tahadhari: Kurekebisha mtumiaji chaguo-msingi kunaweza kufunga miunganisho yote. Hili likitokea, utahitaji kuwasha upya Redis au utumie redis-cli kurejesha ufikiaji.",
    },
    overview: {
      noConnected: "Hakuna muunganisho na Redis.",
      overviewClients: "Orodhesha wateja waliounganishwa kwa idadi ya wateja",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "Mteja 1";
        }
        return `Wateja ${opt.length}`;
      }
    },
    key: {
      label: {
        key: "Ufunguo",
        encoding: "Usimbaji",
        compression: "Ubanaji",
        aiRateLimited: "Kikomo cha maombi ya AI kimefikiwa. Jaribu tena baadaye au tumia ufunguo wako wa Groq API katika Mipangilio.",
        aiError: "Swali la AI limeshindwa",
        length: "Ukubwa",
        ttl: "TTL",
        ttlTitle: "Muda wa Kuishi",
        type: "Aina",
        ttlNotExpire: "haiishi",
        lengthString: "baiti",
        lengthItem: "vipengee",
        actions: "Vitendo"
      },
      list: {
        table: {
          index: "Faharasa",
          value: "Thamani"
        }
      },
      hash: {
        table: {
          hashkey: "Ufunguo wa Hash",
          value: "Thamani"
        }
      },
      set: {
        table: {
          value: "Mwanachama"
        }
      },
      zset: {
        table: {
          value: "Mwanachama",
          score: "Alama"
        }
      },
      stream: {
        table: {
          timestamp: "Kitambulisho cha Muhuri wa Wakati",
          field: "Uga",
          value: "Thamani"
        }
      },
      timeseries: {
        chart: "Chati",
        info: "Taarifa",
        addPoint: "Ongeza Sehemu ya Data",
        from: "Kutoka (ms au -)",
        to: "Hadi (ms au +)",
        aggregation: "Mkusanyiko",
        timeBucket: "Ndoo (ms)",
        none: "Hakuna",
        dataPoints: "pointi za data",
        labels: "Lebo",
        rules: "Sheria",
        retention: "Uhifadhi",
        timestamp: "Muhuri wa wakati",
        value: "Thamani",
        retentionHint: "0 = hakuna muda wa kuisha, au milisekunde",
        duplicatePolicy: "Sera ya nakala pacha",
        labelsHint: "ufunguo1 thamani1 ufunguo2 thamani2",
        timestampHint: "'*' inamaanisha inazalishwa kiotomatiki, au muhuri wa wakati wa milisekunde",
        editAllHint: "Sehemu moja ya data kwa kila mstari: muhuri_wa_wakati thamani (muhuri wa wakati unaweza kuwa * kwa otomatiki)",
        autoSpread: "Muda wa kuenea * otomatiki",
        formula: "Fomula",
        formulaLinear: "Mstari",
        formulaRandom: "Nasibu",
        formulaSawtooth: "Jino la msumeno",
        formulaPoints: "Pointi",
        formulaAmplitude: "Amplitude",
        formulaOffset: "Ofiseti",
        generate: "Zalisha",
        exportChart: "Hamisha PNG",
        overlay: "Funguo za kupachika",
        overlayHint: "Funguo zilizotengwa kwa koma",
        mrangeFilter: "Kichujio cha lebo",
        bulkMode: "Uzalishaji wa wingi",
        mrangeHint: "mf. sensor=temp"
      },
      probabilistic: {
        info: "Taarifa",
        addItem: "Ongeza Kipengee",
        checkItem: "Angalia Kipengee",
        item: "Kipengee",
        exists: "Ipo",
        doesNotExist: "Haipo",
        topkList: "Vipengee Bora",
        topkCount: "Hesabu",
        queryCount: "Hesabu ya Swali",
        queryResult: "Matokeo ya Swali",
        addedSuccessfully: "Kipengee kimeongezwa kwa mafanikio",
        deletedSuccessfully: "Kipengee kimefutwa kwa mafanikio",
        quantile: "Quantile",
        quantileResult: "Matokeo",
        noItems: "Hakuna vipengee vya kuonyesha",
        resetConfirm: "Weka upya data zote katika T-Digest hii?"
      },
      vectorset: {
        info: "Taarifa",
        elements: "Vipengee",
        similarity: "Utafutaji wa Kufanana",
        searchByElement: "Tafuta kwa kipengee",
        searchByVector: "Tafuta kwa vekta",
        vectorValues: "Thamani za vekta",
        element: "Kipengee",
        score: "Alama",
        count: "Hesabu",
        addElement: "Ongeza Kipengee",
        attributes: "Sifa",
        noAttributes: "Hakuna sifa",
        dimensions: "Vipimo",
        removeConfirm: "Ondoa kipengee hiki kutoka VectorSet?",
        noElements: "Hakuna vipengee",
        filter: "Chujio",
        searchComplete: "Utafutaji umekamilika",
      }
    },
    treeControls: {
      settings: "Mipangilio ya mti",
      expandAll: "Panua yote",
      collapseAll: "Kunja yote",
      level: "Kiwango",
      search: {
        search: "Tafuta kwenye funguo",
        clear: "Futa utafutaji wa sasa ili kuweka tupu",
        placeholderClient: "Tafuta upande wa mteja",
        placeholderServer: "Tafuta upande wa seva",
        info: (opts) => "Utafutaji wa upande wa mteja unamaanisha kuwa unalingana na maandishi kwenye ingizo la utafutaji. Utafutaji wa upande wa seva unamaanisha kuwa ni utafutaji kama katika mifumo ya funguo kama *{search-text}*. Kwa seti kubwa za utafutaji, ni bora kutumia utafutaji wa upande wa seva. Kwa seti ndogo za utafutaji, ni bora kutumia hali ya utafutaji wa upande wa mteja." + ` Ikiwa idadi ya funguo ni zaidi ya ${opts?.maxLightKeysCount ?? 110000}, unaweza kutafuta tu upande wa seva.`,
        largeSetInfo: "Katika seti kubwa, utafutaji wa upande wa mteja umezimwa. kwa hivyo sasa hivi utafutaji wa upande wa seva pekee ndio unaowezekana.",
        infoDetails: "Ili kujua jinsi utafutaji unavyofanya kazi, tafadhali angalia mipangilio"
      },
      pager: {
        next: "Inayofuata",
        prev: "Iliyotangulia",
        first: "Ya kwanza",
        last: "Ya mwisho"
      }
    }
  },
  time: {
    years: "miaka",
    months: "miezi",
    days: "siku",
    year: "mwaka",
    month: "mwezi",
    day: "siku",
    second: "sekunde",
    seconds: "sekunde",
    minute: "dakika",
    minutes: "dakika",
    hour: "saa",
    hours: "saa"
  },
  redisTypes: {
    string: "String",
    list: "List",
    hash: "Hash table",
    set: "Set",
    zset: "Sorted set - zset",
    stream: "Stream",
    json: "JSON",
    timeseries: "Time Series",
    bloom: "Bloom kichujio",
    cuckoo: "Cuckoo kichujio",
    topk: "Top-K",
    cms: "Count-Min Sketch",
    tdigest: "T-Digest",
    vectorset: "VectorSet",
  },
  promo: {
    title: "Msaidizi wa Mtandao wa AI",
    description: "Gundua Msaidizi wetu wa Mtandao wa AI bila malipo kwenye network.corifeus.com — chambua domeni, IP, rekodi za DNS, vyeti vya SSL, usalama wa barua pepe na miundombinu ya mtandao. Inaendeshwa na AI kwa matokeo ya papo hapo na ya kina.",
    disclaimer: "Tangazo hili linaonyeshwa tu kwenye tovuti ya demo na halitaonekana katika usambazaji wa Docker, Electron au programu ya wavuti.",
    toastMessage: "Jaribu Msaidizi wetu wa Mtandao wa AI bila malipo kwenye network.corifeus.com — chambua domeni, DNS, SSL na zaidi!",
    visit: "Tembelea network.corifeus.com",
  }
};
module.exports = strings;