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.",
consoleDrawer: {
toggleTooltip: "Prebaci konzolu",
clearTooltip: "Obrišite pomicanje unazad",
closeTooltip: "Zatvorite konzolu",
aiSettingsTooltip: "AI postavke",
modeRedis: "REDIS",
modeAi: "AI",
connectionChipNoDb: opts => `${opts.name}`,
connectionChipWithDb: opts => `${opts.name} · db ${opts.db}`,
pageChip: opts => `stranica: ${opts.page}`,
connectingTo: opts => `Povezivanje na ${opts.name}…`,
connectedTo: opts => `Povezano na ${opts.name} (Redis ${opts.version} ${opts.mode}, ${opts.modules} modula učitan)`,
connectedToNoInfo: opts => `Povezano na ${opts.name}`,
disconnectedFrom: opts => `Prekinuta je veza s ${opts.name}`,
readyIndicator: "Spreman."
},
cheatsheet: {
title: "AI Cheatsheet — Šta da pitam?",
subtitle: "Kliknite na bilo koji upit da ga zalijepite u konzolu. Zatim pritisnite Enter.",
searchPlaceholder: "Filtriraj upite…",
openOfficialDocs: "Redis Komande ↗",
openOfficialDocsTooltip: "Otvorite zvaničnu referencu Redis komandi na redis.io",
closeTooltip: "Zatvori (Esc)",
empty: "Nijedan upit ne odgovara vašem filteru.",
footerHint: "Savjet: upišite \"ai:\" nakon čega slijedi bilo šta na bilo kojem jeziku — AI razumije 54 jezika i koristi stanje Redis uživo kada je potrebno.",
groups: {
diagnostics: {
name: "Dijagnostika uživo",
description: "Zamolite AI da istraži stanje servera uživo putem sigurnih alata samo za čitanje.",
prompts: [
"zašto je memorija visoka?",
"pokaži mi 10 najsporijih upita",
"koji su klijenti povezani?",
"koja je politika maksimalne memorije?",
"ima li nedavnih deložacija?",
"postoji li neki događaj kašnjenja?",
"koliko dugo server radi?",
"koja je stopa pogodaka?",
"prikaži upotrebu procesora",
"sumirati prostor ključeva",
"koliko memorije koristi svaki tip podataka?",
"da li išta trenutno blokira server?"
]
},
keys: {
name: "Ključevi",
description: "Pregledajte, pronađite i razmislite o ključevima bez klikanja kroz stablo.",
prompts: [
"pronađi sve ključeve koji odgovaraju user:*",
"koliko ključeva u svakoj bazi podataka?",
"prikaži najveći hash u ovom db",
"pronađite ključeve sa TTL manje od 60 sekundi",
"koji ključevi nemaju TTL?",
"koji tip je ključ session:abc?",
"procjena memorije koju koristi \"session:\" prefiks",
"prikaži kodiranje objekta ključa user:42",
"ima li ključeva koji će uskoro isteći?",
"koji imenski prostor koristi najviše memorije?"
]
},
dataTypes: {
name: "Tipovi podataka",
description: "Izraz na prirodnom jeziku za kreiranje/čitanje/ažuriranje za svaki tip Redis.",
prompts: [
"kreirajte hash pod imenom korisnik:1 sa poljima name=Alice age=30",
"dodaj tri stavke na listu tasks",
"dodajte članove u set favourites",
"dodaj bodovane članove u sortirani skup leaderboard",
"dodaj događaj u prijenos events",
"preuzmi zadnjih 10 unosa iz prijenosa events",
"dobiti sva polja hash user:1",
"nabavi članove skupa favourites",
"dobiti prvih 10 po rezultatu od leaderboard"
]
},
modules: {
name: "Moduli",
description: "Upiti za učitane Redis module (kategorije ispod se pojavljuju samo kada je modul prisutan).",
prompts: []
},
json: {
name: "RedisJSON",
description: "Dostupno kada je modul ReJSON učitan.",
prompts: [
"kreirajte JSON dokument na user:42 sa { name: \"Alice\", starost: 30 }",
"pročitaj polje imena user:42",
"ažuriraj starost user:42 na 31",
"navesti sve JSON ključeve",
"obrišite polje iz JSON dokumenta",
"dobiti ugniježđeno polje koristeći JSONPath"
]
},
search: {
name: "RediSearch",
description: "Dostupno kada je modul za pretraživanje učitan.",
prompts: [
"navesti sve indekse punog teksta",
"pokrenite pretraživanje cijelog teksta za \"redis\" na indeksu idx:products",
"kreirajte hash-backed indeks sa naslovom polja (TEXT) i cijenom (NUMERIC)",
"dobiti informacije o indeksu idx:products",
"indeks pada idx:products",
"pronađite dokumente čija je cijena između 10 i 50",
"napisati hibridnu pretragu koja kombinuje sličnost teksta i vektora"
]
},
timeseries: {
name: "RedisTimeSeries",
description: "Dostupno kada je modul vremenske serije učitan.",
prompts: [
"navesti sve ključeve vremenske serije",
"dodajte tačku podataka u temp:room1",
"dobiti raspon temp:room1 od jučer do sada",
"dobiti više opsega po etiketi sensor=temp",
"generirajte 100 sinusnih tačaka podataka za temp:room1",
"prikaži zadržavanje i oznake za temp:room1"
]
},
bloom: {
name: "RedisBloom (Bloom / Cuckoo / Top-K / CMS / T-Digest)",
description: "Dostupno kada je bf modul učitan.",
prompts: [
"provjerite da li stavka foo postoji u filteru cvjetanja spam:ips",
"dodaj stavke u bloom filter spam:ips",
"kreirajte top-K pod nazivom popular sa K=10",
"upit count-min skica traffic za ključ /home",
"dodajte vrijednosti t-digestu i dobijete 95. percentil",
"prikaži informacije za bloom filter spam:ips"
]
},
vectorSet: {
name: "VectorSet (Redis 8+)",
description: "Dostupno kada se otkrije Redis 8+ (nativni tip VECTORSET).",
prompts: [
"dodaj vektor u embeddings",
"pronađite 10 najsličnijih vektora vektoru upita",
"prikaži dimenzije i broj vektorskog skupa embeddings",
"izbriši element iz vektorskog skupa embeddings",
"pretraži po imenu elementa sa VSIM"
]
},
redis8: {
name: "Redis 8+ funkcija",
description: "Prikazuje se kada se detektuje Redis 8+.",
prompts: [
"postaviti hash polje ttl sa HEXPIRE",
"dobiti sažetak vrijednosti niza",
"pokrenite hibridno pretraživanje cijelog teksta + vektora (FT.HYBRID)",
"postavite više ključeva sa zajedničkim istekom koristeći MSETEX",
"izbrišite unos toka sa grupom potrošača (XDELEX)",
"prikaži statistiku klastera za prvih 10 slotova"
]
},
scripting: {
name: "Skriptiranje",
description: "Generirajte Lua / EVAL skripte iz opisa na prirodnom jeziku.",
prompts: [
"napišite atomsku skriptu koja povećava counter X samo ako Y > 5",
"generirajte 100 nasumičnih ključeva sa Lua",
"pretvoriti ovu shell pipeline u jedan EVAL: ključevi user:* | GET | grep neaktivan | DEL",
"porti paketnu operaciju na Lua radi sigurnosti klastera",
"provjeri i postavi ažuriranje stila u jednom Lua pozivu",
"iterirajte preko hash i izbrišite polja koja odgovaraju uzorku"
]
},
cluster: {
name: "Cluster",
description: "Prikazuje se samo u klaster modu.",
prompts: [
"prikaži informacije o klasteru",
"lista čvorova klastera",
"prikazati prvih 10 slotova po broju ključeva",
"prikazati prvih 10 slotova po memoriji",
"koji majstor posjeduje slot 5000?"
]
},
acl: {
name: "ACL (Redis 6+)",
description: "Pregledajte korisnike kontrole pristupa i trenutnu vezu.",
prompts: [
"ko sam ja povezan?",
"popis svih ACL korisnika",
"koje dozvole imam?",
"prikaži zadana korisnička pravila"
]
},
qna: {
name: "Opća pitanja i odgovori",
description: "Postavljajte Redis pitanja znanja — bez alata, samo odgovori.",
prompts: [
"šta je ZADD?",
"kako funkcionira klaster failover?",
"objasni SCAN vs KEYS",
"kada trebam koristiti EVAL u odnosu na više komandi?",
"koje su Redis opcije postojanosti?",
"koja je razlika između RDB i AOF?",
"kako Redis Sentinel odlučuje o novom gospodaru?",
"objasniti hash oznake u klaster modu"
]
},
translate: {
name: "Prirodni jezik → Redis komanda",
description: "Opišite šta želite na bilo kom od 54 jezika; AI piše naredbu Redis.",
prompts: [
"ključ za brisanje user:42",
"preimenuj ključ foo u traku",
"istekne ključ session:abc za 10 sekundi",
"kopirajte izvor ključa na odredište",
"povećati broj posjeta za 5",
"postavite pozdravni ključ na \"hello\" na 1 sat",
"obriši sve user:* ključeve",
"pokaži mi 10 najzauzetijih ključeva"
]
}
}
},
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: "SHIFT + 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 ¬ifications:*",
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",
},
promo: {
title: "AI Mrežni asistent",
description: "Otkrijte naš besplatni AI mrežni asistent na network.corifeus.com — analizirajte domene, IPs, DNS zapise, SSL certifikate, sigurnost e-pošte i mrežnu infrastrukturu. Pokreće AI za trenutne, sveobuhvatne rezultate.",
disclaimer: "Ova promocija je prikazana samo na demo stranici i neće se pojaviti u Docker, Electron ili implementacijama web aplikacija.",
toastMessage: "Isprobajte naš besplatni AI Network Assistant na network.corifeus.com — analizirajte domene, DNS, SSL i još mnogo toga!",
visit: "Posjetite network.corifeus.com"
}
};
module.exports = strings;