From 24687a53f678d8af918c9dc64bd26d30eb383940 Mon Sep 17 00:00:00 2001 From: hacimertgokhan Date: Thu, 21 Nov 2024 18:22:57 +0300 Subject: [PATCH] Added language files, global.toml. Created new utils.rs file with lang_modal.rs and lang_reader.rs --- global.toml | 2 +- src/lang/da.json | 64 +++++++++++++++++++++++ src/lang/de.json | 64 +++++++++++++++++++++++ src/lang/el.json | 64 +++++++++++++++++++++++ src/lang/en.json | 64 +++++++++++++++++++++++ src/lang/es.json | 64 +++++++++++++++++++++++ src/lang/fi.json | 64 +++++++++++++++++++++++ src/lang/fr.json | 64 +++++++++++++++++++++++ src/lang/tr.json | 65 ++++++++++++++++++++++++ src/lang_reader.rs | 16 ++---- src/lang_reader/structures/lang_modal.rs | 3 +- src/main.rs | 12 +++-- src/utils.rs | 5 ++ 13 files changed, 534 insertions(+), 17 deletions(-) create mode 100644 src/lang/da.json create mode 100644 src/lang/de.json create mode 100644 src/lang/el.json create mode 100644 src/lang/en.json create mode 100644 src/lang/es.json create mode 100644 src/lang/fi.json create mode 100644 src/lang/fr.json create mode 100644 src/lang/tr.json create mode 100644 src/utils.rs diff --git a/global.toml b/global.toml index e9c1ec7..a93b4c3 100644 --- a/global.toml +++ b/global.toml @@ -1,2 +1,2 @@ [denis] -language = "tr" +_language = "tr" diff --git a/src/lang/da.json b/src/lang/da.json new file mode 100644 index 0000000..8e8eb62 --- /dev/null +++ b/src/lang/da.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Hukommelsesovervågning er startet, for at afslutte: (--finish)", + "max-token-size": "Det maksimale antal tokens, der kan oprettes, er indstillet til %s.", + "starts-with-details": "Opstartsoplysninger er ændret til %s.", + "invalid-parametre": "Den indtastede værdi er ugyldig.", + "language-changed": "Sprog er blevet ændret til %s.", + "token_creation_error": "Token kunne ikke oprettes, fejlagtig årsag: %s", + "token_created_successfuly": "Token blev oprettet med succes, projekttoken: %s", + "cli-help": "Du indtastede en ukendt kommando. For detaljerede oplysninger om kommandoer kan du skrive --help.", + "exiting_memory_monitoring": "Hukommelsesovervågning afsluttes...", + "created_by": "Denis Cache og Protocol Buffers baserede databasessprog. Alle rettigheder forbeholdes.\nUdviklet af Hacı Mert Gökhan.\n\nFor mere information: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Denis Cache-baserede Databasessprog, Alle rettigheder forbeholdes.", + "Velkommen til DDB, brug '-start' for at initialisere den cache-baserede database.", + "Du kan læse hele database.bin-filen med '-read' og administrere alle DDB'er (Denis Database) med '-ddb'." + ], + "startup-swd": [ + "Denis blev startet i detaljeret tilstand, for at deaktivere detaljeret tilstand brug '-ddb --opt -swd f'.", + "Vært: , Port: " + ], + "startup-port-and-token-information": [ + "Serveren kører på port .", + "Dit hoved-DDB-token: " + ], + "client-connected": "Klient tilsluttet: ", + "waiting-for-client-connection": "Venter på klientforbindelse...", + "invalid-denis-mode": "Ugyldig tilstand valgt. Brug '-start' eller '-ddb'.", + "denis-global-logger": "Delogg (Denis Logg) tilstand er blevet aktiveret. Alle handlinger udført af serveren og klienten logges i mappen 'logs/'.", + "listen-memory": [ + "", + "> Hukommelsesbrug under kørsel", + "\tTotal: ", + "\tFri: ", + "\tBrugt: ", + "", + "> Heap Hukommelsesbrug", + "\tInitial: ", + "\tBrugt: ", + "\tTildelt: ", + "\tMaksimum: ", + "" + ], + "help": [ + "> Denis Cache og Protocol Buffers baserede Databasessprog", + "--version: Viser versionsoplysninger.", + "--about: Giver information om databasen.", + "--mu: Overvåger DenisDB's hukommelsesbrug.", + "--lm: Overvåger DenisDB's hukommelsesbrug i processtrukturform.", + "--token: Brug af datatokens.", + "\t-l: Forhåndsviser tokenlisten.", + "\t-c: Opretter en ny token (datasegment).", + "\t-i: Giver oplysninger om tokens (datasegmenter).", + "--opt: Ændrer hurtigt DenisDB's indstillinger og brugerpræferencer.", + "\t-lang:", + "\t\t-slfs: Ændrer sproget midlertidigt for den aktive session.", + "\t\t-slfg: Ændrer sproget permanent for alle sessioner.", + "\t-smts: Angiver det maksimale antal tokens (datasegmenter), der kan oprettes.", + "\t-ctea: Aktiverer/deaktiverer det nye tokensystem for hvert opslag for den valgte token.", + "\t-umte: Aktiverer/deaktiverer det globale tokensystem. (Bemærk: Når denne mulighed er aktiveret, kan alle projekter tilgås med hovedtokenet.)", + "--exit: Afslutter manuel tilstand.", + "", + "Alle ændringer, der foretages her, kan også foretages manuelt; handlingerne gemmes i denis.properties-filen." + ] +} diff --git a/src/lang/de.json b/src/lang/de.json new file mode 100644 index 0000000..2ca72e2 --- /dev/null +++ b/src/lang/de.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Speicherüberwachung gestartet, zum Beenden: (--finish)", + "max-token-size": "Die maximale Anzahl erstellbarer Tokens wurde auf %s festgelegt.", + "starts-with-details": "Startinformationen wurden auf %s geändert.", + "invalid-parametre": "Der eingegebene Wert ist ungültig.", + "language-changed": "Die Sprache wurde auf %s geändert.", + "token_creation_error": "Token konnte nicht erstellt werden, Fehlerursache: %s", + "token_created_successfuly": "Token erfolgreich erstellt, Projekttoken: %s", + "cli-help": "Sie haben einen unbekannten Befehl eingegeben. Für detaillierte Informationen zu den Befehlen geben Sie --help ein.", + "exiting_memory_monitoring": "Speicherüberwachung wird beendet...", + "created_by": "Denis Cache und datenbankbasierte Sprache basierend auf Protocol Buffers. Alle Rechte vorbehalten.\nEntwickelt von Hacı Mert Gökhan.\n\nWeitere Informationen: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Denis Cache-basierte Datenbanksprache, alle Rechte vorbehalten.", + "Willkommen bei DDB, verwenden Sie '-start', um die Cache-basierte Datenbank zu starten.", + "Sie können die gesamte database.bin-Datei mit '-read' lesen und alle DDB-Datenbanken mit '-ddb' verwalten." + ], + "startup-swd": [ + "Denis wurde im detaillierten Modus gestartet, um den detaillierten Modus zu deaktivieren, verwenden Sie '-ddb --opt -swd f'.", + "Host: , Port: " + ], + "startup-port-and-token-information": [ + "Der Server läuft auf Port .", + "Ihr Haupt-DDB-Token: " + ], + "client-connected": "Client verbunden: ", + "waiting-for-client-connection": "Warten auf Client-Verbindung...", + "invalid-denis-mode": "Ungültiger Modus ausgewählt. Verwenden Sie '-start' oder '-ddb'.", + "denis-global-logger": "Delogg (Denis Logg) Modus wurde aktiviert. Alle Aktionen des Servers und Clients werden im 'logs/'-Verzeichnis gespeichert.", + "listen-memory": [ + "", + "> Laufzeitspeichernutzung", + "\tGesamt: ", + "\tFrei: ", + "\tVerwendet: ", + "", + "> Heap-Speichernutzung", + "\tInitial: ", + "\tVerwendet: ", + "\tReserviert: ", + "\tMaximal: ", + "" + ], + "help": [ + "> Denis Cache und datenbankbasierte Sprache basierend auf Protocol Buffers", + "--version: Zeigt Versionsinformationen an.", + "--about: Gibt Informationen zur Datenbank.", + "--mu: Überwacht die Speichernutzung von DenisDB.", + "--lm: Überwacht die Speichernutzung von DenisDB im Prozessstrukturformat.", + "--token: Verwendung von Datentokens.", + "\t-l: Zeigt die Token-Liste an.", + "\t-c: Erstellt ein neues Token (Datensegment).", + "\t-i: Zeigt Informationen zu Tokens (Datensegmenten) an.", + "--opt: Ändert schnell DenisDB-Einstellungen und Benutzerpräferenzen.", + "\t-lang:", + "\t\t-slfs: Ändert die Sprache nur für die aktive Sitzung.", + "\t\t-slfg: Ändert die Sprache dauerhaft für alle Sitzungen.", + "\t-smts: Legt die maximale Anzahl erstellbarer Tokens (Datensegmente) fest.", + "\t-ctea: Aktiviert/deaktiviert das neue Token-System für den ausgewählten Token.", + "\t-umte: Aktiviert/deaktiviert das globale Token-System. (Hinweis: Wenn diese Option aktiviert ist, können alle Projekte mit dem Haupt-Token verwendet werden.)", + "--exit: Beendet den manuellen Modus.", + "", + "Alle hier vorgenommenen Änderungen können auch manuell vorgenommen werden; Aktionen werden in der Datei denis.properties gespeichert." + ] +} diff --git a/src/lang/el.json b/src/lang/el.json new file mode 100644 index 0000000..dc2aa49 --- /dev/null +++ b/src/lang/el.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Η παρακολούθηση μνήμης ξεκίνησε, για να τερματίσετε: (--finish)", + "max-token-size": "Ο μέγιστος αριθμός δημιουργήσιμων tokens ορίστηκε σε %s.", + "starts-with-details": "Οι πληροφορίες έναρξης άλλαξαν σε %s.", + "invalid-parametre": "Η εισαχθείσα τιμή δεν είναι έγκυρη.", + "language-changed": "Η γλώσσα άλλαξε σε %s.", + "token_creation_error": "Αποτυχία δημιουργίας token, αιτία σφάλματος: %s", + "token_created_successfuly": "Το token δημιουργήθηκε με επιτυχία, token έργου: %s", + "cli-help": "Έχετε εισαγάγει μια άγνωστη εντολή. Για λεπτομερείς πληροφορίες σχετικά με τις εντολές, εισάγετε --help.", + "exiting_memory_monitoring": "Τερματισμός παρακολούθησης μνήμης...", + "created_by": "Denis Cache και γλώσσα βάσης δεδομένων βασισμένη στο Protocol Buffers. Όλα τα δικαιώματα διατηρούνται.\nΑναπτύχθηκε από τον Hacı Mert Gökhan.\n\nΠερισσότερες πληροφορίες: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Γλώσσα βάσης δεδομένων βασισμένη στο Denis Cache, Όλα τα δικαιώματα διατηρούνται.", + "Καλώς ήρθατε στο DDB, χρησιμοποιήστε '-start' για να ξεκινήσετε τη βάση δεδομένων cache.", + "Μπορείτε να διαβάσετε ολόκληρο το αρχείο database.bin με '-read' και να διαχειριστείτε όλες τις βάσεις δεδομένων DDB με '-ddb'." + ], + "startup-swd": [ + "Ο Denis ξεκίνησε σε λεπτομερή λειτουργία, για να απενεργοποιήσετε τη λεπτομερή λειτουργία χρησιμοποιήστε '-ddb --opt -swd f'.", + "Host: , Port: " + ], + "startup-port-and-token-information": [ + "Ο διακομιστής λειτουργεί στη θύρα .", + "Το κύριο token DDB σας: " + ], + "client-connected": "Συνδέθηκε πελάτης: ", + "waiting-for-client-connection": "Αναμονή για σύνδεση πελάτη...", + "invalid-denis-mode": "Επιλέχθηκε μη έγκυρη λειτουργία. Χρησιμοποιήστε '-start' ή '-ddb'.", + "denis-global-logger": "Η λειτουργία Delogg (Denis Logg) ενεργοποιήθηκε. Όλες οι ενέργειες διακομιστή και πελάτη καταγράφονται στον φάκελο 'logs/'.", + "listen-memory": [ + "", + "> Χρήση μνήμης κατά την εκτέλεση", + "\tΣυνολική: ", + "\tΕλεύθερη: ", + "\tΧρησιμοποιούμενη: ", + "", + "> Χρήση μνήμης Heap", + "\tΑρχική: ", + "\tΧρησιμοποιούμενη: ", + "\tΔιαθέσιμη: ", + "\tΜέγιστη: ", + "" + ], + "help": [ + "> Denis Cache και γλώσσα βάσης δεδομένων βασισμένη στο Protocol Buffers", + "--version: Εμφανίζει πληροφορίες έκδοσης.", + "--about: Παρέχει πληροφορίες σχετικά με τη βάση δεδομένων.", + "--mu: Παρακολουθεί τη χρήση μνήμης του DenisDB.", + "--lm: Παρακολουθεί τη χρήση μνήμης του DenisDB σε μορφή δομής διαδικασίας.", + "--token: Χρήση tokens δεδομένων.", + "\t-l: Εμφανίζει τη λίστα των tokens.", + "\t-c: Δημιουργεί ένα νέο token (τμήμα δεδομένων).", + "\t-i: Παρέχει πληροφορίες για τα tokens (τμήματα δεδομένων).", + "--opt: Αλλάζει γρήγορα τις ρυθμίσεις και τις προτιμήσεις χρήστη του DenisDB.", + "\t-lang:", + "\t\t-slfs: Αλλάζει τη γλώσσα προσωρινά για την τρέχουσα συνεδρία.", + "\t\t-slfg: Αλλάζει τη γλώσσα μόνιμα για όλες τις συνεδρίες.", + "\t-smts: <Αριθμός> Ορίζει τον μέγιστο αριθμό δημιουργήσιμων tokens (τμημάτων δεδομένων).", + "\t-ctea: Ενεργοποιεί/απενεργοποιεί το νέο σύστημα tokens για το επιλεγμένο token.", + "\t-umte: Ενεργοποιεί/απενεργοποιεί το παγκόσμιο σύστημα tokens. (Σημείωση: Όταν αυτή η επιλογή είναι ενεργοποιημένη, όλα τα έργα είναι προσβάσιμα με το κύριο token.)", + "--exit: Τερματίζει τη χειροκίνητη λειτουργία.", + "", + "Όλες οι αλλαγές που γίνονται εδώ μπορούν επίσης να γίνουν χειροκίνητα· οι ενέργειες καταγράφονται στο αρχείο denis.properties." + ] +} diff --git a/src/lang/en.json b/src/lang/en.json new file mode 100644 index 0000000..bb00415 --- /dev/null +++ b/src/lang/en.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Memory monitoring has started, to exit: (--finish)", + "max-token-size": "The maximum number of tokens that can be created has been set to %s.", + "starts-with-details": "Startup informational text has been changed to %s.", + "invalid-parametre": "The entered value is invalid.", + "language-changed": "Language has been changed to %s.", + "token_creation_error": "Token could not be created, error reason: %s", + "token_created_successfuly": "Token successfully created, project token: %s", + "cli-help": "You entered an unknown command. For detailed information about commands, you can type --help.", + "exiting_memory_monitoring": "Memory monitoring is shutting down...", + "created_by": "Denis Cache and Protocol Buffers Based Database Language. All rights reserved.\nDeveloped by Hacı Mert Gökhan.\n\nFor more information: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Denis Cache-Based Database Language, All rights reserved.", + "Welcome to DDB, use '-start' to initialize the cache-based database.", + "You can read the entire database.bin file with '-read' and manage all DDB (Denis Database) with '-ddb'." + ], + "startup-swd": [ + "Denis started in detailed mode, to disable detailed mode use '-ddb --opt -swd f'.", + "Host: , Port: " + ], + "startup-port-and-token-information": [ + "The server is running on port .", + "Your main DDB token: " + ], + "client-connected": "Client connected: ", + "waiting-for-client-connection": "Waiting for client connection...", + "invalid-denis-mode": "Invalid mode selected. Use '-start' or '-ddb'.", + "denis-global-logger": "Delogg (Denis Logg) mode has been enabled. All operations performed by the server and client are logged in the 'logs/' folder.", + "listen-memory": [ + "", + "> Runtime Memory Usage", + "\tTotal: ", + "\tFree: ", + "\tUsed: ", + "", + "> Heap Memory Usage", + "\tInitial: ", + "\tUsed: ", + "\tAllocated: ", + "\tMaximum: ", + "" + ], + "help": [ + "> Denis Cache and Protocol Buffers Based Database Language", + "--version: Displays version information.", + "--about: Provides information about the database.", + "--mu: Monitors the memory usage of DenisDB.", + "--lm: Monitors the memory usage of DenisDB in process structure form.", + "--token: Usage of data tokens.", + "\t-l: Previews the token list.", + "\t-c: Creates a new token (data segment).", + "\t-i: Provides information about tokens (data segments).", + "--opt: Quickly changes DenisDB settings and user preferences.", + "\t-lang:", + "\t\t-slfs: Temporarily changes the language for the active session.", + "\t\t-slfg: Permanently changes the language for all sessions.", + "\t-smts: Sets the maximum number of tokens (data segments) that can be created.", + "\t-ctea: Activates/deactivates the new token system for each entry for the selected token.", + "\t-umte: Activates/deactivates the global token system. (Note: When this option is enabled, all projects can be accessed with the main token.)", + "--exit: Exits manual mode.", + "", + "All changes made here can also be done manually; the operations are saved to the denis.properties file." + ] +} diff --git a/src/lang/es.json b/src/lang/es.json new file mode 100644 index 0000000..36b3a1b --- /dev/null +++ b/src/lang/es.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Se ha iniciado el monitoreo de memoria, para finalizar: (--finish)", + "max-token-size": "El número máximo de tokens que se pueden crear se ha establecido en %s.", + "starts-with-details": "La información de inicio se ha cambiado a %s.", + "invalid-parametre": "El valor ingresado no es válido.", + "language-changed": "El idioma se ha cambiado a %s.", + "token_creation_error": "Error al crear el token, motivo del error: %s", + "token_created_successfuly": "Token creado exitosamente, token del proyecto: %s", + "cli-help": "Has ingresado un comando desconocido. Para información detallada sobre los comandos, ingresa --help.", + "exiting_memory_monitoring": "Finalizando el monitoreo de memoria...", + "created_by": "Denis Cache y lenguaje de base de datos basado en Protocol Buffers. Todos los derechos reservados.\nDesarrollado por Hacı Mert Gökhan.\n\nMás información: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Lenguaje de base de datos basado en Denis Cache, todos los derechos reservados.", + "Bienvenido a DDB, utiliza '-start' para iniciar la base de datos basada en caché.", + "Puedes leer todo el archivo database.bin con '-read' y gestionar todas las bases de datos DDB con '-ddb'." + ], + "startup-swd": [ + "Denis se inició en modo detallado, para desactivar el modo detallado utiliza '-ddb --opt -swd f'.", + "Host: , Puerto: " + ], + "startup-port-and-token-information": [ + "El servidor está funcionando en el puerto .", + "Tu token principal de DDB: " + ], + "client-connected": "Cliente conectado: ", + "waiting-for-client-connection": "Esperando conexión del cliente...", + "invalid-denis-mode": "Modo inválido seleccionado. Usa '-start' o '-ddb'.", + "denis-global-logger": "El modo Delogg (Denis Logg) ha sido activado. Todas las acciones del servidor y del cliente se guardarán en el directorio 'logs/'.", + "listen-memory": [ + "", + "> Uso de memoria en tiempo de ejecución", + "\tTotal: ", + "\tLibre: ", + "\tUsada: ", + "", + "> Uso de memoria Heap", + "\tInicial: ", + "\tUsada: ", + "\tReservada: ", + "\tMáxima: ", + "" + ], + "help": [ + "> Denis Cache y lenguaje de base de datos basado en Protocol Buffers", + "--version: Muestra información de la versión.", + "--about: Proporciona información sobre la base de datos.", + "--mu: Monitorea el uso de memoria de DenisDB.", + "--lm: Monitorea el uso de memoria de DenisDB en formato de estructura de procesos.", + "--token: Uso de tokens de datos.", + "\t-l: Muestra la lista de tokens.", + "\t-c: Crea un nuevo token (segmento de datos).", + "\t-i: Proporciona información sobre tokens (segmentos de datos).", + "--opt: Cambia rápidamente configuraciones y preferencias del usuario en DenisDB.", + "\t-lang:", + "\t\t-slfs: Cambia el idioma solo para la sesión activa.", + "\t\t-slfg: Cambia el idioma de forma permanente para todas las sesiones.", + "\t-smts: Establece el número máximo de tokens (segmentos de datos) que se pueden crear.", + "\t-ctea: Activa/desactiva el nuevo sistema de tokens para el token seleccionado.", + "\t-umte: Activa/desactiva el sistema global de tokens. (Nota: Si esta opción está activada, todos los proyectos son accesibles con el token principal.)", + "--exit: Finaliza el modo manual.", + "", + "Todos los cambios realizados aquí también pueden hacerse manualmente; las acciones se registran en el archivo denis.properties." + ] +} diff --git a/src/lang/fi.json b/src/lang/fi.json new file mode 100644 index 0000000..17ded9a --- /dev/null +++ b/src/lang/fi.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Muistin seuranta aloitettu, lopettaaksesi: (--finish)", + "max-token-size": "Luotavien tokenien maksimimäärä asetettu arvoon %s.", + "starts-with-details": "Käynnistystiedot muutettu arvoon %s.", + "invalid-parametre": "Syötetty arvo on virheellinen.", + "language-changed": "Kieli on vaihdettu arvoksi %s.", + "token_creation_error": "Tokenin luominen epäonnistui, virheen syy: %s", + "token_created_successfuly": "Token luotiin onnistuneesti, projektitoken: %s", + "cli-help": "Annoit tuntemattoman komennon. Lisätietoja komennoista saat kirjoittamalla --help.", + "exiting_memory_monitoring": "Muistin seuranta suljetaan...", + "created_by": "Denis Välimuisti ja Protocol Buffers -pohjainen tietokantakieli. Kaikki oikeudet pidätetään.\nKehittäjä: Hacı Mert Gökhan.\n\nLisätietoja: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Denis Välimuisti-pohjainen tietokantakieli, Kaikki oikeudet pidätetään.", + "Tervetuloa DDB:hen, käytä '-start' välimuistipohjaisen tietokannan käynnistämiseen.", + "Voit lukea koko database.bin-tiedoston komennolla '-read' ja hallita kaikkia DDB-tietokantoja komennolla '-ddb'." + ], + "startup-swd": [ + "Denis käynnistetty yksityiskohtaisessa tilassa, poista yksityiskohtainen tila komennolla '-ddb --opt -swd f'.", + "Isäntä: , Portti: " + ], + "startup-port-and-token-information": [ + "Palvelin toimii portissa .", + "Pää-DDB-tokenisi: " + ], + "client-connected": "Asiakas yhdistetty: ", + "waiting-for-client-connection": "Odotetaan asiakasliitäntää...", + "invalid-denis-mode": "Virheellinen tila valittu. Käytä '-start' tai '-ddb'.", + "denis-global-logger": "Delogg (Denis Logg) tila aktivoitu. Kaikki palvelimen ja asiakkaan tekemät toiminnot tallennetaan 'logs/'-kansioon.", + "listen-memory": [ + "", + "> Ajoaikainen muistin käyttö", + "\tYhteensä: ", + "\tVapaa: ", + "\tKäytetty: ", + "", + "> Keko-muistin käyttö", + "\tAlku: ", + "\tKäytetty: ", + "\tVarattu: ", + "\tMaksimi: ", + "" + ], + "help": [ + "> Denis Välimuisti ja Protocol Buffers -pohjainen Tietokantakieli", + "--version: Näyttää version tiedot.", + "--about: Antaa tietoa tietokannasta.", + "--mu: Tarkkailee DenisDB:n muistin käyttöä.", + "--lm: Tarkkailee DenisDB:n muistin käyttöä prosessirakenneformaatissa.", + "--token: Data-tokenien käyttö.", + "\t-l: Esikatselee token-listan.", + "\t-c: Luo uuden tokenin (datasegmentin).", + "\t-i: Näyttää tietoja tokeneista (datasegmenteistä).", + "--opt: Muuttaa nopeasti DenisDB:n asetuksia ja käyttäjävalintoja.", + "\t-lang:", + "\t\t-slfs: Vaihtaa kielen vain aktiivisen istunnon aikana.", + "\t\t-slfg: Vaihtaa kielen pysyvästi kaikille istunnoille.", + "\t-smts: Määrittää maksimimäärän luotavia tokeneita (datasegmenttejä).", + "\t-ctea: Ottaa käyttöön/poistaa käytöstä uuden token-järjestelmän valitulle tokenille.", + "\t-umte: Ottaa käyttöön/poistaa käytöstä yleisen token-järjestelmän. (Huomautus: Kun tämä asetus on käytössä, kaikkia projekteja voidaan käyttää pää-tokenilla.)", + "--exit: Poistuu manuaalisesta tilasta.", + "", + "Kaikki täällä tehdyt muutokset voidaan tehdä myös manuaalisesti; toiminnot tallennetaan denis.properties-tiedostoon." + ] +} diff --git a/src/lang/fr.json b/src/lang/fr.json new file mode 100644 index 0000000..726e996 --- /dev/null +++ b/src/lang/fr.json @@ -0,0 +1,64 @@ +{ + "monitoring-started": "Surveillance de la mémoire démarrée, pour terminer : (--finish)", + "max-token-size": "Le nombre maximal de jetons pouvant être créés est défini sur %s.", + "starts-with-details": "Les informations de démarrage ont été modifiées en %s.", + "invalid-parametre": "La valeur saisie est invalide.", + "language-changed": "La langue a été changée en %s.", + "token_creation_error": "Impossible de créer le jeton, cause de l'erreur : %s", + "token_created_successfuly": "Jeton créé avec succès, jeton du projet : %s", + "cli-help": "Vous avez saisi une commande inconnue. Pour des informations détaillées sur les commandes, saisissez --help.", + "exiting_memory_monitoring": "Arrêt de la surveillance de la mémoire...", + "created_by": "Denis Cache et langage de base de données basé sur Protocol Buffers. Tous droits réservés.\nDéveloppé par Hacı Mert Gökhan.\n\nPour plus d'informations : https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Langage de base de données basé sur Denis Cache, Tous droits réservés.", + "Bienvenue dans DDB, utilisez '-start' pour initialiser la base de données en cache.", + "Vous pouvez lire l'intégralité du fichier database.bin avec '-read' et gérer toutes les DDB (Denis Database) avec '-ddb'." + ], + "startup-swd": [ + "Denis a été démarré en mode détaillé, pour désactiver le mode détaillé utilisez '-ddb --opt -swd f'.", + "Hôte : , Port : " + ], + "startup-port-and-token-information": [ + "Le serveur fonctionne sur le port .", + "Votre jeton principal DDB : " + ], + "client-connected": "Client connecté : ", + "waiting-for-client-connection": "En attente de connexion client...", + "invalid-denis-mode": "Mode invalide sélectionné. Utilisez '-start' ou '-ddb'.", + "denis-global-logger": "Le mode Delogg (Denis Logg) a été activé. Toutes les actions effectuées par le serveur et le client sont enregistrées dans le dossier 'logs/'.", + "listen-memory": [ + "", + "> Utilisation de la mémoire en cours d'exécution", + "\tTotal : ", + "\tLibre : ", + "\tUtilisé : ", + "", + "> Utilisation de la mémoire Heap", + "\tInitiale : ", + "\tUtilisée : ", + "\tAllouée : ", + "\tMaximum : ", + "" + ], + "help": [ + "> Denis Cache et langage de base de données basé sur Protocol Buffers", + "--version : Affiche les informations sur la version.", + "--about : Fournit des informations sur la base de données.", + "--mu : Surveille l'utilisation de la mémoire de DenisDB.", + "--lm : Surveille l'utilisation de la mémoire de DenisDB sous forme de structure de processus.", + "--token : Utilisation des jetons de données.", + "\t-l : Affiche la liste des jetons.", + "\t-c : Crée un nouveau jeton (segment de données).", + "\t-i : Fournit des informations sur les jetons (segments de données).", + "--opt : Modifie rapidement les paramètres et préférences utilisateur de DenisDB.", + "\t-lang :", + "\t\t-slfs : Change la langue temporairement pour la session active.", + "\t\t-slfg : Change la langue de façon permanente pour toutes les sessions.", + "\t-smts : Définit le nombre maximal de jetons (segments de données) pouvant être créés.", + "\t-ctea : Active/désactive le nouveau système de jetons pour chaque requête sur le jeton sélectionné.", + "\t-umte : Active/désactive le système de jetons global. (Remarque : Lorsque cette option est activée, tous les projets peuvent être accessibles avec le jeton principal.)", + "--exit : Quitte le mode manuel.", + "", + "Toutes les modifications effectuées ici peuvent également être effectuées manuellement ; les actions sont enregistrées dans le fichier denis.properties." + ] +} diff --git a/src/lang/tr.json b/src/lang/tr.json new file mode 100644 index 0000000..b188e8c --- /dev/null +++ b/src/lang/tr.json @@ -0,0 +1,65 @@ +{ + "bye": "Çıkış yapılıyor", + "monitoring-started": "Hafıza izleme başlatıldı, çıkış yapmak için: (--finish)", + "max-token-size": "Oluşturulabilecek maksimum token miktarı %s olarak ayarlandı.", + "starts-with-details": "Açılış bilgilendirme metni %s olarak değiştirildi.", + "invalid-parametre": "Girilen değer geçersiz.", + "language-changed": "Dil %s olarak değiştirildi.", + "token_creation_error": "Token oluşturulamadı, hata sebebi: %s", + "token_created_successfuly": "Token başarıyla oluşturuldu, proje tokeni: %s", + "cli-help": "Bilinmeyen bir komut girdiniz. Komutlar hakkında detaylı bilgi için --help yazabilirsiniz.", + "exiting_memory_monitoring": "Hafıza izleme kapatılıyor...", + "created_by": "Denis Önbellek ve Protobuff Tabanlı Veritabanı Dili. Tüm hakları saklıdır.\nHacı Mert Gökhan tarafından geliştirilmiştir.\n\nDaha fazla bilgi için: https://github.com/hacimertgokhan/denis.", + "startup-information": [ + "Denis Önbellek Tabanlı Veritabanı Dili, Tüm hakları saklıdır.", + "DDB'ye hoş geldiniz, önbellek tabanlı veritabanını başlatmak için '-start' kullanın.", + "Tüm database.bin dosyasını '-read' ile okuyabilir ve '-ddb' ile tüm DDB'yi (Denis Veritabanı) yönetebilirsiniz." + ], + "startup-swd": [ + "Denis detaylı modda başlatıldı, detay modunu kapatmak için '-ddb --opt -swd f' kullanın.", + "Host: , Port: " + ], + "startup-port-and-token-information": [ + "Sunucu portunda çalışıyor.", + "Ana DDB tokeniniz: " + ], + "client-connected": "Bağlanan istemci: ", + "waiting-for-client-connection": "İstemci bağlantısı bekleniyor...", + "invalid-denis-mode": "Geçersiz mod seçildi. '-start' veya '-ddb' kullanın.", + "denis-global-logger": "Delogg (Denis Logg) modu etkinleştirildi. Sunucu ve istemci tarafından yapılan tüm işlemler 'logs/' klasörüne kaydedilir.", + "listen-memory": [ + "", + "> Çalışma Zamanı Bellek Kullanımı", + "\tToplam: ", + "\tBoş: ", + "\tKullanılan: ", + "", + "> Heap Bellek Kullanımı", + "\tBaşlangıç: ", + "\tKullanılan: ", + "\tTahsis Edilmiş: ", + "\tMaksimum: ", + "" + ], + "help": [ + "> Denis Önbellek ve Protobuff Tabanlı Veritabanı Dili", + "--version: Sürüm bilgilerini gösterir.", + "--about: Veritabanı hakkında bilgi verir.", + "--mu: DenisDB'nin bellek kullanımını izlersiniz.", + "--lm: DenisDB'nin bellek kullanımını süreç yapısı şeklinde izlersiniz.", + "--token: Veri tokenleri kullanımı.", + "\t-l: Token listesini önizler.", + "\t-c: Yeni bir token (veri bölümü) oluşturur.", + "\t-i: Tokenler (veri bölümleri) hakkında bilgi verir.", + "--opt: DenisDB'nin ayarlarını ve kullanıcı tercihlerini hızlıca değiştirir.", + "\t-lang:", + "\t\t-slfs: Sadece aktif oturum boyunca dil değişikliği yapar.", + "\t\t-slfg: Tüm oturumlar için kalıcı bir dil değişikliği yapar.", + "\t-smts: Maksimum oluşturulabilir token (veri bölümü) miktarını ayarlar.", + "\t-ctea: Seçilen token için her girişte yeni token sistemini aktif/pasif yapar.", + "\t-umte: Genel token sistemini aktif/pasif yapar. (Not: Bu seçenek aktif edildiğinde ana token ile tüm projelere erişim sağlanabilir.)", + "--exit: Manuel moddan çıkış yapar.", + "", + "Burada yapılan tüm değişiklikler manuel olarak da yapılabilir, işlemler denis.properties dosyasına kaydedilir." + ] +} diff --git a/src/lang_reader.rs b/src/lang_reader.rs index db8b36e..a089189 100644 --- a/src/lang_reader.rs +++ b/src/lang_reader.rs @@ -7,21 +7,15 @@ use structures::lang_modal::LanguageModal; pub fn read_json_file() -> Result> { let language = CLI_LANGUAGE.read().unwrap(); match language.as_ref() { - Some(language) => { - let file_content = fs::read_to_string(format!("./lang/{}.json", language.language))?; + Some(_language) => { + let file_content = fs::read_to_string("lang/tr.json")?; let language_modal: LanguageModal = serde_json::from_str(&file_content)?; Ok(language_modal) } None => { - let default_language_modal = LanguageModal { - monitoring_started: "Başlatıldı".to_string(), - max_token_size: "1024".to_string(), - starts_with_details: "Detaylarla başlar".to_string(), - invalid_parametre: "Geçersiz parametre".to_string(), - language_changed: "Dil değişti".to_string(), - ..Default::default() - }; - Ok(default_language_modal) + let file_content = fs::read_to_string("lang/tr.json")?; + let language_modal: LanguageModal = serde_json::from_str(&file_content)?; + Ok(language_modal) } } } diff --git a/src/lang_reader/structures/lang_modal.rs b/src/lang_reader/structures/lang_modal.rs index 6398487..3be8636 100644 --- a/src/lang_reader/structures/lang_modal.rs +++ b/src/lang_reader/structures/lang_modal.rs @@ -1,5 +1,4 @@ -use serde::Deserialize; -#[derive(Deserialize, Debug)] +#[derive(serde::Deserialize, Debug, Default)] pub struct LanguageModal { #[serde(rename = "monitoring-started")] pub monitoring_started: String, diff --git a/src/main.rs b/src/main.rs index 4895e15..6284cf4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,16 +1,19 @@ mod lang_reader; mod global; +mod utils; use std::io; use std::io::{Read, Write}; use clap::{arg, CommandFactory, Error, Parser, Subcommand}; use crate::global::initialize_cli_language; use crate::lang_reader::read_json_file; +use crate::utils::print_element; #[derive(Parser)] #[command(name = "Denis CLI")] #[command(version = "1.0.0")] #[command(about = "DenisCLI, Manage your denisdb with cli.", long_about = None)] +#[command(disable_help_subcommand = true, disable_help_subcommand = true)] struct Cli { /// Alt komutlar #[command(subcommand)] @@ -19,7 +22,9 @@ struct Cli { #[derive(Subcommand)] enum Commands { + #[command(about = "Display help information for the CLI")] Help, + #[command(about = "Exit the application")] Exit, } @@ -27,7 +32,7 @@ fn main() { initialize_cli_language(); match read_json_file() { Ok(language_modal) => { - println!("{:?}", language_modal.startup_information); + print_element(language_modal.startup_information); loop { print!("denis: "); io::stdout().flush().unwrap(); @@ -40,7 +45,7 @@ fn main() { .collect::>(); if args.iter().any(|&arg| arg == "exit" || arg == "--exit") { - println!("{:?}", language_modal.bye); + println!("{}", language_modal.bye.to_string()); break; } @@ -49,7 +54,8 @@ fn main() { if let Some(command) = cli.command { match command { Commands::Help => { - println!("{:?}", language_modal.help); + print_element(language_modal.help.clone()); + continue; } Commands::Exit => { println!("{:?}", language_modal.bye); diff --git a/src/utils.rs b/src/utils.rs new file mode 100644 index 0000000..30ab400 --- /dev/null +++ b/src/utils.rs @@ -0,0 +1,5 @@ +pub fn print_element(vec: Vec) { + for element in vec { + println!("{}", (element).to_string().replace('"', "")); + } +} \ No newline at end of file