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