RSS Git Download  Clone
Raw Blame History 34kB 862 lines
const strings = {
  error: {
    server_error: "Greška servera, molimo pokušajte ponovo",
    aiPromptTooLong: "AI upit je predug (maksimalno 4096 znakova)",
  },
  title: {
    donate: "Doniraj",
    donateTitle: "Podržite P3X Redis UI",
    donateDescription: "P3X Redis UI je besplatan projekat otvorenog koda. Troškovi održavanja aplikacije, AI funkcija, Docker slika, servera i infrastrukture dolaze iz džepa programera. Ako vam je ovaj alat koristan, razmislite o podršci daljnjem razvoju donacijom. Svaki doprinos pomaže da projekat živi i raste. Hvala!",
    jsonRecursive: "Proširivanje svih listova",
    name: "P3X Redis UI",
    nameDonated: "P3X Redis UI+",
    main: "Možete odabrati Redis konekciju iz donjeg lijevog menija.",
    statistics: "Statistika",
    error: "Greška",
    connectingRedis: "Povezivanje na Redis ...",
    socketioConnectError: "Socket.IO greška",
    db: "DB",
    server: "Server",
    clients: "Klijenti",
    memory: "Memorija",
    persistence: "Trajnost",
    stats: "Statistika",
    replication: "Replikacija",
    cpu: "CPU",
    cluster: "Klaster",
    modules: "Moduli",
    errorstats: "Statistike grešaka",
    commandstats: "Statistike naredbi",
    latencystats: "Statistike kašnjenja",
    keysizes: "Veličine ključeva",
    threads: "Niti"
  },
  confirm: {
    dropIndex: "Jeste li sigurni da želite obrisati ovaj indeks?",
    uploadBuffer: "Jeste li sigurni da želite učitati ove binarne podatke?",
    uploadBufferDone: "Binarni podaci su učitani",
    uploadBufferDoneAndSave: "Binarni podaci su učitani i sačuvani na serveru",
    title: "Potvrdi",
    alert: "Upozorenje",
    info: "Informacija",
    deleteListItem: "Jeste li sigurni da želite obrisati ovu stavku liste?",
    deleteHashKey: "Jeste li sigurni da želite obrisati ovu hash ključ stavku?",
    deleteStreamTimestamp: "Jeste li sigurni da želite obrisati ovaj vremenski pečat streama?",
    deleteSetMember: "Jeste li sigurni da želite obrisati ovog člana skupa?",
    deleteZSetMember: "Jeste li sigurni da želite obrisati ovog člana sortiranog skupa?",
    deleteConnection: "Potvrdi",
    deleteConnectionText: "Jeste li sigurni da želite obrisati ovu Redis konekciju?",
    deleteNode: "Jeste li sigurni da želite obrisati ovaj Redis čvor?",
    delete: "Obrisati?",
    deleteAllKeys: opts => {
      return `Obrisati ovo stablo i sve njegove ključeve (${opts.key})?`;
    },
    deleteSearchKeys: opts => {
      return `Jeste li sigurni da želite obrisati sve ključeve koji odgovaraju "${opts.pattern}"? Pronađeno ${opts.count} ključeva.`;
    },
    socketioConnectError: "Socket.IO ne može se povezati sa serverom, možete ponovo učitati i pokušati riješiti grešku konekcije sami, klijent ne zna kako to riješiti sam.",
    socketioAuthRequired: "Socket.IO autorizacija je potrebna. Molimo autentificirajte se sa HTTP Basic Auth (korisničko ime/lozinka) i ponovo učitajte.",
    invalidCredentials: "Neispravno korisničko ime ili lozinka.",
    deleteKey: "Jeste li sigurni da želite obrisati ovaj ključ?",
    rename: {
      title: "Jeste li sigurni da želite preimenovati ovaj ključ?",
      textContent: "Ova radnja trajno preimenuje ključ.",
      placeholder: "Redis ključ (obavezno)"
    },
    ttl: {
      title: "Jeste li sigurni da želite promijeniti TTL ovog ključa?",
      textContent: "Promjena TTL-a ažurira vrijeme života ovog ključa. Ostavite prazno da zadržite ovaj ključ zauvijek.",
      placeholder: "TTL Redis ključa (cijeli broj ili prazno)",
      placeholderPlaceholder: "Prazno znači da traje zauvijek; inače unesite cijeli broj.",
      convertTextToTime: "Pretvori tekst u vrijeme",
      convertTextToTimePlaceholder: "Npr. 1d će biti 86400"
    }
  },
  language: {
    // When you translate the english name, keep the Language in English
    // eg. Inglés / English
    bg: "Bugarski / Bulgarian",
    cs: "Češki / Czech",
    de: "Njemački / German",
    el: "Grčki / Greek",
    en: "Engleski / English",
    es: "Španski / Spanish",
    fr: "Francuski / French",
    hu: "Mađarski / Hungarian",
    it: "Italijanski / Italian",
    ja: "Japanski / Japanese",
    nl: "Holandski / Dutch",
    pl: "Poljski / Polish",
    "pt-PT": "Portugalski / Portuguese",
    ro: "Rumunski / Romanian",
    ru: "Ruski / Russian",
    sk: "Slovački / Slovak",
    sr: "Srpski / Serbian",
    sv: "Švedski / Swedish",
    tr: "Turski / Turkish",
    uk: "Ukrajinski / Ukrainian",
    zn: "Kineski / Chinese",
    ar: "Arapski / Arabic",
    az: "Azerbejdžanski / Azerbaijani",
    be: "Bjeloruski / Belarusian",
    bn: "Bengalski / Bengali",
    da: "Danski / Danish",
    et: "Estonski / Estonian",
    fi: "Finski / Finnish",
    fil: "Filipinski / Filipino",
    he: "Hebrejski / Hebrew",
    hr: "Hrvatski / Croatian",
    hy: "Jermenski / Armenian",
    id: "Indonezijski / Indonesian",
    ka: "Gruzijski / Georgian",
    kk: "Kazaški / Kazakh",
    km: "Kmerski / Khmer",
    ko: "Korejski / Korean",
    ky: "Kirgiski / Kyrgyz",
    lt: "Litvanski / Lithuanian",
    mk: "Makedonski / Macedonian",
    ms: "Malajski / Malay",
    ne: "Nepalski / Nepali",
    no: "Norveški / Norwegian",
    "pt-BR": "Portugalski (Brazil) / Portuguese (Brazil)",
    sl: "Slovenački / Slovenian",
    tg: "Tadžički / Tajik",
    th: "Tajlandski / Thai",
    vi: "Vijetnamski / Vietnamese",
    "zh-HK": "Kineski (Hong Kong) / Chinese (Hong Kong)",
    "zh-TW": "Kineski (Tajvan) / Chinese (Taiwan)",
    sw: "Svahili / Swahili",
    si: "Sinhalski / Sinhala",
    ta: "Tamilski / Tamil",
    bs: "Bosanski / Bosnian"
  },
  intention: {
    copy: "Kopiraj",
    downloadBuffer: "Preuzmi binarno",
    setBuffer: "Učitaj binarno",
    exportKeys: "Izvezi ključeve",
    exportAllKeys: (opts) => `Izvezi svih ${opts.count} ključeva`,
    exportSearchResults: (opts) => `Izvezi ${opts.count} rezultata`,
    deleteAllKeysMenu: (opts) => `Obriši sve ${opts.count}`,
    importKeys: "Uvezi ključeve",
    deleteSearchKeys: (opts) => `Obriši ${opts.count} odgovarajućih ključeva`,
    saveWithFormatJson: "Sačuvaj sa formatom",
    formatJson: "Formatiraj Json",
    wrap: "Prelomi",
    unwrap: "Raspakuj",
    downloadJson: "Preuzmi JSON",
    pubsubMonitor: "PubSub",
    pulse: "Pulse",
    profiler: "Profiler",
    memoryAnalysis: "Analysis",
    // When you translate the language, keep the Language in English
    // eg. Idioma / Language
    language: "Jezik / Language",
    ok: "OK",
    addKey: "Dodaj u ovaj ključ",
    addKeyRoot: "Dodaj korijeni ključ",
    reloadKey: "Ponovo učitaj ključ",
    reload: "Ponovo učitaj",
    close: "Zatvori",
    commands: "Komande",
    view: "Pregled",
    statistics: "Statistika",
    refresh: "Osvježi",
    pause: "Pauza",
    resume: "Nastavi",
    clear: "Obriši",
    rename: "Preimenuj",
    main: "Baza podataka",
    cancel: "Otkaži",
    theme: "Tema",
    github: "GitHub",
    githubRepo: "Repozitorij",
    githubRelease: "Izdanja",
    githubChangelog: "Dnevnik promjena",
    info: "Info",
    settings: "Postavke",
    connect: "Poveži",
    disconnect: "Prekini vezu",
    logout: "Odjava",
    overview: "Pregled",
    console: "Konzola",
    noConnections: "Nema konekcija, dodajte konekciju u meniju postavki.",
    noConnectionsInSettings: "Nema konekcija, možete dodati NOVU KONEKCIJU iznad.",
    connectionAdd: "Nova konekcija",
    addGroup: "Dodaj grupu",
    extend: "Proširi",
    collapse: "Skupi",
    add: "Dodaj",
    edit: "Uredi",
    save: "Sačuvaj",
    ttl: "Postavi TTL",
    fieldTtl: "TTL polja",
    digest: "Sažetak",
    delete: "Obriši",
    remove: "Ukloni",
    areYouSure: "Jeste li sigurni?",
    sure: "Sigurno",
    testConnection: "Testiraj konekciju",
    getKey: "Učitavanje Redis ključa i povezanih podataka ...",
    jsonViewShow: "Prikaži JSON",
    jsonViewEditor: "Uredi JSON",
    quickConsole: "Brza konzola",
    moveUp: "Pomjeri gore",
    moveDown: "Pomjeri dolje",
  },
  diff: {
    reviewChanges: "Pregledaj promjene",
    inline: "U liniji",
    sideBySide: "Jedno pored drugog",
    additions: "dodavanja",
    deletions: "brisanja",
    unchangedLines: "nepromijenjene linije",
    noChanges: "Nema otkrivenih promjena",
    before: "Prije",
    after: "Poslije",
  },
  label: {
    id: {
      nodeId: 'ID čvora',
      id: "ID konekcije",
      info: "Ako ne želite promijeniti svojstva: sshPassword, sshPrivateKey, password, tlsCrt, tlsKey, tlsCa, molimo unesite ID konekcije u ta svojstva kako biste zadržali vrijednosti svojstava. Ako želite istu logiku u lozinci čvora, unesite ID čvora u lozinku čvora."
    },
    secureFeature: 'Ako vidite vrijednost koja počinje sa P3X i izgleda isto, to je sigurnosna funkcija. Da promijenite postavke, zamijenite ove postavke sa praznim ili nečim drugim i bit će sačuvane. Ako ne mijenjate postavke, postavke će ostati kakve jesu na serveru.',
    aiTranslating: "Prevođenje...",
    aiSettings: "AI Postavke",
    aiGroqApiKey: "Groq API ključ",
    aiGroqApiKeyInfo: "Opcionalno. Vlastiti Groq API ključ za bolje performanse. Nabavite besplatni ključ na",
    aiGroqApiKeyPlaceholder: "gsk_...",
    aiGroqApiKeySaved: "AI API ključ sačuvan",
    aiGroqApiKeyInvalid: "Neispravan Groq API ključ",
    aiGroqApiKeyNotSet: "Nije postavljeno (zadano servera)",
    aiEnabled: "AI omogućeno",
    aiEnabledYes: "Da",
    aiEnabledNo: "Ne",
    aiRouteViaNetwork: "Usmjeravanje preko network.corifeus.com",
    aiRoutingDirect: "Upiti idu direktno u Groq koristeći vaš vlastiti API ključ, zaobilazeći network.corifeus.com.",
    aiRoutingNetwork: "AI upiti se usmjeravaju preko network.corifeus.com. Ako imate vlastiti besplatni Groq API ključ, možete isključiti ovaj prekidač i usmjeravati direktno na Groq bez network.corifeus.com.",
    aiMaxTokens: "Maksimalni AI tokeni",
    aiMaxTokensInfo: "Maksimalan broj tokena za AI odgovore. Veće vrijednosti omogućavaju duže odgovore, ali mogu koristiti više API kredita.",
    ssh: {
      on: 'SSH uključen',
      off: 'SSH isključen',
      sshHost: 'SSH host',
      sshPort: 'SSH port',
      sshUsername: 'SSH korisničko ime',
      sshPassword: 'SSH lozinka',
      sshPrivateKey: 'SSH privatni ključ'
    },
    isBuffer: opts => `[object ArrayBuffer] znači da je vrijednost binarna ili da je vrijednost veća od ${opts.maxValueAsBuffer}`,
    streamValue: `Polje i vrijednost streama su u jednom redu. Npr.: field1 value1 "field 2" "value 2"`,
    streamTimestampId: `'*' znači automatski generirano ili specifikacija kao <millisecondsTime>-<sequenceNumber>`,
    unableToLoadKey: ({
      key
    }) => {
      return `Nije moguće učitati ovaj ključ: ${key}. Moguće je da je ključ obrisan. Tačna greška je u konzoli.`;
    },
    bigJson: "Ovaj JSON objekat je preko 10 kb, pa provjerite da znate šta radite, jer neke funkcije mogu biti spore pri renderiranju.",
    addNode: "Dodaj čvor",
    validateJson: "Validiraj JSON",
    reducedFunction: `Smanjena funkcionalnost`,
    tooManyKeys: opts => {
      return `Za potpune maksimalne funkcije dozvoljeni ukupan broj ključeva je ${opts.maxLightKeysCount}. Ova baza podataka ima preko dozvoljenog ukupnog broja ključeva ${opts.count}. Sortiranje ključeva i dodatne informacije stabla su onemogućene. Pretraga se vrši samo na serveru umjesto na klijentu.`;
    },
    redisCommandNotFound: "Nije pronađena odgovarajuća Redis komanda ...",
    treeKeyStore: `Sortiranje (prirodno poređenje) se izvršava na klijentu tj. pregledniku, što znači da ima kaznu za velike skupove, poput preko 10k ključeva, može dodati malo vremena renderiranju stranice. U Redisu nema sortiranja ključeva, samo ovako.`,
    socketIoTimeout: options => {
      return `Socket.IO je istekao za ovaj zahtjev (maks ${options.timeout / 1000} sekundi) ...`;
    },
    resizerInfo: options => {
      return `Minimalna širina lijevog ili desnog panela je ${options.width}px`;
    },
    jsonViewNotParsable: "Ova vrijednost se ne može parsirati kao JSON  ",
    ttlTitle: "Postavi TTL u sekundama",
    passwordSecure: "Lozinka može biti prazna, ali će i dalje prikazivati znakove, ovo je sigurnosna funkcija.",
    aclAuthHint: "Koristite Redis ACL korisničko ime i lozinku za autentifikaciju. Ostavite prazno za podrazumijevanog korisnika bez lozinke.",
    tlsWithoutCert: "Omogući TLS bez dodatnog certifikata",
    tlsRejectUnauthorized: "Odbij neovlašteni certifikat",
    tlsSecure: "Ako vidite TLS konfiguraciju koja počinje sa P3X ili sve TLS postavke izgledaju isto, to je sigurnosna funkcija. Da promijenite postavke, zamijenite ove postavke sa praznim ili nečim drugim i bit će sačuvane. Ako ne mijenjate TLS postavke, postavke će ostati kakve jesu na serveru.",
    treeSeparatorEmpty: "Ako je separator stabla prazan, stablo neće imati ugniježđene čvorove, samo čistu listu",
    treeSeparatorEmptyNote: "Nema ugniježđenih čvorova, samo čista lista",
    welcomeConsole: "Dobrodošli u Redis konzolu",
    welcomeConsoleInfo: "Historija kursora GORE ili DOLJE je omogućena",
    redisListIndexInfo: "Prazno za dodavanje, -1 za dodavanje na početak ili sačuvaj na prikazanu poziciju.",
    console: "Konzola",
    connectiondAdd: "Dodaj konekciju",
    connectiondEdit: "Uredi konekciju",
    connectiondView: "Pregled konekcije",
    connections: "Konekcije",
    keysSort: {
      on: "Sortiranje ključeva uključeno",
      off: "Sortiranje ključeva isključeno"
    },
    cluster: {
      on: "Cluster uključen",
      off: "Cluster isključen"
    },
    sentinel: {
      on: "Sentinel uključen",
      off: "Sentinel isključen",
      name: "Sentinel ime"
    },
    readonly: {
      on: "Samo za čitanje uključeno",
      off: "Samo za čitanje isključeno"
    },
    theme: {
      light: "Svijetla",
      dark: "Tamna enterprise",
      darkNeu: "Tamna",
      darkoBluo: "Darko bluo",
      enterprise: "Enterprise",
      redis: "Redis",
      matrix: "Matrix"
    },
    connected: opts => {
      return `Povezano: ${opts.name}`;
    },
    tree: "Stablo",
    askAuth: "Zatraži autorizaciju",
    keyboardShortcuts: "Keyboard Shortcuts",
    about: "About",
    supportedLanguages: "Supported Languages",
    version: "Version",
    redisVersion: "Redis Version",
    modules: "Moduli",
    shortcutRefresh: "Refresh",
    shortcutSearch: "Focus Search",
    shortcutNewKey: "New Key",
    shortcutDisconnect: "Prekini vezu",
    themeAuto: "Auto (system)",
    languageAuto: "Auto (system)",
    shortcutCommandPalette: "Command Palette",
    commandPalette: "Command Palette",
    noResults: "No results",
    redisCommandsReference: "Redis Naredbe",
    ungrouped: "Bez grupe",
    grouped: "Grouped",
    connectFirst: "Prvo se povežite na Redis server",
    searchLanguage: "Pretraži jezik...",
    exportProgress: "Izvoz ključeva...",
    importProgress: "Uvoz ključeva...",
    importPreview: "Pregled",
    importOverwrite: "Prepiši",
    importSkip: "Preskoči",
    importConflict: "Ako ključ već postoji:",
    noKeysToExport: "Nema ključeva za izvoz",
    time: "Vrijeme",
    type: "Tip",
    format: "Format",
    loading: "Učitavanje...",
    autoRefresh: "Auto",
    exportSearchHint: "Izvoz samo ključeva koji odgovaraju trenutnom pretraživanju",
    importSearchHint: "Uvoz se primjenjuje na cijelu bazu podataka, ne samo na rezultate pretrage",
    deleteSearchHint: "Briše sve ključeve koji odgovaraju trenutnom pretraživanju na serveru",
    deletingSearchKeys: "Brisanje odgovarajućih ključeva...",
    importNoKeys: "Nisu pronađeni ključevi u datoteci",
    desktopNotifications: "Obavijesti na radnoj površini",
    desktopNotificationsEnabled: "Omogući obavijesti na radnoj površini",
    desktopNotificationsInfo: "Primajte OS obavijesti za prekide i ponovne veze Redis-a kada aplikacija nije u fokusu."
  },
  status: {
    dataCopied: "Podaci su u međuspremniku",
    exportDone: "Izvoz završen",
    deletedSearchKeys: (opts) => `Obrisano ${opts.count} ključeva`,
    indexCreated: "Indeks kreiran",
    indexDropped: "Indeks obrisan",
    importDone: (opts) => `Uvoz završen: ${opts.created} kreirano, ${opts.skipped} preskočeno, ${opts.errors} grešaka`,
    nodeRemoved: "Čvor je uklonjen",
    keyIsNotExisting: "Ovaj ključ je mogao biti obrisan ili je istekao.",
    keyCount: opts => {
      if (opts.keyCount === 0) {
        return "Nema ključeva";
      } else if (opts.keyCount === 1) {
        return "1 ključ";
      } else {
        return `${opts.keyCount} ključeva`;
      }
    },
    treeExpandAll: "Proširi sve listove stabla. Ova operacija može biti skupa i može potrajati ...",
    noRedisKeys: "Nema ključeva u ovoj bazi podataka.",
    redisConnected: "Redis uspješno povezan",
    reverted: "Vra\u0107eno",
    reloadingDataInfo: "Ponovno učitavanje informacija o Redis podacima",
    added: "Dodano",
    saved: "Ažurirano",
    cancelled: "Otkazano",
    deleted: "Obrisano",
    savedRedis: "Redis podaci su sačuvani",
    redisDisconnected: opts => {
      return `Trenutna konekcija je imala grešku: ${opts.error.message}`;
    },
    dbChanged: opts => {
      return `DB indeks je postavljen na ${opts.db}. `;
    },
    treeDeleted: opts => {
      return `Ključ stabla je obrisan (${opts.key}).`;
    },
    deletedKey: opts => {
      return `Ključ je obrisan (${opts.key}).`;
    },
    renamedKey: "Ovaj ključ je preimenovan",
    ttlChanged: "TTL ovog ključa je promijenjen",
    notInteger: "Ovaj unos nije cijeli broj",
    persisted: "Ovaj ključ traje zauvijek",
    set: "Ključ je postavljen/dodan",
    connectionRestored: "Veza je obnovljena",
    socketDisconnected: "Veza prekinuta",
    socketError: "Greška veze",
    deletedHashKey: "Hash ključ je obrisan",
    deletedSetMember: "Član skupa je obrisan",
    deletedListElement: "Element liste je obrisan",
    deletedZSetMember: "Član sortiranog skupa je obrisan",
    deletedStreamTimestamp: "Unos toka je obrisan",
  },
  code: {
    "delete-connection": "Ova konekcija je obrisana, pa ste odspojeni sa ove Redis instance.",
    "save-connection": "Ova konekcija je promijenjena, pa ste odspojeni sa ove Redis instance. Možete se ponovo povezati.",
    "readonly-connections": "Konekcije dodaj/sačuvaj/obriši su samo za čitanje!",
    "readonly-connection-mode": "Ova konekcija je u načinu rada samo za čitanje!",
    "list-out-of-bounds": "Ovaj indeks liste je izvan granica",
    "invalid-json-value": "Vrijednost nije validan JSON.",
    "http_auth_required": "Autorizacija je potrebna: molimo autentificirajte se sa HTTP Basic Auth i ponovo učitajte.",
    "auto-connection-failed": "Moguće je da je konekcija uklonjena i automatska konekcija je zbog toga neuspjela.",
    invalid_console_command: "Ova komanda ne radi putem GUI-ja.",
    "AI_DISABLED": "AI je onemogućen. Omogućite ga u AI postavkama.",
    "AI_PROMPT_REQUIRED": "AI upit je obavezan.",
    "GROQ_API_KEY_READONLY": "Groq API ključ je samo za čitanje i ne može se mijenjati.",
    "blocked_api_access": "Vaš Groq API plan ne dozvoljava pristup ovom modelu. Nadogradite Groq plan ili koristite network.corifeus.com proxy.",
    "rate_limit": "Dostignut je AI limit. Pokušajte ponovo kasnije ili koristite vlastiti Groq API ključ u postavkama."
  },
  form: {
    error: {
      required: "Obavezno",
      port: "Port je između 1-65535",
      invalid: "Forma je nevažeća"
    },
    connection: {
      label: {
        name: "Naziv",
        group: "Group",
        host: "Ime hosta",
        port: "Port",
        password: "Lozinka",
        username: "Korisničko ime"
      }
    },
    treeSettings: {
      maxValueDisplay: "Maksimalna dužina prikaza vrijednosti",
      maxValueDisplayInfo: "Ako je postavljeno na 0, prikaži pune vrijednosti. Ako je veće od 0, skrati na ovu dužinu. Ako je -1: za stringove, sakrij vrijednost do uređivanja; za ostale tipove, prikaži puni sadržaj.",
      maxKeys: "Maksimalni broj ključeva",
      maxKeysInfo: "Da GUI ne padne, ograničavamo maksimalni broj ključeva.",
      keyCount: (opts) => {
        return `Broj ključeva: ${opts?.keyCount ?? 0}`;
      },
      label: {
        animation: "Koristi animaciju",
        noAnimation: "Bez animacije",
        undoEnabled: "Poni\u0161tavanje uklju\u010deno",
        undoDisabled: "Poni\u0161tavanje isklju\u010deno",
        diffEnabled: "Prika\u017ei diff prije spremanja",
        diffDisabled: "Diff prije spremanja je isklju\u010den",
        jsonFormatTwoSpace: "Formatiraj JSON sa 2 razmaka",
        jsonFormatFourSpace: "Formatiraj JSON sa 4 razmaka",
        formName: "Redis postavke",
        searchModeClient: "Način pretrage na klijentu",
        searchModeServer: "Način pretrage na serveru",
        searchModeStartsWith: "Pretraga sa početkom",
        searchModeIncludes: "Pretraga sa uključivanjem"
      },
      undoHint: "Poni\u0161tavanje je dostupno samo za string i JSON tipove klju\u010deva",
      field: {
        treeSeparator: "Separator stabla",
        treeSeparatorSelector: "Selektor separatora stabla",
        page: "Broj stranica stabla",
        keyPageCount: "Broj stranica ključeva",
        keysSort: "Sortiraj ključeve",
        searchMode: "Način pretrage",
        searchModeStartsWith: "Pretraga počinje sa / uključuje"
      },
      error: {
        keyPageCount: "Broj stranica ključeva mora biti cijeli broj između 5 - 100",
        page: "Broj stranica mora biti cijeli broj između 10 - 5000",
        maxValueDisplay: "Maksimalna vrijednost prikaza mora biti cijeli broj između -1 i 32768",
        maxKeys: "Maksimalna vrijednost broja ključeva mora biti cijeli broj između 100 i 100000"
      }
    },
    key: {
      label: {
        formName: {
          add: "Dodaj novi Redis ključ",
          edit: "Uredi Redis ključ",
          append: "Dodaj u postojeći Redis ključ"
        }
      },
      field: {
        streamTimestamp: "Vremenski pečat",
        key: "Ključ",
        type: "Tip",
        index: "Indeks",
        hashKey: "Hash ključ",
        score: "Rezultat",
        value: "Vrijednost",
        errorRate: "Stopa greške",
        capacity: "Kapacitet",
        topk: "Top K",
        width: "Širina",
        depth: "Dubina",
        decay: "Raspad",
        compression: "Kompresija",
        increment: "Inkrement",
        item: "Stavka",
        vectorValues: "Vektorske vrijednosti (razdvojene zarezom)",
        element: "Naziv elementa",
      },
      error: {
        streamTimestamp: "Vremenski pečat je obavezan, ili Redis format ili kao *",
        key: "Ključ mora imati barem jedan znak",
        hashKey: "Hash ključ mora imati barem jedan znak",
        score: "Rezultat sortiranog skupa je obavezan",
        value: "Vrijednost je obavezna",
        errorRate: "Stopa greške mora biti između 0 i 1 (npr. 0.01)",
        capacity: "Kapacitet mora biti pozitivan cijeli broj",
        topk: "Top K mora biti pozitivan cijeli broj",
        width: "Širina mora biti pozitivan cijeli broj",
        depth: "Dubina mora biti pozitivan cijeli broj",
        item: "Stavka je obavezna"
      }
    },
    main: {
      label: {
        database: "DB"
      }
    }
  },
  page: {
    search: {
      title: "Pretraga",
      index: "Indeks",
      query: "Upit",
      results: "Rezultati",
      noIndex: "Nisu pronađeni indeksi",
      createIndex: "Kreiraj indeks",
      dropIndex: "Obriši indeks",
      indexInfo: "Info o indeksu",
      indexName: "Naziv indeksa",
      prefix: "Prefiks ključa (opcionalno)",
      fieldName: "Naziv polja",
      hybridMode: "Hibridna pretraga (FT.HYBRID)",
      vectorField: "Vektorsko polje",
      vectorValues: "Vektorske vrijednosti",
    },
    monitor: {
      title: "Monitoring",
      memory: "Memorija",
      opsPerSec: "Operacija/sek",
      clients: "Klijenti",
      blocked: "Blokirani",
      hitsMisses: "Stopa pogodaka",
      networkIo: "Mrežni I/O",
      slowLog: "Spori log",
      noSlowQueries: "Nema zabilježenih sporih upita.",
      confirmSlowLogReset: "Jeste li sigurni da želite resetirati sporu evidenciju?",
      slowLogResetDone: "Spori dnevnik je resetovan.",
      totalCommands: "Ukupno",
      expired: "Isteklo",
      evicted: "Izbačeno",
      clientList: "Lista klijenata",
      topKeys: "Najveći ključevi po memoriji",
      killClient: "Ubij klijenta",
      clientKilled: "Klijent ubijen",
      confirmKillClient: "Jeste li sigurni da želite zaustaviti ovog klijenta?",
      noKeys: "Nema ključeva",
      rss: "RSS",
      peak: "Vrh",
      fragmentation: "Fragmentacija",
      hitsAndMisses: "Pogoci / Promašaji",
      noClients: "Nema klijenata",
      slotStats: "Statistika slotova klastera",
      serverInfo: "Informacije o serveru",
      os: "Operativni sistem",
      port: "Mrežni port",
      pid: "ID procesa",
      configFile: "Configuration File",
      uptime: "Uptime",
      keyspace: "Redis prostor ključa",
      keys: "Redis ključevi",
      expires: "Ističe",
      noKeyspace: "Nema ključeva",
      persistence: "Postojanost podataka",
      rdbLastSave: "RDB Last Save",
      rdbStatus: "RDB status",
      rdbChanges: "Promjene od posljednjeg spremanja",
      aofEnabled: "AOF je omogućen",
      aofSize: "AOF Size",
      replication: "Redis replikacija",
      role: "Uloga replikacije",
      replicas: "Povezane replike",
      masterHost: "Domaćin primarnog čvora",
      linkStatus: "Status veze replikacije",
      cpu: "CPU Usage",
      cpuSys: "Sistem",
      cpuUser: "Korisnik",
      modules: "Učitani Redis moduli",
      noModules: "Nema učitanih Redis modula",
      clusterSlotMap: "Redis mapa slota klastera",
      slotRange: "Raspon slotova za klaster",
      totalSlots: "Ukupni klaster slotovi",
      noClusterData: "Nema dostupnih podataka o Redis klasteru.",
    },
    analysis: {
      title: "Analiza memorije",
      runAnalysis: "Pokreni analizu",
      running: "Analiziranje...",
      typeDistribution: "Distribucija tipova",
      prefixMemory: "Memorija po prefiksu",
      topKeysByMemory: "Najveći ključevi po memoriji",
      expirationOverview: "Istek ključeva",
      memoryBreakdown: "Raspodjela memorije",
      keysScanned: "Skenirani ključevi",
      totalMemory: "Ukupna memorija",
      rssMemory: "RSS memorija",
      peakMemory: "Vršna memorija",
      luaMemory: "Lua memorija",
      overheadMemory: "Dodatno opterećenje",
      datasetMemory: "Skup podataka",
      fragmentation: "Fragmentacija",
      allocator: "Alokator",
      withTTL: "Sa TTL",
      persistent: "Trajni",
      avgTTL: "Prosječni TTL",
      prefix: "Prefiks",
      keyCount: "Broj ključeva",
      memoryUsage: "Korištenje memorije",
      noPrefix: "(bez prefiksa)",
      topN: "Top N",
      maxScanKeys: "Maks. skeniranih ključeva",
      type: "Tip",
      noData: "Nema podataka. Kliknite Pokreni analizu za početak.",
      exportAll: "Izvezi sve",
      memoryDoctor: "Memory Doctor",
      doctorNoData: "Kliknite na Osvježi da pokrenete dijagnostiku Memory Doctor.",
    },
    acl: {
      title: "ACL korisnici",
      loadUsers: "Učitaj korisnike",
      loading: "Učitavanje...",
      username: "Korisničko ime",
      status: "Status",
      enabled: "Omogućeno",
      disabled: "Onemogućeno",
      commands: "Komande",
      commandsHint: "npr. +@all or +@read -@dangerous",
      keys: "Redis ključni obrasci",
      keysHint: "npr. ~* or ~user:*",
      channels: "Pub/Sub kanali",
      channelsHint: "npr. &* or &notifications:*",
      password: "Lozinka",
      noPassword: "Nema lozinke (nopass)",
      passwordHint: "Ostavite prazno da zadržite trenutnu lozinku",
      currentUser: "Current",
      createUser: "Kreiraj korisnika",
      editUser: "Uredi korisnika",
      deleteUser: "Obriši",
      confirmDelete: "Jeste li sigurni da želite izbrisati korisnika ACL?",
      userDeleted: "Korisnik ACL je obrisan.",
      userSaved: "Korisnik ACL je spremljen.",
      cannotDeleteDefault: "Nije moguće izbrisati zadanog korisnika.",
      cannotDeleteSelf: "Nije moguće izbrisati trenutno povezanog korisnika.",
      noUsers: "ACL zahtijeva Redis 6.0+.",
      groupCommon: "Općenito",
      groupDataTypes: "Tipovi podataka",
      groupOperations: "Operacije",
      rules: "Pravila",
      rulesHint: "Tokeni razdvojeni razmakom (na primjer on >password +@all ~* &*)",
      defaultUserWarning: "Oprez: Izmjena zadanog korisnika može zaključati sve veze. Ako se to dogodi, morat ćete ponovo pokrenuti Redis ili koristiti redis-cli da vratite pristup.",
    },
    overview: {
      noConnected: "Nema konekcije na Redis.",
      overviewClients: "Listaj povezane po broju klijenata",
      connectedCount: opt => {
        if (opt.length === 1) {
          return "1 klijent";
        }
        return `${opt.length} klijenata`;
      }
    },
    key: {
      label: {
        key: "Ključ",
        encoding: "Kodiranje",
        compression: "Kompresija",
        aiRateLimited: "AI ograničenje zahtjeva je dostignuto. Pokušajte ponovo kasnije ili koristite vlastiti Groq API ključ u Postavkama.",
        aiError: "AI upit nije uspio",
        length: "Veličina",
        ttl: "TTL",
        ttlTitle: "Vrijeme života",
        type: "Tip",
        ttlNotExpire: "ne ističe",
        lengthString: "bajtova",
        lengthItem: "stavki",
        actions: "Akcije"
      },
      list: {
        table: {
          index: "Indeks",
          value: "Vrijednost"
        }
      },
      hash: {
        table: {
          hashkey: "Hash ključ",
          value: "Vrijednost"
        }
      },
      set: {
        table: {
          value: "Član"
        }
      },
      zset: {
        table: {
          value: "Član",
          score: "Rezultat"
        }
      },
      stream: {
        table: {
          timestamp: "ID vremenskog pečata",
          field: "Polje",
          value: "Vrijednost"
        }
      },
      timeseries: {
        chart: "Grafikon",
        info: "Informacije",
        addPoint: "Dodaj tačku podataka",
        from: "Od (ms ili -)",
        to: "Do (ms ili +)",
        aggregation: "Agregacija",
        timeBucket: "Kanta (ms)",
        none: "Nema",
        dataPoints: "tačke podataka",
        labels: "Oznake",
        rules: "Pravila",
        retention: "Zadržavanje",
        timestamp: "Vremenski pečat",
        value: "Vrijednost",
        retentionHint: "0 = bez isteka, ili milisekunde",
        duplicatePolicy: "Politika duplikata",
        labelsHint: "key1 value1 key2 value2",
        timestampHint: "'*' znači automatski generisano, ili vremenski pečat u milisekundama",
        editAllHint: "Jedna tačka podataka po liniji: vremenski_pečat vrijednost (vremenski pečat može biti * za automatsko)",
        autoSpread: "Automatski * interval širenja",
        formula: "Formula",
        formulaLinear: "Linearno",
        formulaRandom: "Nasumično",
        formulaSawtooth: "Pilasti",
        formulaPoints: "Tačke",
        formulaAmplitude: "Amplituda",
        formulaOffset: "Pomak",
        generate: "Generiši",
        exportChart: "Izvezi PNG",
        overlay: "Preklapanje ključeva",
        overlayHint: "Ključevi odvojeni zarezom",
        mrangeFilter: "Filter oznaka",
        bulkMode: "Masovno generisanje",
        mrangeHint: "npr. sensor=temp"
      },
      probabilistic: {
        info: "Informacije",
        addItem: "Dodaj stavku",
        checkItem: "Provjeri stavku",
        item: "Stavka",
        exists: "Postoji",
        doesNotExist: "Ne postoji",
        topkList: "Najčešće stavke",
        topkCount: "Broj",
        queryCount: "Broj upita",
        queryResult: "Rezultat upita",
        addedSuccessfully: "Stavka je uspješno dodana",
        deletedSuccessfully: "Stavka je uspješno obrisana",
        quantile: "Kvantil",
        quantileResult: "Rezultat",
        noItems: "Nema stavki za prikaz",
        resetConfirm: "Resetovati sve podatke u ovom T-Digest-u?",
      },
      vectorset: {
        info: "Informacije",
        elements: "Elementi",
        similarity: "Pretraga sličnosti",
        searchByElement: "Pretraži po elementu",
        searchByVector: "Pretraži po vektoru",
        vectorValues: "Vektorske vrijednosti",
        element: "Element",
        score: "Rezultat",
        count: "Broj",
        addElement: "Dodaj element",
        attributes: "Atributi",
        noAttributes: "Nema atributa",
        dimensions: "Dimenzije",
        removeConfirm: "Ukloniti ovaj element iz VectorSet-a?",
        noElements: "Nema elemenata",
        filter: "Filter",
        searchComplete: "Pretraga završena",
      }
    },
    treeControls: {
      settings: "Postavke stabla",
      expandAll: "Proširi sve",
      collapseAll: "Skupi sve",
      level: "Nivo",
      search: {
        search: "Pretraži ključeve",
        clear: "Obriši trenutnu pretragu za prazno",
        placeholderClient: "Pretraga na strani klijenta",
        placeholderServer: "Pretraga na strani servera",
        info: (opts) => "Pretraga na strani klijenta znači da se podudara tekst u polju za pretragu. Pretraga na strani servera znači da pretražuje po obrascima ključeva kao *{search-text}*. Za velike skupove pretrage, bolje je koristiti pretragu na strani servera. Za manje skupove pretrage, bolje je koristiti način pretrage na strani klijenta." + ` Ako je broj ključeva preko ${opts?.maxLightKeysCount ?? 110000}, možete pretraživati samo na strani servera.`,
        largeSetInfo: "U velikom skupu, pretraga na strani klijenta je onemogućena. Trenutno je moguća samo pretraga na strani servera.",
        infoDetails: "Da saznate kako pretraga radi, molimo provjerite postavke"
      },
      pager: {
        next: "Sljedeća",
        prev: "Prethodna",
        first: "Prva",
        last: "Zadnja"
      }
    }
  },
  time: {
    years: "godina",
    months: "mjeseci",
    days: "dana",
    year: "godina",
    month: "mjesec",
    day: "dan",
    second: "sekunda",
    seconds: "sekunde",
    minute: "minuta",
    minutes: "minute",
    hour: "sat",
    hours: "sati"
  },
  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",
  }
};
module.exports = strings;